Kolekcja podstawowych zasad zapory Linux IPTABLES

Kolekcja podstawowych zasad zapory Linux IPTABLES

Celem tego przewodnika jest pokazanie jednych z najczęstszych poleceń IPTables dla systemów Linux. IPTABLES to zapora wbudowana we wszystkie dystrybucje Linuksa. Nawet dystrybucje takie jak Ubuntu, które wykorzystuje UFW (nieskomplikowana zapora) i Red Hat, który wykorzystuje zaporę ogniową, nadal przekazuje swoje polecenia do iptables i używają go w tle.

Opanowanie iptables, a przynajmniej zapoznanie się z niektórymi z najbardziej podstawowych poleceń, jest niezbędne dla administratorów Linuksa. Nawet zwykli użytkownicy Linuksa mogą skorzystać z zrozumienia podstaw zapory iptables, ponieważ w pewnym momencie mogą być zobowiązane do zastosowania niektórych drobnych konfiguracji. Użyj niektórych poniższych przykładów, aby zapoznać się z składnią IPTABLES i dowiedzieć się, jak to działa, aby chronić Twój system.

OSTRZEŻENIE
Nie powinieneś stosować zasad IPTables do systemu produkcyjnego, dopóki nie zapoznaj się z tym, jak działają. Zachowaj również ostrożność, stosując reguły do ​​systemów zdalnych (komputer, z którym ustaliłeś sesję SSH), ponieważ możesz przypadkowo się zablokować, jeśli wpiszesz niewłaściwą regułę.

W tym samouczku nauczysz się:

  • Kolekcja podstawowych zasad zapory Linux IPTABLES
Przeglądanie reguł IPTables skonfigurowanych w naszym systemie Linux Wymagania oprogramowania i konwencje linii poleceń Linux
Kategoria Wymagania, konwencje lub wersja oprogramowania
System Każda dystrybucja Linux
Oprogramowanie iptables
Inny Uprzywilejowany dostęp do systemu Linux jako root lub za pośrednictwem sudo Komenda.
Konwencje # - Wymaga, aby podane polecenia Linux są wykonywane z uprawnieniami root bezpośrednio jako użytkownik root lub za pomocą sudo Komenda
$ - Wymaga, aby podane polecenia Linux zostały wykonane jako zwykły użytkownik niepewny

Przykłady polecenia iptables



