Wyszukiwanie w witrynie

Zainstaluj i skonfiguruj pfBlockerNg dla czarnej listy DNS w zaporze pfSense


We wcześniejszym artykule omówiono instalację potężnego rozwiązania firewall opartego na FreeBSD, znanego jako pfSense. pfSense, jak wspomniano we wcześniejszym artykule, to bardzo wydajna i elastyczna zapora ogniowa, która może wykorzystać stary komputer, który może leżeć i nie robić zbyt wiele.

W tym artykule omówimy wspaniały pakiet dodatków dla pfsense o nazwie pfBlockerNG.

pfBlockerNG to pakiet, który można zainstalować w pfSense, aby zapewnić administratorowi zapory możliwość rozszerzenia możliwości zapory poza tradycyjną stanową zaporę L2/L3/L4.

W miarę jak możliwości atakujących i cyberprzestępców stale rosną, muszą rosnąć także zabezpieczenia wdrożone w celu udaremnienia ich wysiłków. Jak w przypadku wszystkiego w świecie komputerów, nie ma jednego rozwiązania, które naprawiłoby wszystkie produkty.

pfBlockerNG zapewnia zaporze pfSense możliwość podejmowania decyzji zezwalających/odmawiających na podstawie takich elementów, jak geolokalizacja adresu IP, nazwa domeny zasobu lub oceny Alexa poszczególnych witryn internetowych.

Możliwość ograniczania takich elementów, jak nazwy domen, jest bardzo korzystna, ponieważ umożliwia administratorom udaremnianie prób łączenia się komputerów wewnętrznych ze znanymi nieprawidłowymi domenami (innymi słowy domenami, o których może być wiadomo, że zawierają złośliwe oprogramowanie, nielegalną zawartość lub inne podstępne dane).

W tym przewodniku opisano konfigurację urządzenia zapory pfSense do korzystania z pakietu pfBlockerNG, a także kilka podstawowych przykładów list blokowanych domen, które można dodać/skonfigurować w narzędziu pfBlockerNG.

Wymagania

W tym artykule przyjęto kilka założeń i oparto się na wcześniejszym artykule dotyczącym instalacji dotyczącym pfSense. Założenia będą następujące:

  • pfSense jest już zainstalowany i nie ma obecnie skonfigurowanych żadnych reguł (czysta karta).
  • Zapora sieciowa ma tylko port WAN i LAN (2 porty).
  • Schemat IP używany po stronie sieci LAN to 192.168.0.0/24.

Należy zauważyć, że pfBlockerNG można skonfigurować na już działającej/skonfigurowanej zaporze pfSense. Powodem tych założeń jest po prostu zdrowy rozsądek i wiele zadań, które zostaną wykonane, nadal można wykonać na nieczystym urządzeniu pfSense.

Schemat laboratorium

Poniższy obraz przedstawia diagram laboratoryjny środowiska pfSense, który będzie używany w tym artykule.

Zainstaluj pfBlockerNG dla pfSense

Laboratorium jest gotowe do pracy, czas zaczynać! Pierwszym krokiem jest połączenie się z interfejsem internetowym zapory pfSense. Ponownie to środowisko laboratoryjne korzysta z sieci 192.168.0.0/24 z zaporą ogniową działającą jako brama z adresem 192.168.0.1. Użycie przeglądarki internetowej i przejście do „https://192.168.0.1” spowoduje wyświetlenie strony logowania pfSense.

Niektóre przeglądarki mogą narzekać na certyfikat SSL, jest to normalne, ponieważ certyfikat jest podpisywany przez zaporę pfSense. Możesz bezpiecznie zaakceptować komunikat ostrzegawczy i w razie potrzeby można zainstalować ważny certyfikat podpisany przez legalny urząd certyfikacji, ale wykracza to poza zakres tego artykułu.

Po pomyślnym kliknięciu „Zaawansowane”, a następnie „Dodaj wyjątek…”, kliknij, aby potwierdzić wyjątek bezpieczeństwa. Następnie zostanie wyświetlona strona logowania pfSense, umożliwiająca administratorowi zalogowanie się do urządzenia firewall.

Po zalogowaniu się na stronie głównej pfSense kliknij menu rozwijane „System”, a następnie wybierz „Menedżer pakietów”.

Kliknięcie tego linku spowoduje przejście do okna menedżera pakietów. Pierwsza strona do załadowania będzie zawierała wszystkie aktualnie zainstalowane pakiety i będzie pusta (ponownie w tym przewodniku założono czystą instalację pfSense). Kliknij tekst „Dostępne pakiety”, aby wyświetlić listę pakietów do zainstalowania dla pfSense.

