Torsten Rudzok schrieb:
Ich verwende folgendes kleine Script um meinen Rechner vor unathorisierten Zugriffen zu schützen:
Es wird zwar nicht die Lösung deines Problems sein, aber trotzdem ein paar Tips dazu.
Ich gehe mal davon aus, daß das ein Router mit 2 NICs ist?
echo "1" > /proc/net/ip_conntrack
Bin ich mir nicht bewußt, das jemals getan zu haben. Nachdem mir 'cat /proc/net/ip_conntrack' eine Liste bestehender Verbindungen gegeben hat, bin ich mir sicher, daß das falsch ist.
$IPTABLES -A INPUT -p tcp -s $NET_ANY -d 192.168.1.1 --dport 80 -j ACCEPT
Besser:
$IPTABLES -A INPUT -p tcp -i eth0 -d 192.168.1.1 --dport 80 -m state --state NEW -j ACCEPT
Damit kontrollierst Du hier nur den Verbindungsaufbau und nicht alle Pakete.
Die Source-Angabe kannst Du hier auch weglassen, wenn nichts angegeben ist wird sowieso 0.0.0.0/0 angenommen. Ich würde aber auf jeden Fall das Interface mit angeben, auf dem die IP gültig ist
$IPTABLES -A OUTPUT -p tcp -s 192.168.1.1 --sport 80 -d $NET_ANY -j ACCEPT
$IPTABLES -A OUTPUT -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT
Damit erschlägst Du alle weiteren Pakete einer erfolgreich aufgebauten Verbindung auf allen Interfaces und Ports.
$IPTABLES -A INPUT -p tcp -s $NET_ANY -d 212.80.235.155 --dport 80 -j ACCEPT $IPTABLES -A OUTPUT -p tcp -s 212.80.235.155 --sport 80 -d $NET_ANY -j ACCEPT
Hast Du eine feste IP?
Falls nicht, kannst Du auch die IP weglassen für das externe Interface und nur auf das Interface filtern:
$IPTABLES -A INPUT -p tcp -i eth1 --dport 80 -m state --state NEW -j ACCEPT
Sicherheitshalber noch dazu: $IPTABLES -A INPUT -p tcp -i eth1 -d 192.168.1.0/24 -j DROP
Solche Pakete sollten aber garnicht bis hierher kommen.
# ftp $IPTABLES -A INPUT -p TCP --sport 1024:65535 --dport 20 -j ACCEPT $IPTABLES -A OUTPUT -p TCP --dport 1024:65535 --sport 20 -j ACCEPT $IPTABLES -A INPUT -p TCP --sport 1024:65535 --dport 21 -j ACCEPT $IPTABLES -A OUTPUT -p TCP --dport 1024:65535 --sport 21 -j ACCEPT
Es reicht: $IPTABLES -A INPUT -p TCP --sport 1024: --dport ftp -m state --state NEW -j ACCEPT $IPTABLES -A OUTPUT -p TCP --sport 1024: --dport ftp -m state --state NEW -j ACCEPT
Den Rest erledigt ip_conntrack_ftp.
$IPTABLES -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT $IPTABLES -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
Ah, hier hast Du ja die allgemeine 'Durchlaßregel' für bestehende Verbindungen.
# dns $IPTABLES -I OUTPUT -s 192.168.1.1 -p UDP --dport 1024:65535 --sport 53 -m state --state ESTABLISHED,RELATED -j ACCEPT $IPTABLES -I INPUT -s $NET_ANY -p UDP --dport 53 --sport 1024:65535 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT $IPTABLES -I OUTPUT -s 192.168.1.1 -p TCP --dport 1024:65535 --sport 53 -m state --state ESTABLISHED,RELATED -j ACCEPT $IPTABLES -I INPUT -s $NET_ANY -p TCP --dport 53 --sport 1024:65535 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
Wie jetzt, Du akzeptierst DNS-Anfragen von aussen? Hast Du wirklich einen DNS für den Rest der Welt aufgesetzt? Est., Rel. kannst Du dir hier sparen, das hast Du ja schon weiter oben erledigt. Ich würde hier ein fettes DROP setzen und wenn soviele Anfragen auf einen Port kommen, die Du nicht willst setze das DROP ganz an den Anfang der Regelkette. Optimieren kannst Du die Regeln immer, indem du die am häufigsten angesprochenen Regeln an den Anfang setzt, egal ob ACCEPT oder DROP.
Ansonsten sind deine Regeln schon etwas widersprüchlich, zwei IPs (eine öffentliche und eine private), aber keine FORWARD-Regeln. Langsam zweifle ich an dem Sinn. Ist das nun ein einzelner Rechner, ein Router oder beides? Wieviel Netzwerkinterfaces? Wie gehst Du ins Internet (DSL, ISDN oder Modem)
Schick doch mal, die Ausgabe von 'ifconfig' und 'route -n' und erkläre was Du erreichen willst.
Nun tritt hier folgendes Phenomen auf: Die Firewall funktioniert wunderbar.
Naja, das ist eben relativ. ;-)
Die Antwortzeiten steigen allerdings linear an. Das bedeutet, dass kurz nach
siehe ICMP
Rico