Jak skonfigurować zaporę sieciową iptables dla bezpieczeństwa systemu Linux?

Chociaż Linux jest jednym z najbardziej niezawodnych i bezpiecznych systemów operacyjnych, dzięki swoim cechom zawsze będzie jakaś luka, czy to nieodłączna od systemu, czy też niezamierzona przez użytkownika. Aby zwiększyć bezpieczeństwo Linuksa, mamy różne narzędzia przeznaczone do ochrony usług, procesów, profili lub plików, a dziś skupimy się na specjalnym o nazwie Iptables.

Co to jest IptablesIptables to zaawansowane narzędzie firewall, które jest zintegrowane z jądrem Linuksa, które jest częścią projektu o nazwie netfilter.

Dzięki Iptables będziemy mogli dokładnie i bezpośrednio zarządzać wszystkimi połączeniami przychodzącymi i wychodzącymi do serwera. Iptables jest opracowany dla adresowania IPv4, podczas gdy dla IPv6 mamy Ip6tables.

1. Struktura Iptables w Linuksie


Struktura, którą znajdujemy w Iptables jest następująca:

SurowyJest odpowiedzialny za filtrowanie pakietów przed każdą inną istniejącą tabelą

FiltrTo jest domyślna tabela aplikacji

NatSłuży do translacji adresów sieciowych

MangroweSłuży do zmiany wyspecjalizowanych pakietów sieciowych

BezpieczeństwoMoże być zaimplementowany dla reguł połączenia sieciowego Obowiązkowej Kontroli Dostępu

2. Struktura poleceń w Iptables na Linuksie


W Iptables każda reguła jest poleceniem, które wskazuje, jak powinien być obsługiwany ruch pakietów sieciowych.
Możemy użyć następującej struktury:
 -A WEJŚCIE -i eth0 -p tcp -m stan - USTANOWIONO, POWIĄZANE --sport 80 -j AKCEPTUJ
Użyte parametry to:
  • -A: Wskazuje, że reguły zostaną dodane do Iptables
  • -i: Wskazuje interfejs, na którym reguła zostanie zastosowana
  • -p: Odnosi się do protokołu, w którym reguła będzie miała zastosowanie
  • -m: Odnosi się do faktu, że istnieje warunek, który musi być spełniony, aby zastosować regułę
  • --stan: Zezwól na akceptację nowych połączeń
  • --sport: wskazuje port źródłowy
  • -j: (Skok) wskazuje, że mogą akceptować cały ruch spełniający podane warunki.

3. Tworzenie reguł za pomocą Iptables w systemie Linux


Chociaż możemy dodać reguły ręcznie, o wiele bardziej praktyczne jest utworzenie pliku reguł, a następnie zaimportowanie go. W takim przypadku stworzymy plik w ścieżce /tmp/iptables-ip4 i możemy użyć edytora do jego odpowiedniego dostosowania:
 sudo nano / tmp / iptables-ip4
Składnia będzie następująca:
 * filtr # Zasady dodawania COMMIT
Teraz utworzymy następujące reguły w tym pliku:

Loopback = Jest to zewnętrzny interfejs Linuksa

 -A WEJŚCIE -i lo -j AKCEPTUJĘ -A WYJŚCIE -o lo -j AKCEPTUJĘ

Ping = Pozwala nam sprawdzić połączenia sieciowe

 -A INPUT -i eth0 -p icmp -m stan --stan NOWY --icmp-type 8 -j AKCEPTUJ -A INPUT -i eth0 -p icmp -m stan --stan USTANOWIONA, POWIĄZANA -j AKCEPTUJ -A WYJŚCIE - o eth0 -p icmp -j AKCEPTUJ

Sieć = Dzięki tym regułom kontrolujemy ruch przychodzący i wychodzący.

 -A WEJŚCIE -i eth0 -p tcp -m stan --stan USTANOWIONO, ZWIĄZANE --sport 80 -j AKCEPTUJ -A WEJŚCIE -i eth0 -p tcp -m stan --stan USTANOWIONO, ZWIĄZANE --sport 443 -j AKCEPTUJ -A WYJŚCIE -o eth0 -p tcp -m tcp --dport 80 -j AKCEPTUJ -A WYJŚCIE -o eth0 -p tcp -m tcp --dport 443 -j AKCEPTUJ

