Wprowadzenie do IPTABLES: skonfiguruj zaporę ogniową w systemie Linux

iptables

do skonfigurować firewall lub firewall w Linuksie, możemy skorzystać z iptables, potężne narzędzie, o którym wielu użytkowników wydaje się zapomnieć. Chociaż istnieją inne metody, takie jak ebtables i arptables do filtrowania ruchu na poziomie łącza lub Squid na poziomie aplikacji, iptables może być bardzo przydatne w większości przypadków, wdrażając dobre zabezpieczenia w naszym systemie na poziomie ruchu i transportu sieci .

Jądro Linuksa implementuje iptables, część tego dba o filtrowanie pakietów i że w tym artykule nauczymy Cię konfigurować w prosty sposób. Mówiąc najprościej, iptables identyfikuje, jakie informacje mogą, a których nie mogą wejść, izolując Twój zespół od potencjalnych zagrożeń. I chociaż istnieją inne projekty, takie jak Firehol, Firestarter itp., Wiele z tych zapór ogniowych używa iptables ...

Cóż, Zabierzmy się do pracy, na przykładach wszystko zrozumiesz lepiej (w takich przypadkach konieczne są uprawnienia, więc użyj sudo przed poleceniem lub zostań rootem):

Ogólny sposób używania iptables aby utworzyć zasadę filtru, należy:

IPTABLES -ARGUMENTY I / O AKCJA

Gdzie -ARGUMENT jest argument, którego użyjemy, normalnie -P, aby ustanowić domyślną politykę, chociaż są inne, takie jak -L, aby zobaczyć skonfigurowane przez nas zasady, -F, aby usunąć utworzoną politykę, -Z, aby zresetować liczniki bajtów i pakietów itp. Inną opcją jest -A, aby dodać politykę (nie domyślnie), -I, aby wstawić regułę na określonej pozycji i -D, aby usunąć daną regułę. Będą też inne argumenty wskazujące na protokoły -p, –sport port źródłowy, –dport dla portu docelowego, -i interfejs przychodzący, -o interfejs wychodzący, -s źródłowy adres IP i -d docelowy adres IP.

iptables wejście-wyjście

Ponadto I / O reprezentowałoby if Polityka jest stosowany do wejścia INPUT, do wyjścia OUTPUT lub jest to przekierowanie ruchu FORWARD (są inne takie jak PREROUTING, POSTROUTING, ale nie będziemy ich używać). Wreszcie to, co nazwałem DZIAŁANIEM, może przyjąć wartość AKCEPTUJ, jeśli akceptujemy, ODRZUĆ, jeśli odrzucamy, lub DROP, jeśli eliminujemy. Różnica między DROP i REJECT polega na tym, że gdy pakiet zostanie odrzucony za pomocą REJECT, maszyna, która go utworzyła, będzie wiedziała, że ​​został odrzucony, ale z DROP działa po cichu, a atakujący lub źródło nie będzie wiedział, co się stało i nie będzie wiem, czy mamy zaporę ogniową, czy połączenie właśnie się nie powiodło. Istnieją również inne, takie jak LOG, które wysyłają kontynuację syslog ...

Aby zmodyfikować reguły, możemy edytować plik iptables za pomocą naszego preferowanego edytora tekstu, nano, gedit, ... lub tworzyć skrypty z regułami (jeśli chcesz je przesłonić, możesz to zrobić, umieszczając # przed linią, aby było ignorowane jako komentarz) za pośrednictwem konsoli za pomocą poleceń, co wyjaśnimy tutaj. W Debianie i pochodnych możesz także użyć narzędzi iptables-save i iptables-restore ...

Najbardziej ekstremalna polityka polega na blokowaniu wszystkiego, absolutnie cały ruch, ale to pozostawi nas w izolacji, z:

iptables -P INPUT DROP

Zaakceptować to wszystko:

iptables -P INPUT ACCEPT

Jeśli tego chcemy cały ruch wychodzący z naszego zespołu jest akceptowany:

iptables -P OUTPUT ACEPT

La innym radykalnym działaniem byłoby wymazanie wszystkich polityk z iptables z:

iptables -F

Przejdźmy do bardziej konkretnych zasadWyobraź sobie, że masz serwer WWW i dlatego ruch przez port 80 musi być dozwolony:

iptables -A INPUT -p tcp --dport 80 -j ACCEPT

A jeśli oprócz poprzedniej zasady, chcemy mieć zespół z iptables być widoczne tylko dla komputerów w naszej podsieci i to pozostaje niezauważone przez sieć zewnętrzną:

iptables -A INPUT -p tcp -s 192.168.30.0/24 --dport 80 -j ACCEPT

W poprzednim wierszu mówimy do iptables, aby dodać regułę -A, tak aby wejścia INPUT i protokół TCP przez port 80 były akceptowane. Teraz wyobraź sobie, że tego chcesz przeglądanie stron internetowych jest odrzucane dla maszyn lokalnych przechodzących przez maszynę z uruchomionym iptables:

iptables -t filter -A FORWARD -i eth1 -o eth0 -p tcp --dport 80 DROP

Myślę, że użycie jest proste, biorąc pod uwagę, do czego służy każdy parametr iptables, możemy dodać proste zasady. Możesz wykonać wszystkie kombinacje i reguły, jakie sobie wyobrażamy ... Aby nie rozszerzać się dalej, po prostu dodaj jeszcze jedną rzecz, a mianowicie, że jeśli komputer zostanie ponownie uruchomiony, utworzone polityki zostaną usunięte. Tabele zostaną zrestartowane i pozostaną takie jak poprzednio, dlatego po dokładnym zdefiniowaniu reguł, jeśli chcesz, aby były trwałe, musisz je uruchomić z /etc/rc.local lub jeśli masz Debiana lub pochodne, użyj narzędzi, które otrzymaliśmy (iptables-save, iptables-restore i iptables-apply).


Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: AB Internet Networks 2008 SL
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.

  1.   Jimmy’ego Olano powiedział

    Jest to pierwszy artykuł, który widzę w IPTABLES, który, choć gęsty - wymaga średniego poziomu wiedzy - PRZEJDZIE BEZPOŚREDNIO DO ZIARNA.

    Polecam wszystkim, aby używali go jako „skróconej instrukcji obsługi”, ponieważ jest bardzo dobrze skondensowana i wyjaśniona. 8-)

  2.   JEZUS powiedział

    Chciałbym, abyście w przyszłym artykule porozmawiali o tym, czy zmiana na systemd w większości dystrybucji Linuksa wpływa w jakiś sposób na ogólne bezpieczeństwo Linuksa i czy ta zmiana jest na lepszą lub gorszą przyszłość i dystrybucje Linuksa. Chciałbym również wiedzieć, co wiadomo o przyszłości devuana (debiana bez systemd).
    Dziękuję bardzo, tworzysz bardzo dobre artykuły.

  3.   Slevin powiedział

    Czy mógłbyś napisać artykuł wyjaśniający tabelę maglowania?

  4.   Sebastian powiedział

    Zablokować tylko Facebooka?