D
DiWoWo
Grünschnabel
Ich hab mal bissl gegoogelt, nach einem passenden Script, welches ich auf meinem Rootserver gerne als Firewall einsetzen würde. Gefunden hab ich unter anderem dieses "Tutorial".
Dort habe ich jetzt mal das Script einwenig angepasst, wie ich denke daß es funktionieren würde.
Hier erst mal mein Ergebnis:
Jetzt wäre meine Frage, ob es denn für einen Rootserver in der Form tauglich wäre, bzw auch in seiner Funktion korrekt ist.
Über schnelle Antworten würd ich mich freuen.
Dort habe ich jetzt mal das Script einwenig angepasst, wie ich denke daß es funktionieren würde.
Hier erst mal mein Ergebnis:
Code:
#!/bin/sh
# Flushen, Löschen, Neuerstellung - nicht vergessen im Script! #
################################################################
iptables -F
iptables -F -t nat
iptables -F sperre
iptables -X sperre
iptables -N sperre
iptables -F sperre
# first contact #
#################
iptables -A sperre -i tun0 -s ! 10.8.0.0/255.255.255.255 -j DROP # Alles aus tun0 ohne passende IP wegwerfen
iptables -A sperre -i eth0 -j ACCEPT # Sonst alles von eth0 erlauben
iptables -A sperre -i lo -s 127.0.0.1/255.0.0.0 -j ACCEPT # Für Loopback wir immer alles erlaubt ausser von nicht 127.0.0.1
# acceptstuff #
###############
iptables -A sperre -p tcp --dport 21 -j ACCEPT # ftp erlauben
iptables -A sperre -p tcp --dport 22 -j ACCEPT # SSH
iptables -A sperre -p tcp --dport 80 -j ACCEPT # Apache
iptables -A sperre -p tcp --dport 443 -j ACCEPT # Apache/SSL
iptables -A sperre -p udp --dport 1194 -j ACCEPT # openVPN
## .....hier würden dann noch weitere Ports folgen, falls nötig!
# Antworten zulassen #
######################
iptables -A sperre -m state --state ESTABLISHED,RELATED -j ACCEPT
# Alles andere abweisen (RFC-konform) #
# folgende Zeilen garantieren RFC-konforme Antworten. (Port geschlossen), aber Antworten sind Antworten. Jedes Paket kann Informationen beinhalten,
# also ist ein DROP an dieser Stelle sicherer, allerdings wird ein DROP von Portscannern als gefiltert erkannt und macht den rechner interessanter,
# REJECT, wie es unten angeführt ist, als geschlossen. Jeder möge selbst entscheiden..
#######################################
iptables -A sperre -p tcp -j REJECT --reject-with tcp-reset
iptables -A sperre -p udp -j REJECT --reject-with icmp-port-unreachable
# sperre aktivieren #
#####################
iptables -A INPUT -j sperre
iptables -A FORWARD -j sperre
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT # output immer annehmen (nochmal ein Trojanerhinweis...)
iptables -P OUTPUT ACCEPT -t nat
echo "Firewall laeuft......"
Jetzt wäre meine Frage, ob es denn für einen Rootserver in der Form tauglich wäre, bzw auch in seiner Funktion korrekt ist.
Über schnelle Antworten würd ich mich freuen.