Hallo zusammen,
gibt es eine Möglichkeit bei einem eigenen Debian SFTP Server mittels Firewall den SSH Login für die öffentliche IP zu verbieten ohne den Port (TCP 22) für SFTP zu verändern?
Mein Sever befindet sich in einer DMZ und besitzt somit zwei IP Netze.
Auf meine Private IP möchte ich mich mit SSH (TCP 22) anmelden um den Server verwalten zu können.
Auf meine Public IP möchte ich mich mit SFTP (TCP 22) anmelden um Daten auszutauschen. Jedoch möchte ich hier keinen SSH Login erlauben.
Ich weiß, dass es der selbe TCP Port ist. Aber kann man anhand der Protokolle oder speziellen Signaturen den SSH Login auf die Public IP sperren bzw. nicht freigeben?
Vielen Dank
Bei eigenem SFTP Server SSH Login verbieten
Re: Bei eigenem SFTP Server SSH Login verbieten
Mal etwas in Blaue, ohne das jemals ausprobiert zu haben:
Vielleicht kannst du das in der Config vom sshd erreichen, indem du Verbindungen auf die externe IP immer auf SFTP zwingst:
Vermutlich keine korrekte Config in der Form, nur als Idee.
Vielleicht kannst du das in der Config vom sshd erreichen, indem du Verbindungen auf die externe IP immer auf SFTP zwingst:
Code: Alles auswählen
Match LocalAddress <externe IP>
ForceCommand internal-sftp # oder /usr/lib/openssh/sftp-server
Manchmal bekannt als Just (another) Terminal Hacker.
Re: Bei eigenem SFTP Server SSH Login verbieten
Das ist eine gute Idee. Das werde ich mal testen.
Jedoch habe ich für die Gruppen ein Match (Match Group GROUPNAME).
Hiermit werden ja die internen Gruppen angesprochen.
Mit "Match Address 1.2.3.4" müsste ja mein internes netzt gemeint sein.
Man könnte höchstens mal 0.0.0.0 testen.
Jedoch habe ich für die Gruppen ein Match (Match Group GROUPNAME).
Hiermit werden ja die internen Gruppen angesprochen.
Mit "Match Address 1.2.3.4" müsste ja mein internes netzt gemeint sein.
Man könnte höchstens mal 0.0.0.0 testen.
Re: Bei eigenem SFTP Server SSH Login verbieten
In den Manpages zu sshd_config und ssh_config ist beschrieben, was Match und die möglichen Patterns erlauben. Anscheinend ginge auch ein Vergleich auf „nicht von lokaler Adresse“:joe2017 hat geschrieben:04.05.2022 11:23:33Mit "Match Address 1.2.3.4" müsste ja mein internes netzt gemeint sein.
Man könnte höchstens mal 0.0.0.0 testen.
Code: Alles auswählen
Match Address "!10.0.0.?,*"
Manchmal bekannt als Just (another) Terminal Hacker.
Re: Bei eigenem SFTP Server SSH Login verbieten
Eine Möglichkeit wäre noch die Verwendung von Zertifikaten.
Wenn mein Client immer einen Key benötigt um sich anmelden zu können, wäre das auch besser abgesichert.
Zu der Zertifikat Authentication finde ich jedoch immer nur Anleitungen wo auf dem Client Zertifikate erstellt werden und diese auf den Server kopiert werden.
Ich bräuchte in diesem Fall jedoch ein Zertifikat auf dem SFTP Server welches ich meinen Clients zur Verfügung stelle.
Wenn mein Client immer einen Key benötigt um sich anmelden zu können, wäre das auch besser abgesichert.
Zu der Zertifikat Authentication finde ich jedoch immer nur Anleitungen wo auf dem Client Zertifikate erstellt werden und diese auf den Server kopiert werden.
Ich bräuchte in diesem Fall jedoch ein Zertifikat auf dem SFTP Server welches ich meinen Clients zur Verfügung stelle.
Re: Bei eigenem SFTP Server SSH Login verbieten
Falls du von innen und außen immer einen SSH-Key erzwingst und diese von intern und extern verschieden sind, kannst du evtl. die folgenden Optionen in authorized_keys verwenden.
Leider weiß ich nicht, ob das wirklich funktioniert z. B. so:
Sollte es funktionieren musst du sicherstellen, dass über sftp nicht die authorized_keys bearbeitet werden kann. Wahrscheinlich musst du den Ort von authorized_keys für alle Benutzer nach außerhalb der Benutzerverzeichnisse verschieben und entsprechend es für den SSH-Server umkonfigurieren.
http://man.he.net/man5/authorized_keys
Code: Alles auswählen
command=
from=
Code: Alles auswählen
command="internal-sftp" ssh-rsa ...
http://man.he.net/man5/authorized_keys