Po załadowaniu strony „Dostępne pakiety” wpisz „pfblocker” w polu „Wyszukiwane hasło” i kliknij przycisk „Szukaj”. Pierwszym zwracanym elementem powinien być pfBlockerNG. Znajdź przycisk „Zainstaluj” po prawej stronie opisu pfBlockerNG i kliknij „+”, aby zainstalować pakiet.

Strona zostanie ponownie załadowana i poprosi administratora o potwierdzenie instalacji, klikając „Potwierdź”.

Po potwierdzeniu pfSense rozpocznie instalację pfBlockerNG. Nie opuszczaj strony instalatora! Poczekaj, aż strona wyświetli pomyślną instalację.

Po zakończeniu instalacji można rozpocząć konfigurację pfBlockerNG. Jednak pierwszym zadaniem, które należy wykonać, są wyjaśnienia dotyczące tego, co się stanie, gdy pfBlockerNG zostanie poprawnie skonfigurowany.

Po skonfigurowaniu pfBlockerNG żądania DNS dotyczące stron internetowych powinny być przechwytywane przez zaporę sieciową pfSense, na której działa oprogramowanie pfBlockerNG. pfBlockerNG zaktualizuje wówczas listy znanych złych domen, które są mapowane na zły adres IP.

Zapora sieciowa pfSense musi przechwytywać żądania DNS, aby móc odfiltrować nieprawidłowe domeny i będzie korzystać z lokalnego modułu rozpoznawania nazw DNS znanego jako UnBound. Oznacza to, że klienci w interfejsie LAN muszą używać zapory pfSense jako narzędzia rozpoznawania nazw DNS.

Jeśli klient zażąda domeny znajdującej się na listach zablokowanych pfBlockerNG, wówczas pfBlockerNG zwróci fałszywy adres IP dla domeny. Rozpocznijmy proces!

pfBlockerNG Konfiguracja dla pfSense

Pierwszym krokiem jest włączenie modułu rozpoznawania nazw UnBound DNS w zaporze pfSense. Aby to zrobić, kliknij menu rozwijane „Usługi”, a następnie wybierz „Narzędzie do rozpoznawania DNS”.

Po ponownym załadowaniu strony będzie można konfigurować ogólne ustawienia mechanizmu rozpoznawania nazw DNS. Pierwszą opcją, którą należy skonfigurować, jest pole wyboru „Włącz narzędzie do rozpoznawania nazw DNS”.

Kolejne ustawienia to ustawienie portu nasłuchiwania DNS (zwykle port 53), ustawienie interfejsów sieciowych, na których ma nasłuchiwać resolwer DNS (w tej konfiguracji powinien to być port LAN i Localhost), a następnie ustawienie portu wyjściowego (powinien być siecią WAN w tej konfiguracji).

Po dokonaniu wyboru kliknij „Zapisz” u dołu strony, a następnie kliknij przycisk „Zastosuj zmiany”, który pojawi się u góry Strona.

Następnym krokiem jest pierwszy krok w konfiguracji konkretnie pfBlockerNG. Przejdź do strony konfiguracji pfBlockerNG w menu „Firewall”, a następnie kliknij „pfBlockerNG”.

Po załadowaniu pfBlockerNG kliknij najpierw zakładkę „DNSBL”, aby rozpocząć konfigurowanie list DNS przed aktywacją pfBlockerNG.

Po załadowaniu strony „DNSBL” pod menu pfBlockerNG pojawi się nowy zestaw menu (podświetlony na zielono poniżej). Pierwszą kwestią, którą należy się zająć, jest pole wyboru „Włącz DNSBL” (zaznaczone poniżej na zielono).

To pole wyboru będzie wymagało użycia modułu rozpoznawania nazw UnBound DNS w polu pfSense w celu sprawdzania żądań DNS od klientów sieci LAN. Nie martw się, UnBound został skonfigurowany wcześniej, ale to pole będzie musiało zostać zaznaczone! Kolejną pozycją, którą należy wypełnić na tym ekranie, jest „Wirtualny adres IP DNSBL”.

Ten adres IP musi znajdować się w zasięgu sieci prywatnej, a nie prawidłowym adresem IP w sieci, w której używany jest pfSense. Na przykład sieć LAN pod adresem 192.168.0.0/24 może używać adresu IP 10.0.0.1, ponieważ jest to prywatny adres IP i nie jest częścią sieci LAN.

Ten adres IP będzie używany do gromadzenia statystyk oraz monitorowania domen odrzucanych przez pfBlockerNG.

