PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Iptables - DNS Regeln richtig definiert?



TheNose
13.07.06, 15:53
Hallo!

Bin dabei auf meinem Server mit Iptables eine Firewall einzurichten. Habe es jetzt geschafft, dass alle Verbindungen abgelehnt werden bis auf SSH. Danach konnte ich logischerweise vom Server aus keine Domains mehr auflösen. Ich habe also versucht DNS freizugeben. Das sieht bei mir jetzt so aus:


#DNS
iptables -A OUTPUT -p udp --sport 1024: --dport 53 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 1024: --dport 53 -j ACCEPT

iptables -A INPUT -p udp -s 80.237.128.144 --sport 53 -j ACCEPT
iptables -A INPUT -p tcp -s 80.237.128.144 --sport 53 -j ACCEPT

iptables -A INPUT -p udp -s 80.237.128.145 --sport 53 -j ACCEPT
iptables -A INPUT -p tcp -s 80.237.128.145 --sport 53 -j ACCEP

Hab ich das richtig gemacht? Ich möchte nur, dass mein Server z.B. für apt-get der wget eine Domain auflösen kann. Muss ich dazu INPUT und OUTPUT freigeben? Einen DNS Server betreibe ich nicht, daher sollte dieser Prot wenn möglich auch nicht erreichbar sein.

Wie sieht es aus, wenn ich eben z.B. für wget auch FTP und HTTP Verbindungen benötige? Muss ich das so machen?

#HTTP
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 80 -j ACCEPT

Oder muss man da ganz anders drangehen?

carstenj
13.07.06, 16:09
Hi,

die DNS Einträge sehen gut aus. Die Einträge bezüglich HTTP verstehe ich nicht: Du lässt alles, was als Destinationport 80 hat, bei dir durch. D. h.: Du hast einen HTTP-Server bei dir laufen. Falls das so sein soll, stimmt die Regel.

Allerdings solltest du dich mal mit dem Connectiontracking Modulen, vor allem bezüglich ftp, beschäftigen. Das erleichtert dir die Regelerstellung und verbessert die Übersicht erheblich.

TheNose
13.07.06, 16:25
Nein, ich habe momentan keinen Webserver laufen? Möchte nur per HTTP Dateien auf den Server laden. Wie muss es dann aussehen?

Danke für den Tipp mit Connectiontracking Modulen werd ich mir gleich mal anschauen!

caspartroy
13.07.06, 22:58
äh wie geht das ohne server?

Cerox
14.07.06, 10:49
Möchte nur per HTTP Dateien auf den Server laden. Wie muss es dann aussehen?


/sbin/iptables -A OUTPUT -p tcp --dport 80 -j ACCEPT
/sbin/iptables -A INPUT -p tcp --sport 80 -j ACCEPT

Dadurch kannst du ausgehend auf Webserver zugreifen und Antworten empfangen.