Hallo, ich habe soeben (in den letzten 4 Stunden) meine Firewall-Rules �berarbeitet und Debian-like integriert. Dabei habe ich erst einmal alles verboten um anschlie�end das zu erlauben, was ich brauche, soweit die Theorie...leider sieht die Praxis etwas anders aus.
Ich habe nur einen Rechner, der etwas sicherer gemacht werden soll. Dies ist auch mein Arbeits-/Bastelrechner. (das mu� jetzt nicht kommentiert werden, ich h�tte auch lieber noch nen seperaten Rechner f�r die Firewall :) Was nicht funktioniert sind meine OUTPUT-Rules, so da� ich z.B. ftp nutzen kann. Ich m�chte das nur speziellen Programmen erlauben. # Erlaube ftp raus $IPTABLES -A OUTPUT -m state --state NEW -p tcp -s $WAN_IP -d $WORLD --sport $UNPRIVPORTS --dport 20: -o $WAN_DEV -j ACCEPT Die Fehlermeldung lautet: Bad argument `$WAN_DEV' Try `iptables -h' or 'iptables --help' for more information. Mit der Hilfe und der Doku im Netz komme ich nicht weiter. Au�erdem funktionieren meine pings nicht. Keine Ahnung warum, ehrlich nicht. Das komplette Script kommt im Anhang. Gru� Uli firewall.sh: ration IPTABLES=/sbin/iptables WAN_DEV="ppp0" LAN_DEV="eth1" LAN_IP="192.168.1.10" LAN_NET="192.168.1.0/24" # world, unprivports WORLD="0/0" UNPRIVPORTS="1024:65535" # Load modules modprobe ip_conntrack_ftp modprobe ip_nat_ftp # L�scht alle Chains $IPTABLES -F $IPTABLES -X # Set default policies $IPTABLES -P INPUT DROP $IPTABLES -P FORWARD DROP $IPTABLES -P OUTPUT DROP # Loggen. erstmal loggen, dann rejecten $IPTABLES -N reject-log $IPTABLES -A reject-log -j LOG --log-prefix "Firewall: rejected" $IPTABLES -A reject-log -j REJECT # Anti spoofing Regeln $IPTABLES -A INPUT -s 127.0.0.1/255.0.0.0 -i ! lo -j reject-log # Loopback erlauben $IPTABLES -A INPUT -i lo -j ACCEPT $IPTABLES -A OUTPUT -o lo -j ACCEPT # DynIP herausfinden [ -z "$WAN_IP" ] &&\ WAN_IP='ifconfig $WAN_DEV |grep inet |cut -d : -f 2 |cut -d \ -f 1' # Aussteigen, wenn keine IP verf�gbar [ -z "$WAN_IP" ] && echo "$WAN_DEV not configured, aborting." && exit 1 ############################## ## Regeln f�r home.sky.net ############################## # Erlaube ftp und ftp-data auf dport 20:21 rein $IPTABLES -A INPUT -m state --state NEW -p tcp -s $WORLD --sport $UNPRIVPORTS --dport 20:21 -i $WAN_DEV -j ACCEPT # passive mode ftp $IPTABLES -A INPUT -m state --state NEW -p tcp -s $WORLD --sport $UNPRIVPORTS --dport $UNPRIVPORTS -i $WAN_DEV -j ACCEPT # Erlaube ftp raus #$IPTABLES -A OUTPUT -m state --state NEW -p tcp -s $WAN_IP -d $WORLD --sport $UNPRIVPORTS --dport 20: -o $WAN_DEV -j ACCEPT # Erlaube ssh rein $IPTABLES -A INPUT -m state --state NEW -p tcp -s $WORLD --sport $UNPRIVPORTS --dport 22:22 -i $WAN_DEV -j ACCEPT $IPTABLES -A INPUT -m state --state NEW -p tcp -s $WORLD --sport 1020:1023 --dport 22:22 -i $WAN_DEV -j ACCEPT # ssh raus #$IPTABLES -A OUTPUT -m state --state NEW -p tcp -s $WAN_IP -d $WORLD --sport $UNPRIVPORTS --dport 22:22 -o $WAN_DEV -j ACCEPT #$IPTABLES -A OUTPUT -m state --state NEW -p tcp -s $WAN_IP -d $WORLD --sport 1020:1023 --dport 22:22 -o $WAN_DEV -j ACCEPT # Erlaube smtp raus #$IPTABLES -A OUTPUT -m state --state NEW -p tcp -s $WAN_IP -d $WORLD --sport 1024: --dport 25:25 -o $WAN_DEV -j ACCEPT # Erlaube dns raus #$IPTABLES -A OUTPUT -m state --state NEW -p tcp -s $WAN_IP -d $WORLD --sport 1024: --dport 53:53 -o $WAN_DEV -j ACCEPT #$IPTABLES -A OUTPUT -m state --state NEW -p udp -s $WAN_IP -d $WORLD --sport 1024: --dport 53:53 -o $WAN_DEV -j ACCEPT # Erlaube http und https raus #$IPTABLES -A OUTPUT -m state --state NEW -p tcp -s $WAN_IP -d $WORLD --sport 1024: --dport 80:80 -o $WAN_DEV -j ACCEPT #$IPTABLES -A OUTPUT -m state --state NEW -p tcp -s $WAN_IP -d $WORLD --sport 1024: --dport 443:443 -o $WAN_DEV -j ACCEPT # Erlaube pop3 raus #$IPTABLES -A OUTPUT -m state --state NEW -p tcp -s $WAN_IP -d $WORLD --sport 1024: --dport 110:110 -o $WAN_DEV -j ACCEPT # Erlaube identd f�r IRC $IPTABLES -A INPUT -m state --state NEW -p tcp -s $WORLD --dport 113:113 -i $WAN_DEV -j ACCEPT ########################################### # Routing f�r mobil.sky.net ########################################### # http $IPTABLES -A FORWARD -p tcp -s $LAN_NET --sport 1024: --dport 80:80 -o $WAN_DEV -m state --state NEW,ESTABLISHED -j ACCEPT $IPTABLES -A FORWARD -p tcp -d $LAN_NET --sport 80:80 --dport 1024: -o $LAN_DEV -m state --state ESTABLISHED -j ACCEPT # https $IPTABLES -A FORWARD -p tcp -s $LAN_NET --sport 1024: --dport 443:443 -o $WAN_DEV -m state --state NEW,ESTABLISHED -j ACCEPT $IPTABLES -A FORWARD -p tcp -d $LAN_NET --sport 443:443 --dport 1024: -o $LAN_DEV -m state --state ESTABLISHED -j ACCEPT # smtp #$IPTABLES -A FORWARD -p tcp -s $LAN_NET --sport 1024: --dport 25:25 -o $WAN_DEV -m state --state NEW,ESTABLISHED -j ACCEPT #$IPTABLES -A FORWARD -p tcp -d $LAN_NET --sport 25:25 --dport 1024: -o $LAN_DEV -m state --state ESTABLISHED -j ACCEPT #pop3 #$IPTABLES -A FORWARD -p tcp -s $LAN_NET --sport 1024: --dport 110:110 -o $WAN_DEV -m state --state NEW,ESTABLISHED -j ACCEPT #$IPTABLES -A FORWARD -p tcp -d $LAN_NET --sport 110:110 --dport 1024: -o $LAN_DEV -m state --state ESTABLISHED -j ACCEPT # dns $IPTABLES -A FORWARD -p tcp -s $LAN_NET --sport 1024: --dport 53:53 -o $WAN_DEV -m state --state NEW,ESTABLISHED -j ACCEPT $IPTABLES -A FORWARD -p tcp -d $LAN_NET --sport 53:53 --dport 1024: -o $LAN_DEV -m state --state ESTABLISHED -j ACCEPT $IPTABLES -A FORWARD -p udp -s $LAN_NET --sport 1024: --dport 53:53 -o $WAN_DEV -m state --state NEW,ESTABLISHED -j ACCEPT $IPTABLES -A FORWARD -p udp -d $LAN_NET --sport 53:53 --dport 1024: -o $LAN_DEV -m state --state ESTABLISHED -j ACCEPT ################## ## icmp Regeln ################## $IPTABLES -N icmp-rules $IPTABLES -A icmp-rules -p icmp --icmp-type destination-unreachable -j ACCEPT $IPTABLES -A icmp-rules -p icmp --icmp-type source-quench -j ACCEPT $IPTABLES -A icmp-rules -p icmp --icmp-type time-exceeded -j ACCEPT $IPTABLES -A icmp-rules -p icmp --icmp-type parameter-problem -j ACCEPT $IPTABLES -A icmp-rules -m limit --limit 6/m -j LOG --limit-burst 10 --log-prefix "FIREWALL:icmp-drop" $IPTABLES -A icmp-rules -j DROP # Jetzt werden alle icmp-Packete an die entsprechende Kette # weitergegeben $IPTABLES -A INPUT -p icmp -j icmp-rules $IPTABLES -A FORWARD -p icmp -j icmp-rules $IPTABLES -A OUTPUT -p icmp -j icmp-rules ############################# # Der letzte Check ############################# $IPTABLES -N default $IPTABLES -A default -m state --state INVALID -j RETURN $IPTABLES -A default -m state --state ESTABLISHED,RELATED -j ACCEPT $IPTABLES -A default -m state --state NEW -i ! $WAN_DEV -j ACCEPT # Log alles, was bis hierher kommt $IPTABLES -A default -j LOG -m limit --limit 30/minute --log-prefix "Dropping: " # Drop den Rest $IPTABLES -A default -j DROP # Alles �ber default leiten $IPTABLES -A INPUT -j default $IPTABLES -A FORWARD -j default $IPTABLES -A OUTPUT -j default ## -- eof firewall.sh -- Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED] mit dem Subject "unsubscribe". Probleme? Mail an [EMAIL PROTECTED] (engl)