Przewijając stronę, jest jeszcze kilka ustawień, o których warto wspomnieć. Pierwszy to „Interfejs nasłuchiwania DNSBL”. W przypadku tej konfiguracji i większości konfiguracji to ustawienie powinno być ustawione na „LAN”.

Drugie ustawienie to „Lista akcji” w sekcji „Ustawienia zapory IP DNSBL”. To ustawienie określa, co powinno się stać, gdy kanał DNSBL udostępnia adresy IP.

Reguły pfBlockerNG można skonfigurować tak, aby wykonywały dowolną liczbę akcji, ale najprawdopodobniej pożądaną opcją będzie „Odmów obu”. Zapobiegnie to połączeniom przychodzącym i wychodzącym z adresem IP/domeną w kanale DNSBL.

Po wybraniu elementów przewiń stronę w dół i kliknij przycisk „Zapisz”. Po ponownym załadowaniu strony nadszedł czas na skonfigurowanie list blokowania DNS, których należy używać.

pfBlockerNG zapewnia administratorowi dwie opcje, które można skonfigurować niezależnie lub łącznie, w zależności od preferencji administratora. Obie opcje to ręczne pobieranie danych z innych stron internetowych lub EasyLists.

Aby przeczytać więcej na temat różnych EasyLists, odwiedź stronę główną projektu: https://easylist.to/

Skonfiguruj pfBlockerNG EasyList

Najpierw omówmy i skonfigurujemy EasyLists. Większość użytkowników domowych uzna te listy za wystarczające i najmniej obciążające administracyjnie.

Dwie EasyListy dostępne w pfBlockerNG to „EasyList bez ukrywania elementów” i „EasyPrivacy”. Aby skorzystać z jednej z tych list, najpierw kliknij „DNSBL EasyList” u góry strony.

Po ponownym załadowaniu strony zostanie udostępniona sekcja konfiguracji EasyList. Należy skonfigurować następujące ustawienia:

  • Nazwa grupy DNS – wybór użytkownika, ale bez znaków specjalnych
  • Opis – wybór użytkownika, dozwolone znaki specjalne
  • Stan kanałów EasyList – określa, czy używana jest skonfigurowana lista
  • Kanał EasyList – którą listę używać (EasyList lub EasyPrivacy) można dodać w obu przypadkach
  • Nagłówek/Etykieta – wybór użytkownika, ale bez znaków specjalnych

Następna sekcja służy do określenia, które części list zostaną zablokowane. Ponownie są to preferencje użytkownika i w razie potrzeby można wybrać wiele z nich. Ważne ustawienia w „DNSBL – ustawienia EasyList” są następujące:

  • Kategorie – można wybrać preferencje użytkownika i wiele kategorii
  • Lista akcji – należy ustawić opcję „Niepowiązane”, aby móc sprawdzać żądania DNS
  • Częstotliwość aktualizacji – jak często pfSense będzie aktualizować listę złych witryn

Po skonfigurowaniu ustawień EasyList zgodnie z preferencjami użytkownika przewiń stronę w dół i kliknij przycisk „Zapisz”. Po ponownym załadowaniu strony przewiń do góry i kliknij kartę „Aktualizuj”.

Na karcie aktualizacji zaznacz opcję „Załaduj ponownie”, a następnie zaznacz opcję „Wszystkie”. Będzie to wymagało serii pobrań z Internetu w celu uzyskania list bloków wybranych wcześniej na stronie konfiguracji EasyList.

Należy to zrobić ręcznie, w przeciwnym razie listy nie zostaną pobrane aż do zaplanowanego zadania cron. Za każdym razem, gdy wprowadzane są zmiany (dodawane lub usuwane listy), pamiętaj o wykonaniu tego kroku.

Obejrzyj poniższe okno dziennika, aby sprawdzić, czy nie występują błędy. Jeśli wszystko poszło zgodnie z planem, komputery klienckie po stronie LAN zapory powinny być w stanie wysyłać zapytania do zapory pfSense w poszukiwaniu znanych złych witryn i otrzymywać w zamian nieprawidłowe adresy IP. Jednak ponownie komputery klienckie muszą być ustawione tak, aby używały skrzynki pfsense jako narzędzia rozpoznawania nazw DNS!

Zwróć uwagę na powyższe nslookup, że adres URL zwraca fałszywy adres IP skonfigurowany wcześniej w konfiguracjach pfBlockerNG. To jest pożądany rezultat. Spowodowałoby to, że każde żądanie kierowane do adresu URL „100pour.com” byłoby kierowane na fałszywy adres IP 10.0.0.1.

Skonfiguruj kanały DNSBL dla pfSense

