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.confLinie 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.confPonieważ 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_servicesNależ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.confJeśli chcemy zatrzymać usługę pf, którą wykonujemy:
usługa pf stopAby 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.