Przewodnik dla początkujących po iptables, Linux Firewall

Aug 27, 2025
Prywatność i ochrona

Iptables to niezwykle elastyczne narzędzie firewall stworzone dla systemów operacyjnych Linux. Niezależnie od tego, czy jesteś początkującym maniakiem Linuksa, czy administratorem systemu, prawdopodobnie istnieje sposób, w jaki iptables może być dla Ciebie świetnym pożytkiem. Czytaj dalej, ponieważ pokazujemy, jak skonfigurować najbardziej wszechstronną zaporę ogniową Linuksa.

O iptables

iptables to narzędzie zapory ogniowej wiersza poleceń, które wykorzystuje łańcuchy zasad do zezwalania lub blokowania ruchu. Kiedy połączenie próbuje się ustanowić w twoim systemie, iptables szuka reguły na swojej liście, aby ją dopasować. Jeśli go nie znajdzie, odwołuje się do domyślnej akcji.

iptables prawie zawsze jest preinstalowany w każdej dystrybucji Linuksa. Aby go zaktualizować / zainstalować, po prostu pobierz pakiet iptables:

sudo apt-get install iptables

Istnieją alternatywy GUI dla iptables, takie jak Firestarter , ale iptables nie jest tak naprawdę trudne, gdy masz kilka poleceń wyłączonych. Chcesz zachować szczególną ostrożność podczas konfigurowania reguł iptables, zwłaszcza jeśli łączysz się przez SSH z serwerem, ponieważ jedno błędne polecenie może Cię trwale zablokować, dopóki nie zostanie ręcznie naprawione na komputerze fizycznym.

Rodzaje łańcuchów

iptables używa trzech różnych łańcuchów: wejścia, przekazania i wyjścia.

Wejście - Ten łańcuch służy do kontrolowania zachowania połączeń przychodzących. Na przykład, jeśli użytkownik spróbuje połączyć się przez SSH z twoim komputerem / serwerem, iptables spróbuje dopasować adres IP i port do reguły w łańcuchu wejściowym.

Naprzód - Ten łańcuch jest używany do połączeń przychodzących, które w rzeczywistości nie są dostarczane lokalnie. Pomyśl o routerze - dane są zawsze do niego wysyłane, ale rzadko są faktycznie przeznaczone dla samego routera; dane są właśnie przekazywane do celu. Jeśli nie wykonujesz jakiegoś routingu, NATowania lub czegoś innego w swoim systemie, co wymaga przekazywania, nie będziesz nawet używać tego łańcucha.

Jest jeden pewny sposób sprawdzenia, czy Twój system używa / potrzebuje łańcucha przekazywania.

iptables -L -v

Powyższy zrzut ekranu przedstawia serwer, który działa od kilku tygodni i nie ma żadnych ograniczeń dotyczących połączeń przychodzących ani wychodzących. Jak widać, łańcuch wejściowy przetworzył 11 GB pakietów, a łańcuch wyjściowy 17 GB. Z drugiej strony, łańcuch przekazywania nie musiał przetwarzać pojedynczego pakietu. Dzieje się tak, ponieważ serwer nie przekazuje żadnego przekazywania ani nie jest używany jako urządzenie tranzytowe.

Wynik - Ten łańcuch jest używany do połączeń wychodzących. Na przykład, jeśli spróbujesz pingować howtogeek.com, iptables sprawdzi swój łańcuch wyjściowy, aby zobaczyć, jakie reguły dotyczą pingów i howtogeek.com, zanim podejmie decyzję o zezwoleniu lub odrzuceniu próby połączenia.

Zastrzeżenie

Mimo że pingowanie zewnętrznego hosta wydaje się czymś, co wystarczyłoby tylko do przejścia przez łańcuch wyjściowy, pamiętaj, że aby zwrócić dane, zostanie również użyty łańcuch wejściowy. Używając iptables do blokowania systemu, pamiętaj, że wiele protokołów będzie wymagało komunikacji dwukierunkowej, więc zarówno łańcuch wejściowy, jak i wyjściowy będą musiały zostać poprawnie skonfigurowane. SSH to powszechny protokół, którego ludzie zapominają o dopuszczeniu w obu łańcuchach.

