IPTABLES to potężne narzędzie do konfigurowania i zarządzania firewall’em jądra Linuxa. Jest to istotny komponent frameworku netfilter umożliwiający filtrowanie pakietów, translację adresów sieciowych (NAT) i inne zadania manipulacji pakietami. W tym przewodniku pokażę podstawy IPTABLES wraz z praktycznymi przykładami, które pomogą zrozumieć jego zastosowanie.
Czym jest IPTABLES?
IPTABLES to program narzędziowy umożliwiający administratorowi systemu konfigurację zasad filtrowania pakietów IP firewall’a jądra Linuxa, zaimplementowanego jako różne moduły Netfilter. Służy do ustawiania, utrzymania i inspekcji tabel zasad filtrów pakietów IP w jądrze Linuxa.
Kluczowe pojęcia:
Tabele:
IPTABLES organizuje zasady w tabele, z których każda ma swoje konkretne zastosowanie. Główne tabele to:
- filter: filtruje pakiety.
- nat: translacja adresów sieciowych.
- mangle: modyfikuje pakiety.
- raw: konfigurowanie wyjątków od śledzenia połączeń.
Łańcuchy:
Każda tabela zawiera łańcuchy, czyli listy zasad, które pasują do pakietów. Wspólne łańcuchy to:
- INPUT: Dotyczy przychodzących pakietów przeznaczonych dla lokalnego systemu.
- OUTPUT: Dotyczy lokalnie generowanych pakietów wychodzących.
- FORWARD: Dotyczy pakietów przekazywanych przez system.
Podstawowe polecenia IPTABLES:
Przeglądanie zasad:
Aby wyświetlić bieżące zasady, użyj:
1 |
sudo iptables -L |
To polecenie wyświetla domyślną tabelę (filter) oraz wszystkie łańcuchy z ich zasadami.
Dodawanie zasad:
Aby dodać zasadę do łańcucha INPUT zezwalającą na ruch SSH (port 22), użyj:
1 |
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT |
Ta zasada dodaje (-A
) do łańcucha INPUT zgodę na ruch TCP na porcie 22.
Usuwanie zasad:
Aby usunąć zasadę, najpierw wyświetl numery zasad:
1 |
sudo iptables -L --line-numbers |
Następnie usuń zasadę po jej numerze, na przykład:
1 |
sudo iptables -D INPUT 2 |
To polecenie usuwa zasadę o numerze 2 w łańcuchu INPUT.
Przykłady zastosowań w rzeczywistym świecie:
Zezwól na ruch HTTP i HTTPS:
1 |
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT<br>sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT |
Te zasady zezwalają na przychodzący ruch na portach 80 i 443.
Translacja Adresów Sieciowych (NAT):
1 |
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE |
Ta zasada konfiguruje NAT, umożliwiając urządzeniom w lokalnej sieci dostęp do internetu.
Podsumowanie:
IPTABLES to wszechstronne narzędzie do zabezpieczania i kontrolowania ruchu sieciowego na systemach Linux. Chociaż te przykłady stanowią punkt wyjścia, IPTABLES oferuje rozległe możliwości do bardziej skomplikowanych scenariuszy. Eksperymentowanie z różnymi zasadami i konfiguracjami poszerzy zrozumienie tego potężnego narzędzia do zarządzania firewall’em.
Zapoznaj się z oficjalną dokumentacją, aby przećwiczyć bardziej zaawansowane polecenia, które pomogą zabezpieczyć sieć.
Dziękuję Ci, za poświęcony czas na przeczytanie tego artykułu. Jeśli był on dla Ciebie przydatny, to gorąco zachęcam Cię do zapisania się na mój newsletter, jeżeli jeszcze Cię tam nie ma. Proszę Cię także o “polubienie” mojego bloga na Facebooku oraz kanału na YouTube – pomoże mi to dotrzeć do nowych odbiorców. Raz w tygodniu (niedziela punkt 17.00) otrzymasz powiadomienia o nowych artykułach / projektach zanim staną się publiczne. Możesz również pozostawić całkowicie anonimowy pomysł na wpis/nagranie.
Link do formularza tutaj: https://beitadmin.pl/pomysly
Pozostaw również komentarz lub napisz do mnie wiadomość odpisuję na każdą, jeżeli Masz jakieś pytania:).