adichief
Anmeldungsdatum: 21. August 2018
Beiträge: 2
|
Ich habe einen lokalen Server der mit auf Port 1250 gestartet wird.
Habe dann diese Regeln erstellt. | iptables -P INPUT DROP
iptables -A INPUT -p tcp -i lo --dport 1250 -j ACCEPT
|
Wenn ich nun einen Client mit | java Client localhost 1250
|
starte dann passiert nichts. Die Anfrage wird also verworfen und die Ausnahmeregel, welche ich definiert habe greift nicht ein und ich weiß nicht warum.
|
misterunknown
Ehemalige
Anmeldungsdatum: 28. Oktober 2009
Beiträge: 4403
Wohnort: Sachsen
|
|
adichief
(Themenstarter)
Anmeldungsdatum: 21. August 2018
Beiträge: 2
|
Chain INPUT (policy DROP 9 packets, 500 bytes)
pkts bytes target prot opt in out source destination
6 360 ACCEPT tcp -- lo * 0.0.0.0/0 0.0.0.0/0 tcp dpt:1250
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 15 packets, 860 bytes)
pkts bytes target prot opt in out source destination
|
chilidude
Anmeldungsdatum: 18. Februar 2010
Beiträge: 867
|
Da wird noch mindestens ein weiterer Port geblockt der geöffnet werden muss. Vielleicht DNS (53)? Ich kenne mich mit Java nicht aus aber du kannst das schnell herausfinden mit z.B. Wireshark oder mit: netstat -taupe
|
misterunknown
Ehemalige
Anmeldungsdatum: 28. Oktober 2009
Beiträge: 4403
Wohnort: Sachsen
|
Was steht denn in den Logs der Java-Applikation? Ansonsten musst du mal mit tcpdump gucken, welche Pakete so rumschwirren.
|
kB
Supporter, Wikiteam
Anmeldungsdatum: 4. Oktober 2007
Beiträge: 8617
Wohnort: Münster
|
Jeden INPUT von der Schnittstelle lo und jeden OUTPUT an lo sollte man immer zulassen! Es gibt etliche Software, welche diese Netzwerk-Grundfunktionalität benötigt.
sudo iptables -I INPUT -i lo -j ACCEPT
sudo iptables -I OUTPUT -o lo -j ACCEPT
|
TomLu
Anmeldungsdatum: 23. August 2014
Beiträge: 603
|
Vor einem erfolgreichen Connect steht immer das mit dem SYN-Flag initiierte Handshaking.... das wird hier verworfen, insofern sollte eigentlich gar keine Verbindung nach lo möglich sein. Warum braucht man aber überhaupt ein lokales iptables-ACCEPT auf einem lokalen Port für einen lokalen Prozess, der auf dem lokalen Loopback-Device lauscht...?... was soll das bringen? Ich halte es für besser diese Regeln zu entfernen, anstatt einen überflüssigen Workaround zu entwerfen.
|
raptor2101
Anmeldungsdatum: 8. Juni 2009
Beiträge: 1249
Wohnort: Stuttgart, Deutschland
|
TomLu schrieb: Vor einem erfolgreichen Connect steht immer das mit dem SYN-Flag initiierte Handshaking.... das wird hier verworfen, insofern sollte eigentlich gar keine Verbindung nach lo möglich sein.
Woher nimmst du die Info? TomLu schrieb: Warum braucht man aber überhaupt ein lokales iptables-ACCEPT auf einem lokalen Port für einen lokalen Prozess, der auf dem lokalen Loopback-Device lauscht...?... was soll das bringen? Ich halte es für besser diese Regeln zu entfernen, anstatt einen überflüssigen Workaround zu entwerfen.
Häää?? versteh nur ich den Absatz nicht? zum eigendlichen Problem.
adichief schrieb: Chain INPUT (policy DROP 9 packets, 500 bytes)
pkts bytes target prot opt in out source destination
6 360 ACCEPT tcp -- lo * 0.0.0.0/0 0.0.0.0/0 tcp dpt:1250
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 15 packets, 860 bytes)
pkts bytes target prot opt in out source destination
Dir fehlt entweder die Rule, die alle aufgebauten verbindungen immer "Acceptet" oder du must den Rückkanal auch aufmachen. sowas wie
iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
oder iptables -A INPUT -i lo -p tcp --sport 1250 -j ACCEPT Ich bin mir nur gerade nicht sicher ob das auch in den Output muss
|
TomLu
Anmeldungsdatum: 23. August 2014
Beiträge: 603
|
raptor2101 schrieb: TomLu schrieb:
TomLu schrieb: Warum braucht man aber überhaupt ein lokales iptables-ACCEPT auf einem lokalen Port für einen lokalen Prozess, der auf dem lokalen Loopback-Device lauscht...?... was soll das bringen? Ich halte es für besser diese Regeln zu entfernen, anstatt einen überflüssigen Workaround zu entwerfen.
Häää?? versteh nur ich den Absatz nicht?
Das kannste mir aber nicht vorwerfen... *lol*... genau oberhalb von meinem Posting hat kb das gleiche mit anderen Worten gesagt...
|
raptor2101
Anmeldungsdatum: 8. Juni 2009
Beiträge: 1249
Wohnort: Stuttgart, Deutschland
|
TomLu schrieb: raptor2101 schrieb: TomLu schrieb:
TomLu schrieb: Warum braucht man aber überhaupt ein lokales iptables-ACCEPT auf einem lokalen Port für einen lokalen Prozess, der auf dem lokalen Loopback-Device lauscht...?... was soll das bringen? Ich halte es für besser diese Regeln zu entfernen, anstatt einen überflüssigen Workaround zu entwerfen.
Häää?? versteh nur ich den Absatz nicht?
Das kannste mir aber nicht vorwerfen... *lol*... genau oberhalb von meinem Posting hat kb das gleiche mit anderen Worten gesagt...
Ich hab dir das nicht vorgeworfen, ich hab nicht verstanden was du da geschrieben hast. KB Posting hab ich verstanden. Wird ein empfängerproblem sein ...
|
TomLu
Anmeldungsdatum: 23. August 2014
Beiträge: 603
|
raptor2101 schrieb: Ich hab dir das nicht vorgeworfen
Das war auch eher sarkastisch gemeint... aber um diese betroffene Aussage anders zu formulieren... "lo" ist das Loopback-Device, i.ü.S. ein nicht physisch existierendes Netzwerk-Device, ein virtuelles Kernel-Objekt für "Selbstgespräche" des Computers gedacht. Das heisst, über das Loop-Device erreicht den Rechner kein Traffic von außerhalb und es geht kein Traffic nach außerhalb ... also muss man da auch nix filtern. Mit anderen Worten, das Loop-Device zu filtern ist kontraproduktiv. Beispielsweise ist es gang und gäbe, Dienste auf Localhost zu verbiegen, wenn sie nicht nach draußen lauschen sollen. Mit dem o.g. Filter werden Blockaden etabliert, die faktisch keinen Nutzen haben, stattdessen effektiv schaden. Wie kB sagte, generell ACCEPT, oder wie sage, wenns keine anderen Regeln gibt, komplett entfernen und das Geschäft den Policies (ebenfalls mit ACCEPT (was da default ist)) überlassen. Für dieses Problem gibts keinen Workaround, weil der Ansatz falsch ist.
|
raptor2101
Anmeldungsdatum: 8. Juni 2009
Beiträge: 1249
Wohnort: Stuttgart, Deutschland
|
TomLu schrieb: raptor2101 schrieb: Ich hab dir das nicht vorgeworfen
Das war auch eher sarkastisch gemeint... aber um diese betroffene Aussage anders zu formulieren... "lo" ist das Loopback-Device, i.ü.S. ein nicht physisch existierendes Netzwerk-Device, ein virtuelles Kernel-Objekt für "Selbstgespräche" des Computers gedacht. Das heisst, über das Loop-Device erreicht den Rechner kein Traffic von außerhalb und es geht kein Traffic nach außerhalb ... also muss man da auch nix filtern. Mit anderen Worten, das Loop-Device zu filtern ist kontraproduktiv. Beispielsweise ist es gang und gäbe, Dienste auf Localhost zu verbiegen, wenn sie nicht nach draußen lauschen sollen. Mit dem o.g. Filter werden Blockaden etabliert, die faktisch keinen Nutzen haben, stattdessen effektiv schaden. Wie kB sagte, generell ACCEPT, oder wie sage, wenns keine anderen Regeln gibt, komplett entfernen und das Geschäft den Policies (ebenfalls mit ACCEPT (was da default ist)) überlassen. Für dieses Problem gibts keinen Workaround, weil der Ansatz falsch ist.
Wie gasagt, der technische Sachverhalt ist mir klar. Der threadersteller hat eine konkrete Frage gestellt. Ich werde die Diskussion nicht zu einem "Sollte local traffic blockiert werden" derailen.
|
TomLu
Anmeldungsdatum: 23. August 2014
Beiträge: 603
|
raptor2101 schrieb: Wie gasagt, der technische Sachverhalt ist mir klar. Der threadersteller hat eine konkrete Frage gestellt. Ich werde die Diskussion nicht zu einem "Sollte local traffic blockiert werden" derailen.
Um damit das nächste Problem unweigerlich vorzubestimmen...?... weil nach einigen Tage das nächste Posting folgt, weil dies und das ganz unerklärlicherweise nicht mehr funktioniert ... und kein Mensch kommt auf die völlig abwegige Idee, dass er "localhost" via iptables kastriert hat? Das halte ich allerdings für eine merkwürdige Einstellung... sorry. Guter Rat heisst für mich nicht "Du musst mehr Anlauf nehmen, wenn Du die Klippe runter springen willst... sonst bleibst Du auf halber Strecke hängen und kommst die 180 m unten am Felsen-Strand nicht an." s.c.n.r.
|
lubux
Anmeldungsdatum: 21. November 2012
Beiträge: 13933
|
adichief schrieb: Ich habe einen lokalen Server ...
Was ist ein _lokaler_ Server? Soll bzw. ist dieser Server aus dem Internet nicht erreichbar?
|