Üdv. Hétvégén telepítettem Kubuntu Lucidot. A tűzfalnál elakadtam. Eddig gnome volt a gépen és a firestartert használtam a beállításra. Ezzel nem is volt gond, csak most szerettem volna jobban belemélyedni a dologba és részletesebben beállítani a tűzfalat. Elolvastam egy csomó leírást meg hozzászólást meg dokumentációt az iptables-ről, de nem lettem tőle elég okos ahhoz, hogy kézzel írjam meg a szkriptet. Ezért feltettem a kmyfirewallt, hogy segítsen :)
Na most ez nem csinál semmit. Hiába indítom el, semmit nem szűr. Direkt lekapcsoltam az egyszerű http-t meg pop-t, hogy teszteljem, de továbbra is megy minden.
Van egy olyan funkciója a programnak, hogy készít egy iptables szkriptet. Ezt megcsináltattam vele, és az alábbiakat láttam benne:
# Define all custom chains
if [ "$verbose" = "1" ]; then
echo -n "Create custom chains... "
fi
if [ "$verbose" = "1" ]; then
echo " Done."
fi
# Rules:
if [ "$verbose" = "1" ]; then
echo "Setup Rules in Table FILTER:"
fi
# Define Rules for Chain: INPUT
if [ "$verbose" = "1" ]; then
echo "Create Rules for Chain: INPUT"
fi
$IPT -t filter -A INPUT --in-interface lo -j ACCEPT || { status="1"; echo " Setting up Rule: localhost_be FAILED! Clearing Rules!"; stopFirewall; exit 1; }
$IPT -t filter -A INPUT --match state --state RELATED,ESTABLISHED -j ACCEPT || { status="1"; echo " Setting up Rule: allapotszures_be FAILED! Clearing Rules!"; stopFirewall; exit 1; }
$IPT -t filter -A INPUT --match state --state NEW,INVALID -p tcp --tcp-flags ! ALL SYN -j DROP || { status="1"; echo " Setting up Rule: syn_control FAILED! Clearing Rules!"; stopFirewall; exit 1; }
$IPT -t filter -A INPUT --source 15.1.2.0/32 --in-interface IFACE -j REJECT || { status="1"; echo " Setting up Rule: hamis_ip FAILED! Clearing Rules!"; stopFirewall; exit 1; }
if [ "$verbose" = "1" ]; then
echo "Skipping Disabled Rule reklamszures!!!"
fi
true || { status="1"; echo " Setting up Rule: reklamszures FAILED! Clearing Rules!"; stopFirewall; exit 1; }
$IPT -t filter -A INPUT -p tcp --match multiport --destination-ports 135,137,139,445,1026,1027 -j DROP || { status="1"; echo " Setting up Rule: jelentes_nelkul_tcp FAILED! Clearing Rules!"; stopFirewall; exit 1; }
$IPT -t filter -A INPUT -p udp --match multiport --destination-ports 135,137,139,445,1026,1027 -j DROP || { status="1"; echo " Setting up Rule: jelentes_nelkul_udp FAILED! Clearing Rules!"; stopFirewall; exit 1; }
$IPT -t filter -A INPUT -j LOG --log-prefix "Input_drop: " --log-level debug || { status="1"; echo " Setting up Rule: jelentes_be FAILED! Clearing Rules!"; stopFirewall; exit 1; }
$IPT -t filter -A INPUT -j DROP || { status="1"; echo " Setting up Rule: eldobas_be FAILED! Clearing Rules!"; stopFirewall; exit 1; }
$IPT -t filter -P INPUT DROP || { status="1"; echo " Setting up Rule: Chain: INPUT Default Target FAILED! Clearing Rules!"; stopFirewall; exit 1; }
... és így tovább az OUTPUT lánccal ... ezt már nem is másolom be, hiszen látszik, hogy minden szabályra azt mondja: FAILED. Gondolom, ezért is nem csinál semmit, ha elindítom.
A szabályok egyeznek az összes leírásban találhatóval, csak a "-t filter" nem szerepel azokban. Ezt azonban elvileg a table miatt teszi be a program, vagyis hogy ez egy filter, nem nat vagy más (számomra egzotikusan értelmezhetetlen) tábla. Elvileg tehát ez nem lehet baj. A többi pedig sok helyen (ha nem is látjátok mindet, de higgyétek el), betűre egyezik a leírásokban található szabályokkal.
Meg tudná mondani valaki, hogy mi a hiba és hogy lehet működésre bírni ezt a nyomorultat?
Persze beírhatnám egy szkriptbe az egyszerű tűzfalváltozatokat, amiket itt is olvastam, de azokban ugyebár ugyanilyen sorok vannak. Ráadásul ha már fenn van a progi, sokkal egyszerűbb lenne később egy-egy tételt megváltoztatni vele, mint a kézi módszerrel.
És én még ennél is sokkal bonyolultabb szabályokat szeretnék, hehe...
Előre is kösz a segítséget!