Domyślne zachowanie łańcucha zasad

Przed przystąpieniem do konfigurowania określonych reguł będziesz chciał zdecydować, jakie ma być domyślne zachowanie trzech łańcuchów. Innymi słowy, co chcesz zrobić iptables, jeśli połączenie nie jest zgodne z żadnymi istniejącymi regułami?

Aby zobaczyć, jakie łańcuchy zasad są obecnie skonfigurowane pod kątem niedopasowanego ruchu, uruchom plik iptables -L Komenda.

Jak widać, użyliśmy również polecenia grep, aby uzyskać bardziej przejrzysty wynik. Na tym zrzucie ekranu widać, że nasze sieci akceptują ruch.

W większości przypadków system będzie domyślnie akceptował połączenia. To ustawienie powinno być już skonfigurowane, chyba że wcześniej zmieniłeś reguły łańcucha zasad. Tak czy inaczej, oto polecenie domyślnej akceptacji połączeń:

iptables --policy INPUT ACCEPT
iptables --policy OUTPUT ACCEPT
iptables --policy FORWARD ACCEPT

Domyślnie akceptujesz regułę akceptacji, możesz następnie użyć iptables do odmowy określonych adresów IP lub numerów portów, kontynuując akceptowanie wszystkich innych połączeń. Za chwilę przejdziemy do tych poleceń.

Jeśli wolisz odrzucić wszystkie połączenia i ręcznie określić, które z nich chcesz zezwolić na połączenie, powinieneś zmienić domyślną politykę swoich łańcuchów na odrzucanie. Takie rozwiązanie byłoby prawdopodobnie przydatne tylko w przypadku serwerów, które zawierają poufne informacje i łączą się z nimi tylko z tymi samymi adresami IP.

iptables --policy INPUT DROP
iptables --policy OUTPUT DROP
iptables --policy FORWARD DROP

Odpowiedzi specyficzne dla połączenia

Po skonfigurowaniu domyślnych zasad łańcucha możesz rozpocząć dodawanie reguł do iptables, aby wiedział, co zrobić, gdy napotka połączenie z lub do określonego adresu IP lub portu. W tym przewodniku omówimy trzy najbardziej podstawowe i najczęściej używane „odpowiedzi”.

Zaakceptować - Zezwól na połączenie.

Upuszczać - Porzuć połączenie, zachowuj się, jakby to się nigdy nie wydarzyło. Jest to najlepsze rozwiązanie, jeśli nie chcesz, aby źródło zdawało sobie sprawę, że Twój system istnieje.

Odrzucać - Nie zezwalaj na połączenie, ale odeślij błąd. Jest to najlepsze rozwiązanie, jeśli nie chcesz, aby określone źródło łączyło się z Twoim systemem, ale chcesz, aby wiedziało, że zapora je blokuje.

Najlepszym sposobem pokazania różnicy między tymi trzema regułami jest pokazanie, jak to wygląda, gdy komputer próbuje pingować maszynę z systemem Linux z iptables skonfigurowanymi dla każdego z tych ustawień.

Umożliwienie połączenia:

Porzucenie połączenia:

Odrzucanie połączenia:

Zezwalanie lub blokowanie określonych połączeń

Po skonfigurowaniu łańcuchów zasad możesz teraz skonfigurować iptables, aby zezwalać lub blokować określone adresy, zakresy adresów i porty. W tych przykładach ustawimy połączenia na UPUSZCZAĆ , ale możesz je przełączyć na ZAAKCEPTOWAĆ lub ODRZUCAĆ , w zależności od potrzeb i sposobu skonfigurowania łańcuchów polis.