CZY WIEDZIAŁEŚ?
Należy pamiętać, że kolejność twoich IPTables ma znaczenie. Kiedy system odbiera pakiet ruchu sieciowego, IPTables będzie pasować do pierwszej reguły. Dlatego jeśli masz zasadę, aby zaakceptować ruch SSH, a następnie reguła zaprzeczania ruchowi SSH, IPTABLES zawsze zaakceptuje ruch, ponieważ reguła ta pojawia się przed zasadą odmowy w łańcuchu. Zawsze możesz zmienić kolejność reguły, określając numer reguły w swoim poleceniu.
  1. Zasada: iptables do odrzucenia wszystkich wychodzących połączeń sieciowych

    Druga wiersz reguł umożliwia tylko bieżące połączenia wychodzące i ustalone. Jest to bardzo przydatne, gdy jesteś zalogowany na serwerze za pośrednictwem SSH lub Telnet.

    # iptables -f wyjście # iptables -a wyjściowe -m stan ustanowiony -J akceptuj # iptables -a wyjście -j odrzucenie 
  2. Zasada: iptables do odrzucenia wszystkich przychodzących połączeń sieciowych

    # iptables -f wejście # iptables -a wejście -m Stan --state ustał -j akceptuj # iptables -a input -j odrzucenie 
  3. Zasada: iptables do odrzucenia wszystkich połączeń sieciowych

    Ta zasada spadnie i zablokuje całe połączenie sieciowe, niezależnie od tego, czy są przychodzące lub wychodzące. Co ważniejsze, obejmuje to również aktualne ustalone połączenia.

    # iptables -f # iptables -a input -J reject # iptables -a wyjście -j reject # iptables -a do przodu -J Odrzucanie 
  4. Zasada: iptables do upuszczenia przychodzących żądań ping

    Ta reguła IPTABLES zrzuci wszystkie przychodzące żądania ping. Zauważ, że możliwe jest użycie odrzucania zamiast kropli. Różnica między spadkiem vs odrzucenie polega na tym, że kropla cicho odrzuca pakiet przychodzący, podczas gdy odrzucenie spowoduje zwrócenie błędu ICMP.



    # iptables -a input -p icmp --ICMP -Type echo -request -j upuść 
  5. Zasada: IPTABLES, aby porzucić połączenia Telnet

    Ta reguła IPTABLES zablokuje każdy ruch wychodzący do każdego hosta, w którym port docelowy to 23 (Telnet).

    # iptables -a wyjście -p tcp - -dport Telnet -J Odrzuć 
  6. Zasada: iptables do odrzucenia przychodzących połączeń telnetowych

    Ta reguła IPTABLES odmówi wszystkich żądań połączenia przychodzącego do lokalnego portu 23.

    # iptables -a input -p tcp -dport Telnet -J Odrzuć 
  7. Zasada: iptables do odrzucenia wychodzących połączeń SSH

    Ta reguła IPTABLES odmówi wszystkich połączeń wychodzących pochodzących z lokalnego portu 22 (SSH).

    # iptables -a wyjście -p tcp -dport ssh -j odrzucaj 
  8. Zasada: iptables do odrzucenia przychodzących połączeń SSH

    Odrzuć wszystkie przychodzące połączenia z lokalnym portem 22 (SSH).

    # iptables -a input -p tcp -dport ssh -j odrzucić 


  9. Zasada: IPTABLES, aby odrzucić cały przychodzący ruch z wyjątkiem połączeń SSH i lokalnych

    Te reguły odrzucą wszystkie przychodzące połączenia z serwerem, z wyjątkiem tych na porcie 22 (SSH). Zaakceptuje również połączenia na interfejsie Loopback.

    # iptables -a input -i lo -J akceptuj # iptables -a wejście -p tcp -dport ssh -J akceptuj # iptables -a input -j odrzucenie 
  10. Zasada: IPTABLES do przyjęcia przychodzących połączeń SSH z określonego adresu IP

    Korzystając z tej reguły IPTABLES Blokujemy wszystkie przychodzące połączenia z portem 22 (SSH), z wyjątkiem hosta z adresem IP 77.66.55.44. Oznacza to, że tylko host z IP 77.66.55.44 będzie w stanie SSH.

    # iptables -a wejście -p tcp -s 77.66.55.44 - -DPORT SSH -J Zaakceptuj # iptables -a wejście -p tcp - -dport ssh -j odrzucić 
  11. Zasada: IPTABLES do przyjęcia przychodzących połączeń SSH z określonego adresu MAC

    Korzystając z tej reguły IPTABLES Blokujemy wszystkie przychodzące połączenia z portem 22 (SSH), z wyjątkiem hosta z adresem MAC 00: E0: 4C: F1: 41: 6B. Innymi słowy, wszystkie połączenia SSH będą ograniczone do jednego hosta z adresem MAC 00: E0: 4C: F1: 41: 6B.

    # iptables -a wejście -m Mac - -Mac -source 00: e0: 4c: f1: 41: 6b -p tcp -dport ssh -J akceptuj # iptables -a wejście -p tcp -dport ssh -J Odrzuć 
  12. Zasada: IPTABLES do odrzucenia przychodzących połączeń w określonym porcie TCP

    Poniższa zasada IPTABLES zrzuci cały przychodzący ruch w porcie TCP 3333.

    # iptables -a wejście -p tcp -dport 3333 -J Odrzuć 


  13. Zasada: IPTABLES, aby upuścić wszystkie przychodzące połączenia w określonym interfejsie sieciowym

    Poniższa zasada zrzuci ruch przychodzący w określonym interfejsie sieciowym pochodzącym z podsieci 192.168.0.0/16. Jest bardzo przydatny w próbie upuszczenia wszystkich sfałszowanych adresów IP. Jeśli ETH0 jest zewnętrznym interfejsem sieciowym, żaden przychodzący ruch pochodzący z sieci wewnętrznej nie powinien trafić na interfejs sieciowy ETH0.

    # iptables -a wejście -i ETH0 -S 192.168.0.0/16 -J Drop 
  14. Zasada: IPTABLES do stworzenia prostego maskaradu IP

    Poniższa reguła utworzy prostą bramę maskową IP, aby umożliwić wszystkim hosta w tej samej podsieci dostępu do Internetu. Poniższy określony ETH0 to interfejs zewnętrzny podłączony do Internetu.

    # echo "1">/proc/sys/net/ipv4/ip_forward # iptables -t nat -a posttrouting -o $ ext_iface -j maskarada 
  15. Zasada: Odrzuć cały przychodzący ruch telnetowy, z wyjątkiem określonego adresu IP

    Poniższa zasada IPTABLES odrzuci cały przychodzący ruch telnet, z wyjątkiem żądania połączenia z IP 222.111.111.222

    # iptables -a wejście -t filtr ! -S 222.111.111.222 -p TCP -DPORT 23 -J Odrzuć 
  16. Zasada: Odrzuć cały przychodzący ruch SSH z wyjątkiem określonego zakresu adresów IP

    Poniższa reguła IPTABLES odrzuci cały przychodzący ruch SSH z wyjątkiem żądania połączenia z zakresu adresu IP 10.1.1.90 - 10.1.1.1.100.

    Usunięcie negatora „!”Z poniższej reguły odrzuć cały ruch SSH pochodzący z zakresu adresu IP 10.1.1.90 - 10.1.1.100.



    # iptables -a input -t filtr -m iprange ! --SRC Range 10.1.1.90-10.1.1.100 -p TCP - -DPORT 22 -J Odrzuć 
  17. Zasada: iptables, aby odrzucić cały ruch wychodzący do określonego zdalnego hosta

    Poniższa zasada IPTABLES odrzuci cały ruch wychodzący do zdalnego hosta z adresem IP 222.111.111.222

    # iptables -a wyjście -d 222.111.111.222 -J Odrzucanie 
  18. Zasada: iptables do zablokowania dostępu do określonej strony internetowej

    Poniższa zasada IPTABLES zablokuje cały przychodzący ruch z Facebooka.com, gdzie port źródłowy to port 80 / www.

    # iptables -a wejście -s Facebook.com -p tcp - -sport www -j upuść 

    Zauważ, że powyższa reguła IPTABLES zablokuje dostęp do Facebooka.com i www.Facebook.com.

