IPTABLES: Port-Forwarding 80 auf 8080 , ohne 8080 sichtbar?

Rund um die Sicherheit des Systems und die Applikationen
Post Reply
juliangguenther
Posts: 16
Joined: 2003-09-15 04:06
 

IPTABLES: Port-Forwarding 80 auf 8080 , ohne 8080 sichtbar?

Post by juliangguenther »

Hallo,

ich hab ein größere "Problem" und finde dazu keine Lösung. Ich will dem Port 80 meines Rechners auf Port 8080 per Iptables forwarden. Das funktioniert soweit auch supi, aber jetzt sind plötzlich beide Ports extern offen! Ich möchte jedoch nur, dass Port 80 nach aussen sichtbar ist und nicht auch der 8080. Aber so wie meine Regeln sind ist der Port 8080 immer dooferweise mit auf und taucht bei Scans mit als offener Port auf...

Meine entsprechenden Regeln:

Code: Select all

iptables -t nat -A PREROUTING -i eth0 -p tcp -d 200.200.200.200--dport 80 -j REDIRECT --to-ports 8080


iptables -A INPUT -i eth0 -p tcp --dport 8080 -m state --state NEW -j ACCEPT
(das ganze läuft alles auf einem einzigen Rechner 200.200.200.200 ab. Kein NAT/Masquerading auf andere Rechner etc...)

(die zweite Zeile braucht man unbedingt, sonnst läßt er die geforwardeten Pakete nicht rein. Die stehen dann zwar vor der 8080 Türe und dürfen nicht rein;-)

OK das ganze hat viel mit Kosmetik zu tun, da ein offener Port hier ja null schlimm ist da er ja auch auf sein soll. Nur würde mich das sehr interessieren ob man den 8080 Port nach aussen hin sperren kann und der trotzdem intern nutzbar bleibt. Nur wie lautet da dazu eine Regel?

Wer von den Profis weiss hier Rat?

Vielen Dank im voraus
Julian
dodolin
Posts: 3840
Joined: 2003-01-21 01:59
Location: Sinsheim/Karlsruhe
Contact:
 

Re: IPTABLES: Port-Forwarding 80 auf 8080 , ohne 8080 sichtbar?

Post by dodolin »

Ohne das jetzt nachzuschauen, vermute ich dass ein REDIRECT --to-port das auf die selbe IP mit anderem Port umbiegt, d.h. auf deine öffentliche. Ergo muss auch 8080 öffentlich erreichbar sein. Wenn du DNAT nimmst und auf 127.0.0.1:8080 umleitest, sollte es möglich sein, diesen Dienst nur auf localhost zu binden (der Dienst muss natürlich auch korrekt derartig konfiguriert sein).
standbye
Posts: 146
Joined: 2002-10-16 18:05
Location: daheim :)
Contact:
 

Re: IPTABLES: Port-Forwarding 80 auf 8080 , ohne 8080 sichtbar?

Post by standbye »

wie wärs mit einem -s 127.0.0.1

funzt das?
dodolin
Posts: 3840
Joined: 2003-01-21 01:59
Location: Sinsheim/Karlsruhe
Contact:
 

Re: IPTABLES: Port-Forwarding 80 auf 8080 , ohne 8080 sichtbar?

Post by dodolin »

@Standby: -s ist Source. Ich glaube kaum, dass das so gedacht war, wenn der Dienst öffentlich erreichbar sein soll...
wirsing
Posts: 604
Joined: 2002-11-20 21:32
Location: Vaihingen und Karlsruhe
 

Re: IPTABLES: Port-Forwarding 80 auf 8080 , ohne 8080 sichtbar?

Post by wirsing »

Idee: MARK-Target und -Match einsetzen. Beispiel (ohne Gewähr)

Code: Select all

iptables -t nat -A PREROUTING -i eth0 -p tcp -d 200.200.200.200--dport 80 -j MARK --set-mark 1
iptables -t nat -A PREROUTING -m mark --mark 1 -j REDIRECT --to-ports 8080

iptables -t filter -A INPUT -m mark --mark 1 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 8080 -j REJECT
dodolin
Posts: 3840
Joined: 2003-01-21 01:59
Location: Sinsheim/Karlsruhe
Contact:
 

Re: IPTABLES: Port-Forwarding 80 auf 8080 , ohne 8080 sichtbar?

Post by dodolin »

@wirsing: Deine Lösung "funktioniert" zwar sicher, ist aber IMHO nur die Notlösung für Arme, die es nicht auf die Reihe kriegen, ihre Dienste nur auf diejenigen Interfaces und IP-Adressen zu binden, auf denen sie auch angeboten werden sollen.
standbye
Posts: 146
Joined: 2002-10-16 18:05
Location: daheim :)
Contact:
 

Re: IPTABLES: Port-Forwarding 80 auf 8080 , ohne 8080 sichtbar?

Post by standbye »

dodolin wrote:@Standby: -s ist Source. Ich glaube kaum, dass das so gedacht war, wenn der Dienst öffentlich erreichbar sein soll...
ich weis dodo, hab vorhin was verlesen gehabt ;)

mfg
StandbyE
Post Reply