Jak skonfigurować zaporę sieciową we FreeBSD z PF Linux?

Bezpieczeństwo w każdym systemie operacyjnym powinno być zawsze jedną z głównych przesłanek, o które należy walczyć każdego dnia, ponieważ od tego zależy wiele elementów, takich jak pliki użytkownika, konfiguracje, usługi i inne. Nieprawidłowa konfiguracja parametrów bezpieczeństwa wiąże się z podatnością, która pozostawia otwarte drzwi, dzięki czemu atakujący mogą mieć swobodny dostęp do wykonywania swoich działań.

Jeden z głównych mechanizmów bezpieczeństwa jest powiązany z zaporą sieciową systemu, ponieważ dzięki niej możliwe jest filtrowanie przychodzących i wychodzących pakietów z sieci oraz tworzenie różnych reguł w celu poprawy bezpieczeństwa zarówno systemu, jak i przechowywanych w nim aplikacji i obiektów l.

Dlatego dzisiaj Solvetic szczegółowo wyjaśni, jak skonfigurować firewall we FreeBSD za pomocą pf.

Co to jest pfPF (Packet Filter - Packet Filter) został opracowany jako oprogramowanie firewall dla systemów FreeBSD, za pomocą którego możemy tworzyć setki reguł, które pozwalają nam w znacznie bardziej scentralizowany sposób zarządzać dostępem i zachowaniem wszystkich elementów systemu.

Teraz zobaczymy, jak włączyć i skonfigurować pf we FreeBSD.

1. Jak włączyć zaporę Linuksa?


Chociaż pf jest wbudowane we FreeBSD, musimy dodać następujące wiersze w pliku /etc/rc.conf z jakimś pożądanym edytorem:
 nano /etc/rc.conf
Linie do dodania to:
 echo 'pf_enable = "TAK"' >> /etc/rc.confecho 'pf_rules = "/usr /local /etc/pf.conf"' >> /etc/rc.confecho 'pflog_enable = "TAK"' >> / etc / rc.confecho 'pflog_logfile = "/ var / log / pflog"' >> /etc/rc.conf

Po dodaniu tych linii zapisujemy zmiany za pomocą klawiszy Ctrl + O i wychodzimy z edytora za pomocą Ctrl + X.

Linie, które dodaliśmy to:

Włącz usługę PF

 pf_enable = "TAK"

Weź reguły PF z tego konkretnego pliku
 pf_rules = "/ usr / local / etc / pf.conf"

Włącz obsługę rejestrowania dla PF
 pflog_enable = "TAK"

Odnosi się do pliku, w którym pflogd powinien przechowywać plik dziennika

 pflog_logfile = "/ var / log / pflog"
Tam logi będą przechowywane w pliku / var / log / pflog.

2. Jak tworzyć reguły w pliku /usr/local/etc/pf.conf w systemie Linux


Po dodaniu poprzednich linii uzyskamy dostęp do pliku /usr/local/etc/pf.conf, aby utworzyć reguły, które pf musi przeczytać i które będą brane pod uwagę podczas ochrony.
Mamy dostęp za pomocą edytora:
 nano /usr/local/etc/pf.conf
Ponieważ jest to nowy plik, możliwości reguł są tysiące, w tym przypadku możemy przejść do poniższego linku i skopiować regułę, która dotyczy serwera WWW i wkleić ją do naszego pliku konfiguracyjnego:

Tam musimy wziąć pod uwagę modyfikację karty sieciowej w polu ext_if na poprawną w każdym przypadku.

W tym pliku dodaliśmy następujące zasady:

 # vim: set ft = pf # /etc/pf.confext_if="em0"webports = "{http, https}" int_tcp_services = "{domena, ntp, smtp, www, https, ftp}" int_udp_services = "{domena, ntp} "set skip on loset loginterface $ ext_if # Normalizationscrub we wszystkich fragmentach o losowym identyfikatorze reassembleblock return in log allblock out allantispoof quick for $ ext_if # Blok 'rapid-fire brutalne próbytable persistblock quick z # ftp-proxy musi mieć kotwicę "ftp-proxy / *" # SSH nasłuchuje na porcie 26pass w szybkim protokole tcp do $ ext_if port 26 keep state (max-src-conn 15, max-src-conn-rate 5/3, przeciążenie opróżniania globalne) # Webserverpass proto tcp z dowolnego na $ ext_if port $ webports # Zezwól na szybki ruch wychodzący przekaż szybko na $ ext_if proto tcp do dowolnego portu $ int_tcp_services przekaż szybko na $ ext_if proto udp do dowolnego portu $ int_udp_services
Należy pamiętać o tym, że pf ma określony porządek ustanawiania reguł, a mianowicie:

MakraMakra muszą być zdefiniowane przed odniesieniem do nich w pf.conf
StołyTabele zapewniają mechanizm zwiększający wydajność i elastyczność reguł
OpcjeOpcje dostosowują zachowanie silnika filtrowania pakietów.
Normalizacja ruchuTa reguła chroni wewnętrzne maszyny przed niespójnościami w protokołach internetowych i implementacjach.
KolejkowanieZapewnia kontrolę przepustowości na podstawie zdefiniowanych reguł
TłumaczenieTa opcja określa sposób mapowania lub przekierowywania adresów.
Filtrowanie pakietówOferuje blokadę opartą na regułach

Po utworzeniu reguł zapisujemy zmiany za pomocą Ctrl + O i wychodzimy z edytora za pomocą Ctrl + X.

3. Jak włączyć usługę Linux pf?


Następnie uruchomimy serię poleceń sprawdzających i uruchamiających usługę pf we FreeBSD.

Krok 1
Aby zweryfikować stan włączenia pf wykonujemy linię:

 pfctl -e

Krok 2
Aby uruchomić usługę pf wykonujemy następującą linię:

 usługa pf start

Krok 3
Usługę sprawdzamy wykonując:

 usługa sprawdzania pf

Krok 4
W tym momencie możemy również wykonać dowolną z poniższych opcji:

 /etc/rc.d/pf checkpfctl -n -f /usr/local/etc/pf.conf
Jeśli chcemy zatrzymać usługę pf, którą wykonujemy:
 usługa pf stop
Aby ponownie uruchomić usługę PF:
 usługa pf restart

Krok 5
Jeśli chcemy zobaczyć aktualny stan usługi pf:

 stan usługi pf

Krok 6
Zapora pf wykorzystuje usługę pflog do przechowywania i rejestrowania wszystkich zdarzeń bezpieczeństwa, które występują w systemie, opcje użycia to:

 usługa pflog start usługa pflog stop usługa pflog restart

4. Jak używać pf we FreeBSD Linux


Będziesz musiał użyć polecenia pfctl, aby móc wyświetlić zestaw reguł pf i ustawienia parametrów, w tym informacje o stanie filtrowania pakietów.
Aby zobaczyć te informacje, wykonujemy następujące czynności:
 pfctl -s zasady

Oprócz tego będziemy mieli więcej opcji, takich jak:

Dodaj numer reguły

 pfctl -vvsr pokaż

Pokaż stan

 pfctl -s stanpfctl -s stan | jeszcze

Wyłącz pf

 pfctl -d

Włącz pf

 pfctl -e

Wyczyść wszystkie zasady

 pfctl -F wszystko

Usuń tylko zapytania

 pfctl -F kolejka

Wyczyść wszystkie stany

 pfctl -F informacje

Zobacz wydarzenia pf

 tcpdump -n -e -ttt -r / var / log / pflog

Widzimy, że pf jest praktycznym narzędziem podczas pracy z firewallem we FreeBSD.

wave wave wave wave wave