Firewall

Post Reply
Message
Author
ROLUX

Firewall

#1 Post by ROLUX »

Tach zusammen,

kann ich das in die /etc/init.d/boot.local schreiben, um 'ne kleine Firewall zu bauen?

------------- schnipp ------------

# Forwarding aktivieren
echo "1" > /proc/sys/net/ipv4/ip_forward

# Module laden
/sbin/modprobe ip_tables
/sbin/modprobe ip_conntrack
/sbin/modprobe ip_conntrack_ftp
/sbin/modprobe iptable_nat
/sbin/modprobe ip_nat_ftp

# Dann alles löschen
iptables -F

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

# loopback
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT

# DNS- Anfragen vom Proxy
iptables -A OUTPUT -p udp --sport 1024: --dport 53 -j ACCEPT
iptables -A INPUT -p udp -s 194.25.2.129 --sport 53 --dport 1024: -j ACCEPT
iptables -A INPUT -p udp -s 217.5.115.7 --sport 53 --dport 1024: -j ACCEPT
iptables -A INPUT -p udp -s 193.189. 224.2 --sport 53 --dport 1024: -j ACCEPT
iptables -A OUTPUT -p tcp --sport 1024: --dport 53 -j ACCEPT
iptables -A INPUT -p tcp -s 194.25.2.129 --sport 53 --dport 1024: ! --syn -j ACCEPT
iptables -A INPUT -p tcp -s 217.5.115.7 --sport 53 --dport 1024: ! --syn -j ACCEPT
iptables -A INPUT -p tcp -s 193.189.131.2 --sport 53 --dport 1024: ! --syn -j ACCEPT

# Internet
iptables -A OUTPUT -p tcp --sport 1024: --dport 443 -j ACCEPT
iptables -A INPUT -p tcp --sport 443 --dport 1024: ! --syn -j ACCEPT

# Forwarding
iptables -A FORWARD -o ppp+ -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i ppp+ -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -A POSTROUTING -s 172.16.200.14 -o ppp+ -j MASQUERADE

# Network File System (Mounting of NFS-Shares possible)
iptables -A INPUT -i eth0 -s 172.16.200.13 -p tcp --sport 602: --dport 111 -j ACCEPT
iptables -A INPUT -i eth0 -s 172.16.200.13 -p udp --sport 602: --dport 900: -j ACCEPT
iptables -A INPUT -i eth0 -s 172.16.200.13 -p udp --sport 646: --dport 111 -j ACCEPT
iptables -A OUTPUT -o eth0 -d 172.16.200.13 -p udp --sport 1024: --dport 634: -j ACCEPT
iptables -A OUTPUT -o eth0 -d 172.16.200.13 -p udp --sport 111 --dport 600: -j ACCEPT
iptables -A OUTPUT -o eth0 -d 172.16.200.13 -p tcp --sport 1011 ---dport 900: -j ACCEPT
iptables -A OUTPUT -o eth0 -d 172.16.200.13 -p tcp --sport 111 ---dport 600: -j ACCEPT

# alles andere loggen
iptables -A INPUT -j LOG
iptables -A OUTPUT -j LOG

------------- schnapp ---------------------------

Würde das funktionieren? Oder ist das so nicht sinnvoll?
Was denkt ihr darüber?

Rolf

arno

Re: Firewall

#2 Post by arno »

hi
du könntest es schon reinschreiben aber besser wäre es direkt in ein eigenes script zu schreiben und in boot.local auf das script verweisen.
am besten wäre es natürlich wenn du in den entsprechenden runlevels einen link auf das script machst.
und es gleich nachdem die netzwerkkarten aktiv sind aktiviert wird und nicht wie bei boot.local als letztes.

mfg arno

tobi

Re: Firewall

#3 Post by tobi »

und es gleich nachdem die netzwerkkarten aktiv sind aktiviert wird und nicht wie bei boot.local als letztes.

firewall immer VOR der netzwerkkarte aktivieren, die firewall fragt ja nicht nach ob die netzkarte aktiv ist um selber aktiviert zu werden. ein theoretisches sicherheitsloch könnte schon entstehen wenn netzwerk läuft aber keine firewall.

arno

Re: Firewall

#4 Post by arno »

hi

@tobi
ich weiss hatte ich früher auch so und wäre auch logisch die fw vor den netzwerkkarten zu aktivieren aber
hatte in letzter zeit auf 2 verschiedenen rechnern dabei das phänomen das das masquerading nicht funktionierte bzw.
nachdem die netzwerkkarten aktiv waren nochmal zu aktivieren.

mfg arno

rolux

Re: Firewall

#5 Post by rolux »

Hallo arno, hallo tobi,

danke für eure Hilfe.
Das ganze mittels eines Skriptes ablaufen zu lassen, daran hatte ich auch schon gedacht. Nur: Wie mache ich das? Die Lösung mit der boot.local ist ja sozusagen nur meine "letzte Rettung".
Wie müsste denn die Datei benannt werden und wo muß sie abgelegt werden?
Wenn ich z.B. eingebe

vi /etc/firewall.weissnichtwie

dann müsste ich nur noch meinen Mist da reinschreiben, mit :wq speichern und in den runleves 2, 3 + 5 einen Zeiger auf diese Datei anlegen.

NUR:
Wie muß die Datei benannt werden?
Wo muß sie abgelegt werden?
Wie erstelle ich einen Zeiger?


Gruß,
Rolf

arno

Re: Firewall

#6 Post by arno »

hi

in der datei /etc/rc.d (bei redhat halt) liegen die runlevels rc0.d bis rc5.d
dein script legst du in die datei init.d und machst in den runlevels 2 u 3 einen
symbolischen link auf diese datei der link muss mit S<eineZahl> anfangen.
S ist für start und die zahl in welcher reihenfolge gestartet wird.

das script muss ausführbar sein

mfg
arno

Post Reply