Und zwar habe ich einen vserver unter debian 3.1 laufen, und wolte nun mit folgendem script IPtables konfigurieren:
Code: Alles auswählen
#!/bin/bash
# AWall by adlerweb
# ein paar Variablen deklarieren
IPTABLES=/sbin/iptables
MY_IP=*censored*
WWW_INTERFACE="venet0:0"
rulestart() {
echo "Firewall wird gestartet... "
#Alles Regeln löschen
$IPTABLES -F
#Alles verbieten, was nicht erlaubt wird
$IPTABLES -P INPUT DROP
$IPTABLES -P OUTPUT ACCEPT
$IPTABLES -P FORWARD DROP
# Loopback Interface freigeben
$IPTABLES -A INPUT -i lo -j ACCEPT
$IPTABLES -A OUTPUT -o lo -j ACCEPT
###############################################
############# F R E I G A B E N ###############
###############################################
#SSH erlauben
$IPTABLES -A INPUT -p tcp -i $WWW_INTERFACE --dport 31577 -d $MY_IP -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
#DNS-Anfragen
$IPTABLES -A INPUT -i $WWW_INTERFACE -p udp --sport domain -j ACCEPT
#Ping
$IPTABLES -A INPUT -i $WWW_INTERFACE -p icmp -j ACCEPT
#Apache
$IPTABLES -A INPUT -p tcp -i $WWW_INTERFACE --dport 80 -d $MY_IP -j ACCEPT
#BNC
$IPTABLES -A INPUT -p tcp -i $WWW_INTERFACE --dport 31354 -d $MY_IP -j ACCEPT
$IPTABLES -A INPUT -p tcp -i $WWW_INTERFACE --dport 31476 -d $MY_IP -j ACCEPT
#FTP
$IPTABLES -A INPUT -p tcp -i $WWW_INTERFACE --dport 20 -d $MY_IP -j ACCEPT
$IPTABLES -A INPUT -p tcp -i $WWW_INTERFACE --dport 21 -d $MY_IP -j ACCEPT
#pop3
$IPTABLES -A INPUT -p tcp -i $WWW_INTERFACE --dport 110 -d $MY_IP -j ACCEPT
#smtp
$IPTABLES -A INPUT -p tcp -i $WWW_INTERFACE --dport 25 -d $MY_IP -j ACCEPT
#imap
$IPTABLES -A INPUT -p tcp -i $WWW_INTERFACE --dport 143 -d $MY_IP -j ACCEPT
#ident
#$IPTABLES -A INPUT -p tcp -i $WWW_INTERFACE --dport 133 -d $MY_IP -j ACCEPT
#externer mySQL zugriff
$IPTABLES -A INPUT -p tcp -i $WWW_INTERFACE --dport 3306 -d $MY_IP -j ACCEPT
#################ENDE##########################
# Pakete die schon zu einer Verbindung gehören erlauben
$IPTABLES -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
#Fragmentierte Pakete gesondert behandeln
$IPTABLES -A INPUT -f -j LOG --log-level 6 --log-prefix "FIREWALL:FRAGMENT:ACCEPT"
$IPTABLES -A INPUT -f -j ACCEPT
#Samba/Windows Broadcasts ueberfluten die Log-Files
$IPTABLES -A INPUT -p udp --dport 137:138 -j DROP
#e-donkey wollen wir nicht :)
$IPTABLES -A INPUT -p tcp --dport 4661:4662 -i $WWW_INTERFACE -j DROP
# udp 3943
$IPTABLES -A INPUT -p udp --dport 3943 -i $WWW_INTERFACE -j DROP
#Und jetzt wird gelogged...
# $IPTABLES -A INPUT -j LOG --log-level 6 --log-prefix "FIREWALL: "
echo "[fertig]"
exit 0
}
stop() {
echo "Firewall runterfahren..."
#Regeln loeschen
$IPTABLES -F
$IPTABLES -X
#Default Policys auf Accept
$IPTABLES -P INPUT ACCEPT
$IPTABLES -P FORWARD ACCEPT
$IPTABLES -P OUTPUT ACCEPT
exit 0
}
restart() {
$0 stop
$0 start
}
case "$1" in
start)
rulestart
;;
stop)
stop
;;
restart)
restart
;;
help)
help
;;
*)
echo $"Usage: $0 {start|stop|restart|qstart|help}"
exit 1
;;
esac
exit 0
#end of file
Code: Alles auswählen
Warning: weird character in interface `venet0:0' (No aliases, :, ! or *).