Systemowa zapora sieciowa - iptables

iptables to narzędzie linii poleceń umożliwiające administratorom systemu konfigurację firewalla w systemie Linux. Dzięki niemu można kontrolować ruch sieciowy przychodzący, wychodzący oraz przekierowywany przez serwer. Oto przewodnik po konfiguracji iptables, który pomoże zabezpieczyć Twój serwer Linux.

Podstawy iptables

iptables operuje na zestawach reguł zorganizowanych w łańcuchy (chains). Istnieją trzy podstawowe łańcuchy:

  • INPUT - dotyczy pakietów przychodzących do serwera.
  • FORWARD - dla pakietów przekazywanych przez serwer.
  • OUTPUT - odnosi się do pakietów wychodzących z serwera.

Zasady tworzenia reguł

Reguły są przetwarzane sekwencyjnie w obrębie każdego łańcucha, aż do znalezienia pasującej reguły. Dlatego kolejność dodawania reguł ma znaczenie. Każda reguła może zakończyć się akcją (np. ACCEPT, DROP).

Konfiguracja podstawowej ochrony

  1. Zezwolenie na połączenia loopback:

    Pozwala to na komunikację wewnętrzną serwera.

    iptables -A INPUT -i lo -j ACCEPT iptables -A OUTPUT -o lo -j ACCEPT
  2. Zezwolenie na istniejące połączenia:

    Pozwala to na kontynuację aktywnych połączeń.

    iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
  3. Zezwolenie na SSH:

    Pozwala na zdalne zarządzanie serwerem. Zastąp 22 numerem portu SSH, jeśli używasz niestandardowego.

    iptables -A INPUT -p tcp --dport 22 -j ACCEPT
  4. Blokowanie niechcianego ruchu:

    Wszystkie pozostałe połączenia przychodzące, które nie pasują do żadnej reguły, powinny być odrzucane lub ignorowane. Komenda ta powinna zostać wykonana wyłącznie po zrobieniu całej konfiguracji(!).

    iptables -A INPUT -j DROP

Zaawansowane konfiguracje

  • Zezwolenie na HTTP/HTTPS:

    Jeśli serwer działa jako serwer WWW, zezwól na ruch HTTP i HTTPS.

    iptables -A INPUT -p tcp --dport 80 -j ACCEPT iptables -A INPUT -p tcp --dport 443 -j ACCEPT
  • Ograniczanie liczby połączeń SSH:

    Aby zapobiec atakom brute-force na SSH, ogranicz liczbę prób połączeń.

    iptables -A INPUT -p tcp --dport 22 -m conntrack --ctstate NEW -m limit --limit 3/min --limit-burst 5 -j ACCEPT
  • Zablokowanie ruchu z określonych adresów IP:

    Możesz zablokować ruch z podejrzanych lub szkodliwych adresów IP.

    iptables -A INPUT -s niechciany_adres_ip -j DROP

Zarządzanie i utrzymanie iptables

  • Zapisywanie konfiguracji:

    Po skonfigurowaniu firewalla, zapisz ustawienia, aby były stosowane również po restarcie systemu.

    iptables-save > /etc/iptables/rules.v4
  • Czyszczenie reguł:

    Jeśli potrzebujesz zresetować konfigurację, możesz wyczyścić wszystkie reguły.

    iptables -F

Pamiętaj, że skuteczne zabezpieczenie serwera wymaga nie tylko konfiguracji firewalla, ale także regularnych aktualizacji oprogramowania, monitorowania aktywności systemu oraz stosowania innych praktyk bezpieczeństwa, takich jak używanie silnych haseł i szyfrowanie danych. Konfiguracja iptables jest jednym z wielu kroków na drodze do zapewnienia większego bezpieczeństwa Twojego serwera Linux.

Czy ta informacja była pomocna?

Podobne artykuły

Dostęp do serwera w wypadku awarii

Logujemy się do konsoli VNC Restartujemy serwer przy użyciu "CTRL+ALT+DEL" w prawym górnym...

Instalacja NodeJS na serwerze (Debian 12)

Logujemy się do serwera po protokole SSH, na użytkownika root Wydajemy polecenia: sudo...

Instalacja i konfiguracja serwera nginx (Debian 12)

Logujemy się do serwera po protokole SSH na użytkownika root Aktualizujemy listę paczek...

[AlmaLinux 8] Błąd aktualizacji YUM - Error: GPG check FAILED

Jeżeli podczas próby aktualizacji paczek dla YUM przy systemie AlmaLinux 8: Importing GPG key...

Zarządzanie systemem plików w Linux

Zarządzanie systemem plików jest jednym z kluczowych aspektów pracy z systemem Linux. Niezależnie...