KIV/PD (Přenos dat), Filtrování paketů |
Jelikož je tento mohutný a silný nástroj všude na internetu do hloubky popsán, nemá smysl ho zde dalekosáhle rozebírat.
Uvedu zde tedy jen nejzákladnější informace, o tom, co to vůbec je a k čemu slouží a také srovnání se starší utilitou ipchains.
Nastavíme si jádro a řekneme si jak vytvářet firewall.
IPtables je robustní prostředek na administraci IP paketového filtru, je to nástupce ipchains/ipfwadm.
Výhody
NEW - vytvoření nového spojení (SYN flag), nepovolujeme na INPUT řetězec, pokud neběží server
RELATED - spojení vztahující se nějakým způsobem na už existující spojení
ESTABLISHED - součást existujícího spojení
INVALID - nepatří žádnému spojení
iptables -A FORWARD -m state --state ESTABLISHED, RELATED -j ACCEPT
iptables -A INPUT -s 192.168.0.0/16 -m limit --limit 1/s -j LOG
iptables -A INPUT -s 192.168.0.0/16 -j LOG --log-level warn --log-prefix "spojení:"
CONFIG NETFILTER CONFIG IP NF CONNTRACK CONFIG IP NF FTP CONFIG IP NF IRC CONFIG IP NF IPTABLES CONFIG IP NF MATCH LIMIT CONFIG IP NF MATCH MAC CONFIG IP NF MATCH MARK CONFIG IP NF MATCH MULTIPORT CONFIG IP NF MATCH TOS CONFIG IP NF MATCH LENGTH CONFIG IP NF MATCH TTL CONFIG IP NF MATCH TCPMSS CONFIG IP NF MATCH UNCLEAN CONFIG IP NF MATCH OWNER CONFIG IP NF MATCH STATE CONFIG IP NF FILTER CONFIG IP NF TARGET REJECT CONFIG IP NF TARGET MIRROR CONFIG IP NF NAT CONFIG IP NF TARGET MASQUERADE CONFIG IP NF TARGET REDIRECT CONFIG IP NF TARGET LOG CONFIG IP NF TARGET TOS CONFIG IP NF TARGET TCPMSS CONFIG IP NF COMPAT IPCHAINS CONFIG IP NF COMPAT IPFWADM
iptables -F iptables -X iptables -P INPUT DROP iptables -P OUTPUT DROP iptables -P FORWARD DROP
echo 1 > /proc/sys/net/ipv4/ip_forward
# pri dynamicky pridelovane IP (DHCP, PPP, ..) iptables -t nat -A POSTROUTING -o eth0 -j MASQUARADE
# pri pevne staticke IP iptables -t nat -A POSTROUTING -s $INT_NETWORK -o eth0 -j SNAT --to $EXT-INTERFACE
# povoleni odpovedi a vztahujicich se spojeni iptables -A FORWARD -m state --state ESTABLISHED, RELATED -j ACCEPT iptables -A FORWARD -o $EXT-INTERFACE -s $INT-NETWORK -j ACCEPT
(c) 2003 Pavel Tuček tuca@kiv.zcu.cz |