Uwaga: w tych przykładach będziemy używać iptables -A aby dołączyć reguły do ​​istniejącego łańcucha. iptables zaczyna się na początku swojej listy i przechodzi przez każdą regułę, aż znajdzie taką, która pasuje. Jeśli chcesz wstawić regułę nad inną, możesz użyć iptables -I [chain] [number] aby określić numer, który powinien znajdować się na liście.

Połączenia z jednego adresu IP

Ten przykład pokazuje, jak zablokować wszystkie połączenia z adresu IP 10.10.10.10.

iptables -A INPUT -s 10.10.10.10 -j DROP

Połączenia z zakresu adresów IP

Ten przykład pokazuje, jak zablokować wszystkie adresy IP w zakresie sieci 10.10.10.0/24. Do określenia zakresu adresów IP można użyć maski sieci lub standardowego ukośnika.

iptables -A INPUT -s 10.10.10.0/24 -j DROP

lub

iptables -A INPUT -s 10.10.10.0/255.255.255.0 -j DROP

Połączenia z określonym portem

Ten przykład pokazuje, jak blokować połączenia SSH od 10.10.10.10.

iptables -A WEJŚCIE -p tcp --dport ssh -s 10.10.10.10 -j DROP

Możesz zastąpić „ssh” dowolnym protokołem lub numerem portu. Plik -p tcp część kodu mówi iptables, jakiego rodzaju połączenia używa protokół. Jeśli blokujesz protokół, który używa UDP zamiast TCP, to -p udp byłoby konieczne zamiast tego.

Ten przykład pokazuje, jak blokować połączenia SSH z dowolnego adresu IP.

iptables -A INPUT -p tcp --dport ssh -j DROP

Stany połączeń

Jak wspomnieliśmy wcześniej, wiele protokołów będzie wymagało dwukierunkowej komunikacji. Na przykład, jeśli chcesz zezwolić na połączenia SSH z systemem, łańcuchy wejściowy i wyjściowy będą wymagały dodania do nich reguły. Ale co, jeśli chcesz, aby tylko SSH wchodziło do twojego systemu? Czy dodanie reguły do ​​łańcucha wyjściowego nie pozwoli również na wychodzące próby SSH?

W tym miejscu pojawiają się stany połączeń, które umożliwiają dwukierunkową komunikację, ale pozwalają nawiązywać tylko połączenia jednokierunkowe. Spójrz na ten przykład, w którym połączenia SSH OD 10.10.10.10 są dozwolone, ale połączenia SSH DO 10.10.10.10 nie. Jednak system może odsyłać informacje przez SSH, o ile sesja została już ustanowiona, co umożliwia komunikację SSH między tymi dwoma hostami.

iptables -A WEJŚCIE -p tcp --dport ssh -s 10.10.10.10 -m stan - stan NOWY, USTANOWIONY -j AKCEPTUJ

iptables -A WYJŚCIE -p tcp --sport 22 -d 10.10.10.10 -m stan - stan USTANOWIONO -j AKCEPTUJ

Zapisywania zmian

Zmiany wprowadzone w regułach iptables zostaną odrzucone przy następnym uruchomieniu usługi iptables, chyba że wykonasz polecenie zapisania zmian. To polecenie może się różnić w zależności od dystrybucji:

Ubuntu:

sudo / sbin / iptables-save

Red Hat / CentOS:

/ sbin / service iptables zapisz

Lub

/etc/init.d/iptables zapisz

Inne polecenia

Lista aktualnie skonfigurowanych reguł iptables:

iptables -L

Dodawanie -w opcja da ci informacje o pakietach i bajtach oraz dodanie -n wypisze wszystko numerycznie. Innymi słowy - nazwy hostów, protokoły i sieci są wymienione jako liczby.

Aby wyczyścić wszystkie aktualnie skonfigurowane reguły, możesz wydać polecenie opróżnienia.

iptables -F

Iptables Walkthrough (Linux Firewall)

