Poniżej przestawię jak stworzyć prosty i jednocześnie skuteczny firewall oparty o Netfilter. Zaczynamy od instalacji programu iptables:

poldek -i iptables

Podstawowa wersja

Nie da się w zasadzie napisać uniwersalnego filtra pakietów dla serwera, a tym bardziej routera, w każdym tego rodzaju zastosowaniu administrator przygotowuje zestaw reguł “szyty na miarę”. Firewalle dla stacji roboczych są dużo mniej skomplikowane, dzięki czemu można pokusić się o napisanie stosunkowo uniwersalnego zestawu regułek. Zapory dla stacji roboczych mają chronić usługi przed potencjalnymi atakami i jednocześnie pozwalać swobodne korzystanie z sieci. Dodatkowo taki filtr powinien być jak najbardziej bezobsługowy.

Oto podstawowy zestaw reguł:

# iptables -F

# iptables -P INPUT DROP
# iptables -P FORWARD DROP
# iptables -P OUTPUT ACCEPT

# iptables -A INPUT -i lo -j ACCEPT
# iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

Pierwszy wiersz usuwa istniejące regułki, trzy kolejne ustawiają domyślną politykę, czwarty dopuszcza ruch dla interfejsu pętli zwrotnej a ostatni wpuszcza ruch z zewnątrz pod warunkiem że był nawiązany z lokalnej maszyny. Domyślna polityka DROP powoduje, że odebrane pakiety które nie pasują do regułek będą całkowicie ignorowane. Aby przyjrzeć się ustawionym regułkom wydajemy następujące polecenie:

#iptables -L -v
Chain INPUT (policy DROP 3 packets, 4500 bytes)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 ACCEPT     all  --  lo     any     anywhere             anywhere            
  107  158K ACCEPT     all  --  any    any     anywhere             anywhere            state RELATED,ESTABLISHED 

Chain FORWARD (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 80 packets, 4358 bytes)
 pkts bytes target     prot opt in     out     source               destination

Dodatkowe regułki

Ident

Wiele usług takich jak np. FTP czy SMTP, przed rozpoczęciem sesji próbuje połączyć się z klientem za pomocą usługi Ident. Użycie filtra w najprostszej postaci (jak powyżej) zablokuje takie żądanie, co z kolei zaowocuje kilkusekundowym opóźnieniem. Nie wpływają one na poprawność komunikacji, ale są dosyć uciążliwe. Zakładam, że na Twojej maszynie nie działa Ident więc będziemy odrzucać tego rodzaju połączenia za wysłaniem pakietu z odmową połączenia.

# iptables -A INPUT -p tcp –dport 113 -j REJECT

pl/przewodniki/prosty-firewall-dla-stacji-roboczej.1194480898.txt.gz · Last modified: 2007/11/08 01:14 by qwiat
chimeric.de = chi`s home Creative Commons License Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0 Powered by Lighttpd - fly light