W przeciwieństwie do AdBlock EasyLists, w pfBlockerNG istnieje również możliwość korzystania z innych czarnych list DNS. Istnieją setki list używanych do śledzenia poleceń i kontroli złośliwego oprogramowania, oprogramowania szpiegującego, oprogramowania reklamowego, węzłów Tor i wszelkiego rodzaju innych przydatnych list.

Listy te często można wciągnąć do pfBlockerNG i wykorzystać jako dalsze czarne listy DNS. Istnieje sporo zasobów zawierających przydatne listy:

  • https://forum.pfsense.org/index.php?topic=114499.0
  • https://forum.pfsense.org/index.php?topic=102470.0
  • https://forum.pfsense.org/index.php?topic=86212.0

Powyższe linki prowadzą do wątków na forum pfSense, gdzie członkowie opublikowali duży zbiór list, z których korzystają. Niektóre z ulubionych list autora obejmują:

  • http://adaway.org/hosts.txt
  • http://www.malwaredomainlist.com/hostslist/hosts.txt
  • http://pgl.yoyo.org/adservers/serverlist.php?hostformat=hosts&mimetype=plaintext
  • https://zeustracker.abuse.ch/blocklist.php?download=domainblocklist
  • https://Gist.githubusercontent.com/BBcan177/4a8bf37c131be4803cb2/raw

Ponownie istnieje mnóstwo innych list i autor gorąco zachęca, aby użytkownicy szukali większej liczby/innych list. Kontynuujmy jednak zadania konfiguracyjne.

Pierwszym krokiem jest ponowne wejście do menu konfiguracyjnego pfBlockerNG poprzez „Zaporę sieciową->pfBlockerNG->DSNBL”.

Będąc ponownie na stronie konfiguracji DNSBL, kliknij tekst „Kanały DNSBL”, a następnie po odświeżeniu strony kliknij przycisk „Dodaj”.

Przycisk dodawania pozwoli administratorowi dodać więcej list błędnych adresów IP lub nazw DNS do oprogramowania pfBlockerNG (dwie pozycje już na liście pochodzą od autora z testów). Przycisk dodawania przenosi administratora na stronę, na której można dodać listy DNSBL do zapory.

Ważne ustawienia tego wyjścia są następujące:

  • Nazwa grupy DNS – wybrana przez użytkownika
  • Opis – przydatny do utrzymywania porządku w grupach
  • Ustawienia DNSBL – to są rzeczywiste listy
    • Stan – czy to źródło jest używane, czy nie i w jaki sposób zostało uzyskane
    • Źródło – link/źródło Czarnej Listy DNS
    • Nagłówek/Etykieta – wybór użytkownika; żadnych znaków specjalnych
  • Akcja listy – ustaw na Niepowiązane
  • Częstotliwość aktualizacji – jak często lista powinna być aktualizowana

Po skonfigurowaniu tych ustawień kliknij przycisk zapisz u dołu strony. Podobnie jak w przypadku wszelkich zmian w pfBlockerNG, zmiany zaczną obowiązywać od następnego zaplanowanego interwału cron. Administrator może też ręcznie wymusić ponowne załadowanie, przechodząc do zakładki „Aktualizuj” i klikając przycisk „Załaduj ponownie<”, a następnie kliknij przycisk radiowy „Wszystkie”. Po ich wybraniu kliknij przycisk „Uruchom”.

Obejrzyj poniższe okno dziennika, aby sprawdzić, czy nie występują błędy. Jeśli wszystko poszło zgodnie z planem, sprawdź, czy listy działają, po prostu próbując wykonać polecenie nslookup od klienta po stronie sieci LAN do jednej z domen wymienionych w jednym z plików tekstowych używanych w konfiguracji DNSBL.

Jak widać z powyższych danych wyjściowych, urządzenie pfSense zwraca wirtualny adres IP, który został skonfigurowany w pfBlockerNG jako zły adres IP dla domen z czarnej listy.

W tym momencie administrator może kontynuować dostrajanie list, dodając więcej list lub tworząc niestandardowe listy domen/adresów IP. pfBlockerNG będzie nadal przekierowywał te domeny z ograniczeniami na fałszywy adres IP.

Dziękujemy za przeczytanie tego artykułu o pfBlockerNG. Prosimy, okaż swoje uznanie i wsparcie dla oprogramowania pfSense oraz pfBlockerNG, przyczyniając się w jakikolwiek sposób do dalszego rozwoju obu tych wspaniałych produktów. Jak zawsze, prosimy o komentarz poniżej z wszelkimi sugestiami lub pytaniami!