Introduction To Linux IPTables

Introduction To Linux Firewall

Using `iptables` On Linux

Iptables Firewall Examples (ITS335, L23, Y14)

07 Iptables Firewall Rules

Firewalling In Linux Using IPtables Sp8scorp

Introduction To Linux: #15 - Iptables

Introduction To Iptables

Introduction To IPTables

Linux Firewall Configurations - Intro To Firewalld (RHCE Topic)

Linux Iptables - Configuring And Implementing Linux Iptables - Learn About Ip Values And Ranges #41

Advanced Linux Firewall Config. With Firewalld Rich Rules And IPset - Rich Rules + Ipset

Ubuntu Server 18.04 Administration Guide Part 11 - Configuring Firewall Rules With UFW

Intro To IPTables With Jason

Understand The Security At OS & Network Level | Configure Linux Firewall | DevOps Tutorial | Edureka


Prywatność i ochrona - Najpopularniejsze artykuły

Co robi „chip zabezpieczający” T2 firmy Apple na Twoim Macu?

Prywatność i ochrona Jun 29, 2025

jabłko Apple z dumą reklamuje, że jego najnowsze i najlepsze modele Maców są wyposażone w układ zabezpieczający T2, ale co to robi? I, co ważniejsze,..


Jak utworzyć identyfikator Apple ID na iPhonie lub iPadzie

Prywatność i ochrona Oct 29, 2025

TREŚĆ NIENARUSZONA Gdy używasz dowolnego komputera, smartfona lub tabletu Apple, identyfikator Apple ID jest niezbędny nie tylko do konfigurowania urządzeń w pierwszej kolej..


Czy powinieneś zbudować własny system bezpieczeństwa DIY?

Prywatność i ochrona Apr 23, 2025

Na rynku dostępnych jest wiele systemów bezpieczeństwa, które są objęte profesjonalną instalacją i wsparciem, ale co z konfiguracjami DIY, które oferują wiele takich samyc..


Jak włączyć ograniczenia rodzicielskie iTunes na komputerze PC, Mac lub iPhone

Prywatność i ochrona Feb 21, 2025

TREŚĆ NIENARUSZONA Niezależnie od tego, czy Twoje dzieci używają iTunes na Macu, komputerze z systemem Windows, czy na iPhonie lub iPadzie, prawdopodobnie nie chcesz, aby mia..


Jak powstrzymać Facebooka przed sugerowaniem swojego imienia i nazwiska na zdjęciach innych osób

Prywatność i ochrona Feb 11, 2025

TREŚĆ NIENARUSZONA Facebook ma funkcję, która analizuje zdjęcia przesłane przez znajomych za pomocą technologii rozpoznawania twarzy. Jeśli Twoja twarz zostanie rozpoznana..


8 nowych funkcji w Ubuntu 12.10, Quantal Quetzal

Prywatność i ochrona Oct 20, 2025

TREŚĆ NIENARUSZONA Ubuntu 12.10 został wydany i możesz pobierz ją teraz . Od lepszej integracji z aplikacjami internetowymi i usługami online po ulepszenia w ..


3 szybkie sposoby, aby upewnić się, że Twoje konto Google jest bezpieczne

Prywatność i ochrona Nov 14, 2024

Istnieje duża szansa, że ​​spośród wszystkich kont internetowych Google przechowuje większość Twoich informacji. Pomyśl o tym: jeśli używasz Gmaila do poczty e-mail, p..


Z zestawu wskazówek: automatyczna regulacja głośności słuchawek, kompaktowy system Windows ReadyBoost i bezpieczne ładowanie telefonu

Prywatność i ochrona Aug 18, 2025

TREŚĆ NIENARUSZONA Raz w tygodniu zagłębiamy się w pole ze wskazówkami i dzielimy się kilkoma świetnymi wskazówkami dla czytelników, które pojawiają się na naszej drodze. W..


Kategorie