W przypadku dodawania DNS skorzystamy z następujących wierszy:

 -A WEJŚCIE -i ens3 -s 192.168.0.1 -p udp --sport 53 -m stan --stan USTANOWIONY, POWIĄZANY -j AKCEPTUJ -A WYJŚCIE -o ens3 -d 192.168.0.1 -p udp --dport 53 -m udp -j AKCEPTUJ

Notatka:Tutaj musimy w razie potrzeby zmodyfikować adres IP

Czas = Te reguły umożliwiają połączenie z NTP w celu prawidłowej synchronizacji czasu

 -A WEJŚCIE -i eth0 -p udp -m stan --stan USTANOWIONO, ZWIĄZANE --dport 123 -j AKCEPTUJ -A WYJŚCIE -o eth0 -p udp -m udp --sport 123 -j AKCEPTUJ

Drukowanie = Umożliwia włączenie portów USB do podłączania drukarek

 -A WEJŚCIE -p udp -m udp --dport 631 -j AKCEPTUJ -A WEJŚCIE -p tcp -m tcp --dport 631 -j AKCEPTUJ -A WYJŚCIE -p udp -m udp --sport 631 -j AKCEPTUJ -A WYJŚCIE -p tcp -m tcp --sport 631 -j AKCEPTUJ

E-mail = Możemy włączyć różne protokoły e-mail

 # IMAP -A WEJŚCIE -i eth0 -p tcp -m stan --stan USTANOWIONY, POWIĄZANY --sport 993 -j AKCEPTUJ -A WYJŚCIE -o eth0 -p tcp -m tcp --dport 993 -j AKCEPTUJ
 # POP3 -A WEJŚCIE -i eth0 -p tcp -m stan --stan USTANOWIONY, POWIĄZANY --sport 995 -j AKCEPTUJ -A WYJŚCIE -o eth0 -p tcp -m tcp --dport 995 -j AKCEPTUJ
 # SMTP -A WEJŚCIE -i eth0 -p tcp -m stan --stan USTANOWIONY, POWIĄZANY --sport 465 -j AKCEPTUJ -A WYJŚCIE -o eth0 -p tcp -m tcp --dport 465 -j AKCEPTUJ

SSH = Włącz bezpieczne połączenia z komputerem za pomocą protokołu SSH

 # Wejście -A WEJŚCIE -i ens3 -p tcp -m stan --stan NOWOŚĆ, USTANOWIONO --dport 22 -j AKCEPTUJ -A WYJŚCIE -o ens3 -p tcp -m stan --stan USTANOWIONO --sport 22 -j AKCEPTUJ
 # Wyjście -A WYJŚCIE -o ens3 -p tcp -m stan --stan NOWY, USTANOWIONO --dport 22 -j AKCEPTUJ -A WEJŚCIE -i ens3 -p tcp -m stan --stan USTANOWIONO --sport 22 -j AKCEPTUJ

DHCP: Możemy stworzyć reguły autoryzujące adresowanie IP przez DHCP

 -A WEJŚCIE -i eth0 -p udp -m stan --stan USTANOWIONO, ZWIĄZANE --sport 67:68 -j AKCEPTUJ -A WYJŚCIE -o eth0 -p udp -m udp --dport 67:68 -j AKCEPTUJ

Odrzuć wszystkie połączenia: Możemy dodać następujące wiersze, aby wyłączyć wszystkie powyższe:

 -A WEJŚCIE -j ODRZUCENIE -DALEJ -j ODRZUCENIE -WYJŚCIE -j ODRZUCENIE

Wszystkie te wiersze zostaną dodane we wspomnianym pliku:

POWIĘKSZAĆ

Zapisujemy zmiany

Ctrl + O

Edytor opuszczamy za pomocą

Ctrl + X

4. Importowanie reguł za pomocą Iptables Linux


Po edycji pliku możemy zaimportować te reguły do ​​Iptable, wykonując następujące polecenie:
 sudo iptables -F && sudo iptables -X
Status reguł możemy zobaczyć za pomocą polecenia sudo iptables -S:

POWIĘKSZAĆ

W przypadku, gdy chcemy przywrócić wszystkie reguły, wykonamy następującą linię:

 sudo iptables-restore </ tmp / itpables-ip4
Jeśli chcemy, aby te reguły były trwałe, wykonamy następujące czynności:
 sudo apt install iptables-persistent
W ten sposób Iptables jest naszym najlepszym sprzymierzeńcem podczas konfigurowania firewalla w środowiskach Linux.

Będziesz pomóc w rozwoju serwisu, dzieląc stronę ze swoimi znajomymi

wave wave wave wave wave