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.
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.
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).
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.
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 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:
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:
-p port
protokol-i rozhranie
sieťové rozhranie, z ktorého sme paket obdržali-o rozhranie
sieťové rozhranie, ktorým paket posielame-d adresa
cieľová adresa paketu-s adresa
zdrojová adresa paketu-j akcia
akcia, ktorá sa vykoná, keď paket splní kritériá-m rozšírenie
načíta rozšírenie, napr. na menenie vlastnosti paketovPravidlo, 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