Zamykanie myśli

W tym przewodniku widzieliśmy zbiór podstawowych zasad IPTables dla Linux. Obejmowały to niektóre z najczęstszych reguł, które zwykle stosowane są do systemów, takie jak blokowanie połączeń SSH inne niż te z określonego adresu IP. Korzystanie z tych reguł pomoże utwardzić serwer z ataków i ogólnie zwiększyć bezpieczeństwo. Zapraszam do dostosowania tych przykładów, aby pasowały do ​​własnych scenariuszy.

Powiązane samouczki Linux:

  • Rzeczy do zainstalowania na Ubuntu 20.04
  • Rzeczy do zrobienia po zainstalowaniu Ubuntu 20.04 Focal Fossa Linux
  • Pobierz Linux
  • Najlepszy Linux Distro dla programistów
  • Zainstaluj zaporę ogniową w systemie Centos Linux
  • Wprowadzenie do automatyzacji, narzędzi i technik Linuksa
  • Ubuntu 20.04 sztuczki i rzeczy, których możesz nie wiedzieć
  • Rzeczy do zrobienia po zainstalowaniu Ubuntu 22.04 JAMMY Jellyfish…
  • Polecenia Linux: Top 20 najważniejsze polecenia, które musisz…
  • Linux Pliki konfiguracyjne: Top 30 Najważniejsze