ubuntuusers.de

IPTables einstellen

Status: Ungelöst | Ubuntu-Version: Server 17.04 (Zesty Zapus)
Antworten |

BoSSSpy

Avatar von BoSSSpy

Anmeldungsdatum:
4. Februar 2017

Beiträge: Zähle...

Moin,

ich komme einfach nicht mit meiner IPTabel Einstellung weiter. Ob wohl ich den Port 53 geöffnet habe, kommen keine Namenauflösungen durch. Hat jemand eine Idee? Danke.

# Generated by iptables-save v1.4.21 on Tue Aug  1 09:35:41 2017
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [2267:328698]

-A OUTPUT -p tcp -m tcp --sport 21 -j ACCEPT
-A OUTPUT -p tcp -m tcp --sport 20 -j ACCEPT
-A OUTPUT -p tcp -m tcp --sport 53 -j ACCEPT
-A OUTPUT -p tcp -m tcp --sport 80 -j ACCEPT
-A OUTPUT -p tcp -m tcp --sport 115 -j ACCEPT
-A OUTPUT -p tcp -m tcp --sport 1337 -j ACCEPT
-A OUTPUT -p tcp -m tcp --sport 5222 -j ACCEPT
-A OUTPUT -p tcp -m tcp --sport 5223 -j ACCEPT
-A OUTPUT -p tcp -m tcp --sport 5269 -j ACCEPT
-A OUTPUT -p tcp -m tcp --sport 5281 -j ACCEPT
-A OUTPUT -p tcp -m tcp --sport 5298 -j ACCEPT
-A OUTPUT -p tcp -m tcp --sport 8010 -j ACCEPT

-A OUTPUT -p udp -m udp --sport 53 -j ACCEPT
-A OUTPUT -p udp -m udp --sport 5298 -j ACCEPT

-A INPUT -p tcp -m tcp --dport 21 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 20 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 53 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 115 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 1337 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 5222 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 5223 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 5269 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 5281 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 5298 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 8010 -j ACCEPT

-A INPUT -p udp -m udp --dport 53 -j ACCEPT
-A INPUT -p udp -m udp --dport 5298 -j ACCEPT

-A INPUT -j DROP
-A OUTPUT -j DROP

COMMIT
# Completed on Tue Aug  1 09:35:41 2017
# Generated by iptables-save v1.4.21 on Tue Aug  1 09:35:41 2017
*nat
:PREROUTING ACCEPT [1396:96365]
:INPUT ACCEPT [373:21755]
:OUTPUT ACCEPT [98:7970]
:POSTROUTING ACCEPT [98:7970]
-A OUTPUT -o lo -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 5280
COMMIT
# Completed on Tue Aug  1 09:35:41 2017

kB Team-Icon

Supporter, Wikiteam
Avatar von kB

Anmeldungsdatum:
4. Oktober 2007

Beiträge: 9785

Wohnort: Münster

BoSSSpy schrieb:

[…] Ob wohl ich den Port 53 geöffnet habe, kommen keine Namenauflösungen durch.

  • Du hast ihn nicht geöffnet, s.u.!

[…]

# Generated by iptables-save v1.4.21 on Tue Aug  1 09:35:41 2017
[…]
-A OUTPUT -p udp -m udp --sport 53 -j ACCEPT
[…]
-A INPUT -p udp -m udp --dport 53 -j ACCEPT
  • DNS-Anfragen verlassen den Client (OUTPUT) mit beliebigem source-port, in der Regel aber nicht 53, und gehen an den destination-port 53.

  • DNS-Antworten erreichen den Client (INPUT) von source-port 53 und gehen an den destination-port der jeweiligen Anfrage.

  • Auch bei den anderen Ports (80, …) findet sich diese Verwechslung.

BoSSSpy

(Themenstarter)
Avatar von BoSSSpy

Anmeldungsdatum:
4. Februar 2017

Beiträge: 5

