Iptables

Z HelpDesk
Verze z 12. 6. 2006, 16:54, kterou vytvořil Phanousk (diskuse | příspěvky) (kategorizace)

Iptables je paketový filter. Stejně jako u většiny paketových filtrů je i zde filtrace paketů založena na

  • Typu protokolu - TCP, UDP, ICMP
  • Zdrojová adresa - počítač odesílající data
  • Cílová adresa - počítač přijímající data
  • Další členění protokolu - např. příznak "SYN" u TCP, nebo typ ICMP (echo-request, echo-reply, ...)

Kromě výše uvedených kritérií umožňuje firewall iptables filtraci založenou na stavu, tj. může fungovat také jako stavový firewall.

Podrobnosti o projektu jsou uvedeny na stránkách http://www.netfilter.org/.


Získání instalačního balíčku

Instalace

Firewall iptables je snadno dostupný (balíček iptables v APT) a snadno konfigurovatelný. Případně lze instalační balíček také získat na stránkách projektu http://www.netfilter.org/.


Konfigurace

Konfigurace pracovních stanic se může lišit podle potřeb uživatelů. Následující přehled příkazů umožní snadno vytvořit konfiguraci šitou na míru.

Před přidáváním pravidel zrušte stávající konfiguraci firewallu (např. v OS Debian GNU/Linux pomocí příkazu /etc/init.d/iptables clear).

Základní konfigurace umožňující pouze komunikaci na adrese 127.x.x.x (loopback), komunikaci iniciovanou pracovní stanicí, komunikaci příbuznou (tj. již navázané spojení se domluví na komunikaci na jiném portu) a odpověď na ICMP. Ostatní příchozí provoz bude blokován a příslušné pakety zahozeny (DROP).

iptables -P INPUT DROP
iptables -N BASE
iptables -A INPUT -j BASE
iptables -A BASE -i lo -s 127.0.0.0/255.0.0.0 -j ACCEPT
iptables -A BASE -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A BASE -p tcp -m tcp --dport 113 -j REJECT --reject-with icmp-port-unreachable
iptables -A BASE -p icmp -j ACCEPT


Potřebujete-li používat ssh (port 22), k příkazům ještě přibudou následující příkazy. Pro přístup ze stroje, který je mimo doménu ZČU, je ssh blokováno a je potřeba využít veřejných serverů (eryx).

iptables -N SHELL
iptables -A INPUT -s 147.228.0.0/255.255.0.0 -j SHELL
iptables -A SHELL -p tcp -m tcp --dport 22 -j ACCEPT


Pro přístup k AFS je třeba přidat příkazy:

iptables -N OPENAFS
iptables -A INPUT -j OPENAFS
iptables -A OPENAFS --proto udp --dport 7000:7010 -j ACCEPT
iptables -A OPENAFS --proto udp --sport 7000:7010 -j ACCEPT


Pro podporu protokolu ftp je třeba mít v jádře zajištěnou podporu modulem ip_conntrack_ftp (v OS Debian GNU/Linux pomocí příkazu modprobe ip_conntrack_ftp.

Nakonec je nutné výslednou konfiguraci uložit (např. v OS Debian GNU/Linux pomocí příkazu/etc/init.d/iptables save active).