Bei eigenem SFTP Server SSH Login verbieten

Probleme mit Samba, NFS, FTP und Co.
Antworten
Benutzeravatar
joe2017
Beiträge: 907
Registriert: 07.08.2017 14:29:51

Bei eigenem SFTP Server SSH Login verbieten

Beitrag von joe2017 » 04.05.2022 10:50:00

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

JTH
Moderator
Beiträge: 1725
Registriert: 13.08.2008 17:01:41
Wohnort: Berlin

Re: Bei eigenem SFTP Server SSH Login verbieten

Beitrag von JTH » 04.05.2022 11:11:58

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:

Code: Alles auswählen

Match LocalAddress <externe IP>
ForceCommand internal-sftp        # oder /usr/lib/openssh/sftp-server
Vermutlich keine korrekte Config in der Form, nur als Idee.
Manchmal bekannt als Just (another) Terminal Hacker.

Benutzeravatar
joe2017
Beiträge: 907
Registriert: 07.08.2017 14:29:51

Re: Bei eigenem SFTP Server SSH Login verbieten

Beitrag von joe2017 » 04.05.2022 11:23:33

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.

JTH
Moderator
Beiträge: 1725
Registriert: 13.08.2008 17:01:41
Wohnort: Berlin

Re: Bei eigenem SFTP Server SSH Login verbieten

Beitrag von JTH » 04.05.2022 11:56:41

joe2017 hat geschrieben: ↑ zum Beitrag ↑
04.05.2022 11:23:33
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.
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“:

Code: Alles auswählen

Match Address "!10.0.0.?,*"
Oder so ähnlich. Neben Address gibt es auch noch Host und LocalAddress, falls das naheliegender ist.
Manchmal bekannt als Just (another) Terminal Hacker.

Benutzeravatar
joe2017
Beiträge: 907
Registriert: 07.08.2017 14:29:51

Re: Bei eigenem SFTP Server SSH Login verbieten

Beitrag von joe2017 » 04.05.2022 12:05:11

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.

uname
Beiträge: 10690
Registriert: 03.06.2008 09:33:02

Re: Bei eigenem SFTP Server SSH Login verbieten

Beitrag von uname » 04.05.2022 12:51:28

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.

Code: Alles auswählen

command=
from=
Leider weiß ich nicht, ob das wirklich funktioniert z. B. so:

Code: Alles auswählen

command="internal-sftp" ssh-rsa ...
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

Antworten