Froschs Blog

Computer und was das Leben sonst noch so zu bieten hat

Zur Website | Impressum

Spaß mit iptables

10. September 2020 um 16:44 Uhr von Atari-Frosch

Mit iptables kann man auf einem Linux-System festlegen, welche IP bzw. welche IP-Bereiche auf welche Ports bzw. überhaupt auf einen Host zugreifen dürfen. Nun hatte ich vor einiger Zeit festgestellt, daß es sozusagen Port-Sucher gibt, die – schön langsam, damit sie unterm Radar bleiben – nach und nach alles an denkbaren Ports an einem Host abklappern, um zu gucken, ob da vielleicht ein sshd läuft. Denn mittlerweile legt man den sshd nicht auf den üblichen Port 22, sondern auf einen anderen, meist einen so genannten hohen Port (> 1024).

Wenn diese Port-Sucher fündig werden, schicken sie eine ganze Ladung anderer Hosts los, um diesen sshd zu, ähm, belästigen. Das fand ich etwas störend, also wollte ich etwas dagegen unternehmen.

Zu diesem Zweck definierte ich eine Regel, die den Zugang auf den Port des sshd auf ein paar wenige IP-Adressen einschränkt. Auf diesen Server hier kommen seitdem nur noch die Hosts, auf denen ich selbst wiederum einen Shell-Zugang habe, und eben die IP, die mir mein ISP hier zu Hause zugewiesen hat. Praktischerweise schien die letztgenannte IP quasi-fest zu sein; ich meine, die hat sich seit zwei Jahren oder so nicht mehr geändert.

Von Montag auf Dienstag änderte sie sich nun doch. Und damit fing der Spaß an.

Da ich diese Regel nämlich entsprechend auf allen Hosts, die ich verwalte (derzeit insgesamt drei) eingetragen hatte, wollte mich nun keiner mehr reinlassen. Genauer hat der sshd meine Kontaktversuche nicht einmal mehr gesehen, weil ich bereits an der iptables-Regel scheiterte, die meine neue IP-Adresse nicht kannte.

Zum Glück habe ich noch eine Shell auf einem Host, den ich nicht verwalte und der keine solche Einschränkung in der Firewall eingetragen hat. Damit kam ich zwar auf einen der kleineren Server, aber nicht auf meinen. Diesen konnte ich nur von hinten durch die Brust ins Auge (RW) erreichen, nämlich über den externen Host auf einen von mir verwalteten vServer und von dort aus auf diesen Server – obwohl der externe Server auch in der Liste der erlaubten Hosts steht.

Aber immerhin war ich drauf und konnte nun die Liste für die erlaubten Hosts ändern. Ich nahm die alte IP-Adresse raus und trug die neue ein. Aber alle Versuche, mich wieder direkt einzuloggen, scheiterten. Sie wurden weiterhin nicht vom sshd wahrgenommen, obwohl meine neue Adresse nicht in der Firewall hing. Das gleiche passierte auch auf dem vServer, über den ich auf meinen Server gekommen war. Offensichtlich genügte es nicht, die Liste um die neue IP-Adresse zu ergänzen. Am Ende half jeweils nur ein Reboot: Danach konnte ich mich wieder direkt auf beiden Hosts einloggen.

Was ich dabei vermißte: Eine Möglichkeit, iptables, wie anderen Diensten, einen „reload“ bzw. „restart“ zu schicken. Das gibt es offensichtlich nicht (zumindest nicht auf Debian-basierten Systemen).

Schließlich zog ich dasselbe noch auf dem anderen vServer durch; auch diesen mußte ich rebooten, bevor die Änderung wirksam wurde. iptables scheint da also extrem pingelig zu sein.

Nun hoffe ich, daß ich die neu zugewiesene Adresse wieder eine Weile behalten darf 😉

Und bevor jemand damit ankommt: Ja, ich weiß, daß ein reiner Key-Login vermutlich der bessere Schutz wäre, zumal ja auch fail2ban über den SSH wacht. Irgendwann komme ich vielleicht auch mal noch dazu, sowas einzurichten.


History

Kommentieren

Bitte beachte die Kommentarregeln!

XHTML: Du kannst diese Tags verwenden: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>