Ubuntu 8.10-re alap tűzfal
Hello mindenki…
Meg szeretnék veletek osztani egy alap tűzfalat ami Ubuntu 8.10 -en biztosan megállja a helyét…
Ennek a dokumentációnak egy frissebb és részletesebb változatát itt éritek el:
Alap tűzfal otthoni pc-re (iptables)
Mindenek előtt lépjünk be terminálba és adjuk ki a következő utasítást:
sudo -s
Ezután kérni fogja a rendszergazda jelszót…, erre azért van szükség mert az alábbi műveletekhez root jogok kellenek és ugye nem akarjuk minden sor elé írni, hogy sudo
És most az iptables szabályzat:
#!/bin/bash
modprobe ip_conntrack_ftp
iptables -F
iptables -X
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
# INPUT
#######
iptables -A INPUT -i lo -j ACCEPT
# Nem hasznalatos portok tiltasa
iptables -A INPUT -p tcp -m multiport --dport 1026,1027,5900 -j DROP
iptables -A INPUT -p udp -m multiport --dport 1026,1027,5900 -j DROP
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# Alaprendszerhez szukseges portok
iptables -A INPUT -p udp -m multiport --dport 67,68,123,161,5353,1900 -j ACCEPT
# Messenger portok(MSN, others need to add)
iptables -A INPUT -p udp -m multiport --dport 6891:6900,6901 -j ACCEPT
iptables -A INPUT -p tcp -m multiport --dport 1863,6891:6900,6901 -j ACCEPT
# EXTRA Rendszerhez szukseges portok, Szerver portok
iptables -A INPUT -p tcp -m multiport --dport 20,21,80,139,445 -j ACCEPT
iptables -A INPUT -p udp -m multiport --dport 137,138 -j ACCEPT
# Log
iptables -A INPUT -j LOG --log-prefix ?INPUT_DROP:?
# Drop
iptables -A INPUT -j DROP
# OUTPUT
########
iptables -A OUTPUT -o lo -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# Alaprendszerhez szukseges portok
iptables -A OUTPUT -p tcp -m multiport --dport 80,443,25,465,143,993,110,995 -j ACCEPT
iptables -A OUTPUT -p udp -m multiport --dport 53,67,68,5353,123,161,1900 -j ACCEPT
# Messenger portok(MSN, others need to add)
iptables -A OUTPUT -p udp -m multiport --dport 6891:6900,6901 -j ACCEPT
iptables -A OUTPUT -p tcp -m multiport --dport 1863,6891:6900,6901 -j ACCEPT
# EXTRA Rendszerhez szukseges portok, Szerver portok
iptables -A OUTPUT -p tcp -m multiport --dport 20,21,139,445 -j ACCEPT
iptables -A OUTPUT -p udp -m multiport --dport 137,138 -j ACCEPT
# Log
iptables -A OUTPUT -j LOG --log-prefix ?OUTPUT_DROP:?
# Drop
iptables -A OUTPUT -j DROP
Ezt mentsd el így:
nano /usr/local/sbin/firewall_start.sh
Másold be a tűzfalat és nyomj ctrl+o, ctrl+x et.
Majd tedd futtathatóvá:
chmod +x /usr/local/sbin/firewall_start.sh
A tűzfal nem enged ki/be/át semmit csak ami be van állítva (amit “muszáj”)
Be vannak állítva az alap rendszerhez szükséges portok: internet, e-mail, stb…, és a MSN Protokollhoz szükséges portok, ha mást használunk csevegésre akkor hozzá kell adni azoknak is a portjait…illetve be vannak állítva az ftp és http szerverhez szükséges portok is…kivétel a http szerverhez az SSL (443) port mivel én nem használom… ha kell akkor csak add hozzá az INPUT listához az EXTRA portokhoz
Egyéb programok, szerverek esetén csak hozzá kell adni a ki/be menő portokat…pl.: torrent, p2p… stb. nekem ezek még nincsenek telepítve…
Ha van valami hiba, vagy egyéb észrevétel, kérdés.. nyugodtan bombázzatok.. én sem rég kezdtem szóval nyugodtan lehet javítgatni és jó tanácsokat adni…
Ja és el is felejtettem ez a firewall így a Logba írja is azokat amik nem feleltek meg a szabályoknak, vagyis amiket droppolt a tűzfal…ha ezt nem szeretnéd akkor csak vedd ki a # Log részt…
A logokat így tudod megnézni:
tail -f /var/log/messages
És íme az indító script is:
#!/bin/bash
firewall_start() {
echo "Enabling Firewall..."
/usr/local/sbin/firewall_start.sh
}
firewall_stop() {
echo "Disabling Firewall..."
/usr/local/sbin/firewall_stop.sh
}
firewall_restart() {
echo "Restarting Firewall Service..."
firewall_stop
sleep 1
firewall_start
}
case "$1" in
'start')
firewall_start
;;
'stop')
firewall_stop
;;
'restart')
firewall_restart
;;
*)
echo "usage $0 start|stop|restart"
esac
Ezt mentsd el így:
nano /etc/init.d/firewall.sh
most másold be a scriptet és aztán nyomj ctrl+o, majd ctrl+x -et.
majd tedd futtathatóvá:
chmod +x /etc/init.d/firewall.sh
És ha már a script tartalmaz stop részt is aza a tűzfalat lehet deaktiválni is… megosztom a tűzfalnak azt a részét is…
#!/bin/bash
iptables -F
iptables -X
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
Ezt mentsd el igy:
nano /usr/local/sbin/firewall_stop.sh
most másold be a scriptet és nyomj ctrl+o, ctrl+x -et.
majd tedd ezt is futtathatóvá:
chmod +x /usr/local/sbin/firewall_stop.sh
Tehát manuálisan a következőkre van lehetőségünk:
/etc/init.d/firewall start
/etc/init.d/firewall stop
/etc/init.d/firewall restart
Azaz aktiválhatjuk, DEaktiválhatjuk és újraindíthatjuk a szolgáltatást… újraindításnak akkor lehet értelme ha éppen szerkesztgetjük a szabályokat és tesztelni szeretnénk őket…
Már majdnem minden meg is van csak ezzel egy a bibi…, hogy valamiért a rendszerindításkor nem akarja alkalmazni a tűzfal szabályokat… (ezt nem értem miért), de könnyen megoldhatjuk csak még egy parancsot kell kiadnunk…
ln -s /etc/init.d/firewall.sh /etc/rc2.d/S22firewall
Ez csinál egy symlinket az rc2.d mappába és így már a rendszer automatikusan alkalmazza az iptables szabályokat…
Ez az első Dokumentációm itt, szóval lehet nyugodtan kommentezni
Üdv. p3t1

