geolokalizacja ip

Geolokalizacja IP w regułach firewalla OPNsense

W artykule o OPNsense i pfSense mieliście już okazję poznać zalety firewalli rozwijanych jako projekty open source. Dowiedzieliście się też jak przeprowadzić instalację OPNsense w 10 prostych krokach. Pora zatem na jakiś praktyczny przykład zastosowania. Z tego artykułu dowiecie się jak w regułach firewalla wykorzystać geolokalizację adresów IP.

Złe boty, czyli po co nam geolokalizacja w firewallu

Spora część osób ma przekonanie, że ruch do stron dla dorosłych i innych serwisów video stanowi większość ruchu w Internecie. Jest to jednak mylne przeświadczenie, ponieważ według statystyk, najwięcej ruchu generują boty. Są one odpowiedzialne za około 38% ruchu, z czego około 20% to boty, których działanie uznać można za złośliwe.

ruch generowany przez boty
ruch generowany przez boty

Większość z Was pomyślała teraz zapewne, że to sprawka botnetów z Rosji lub Chin? Jeśli tak, to również jesteście w błędzie. Krajem, z którego pochodzi większość ruchu związanego z botami jest bowiem U.S.A. (Przy okazji zerknijcie na artykuł opisujący gdzie lądują nasze dane).

ruch botow wg krajów
ruch pochodzący z botów wg krajów

Powyższe dane pochodzą z raportu firmy Imperva: https://www.imperva.com/resources/resource-library/reports/2020-Bad-Bot-Report/

Jak wykorzystać geolokalizację IP w firewallu

Trzeba pamiętać, że każdy adres IP dostępny w Internecie podlega ciągłemu skanowaniu. Warto sprawdzić co udostępniamy na swoich publicznych adresach IP w takich usługach jak Shodan, Censys lub ZoomEye.

Ruch tego typu możemy jednak ograniczyć włączając geolokalizację oraz blokując adresy z listy SpamHaus. Są to bardzo przydatne funkcje i szkoda, że tak niewiele osób korzysta z nich w swoich firewallach. Geolokalizacja pozwala na zablokowanie albo dopuszczanie ruchu na podstawie kraju jego pochodzenia. Nie zawsze nasze usługi muszą być dostępne dla całego świata. Często naszymi klientami są mieszkańcy jednego kraju lub kontynentu. Warto zatem ograniczyć widoczność własnych usług np. tylko do obszaru Unii Europejskiej lub wykluczyć dostęp do nich z krajów, w których nikt nie korzysta z naszej usługi. Ograniczymy tym samym potencjalne próby ataków i zwiększymy dostępność naszych serwisów dla uprawnionych klientów.

Niektóre zautomatyzowane ataki da się całkowicie wyeliminować dopuszczając ruch wyłącznie z krajów, w których skutecznie działają lokalne CERTy zwalczające botnety. SpamHaus pozwoli nam natomiast zablokować pule adresów powiązane z podejrzaną aktywnością. Zabezpieczy nas zatem przed rozpoznanymi i aktywnymi atakami, które jeszcze nie zostały w nas skierowane.

Blokować można oczywiście zarówno ruch wejściowy, jak i wyjściowy. Możemy dzięki temu użytkownikom naszej sieci ograniczyć dostęp np. wyłącznie do krajowych serwisów internetowych.

Słyszeliście o historii programisty, który zlecił swoje obowiązki pracownikom z Chin a sam spędzał czas na oglądaniu filmów z kotami? Problemu tego można było uniknąć zezwalając na dostęp VPN do zasobów firmy wyłącznie z adresów krajowych.

Instrukcję zastosowania black listy SpamHaus na firewallu OPNsense znajdziecie na stronie: https://docs.opnsense.org/manual/how-tos/edrop.html . Poniżej natomiast opiszemy bardzo podobną procedurę konfiguracji reguł wykorzystujących geolokalizację adresów IP.

Integracja z serwisem MAXMIND:

Pierwszą czynnością, którą musimy wykonać jest rejestracja na portalu MAXMIND, z którego będziemy pobierać informacje o geolokalizacji adresów IP „przechodzących” przez nasz firewall. Rejestracji dokonujemy pod poniższym adresem:

https://www.maxmind.com/en/geolite2/signup

Po rejestracji należy pobrać klucz licencyjny, który znajdziemy w “Services” po kliknięciu na “My License Keys”. Aby sprawdzić czy nasz klucz licencyjny działa wystarczy otworzyć w przeglądarce poniższy adres podmieniając w nim ciąg <tu wpisać klucz> wygenerowanym przed chwilą kluczem:

https://download.maxmind.com/app/geoip_download?edition_id=GeoLite2-Country-CSV&license_key=<tu wpisać klucz>&suffix=zip

Jeśli wszystko pójdzie prawidłowo, w odpowiedzi otrzymamy plik zip z bazą adresów.

Ten sam link z kluczem licencyjnym należy następnie wpisać w ustawieniach naszego firewalla: “Firewall”->”Aliases” -> “GeoIP Settings” :

link do bazy geolokalizacyjnej
link do bazy geolokalizacyjnej w ustawieniach OPNsense

Konfiguracja reguł :

Przed konfiguracją reguł konieczne jest zwiększenie limitu wielkości tabel dla aliasów. Robimy to w ustawieniach “Firewall”->”Settings” -> “Advanced” zmieniając “Firewall Maximum Table Entries” na “1000000”.
Następnie musimy stworzyć aliasy dla krajów, z których (lub do których) będziemy chcieli ograniczać/dopuszczać ruch na naszym firewallu: “Firewall”->”Aliases” -> “GeoIP Settings”, klikamy na plusik na końcu listy aliasów, wpisujemy nazwę aliasu i wybieramy z listy odpowiednie kraje. Poniżej przykład aliasu „Poland” obejmującego jedynie Polskę:

alias
alias „poland” dla adresów z Polski

oraz aliasu „EU_country” dla krajów z Europy:

Aliase
Alias „EU_Country” dla krajów europejskich

Pozostaje nam już tylko zdefiniować odpowiednie reguły firewalla wybierając w polu „source” lub „destination” odpowiedni alias z rozwijalnej listy:

wybór aliasu golokalizacyjnego w regułach firewalla
wybór aliasu w regułach firewalla

Poniżej jeszcze przykład tabeli ze skonfigurowanymi regułami geolokalizacyjnymi:

reguły firewalla z geolokalizacją
reguły firewalla z geolokalizacją

Jak widzicie, wdrożenie zapory sieciowej wykorzystującej reguły geolokalizacyjne nie stanowi wcale dużego wyzwania. A co najważniejsze uchronić nas może przed poważnymi zagrożeniami zwiększając jednocześnie poziom dostępności naszych usług.


Zostaw e-mail aby otrzymać powiadomienia o nowościach oraz dostęp do wszystkich bonusowych materiałów przygotowanych wyłącznie dla subskrybentów.

Leave a Reply

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.