PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Private Firewall, Bitte um Kommentare



Thomas Engelke
28.11.02, 20:45
Guten Abend!

Diese Firewall habe ich nach dem Studium des buches "Linux Firewalls" (Markt und Technik) erstellt. Ich bitte um Hinweise und Kommentare. Ich möchte lieber sicher gehen, bevor ich damit den Rechner den ganzen Tag anlasse.

# Standardwerte setzen
$IPTABLES -P INPUT DROP
$IPTABLES -P OUTPUT ACCEPT
$IPTABLES -P FORWARD DROP

# Responses der DNS-Server erlauben
$IPTABLES -i $EXTERNAL_DEVICE -A INPUT -p udp -s 213.148.129.10 --sport 53 --dport $UNPRIVPORTS -j ACCEPT
$IPTABLES -i $EXTERNAL_DEVICE -A INPUT -p udp -s 213.148.130.10 --sport 53 --dport $UNPRIVPORTS -j ACCEPT

# Incoming HTTP Response erlauben
$IPTABLES -i $EXTERNAL_DEVICE -A INPUT -p tcp -s any/0 --sport 80 --dport $UNPRIVPORTS -j ACCEPT
# Incoming HTTPS erlauben
$IPTABLES -i $EXTERNAL_DEVICE -A INPUT -p tcp -s any/0 --sport 443 --dport $UNPRIVPORTS -j ACCEPT

# Incoming FTP Response erlauben
$IPTABLES -i $EXTERNAL_DEVICE -A INPUT -p tcp -s any/0 --sport 20:21 --dport $UNPRIVPORTS -j ACCEPT
# Passiver FTP-Modus (gefährlich, öffnet alle Verbindungen unpriv <-> unpriv) (Auskommentiert)
# $IPTABLES -i $EXTERNAL_DEVICE -A INPUT -p tcp -s any/0 --sport $UNPRIVPORTS --dport $UNPRIVPORTS -j ACCEPT

# Incoming NTP Response erlauben
$IPTABLES -i $EXTERNAL_DEVICE -A INPUT -p tcp -s any/0 --sport 123 --dport $UNPRIVPORTS -j ACCEPT

# Incoming SMTP Response erlauben
$IPTABLES -i $EXTERNAL_DEVICE -A INPUT -p tcp -s any/0 --sport 25 --dport $UNPRIVPORTS -j ACCEPT

# Incoming POP3 Response erlauben
$IPTABLES -i $EXTERNAL_DEVICE -A INPUT -p tcp -s any/0 --sport 110 --dport $UNPRIVPORTS -j ACCEPT

# Incoming SSH Response für ausgehende Verbindungen erlauben
# 2. Zeile auskommentiert, SSH läuft auch ausschließlich auf unpriv. Ports
$IPTABLES -i $EXTERNAL_DEVICE -A INPUT -p tcp -s any/0 --sport 22 --dport $UNPRIVPORTS -j ACCEPT
# $IPTABLES -i $EXTERNAL_DEVICE -A INPUT -p tcp -s any/0 --sport 22 --dport $SSH_PORTS -j ACCEPT

# Incoming IRC Response erlauben
$IPTABLES -i $EXTERNAL_DEVICE -A INPUT -p tcp -s any/0 --sport 6667 --dport $UNPRIVPORTS -j ACCEPT

Der Rechner soll in einem IRC-Channel stehen. Außerdem möchte ich mich von außen einloggen und Dateien herunterziehen können (aus dem Netz auf den Rechner mit der Firewall, nicht auf den Rechner, mit dem ich mich einlogge).

Danke,

AD!

Edit: Eine Zeile ist noch dazugekommen (aus dem Kopf, da ich nicht zuhause bin):

$IPTABLES -i $EXTERNAL_DEVICE -A INPUT -p tcp -s any/0 --sport $UNPRIVPORTS --dport $UNPRIVPORTS -m state --state RELATED,ESTABLISHED -j ACCEPT

Thomas
29.11.02, 12:35
Hallo Thomas!

Ganz kurz:
Sieht schon ganz gut aus, wozu aber ist die letzte Regel da, wenn du sowieso schon alles was du brauchst explizit freigegeben hast?
Ich würde bei den HTTP-, DNS- etc. Regeln, welche von dir requested werden, noch stateful filtering einbauen, sonst kann jeder Packete von Port 80/... an einen offenen unpriv. Port bei dir schicken.


Gruß, Thomas.

Thomas Engelke
29.11.02, 12:59
Gute Frage, schnelle Antwort: Ich hab schon etwas länger herumgeforscht, wie das mit dem State eigentlich klappt, hab die Syntax aber erst gestern aus iptables herausgekitzelt. Eigentlich ist es für MP3-Streams da. Ich bin bisher noch etwas überfragt, über welchen unprivilegierten Port die reinkommen und ob jeder Server da gleich ist. Wenn ich es hab, werd ich die letzte Rule wieder rauswerfen. Der Einwand mit HTTP ist gut, werd' ich heute abend mal machen. Vielen Dank (wenigstens hat sich eine Person erbarmt :) )

AD!

Edit: Wenn ich mich recht erinnere, klappt der state-Filter nur mit tcp. Macht Sinn, verbindungslose Protokolle können sicherlich nicht nach etablierten Verbindungen durchsucht werden, DNS klappt somit nicht. Aber HTTP und die anderen gehen trotzdem.

Jinto
29.11.02, 13:48
Wenn ich mich recht erinnere, klappt der state-Filter nur mit tcp.Deine Erinnerung täuscht dich. Siehe: http://netfilter.smaba.org

Macht Sinn, verbindungslose Protokolle können sicherlich nicht nach etablierten Verbindungen durchsucht werden, DNS klappt somit nicht. Doch, auch über zustandslose Verbindungen können einige Aussagen getroffen werden (auch wenn einige Kompromisse bzw. Annahmen getroffen werden) siehe auch: http://netfilter.samba.org

HTH

Thomas Engelke
29.11.02, 16:43
Hui, clevere Technik. Bin erstaunt. Danke, Jinto!

AD!