Firewally

Martin Janšto, jansto@fi.muni.cz

Obsah

  • O firewalloch
  • NAT
  • Linux a firewally
  • Netfilter
  • Iptables - nástroj na správu firewallu
  • Príklady
  • Literatura
  • O firewalloch

    Firewall je sieťové zariadenie alebo software, ktorý rozdeľuje siete s rôznymi prístupovými právami. Na základe pravidiel skladajúcich sa z podmienok a akcií prebieha kontrola toku dát medzi sieťami. Dátový tok môžeme zamietnuť a povoliť, prípadne ukladať informácie o hlavičke paketu, prípadne hlavičku zmeniť. Ďalšou funkciou je schopnosť meniť cieľové a zdrojové adresy paketu - NAT (Network Address Translation). Podľa chráneného subjektu možno firewally rozdeliť na tzv. host-based a firewally na ochranu celej siete.

    Aplikačný proxy server

    Filtrovanie na úrovni aplikačnej vrstvy OSI modelu. Nevýhodou tohto typu firewallu je malá rýchlosť, nie je univerzálny, preto existujú špeciálne pre každý typ komunikácie, napr. HTTP Proxy, FTP proxy. Výhodou je napríklad možnosť autentizácie.

    Paketový filter

    Sleduje sieťovú prevádzku po tretiu (štvrtú) vrstvu OSI (IP adresy a porty). Je rýchly, ale náročnejší na správu, zvlášť pri službách s náhodne zvolenými portami. Špeciálnym prípadom je stavový paketový filter, ktorý dáva do súvisu predchádzajúce pakety a uchováva si stav spojenia (session).

    Network Address Translation - NAT

    Metóda, pomocou ktorej obvykle vystupujú počítače s privátnou adresou z vnútornej siete vo vonkajšej sieti pod verejnou IP menením zdrojovej a cieľovej adresy IP paketu na routeri s NAT. Umožňuje aj zmenu čísla TCP/UDP portov IP paketov.

    Linux a firewally

    Firewall je implementovaný v jadre Linuxu, vo verziách jadra 2.0.x sa používal na správu nástroj ipfadwm, vo verziách 2.2.x to bol ipchains, neskôr vo verziách 2.4.x iptables, ktorý už dokáže spravovať aj NAT.

    Samotný firewall sa nazýva Netfilter.

    Netfilter

    Konfigurácia pre firewall netfilter:

    Netfilter a pravidlá

    Netfilter používa pre ukladanie pravidiel 3 tabuľky:
    filter (filtrovacie pravidlá), mangle (pravidlá pre úpravu paketov), nat (pravidlá NAT)

    Pravidlá sú v nich zoradené do reťazí, paket prechádza postupne všetkými, až kým jedno z nich o ňom nerozhodne.

    V starších firewalloch prechádzali pakety, ktoré prešli reťazou FORWARD, aj reťazami INPUT, OUTPUT, dnes už tomu tak nie je.

    S paketom možeme vykonať akcie:

    Iptables - nástroj na správu firewallu

    Nastavenie štandardnej politiky (možné iba pre INPUT,OUTPUT, FORWARD tabuľky filter):
    iptables -P reťaz akcia

    Zobrazenie pravidiel:
    iptables -L
    iptables -L reťaz
    iptables -L -t tabuľka

    Vymazanie reťaze (nie je možné zmazať štandardné reťaze ako napr. INPUT z tabuľky filter), treba najskôr vymazať pravidlá:
    iptables -F reťaz
    iptables -X reťaz

    Pridanie novej reťaze:
    iptables -N reťaz

    Pridanie pravidla na začiatok reťaze:
    iptables -I reťaz pravidlo

    Pridanie pravidla na koniec reťaze:
    iptables -A reťaz pravidlo

    Vymazanie pravidla:
    iptables -D reťaz pravidlo

    Kritéria pravidiel:

    Príklady

    Pravidlo, ktoré povolí port ssh na rozhraní s adresou 192.168.1.1:
    iptables -A fromin -p tcp -d 192.168.1.1 --dport ssh -j ACCEPT

    Pravidlo, ktoré povolí odpovede na pakety z našej vnútornej siete:
    iptables -A FORWARD -s ! 192.168.1.0/255.255.255.0 -o eth0 -p tcp -m state --state ESTABLISHED -j ACCEPT

    Vytvoríme NAT
    iptables -t nat -A POSTROUTING -s 192.168.1.0/255.255.255.0 -o eth1 -j SNAT --to-source 213.81.158.226

    Literatura