Das ist der Ausdruck via iptables -L ... Eingegeben hatte ich " iptables -A INPUT -p tcp --dport 53 -j ACCEPT " (+ das ganze für UDP) Was das "-m" bedeute weiß ich nicht (steht auch nicht auf https://wiki.ubuntuusers.de/iptables2/ ). Gibt es eine Quelle wo ich mich neu einlesen könnte? Ich hab's scheinbar nicht verstanden, ich dachte die Ports sind fix und nicht variable (solange man das nicht verändert). Warum sollte mein Server über einen anderen XYZ-Port z.B. den Google-Nameserver aber auf der Standardport nach der Auflösung ab-fragen? Warum will mein Server nicht auf 53 sprechen und lauschen?

Danke.

Into_the_Pit Team-Icon

Ehemalige
Avatar von Into_the_Pit

Anmeldungsdatum:
25. Juni 2008

Beiträge: 9490

Wohnort: Bochum

BoSSSpy schrieb:

Was das "-m" bedeute weiß ich nicht (steht auch nicht auf https://wiki.ubuntuusers.de/iptables2/ ).

Schau mal hier. Ansonsten hilft auch das aufrufen von man iptables.

Gibt es eine Quelle wo ich mich neu einlesen könnte? Ich hab's scheinbar nicht verstanden, ich dachte die Ports sind fix und nicht variable (solange man das nicht verändert). Warum sollte mein Server über einen anderen XYZ-Port z.B. den Google-Nameserver aber auf der Standardport nach der Auflösung ab-fragen? Warum will mein Server nicht auf 53 sprechen und lauschen?

Verwechsel nicht Eingehend mit Ausgehend. Die Ports für DNS, HTTP, HTTPS sind eingehende Ports. Wenn Dein Client mit einem Server kommuniziert, nimmt er einen x-beliebigen Port über 1024 für die Verbindung an den Server.

kB Team-Icon

Supporter, Wikiteam
Avatar von kB

Anmeldungsdatum:
4. Oktober 2007

Beiträge: 9785

Wohnort: Münster

BoSSSpy schrieb:

[…] Eingegeben hatte ich " iptables -A INPUT -p tcp --dport 53 -j ACCEPT " (+ das ganze für UDP)

  • Eingegeben auf dem Server oder auf dem Client?

  • Auf dem Client wäre dies falsch, siehe meine erste Antwort.

Was das "-m" bedeute weiß ich nicht (steht auch nicht auf https://wiki.ubuntuusers.de/iptables2/ ).

  • Steht aber in den manpages. Die Option -m läd ein Zusatzmodul von netfilter. Im Falle der Protokolle -p tcp und -p udp macht iptables das automatisch, d.h. Du brauchst i.d.F. -m tcp usw. nicht anzugeben.

Gibt es eine Quelle wo ich mich neu einlesen könnte?

Ich hab's scheinbar nicht verstanden, ich dachte die Ports sind fix und nicht variable (solange man das nicht verändert). Warum sollte mein Server über einen anderen XYZ-Port z.B. den Google-Nameserver aber auf der Standardport nach der Auflösung ab-fragen? Warum will mein Server nicht auf 53 sprechen und lauschen?

  • Wenn Dein DNS-Server einen anderen DNS-Server befragt (forwarding), dann agiert er als Client!

BoSSSpy

(Themenstarter)
Avatar von BoSSSpy

Anmeldungsdatum:
4. Februar 2017

Beiträge: 5

Ich hab ja für beide bereich INPUT & OUTPUT's freigegeben. Wie unterdrücke ich die willkürliche Port (OUTPUT) Auswahl der einzelnen Client-Dienste? Ich will nur noch das bestimmte Dienste auf bestimmten Ports senden und empfangen können (dürfen).

Um ,wenn's möglich wäre, Ports schön sauber überblicken zu können. Kein Dienst arbeitet nach draußen wenn die Firewall es nicht erlaubt. Und ich kann erkennen was rein raus kommt und wo.

Into_the_Pit Team-Icon

Ehemalige
Avatar von Into_the_Pit

Anmeldungsdatum:
25. Juni 2008

Beiträge: 9490

Wohnort: Bochum

BoSSSpy schrieb:

Wie unterdrücke ich die willkürliche Port (OUTPUT) Auswahl der einzelnen Client-Dienste?

Gar nicht und das wäre auch nicht klug es zu tun, weil eben die Clients mit Ports über 1024 eine Verbindung aufbauen.

Ich will nur noch das bestimmte Dienste auf bestimmten Ports senden und empfangen können (dürfen).

Das Senden kann Dir eigentlich egal sein, wenn Du einen Server im Netz hast. Die OUTPUT Chain kann man da ruhig auf ACCEPT lassen, INPUT stellt man für gewöhnlich auf DROP und erlaubt nur das, was man wirklich nutzen möchte am Server. Hier sollte man aber aufpassen, dass man sich beim Einrichten nicht direkt selber aussperrt (Stichwort Related, Established erlauben).

BoSSSpy

(Themenstarter)
Avatar von BoSSSpy

Anmeldungsdatum:
4. Februar 2017

Beiträge: 5

dass man sich beim Einrichten nicht direkt selber aussperrt

Zuspät das hab ich schon hinter mir ^^ Okay, ich dachte das man darüber auch sein Sicherheits-LvL erhöhen könnte ... dann schalt ich eben alle OUTPUTs einfach wieder frei :-/

Into_the_Pit Team-Icon

Ehemalige
Avatar von Into_the_Pit

Anmeldungsdatum:
25. Juni 2008

Beiträge: 9490

Wohnort: Bochum

BoSSSpy schrieb:

Okay, ich dachte das man darüber auch sein Sicherheits-LvL erhöhen könnte

Definitionssache. Sicherheit erhöhen durch das setzen von Paketfilterregeln kann man machen, wirkliche Erhöhung bietet in dem Fall nur eine Statefull Firewall mit IPS usw. davor.

btw. Wenn Dir das rumgefummel mit den einzelnen Regeln zu komplex ist, kann ich da http://ferm.foo-projects.org/ empfehlen.

Antworten |