Firestarter

A HupWiki-ből...

GTK alapú frontend a netfilter elé. Szóval grafikus tűzfal.

Gyorstalpaló

FIXME: a lap Debian szempontjából mutatja be a programot, lehetne univerzálisabb az írás a disztróspecifikus információkat külön véve

A firestarter csomagot kell feltelepíteni, majd beállítani a firestarter paranccsal: "Hálózati eszközök beállítása": ez egyértelmű; "Internetkapcsolat-megosztás beállítása": ha nem futtatunk semmilyen szolgáltatást más gépek felé, akkor ne engedélyezd; "mentés"; még érdemes a "Szerkesztés - Beállítások" alatt: az icmp szűrés összes opcióját bekapcsolni.

A firestarter alapból kicsit agresszívan szűr, emiatt pár program nem működik megfelelően; ha gond van egy kapcsolatnál, akkor figyeld az "Események" fül alatt a logot, majd a "Szabályok" fülön válaszd a "Bejövő/Kimenő forgalom szabályait", "Szolgáltatás engedélyezése" résznél jobb gomb, "Szabály hozzáadása" és add hozzá a megfelelő portszámot vagy nevet.

Tipp: a firestarter néhány konfiguráción nem hajlandó betölteni a bootolás során (nem várja be a kapcsolat létrejöttét, ezért nem talál hálókártyát); egy egyszerű (és elég gány) megoldás a boot sciptedhez (vagy tedd külön scriptbe, lényeg, hogy a 20as firestarter előtt fusson le):

 echo -n "waiting for ppp"
 for i in `seq 30`; do
         if /sbin/ifconfig | grep -q ppp0; then
                 echo -n " OK! "
                 break
         fi
         echo -n "."
         sleep 1
 done

(Persze ppp0 helyett a saját hálókártyád írd.)

Tipp 2.: ha saját kernelt forgatsz, a következő opciókat kapcsold be (amennyiben moduláris kernel lesz, szögleteszárójelben a kernelmodul neve) az "IP: Netfilter Configuration" részben: Connection tracking [ip_conntrack], Connection tracking flow accounting, Connection mark tracking support, FTP protocol support [ip_conntrack_ftp], IRC protocol support [ip_conntrack_irc], IP tables support [ip_tables], limit match support [ipt_limit], Connection state match support [ipt_state], Packet filtering [iptable_filter], REJECT target support [ipt_REJECT], LOG target support [ipt_LOG], Full NAT [iptable_nat], MASQUERADE target support [ipt_MASQUERADE], Packet mangling [iptable_mangle], TOS target support [ipt_TOS];

Tipp 3.: a firestarter alapból minden eldobált csomagot jelent a syslogban (is); ez kényelmetlen lehet, pld. a syslog folyamatos figyelése esetén; a probléma többféleképp áthidalható, az itt ismertetett parancsok törlik a logba írásért felelős láncokat (a pld. synflood védelem ettől függetlenül működni fog), érdemes pld. a saját init scriptbe szúrni (a 20-as szintű firestarter init script után fusson le):

#firestarter unboat
export $(grep LOG_LEVEL /etc/firestarter/configuration )
iptables -D LSI -m limit --limit 5/s -j LOG --log-level=$LOG_LEVEL --log-prefix "Inbound "
iptables -D LSI -p tcp --syn -m limit --limit 1/s -j LOG --log-level=$LOG_LEVEL --log-prefix "Inbound "
iptables -D LSI -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j LOG --log-level=$LOG_LEVEL --log-prefix "Inbound "
iptables -D LSI -p icmp --icmp-type echo-request -m limit --limit 1/s -j LOG --log-level=$LOG_LEVEL --log-prefix "Inbound "
unset LOG_LEVEL
iptables -A INPUT -j LOG
iptables -A FORWARD -j LOG