Archiv verlassen und diese Seite im Standarddesign anzeigen : Frage zu iptable Regeln(--sport,--dport)
Setze ich folgende Regel:
iptables -A OUTPUT -p tcp --dport 80 -j MYACCEPT
erlaubt die Firewall nur Verbindungen zu anderen Hosts auf Port 80.
Setze ich nun das:
iptables -A OUTPUT -p tcp --sport 80 -j MYACCEPT
dann erlaubt sie nur Verbindungen die von meinem Host über Port 80, also von dem Apache aus, gestarted werden?
Ist das so richtig?
dann erlaubt sie nur Verbindungen die von meinem Host über Port 80, also von dem Apache aus, gestarted werden?
Was für Verbindungen startet Apache genau. Ich bin fast sicher Du machst da einen Denkfehler.
mfg
cane
Danke, für deine Antwort.
Ich meine, dass iptables nur ausgehende Pakete zulässt, die über Port 80 rauswollen.
Der Apache startet aber keine Verbindungern vom Quellport 80.
--> Wozu soll das ganze dienen?
mfg
cane
mein problem ist eigentlich nur das verständnis zu dem source und destination port.
Derjenige der eine Anfrage macht, sendet im Header "seinen" sourceport und destintation port mit. Die Anfrage richtet sich immer an den Dienst der auf dem remote Host an dem destination port horcht!?
Dienste die auf meinem Server laufen belegen Ports < 1023. "Horchen" sie dort nur, oder können Sie über diese Ports auch Requests starten? Machen die üblichen Dienste (MySQL, Apache, SSH) überhaupt Requests. Und wenn ja über welche Ports.
Dann habe ich noch Programme auf meinem Server, die Requests über Source Ports > 1023 starten. Wenn diese Requests beantwortet werden, kriegen die Programme dann Antwort auf dem Source Port? Oder? (Der Remote Host dreht bei der Antwort sport und dport um)
Sorry für die blöden Fragen. aber ich möchte das verstehen.
Danke
rudelgurke
07.07.09, 16:40
Kurz gesagt - ein Client der via Browser auf deinen Apache zugreifen will:
Client - Port >1024 -->> Apache Port 80
Dann antwortet Apache:
Apache Port 80 -->> Client - Port >1024
Auf Iptables bezogen:
iptables -A INPUT --sport 1024:65535 --dport 80 -j ACCEPT
iptables -A OUTPUT --sport 80 --dport 1024:65535 -j ACCEPT
Dass kann noch verfeinert werden mit "states" da Apache nicht selbst eine Verbindung zu Client aufbaut - normalerweise:
iptables -A INPUT --sport 1024:65535 --dport 80 -m state --state NEW,ESTABLISHED,RELEATED -j ACCEPT
iptalbes -A OUTPUT --sport 80 --dport 1024:65535 -m state --state ESTABLISHED,RELATED -j ACCEPT
Für andere Dienste kann man dann alles kompakt:
HIGH="1024:65535"
PORTS="25 80 443"
for PRT in $PORTS do
iptables -A INPUT --sport $HIGH --dport $PRT -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptabales -A OUTPUT --sport $PRT --dport $HIGH -m state --state ESTABLISHED,RELATED -j ACCEPT
done
Selbiges nur als Denkanstoß - NICHT einfach blind übernehmen. Empfehlenswert dazu die Netfilter Docu und TCP/IP :)
sehr edel ;D
gut zu verstehen, danke
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.