Firewalleinstellungen

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
scheuce
Beiträge: 17
Registriert: 08.07.2003 17:53:36

Firewalleinstellungen

Beitrag von scheuce » 10.12.2003 21:04:46

Hallo Firewallspezialisten,

ich brauche euren Rat.

Ich habe mir einen alten Rechner als Router (Linux, Debian 3.0) eingerichtet. Über diesen Router baue ich eine Dial-Verbindnung zu meinem Provider auf. So das ich von einem Client (meines lokalen Netzes) über diesen Router eine Verbindung zum Internet aufbauen kann.
Hinter meinem Router habe ich einen Apache-Webserver(mit Dyndns) eingerichtet. Von draußen ist es ohne Probleme möglich auf die Webseiten meines Webservers zuzugreifen.
Dieser Webserver ist NOCH!!! WindowsXP. Werde diesen Webserver später auf einem Linux-Rechner umziehen lassen.
Alle anderen FORWARD von außen nach innen sind geblockt. Habe das über security.symantec.com
scan.sygate.com prüfen lassen. Ob man sich darauf verlassen kann weiß ich leider nicht.

Die FORWARD von innen nach außen zu den Ports „21, 25, 53, 80, 110“ sind geöffnet.

Jetzt zu meinem Problem.

Ich möchte innerhalb meines localen Netzes AUCH auf meinem Webserver zugreifen können. Wenn ich die locale IP-Adresse eingebe, ist dies auch möglich. Aber wenn ich die Web-Adresse eingebe leider nicht. Auch wenn ich die öffentliche IP-Adresse im Browser eingebe.

Das ist mein Host_FORWARDING für DNAT

$IPTABLES -t nat -A PREROUTING -i $EXT -p tcp --dport 80 -j DNAT --to 192.168.1.3:80
$IPTABLES -A FORWARD -i $EXT -o $INT -p tcp --sport $p_high -d 192.168.1.3 --dport 80 -m state --state NEW -j ACCEPT
$IPTABLES -A FORWARD -i $EXT -o $INT -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A FORWARD -i $INT -o $EXT -m state --state ESTABLISHED,RELATED -j ACCEPT

Benutzeravatar
Hendri
Beiträge: 586
Registriert: 23.08.2003 12:17:43
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von Hendri » 12.12.2003 22:47:20

Hallo,
entweder du benutzt externe (im Internet stehende) Proxies, oder du schießt dir die Firewall löchrig indem du interne Ip Adressen von extern zugreifen lasst. Wobei letzteres eher nich anzuraten ist, da man dadurch unter Umständen (z.B. wenn der Angreifer beim gleichen Provider und im gleichen IP Segment sitzt) interne Berechtigungen aber von extern erlangen kann!

VORSICHT: Mit dieser Regel werden Ausnahmslos alle Ports von extern nach innen duch gelassen, wenn es auf der externen NIC in der INPUT Chain nicht geblock wird!
$IPTABLES -A FORWARD -i $EXT -o $INT -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
Ciao, Hendri

Benutzeravatar
spiffi
Beiträge: 1128
Registriert: 09.08.2003 19:02:27

Beitrag von spiffi » 12.12.2003 23:06:47

Die Sache ist eigentlich ganz einfach. Wenn Du aus Deinem internen Netz über die öffentliche IP auf Deinen Webserver zugreifen willst, dann kommt Dein Request beim Router nicht an der externen, sondern an der internen Netzwerkkarte an.
Deine Regel leitet aber nur Pakete von der externen Karte an den Webserver weiter:

Code: Alles auswählen

$IPTABLES -t nat -A PREROUTING -i $EXT -p tcp --dport 80 -j DNAT --to 192.168.1.3:80
Versuchs stattdessen mal mit

Code: Alles auswählen

$IPTABLES -t nat -A PREROUTING -d $EXT_IP -p tcp --dport 80 -j DNAT --to 192.168.1.3:80
wobei EXT_IP auf Deine öffentliche IP gesetzt werden müßte.
Alternativ wäre auch denkbar:

Code: Alles auswählen

$IPTABLES -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to 192.168.1.3:80
Das leitet aber alle Zugriffe auf Port 80 Deines Routers an den Webserver weiter, unabhängig davon, ob diese Zugriffe über die interne oder die externe IP erfolgen.

Wofür soll eigentlich diese Regel gut sein?

Code: Alles auswählen

$IPTABLES -A FORWARD -i $EXT -o $INT -p tcp --sport $p_high -d 192.168.1.3 --dport 80 -m state --state NEW -j ACCEPT

Antworten