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)

Antwort per Email an