Sichere Dateiübertragungen über SFTP

Heutzutage noch das veraltete File Transfer Protokoll für Dateiübertragungen von oder zu einem Server zu benutzen ist ungefähr gleichzusetzen mit dem Verwenden von Telnet zur Administration von Remoteservern. Es gibt längst die Möglichkeit Dateiübertragungen über das verschlüsselte SSH-Protokoll abzuwickeln, und doch bekommt man bei vielen großen Webhostern lediglich einen FTP-Zugang bereitgestellt.

Dabei bräuchte man eigentlich keine zusätzliche FTP-Serversoftware mehr einzusetzen, da SSH mit SFTP ein Dateiübertragungsprotokoll integriert hat und man so zwei Fliegen mit einer Klappe schlägt. In der SSH-Konfiguration lassen sich auch ohne großen Aufwand Benutzer oder Benutzergruppen in ihren Homeverzeichnissen einsperren:

Match group customers
	ChrootDirectory %h
	X11Forwarding no
	AllowTcpForwarding no
	ForceCommand internal-sftp
	PasswordAuthentication yes

Dieser Block muss an das Ende der SSH-Konfigurationsdatei gesetzt werden und sorgt dafür, dass alle UNIX-Benutzer auf dem System, die sich in der Gruppe customers befinden, automatisch in ihrem Homeverzeichnis (%h) eingesperrt werden. Wenn in der globalen SSH-Konfiguration die Passwortauthentifizierung deaktiviert ist, weil Administratoren sich via Public-Key-Authentication anmelden, so muss natürlich noch die Passwortauthentifizierung für diese Gruppe explizit erlaubt werden. Dann sollte man noch sicherstellen, dass die betreffenden Benutzer auf dem System keine gültige Shell besitzen, so dass sie sich nicht via SSH auf der Kommandozeile einloggen können:

sudo usermod --shell /usr/sbin/nologin username

Zuletzt sollte man noch sicherstellen, dass das Homeverzeichnis des betreffenden Benutzers und alle übergeordneten Verzeichnisse root:root oder root:username gehören und der Benutzer keine Schreibrechte auf die übergeordneten Verzeichnisse hat. Das ist eine Sicherheitsmaßnahme um zu verhindern, dass der Benutzer aus dem chroot-Gefängnis ausbrechen kann. Bei Problemen ist ein tail -f auf die Logdatei /var/log/auth.log möglicherweise hilfreich.

Der Autor

Hi. Ich bin Thomas. Hier veröffentliche ich in unregelmäßgen Abständen mehr oder weniger interessante Beiträge über Dies und Jenes, hauptsächlich über Computer und IT. Außerdem mag ich die Linux-Kommandozeile, vor allem wenn ich darauf mit (m)einer mechanischen Tastatur herumhacken kann. 😀