Daten-Server konfigurieren

Loggen Sie sich auf dem Server z.B. über SSH ein und konfigurieren Sie Ihren frisch aufgesetzten Server wie folgt:

Jetzt legen wir zuerst einen neuen User nur für den sFTP Datenaustausch an.
Unser sFTP-User lautet sFTPUser und das Passwort wird sFTPpassword lauten.

Wir möchten einen neuen User: sFTPuser mit dem Passwort: sFTPpasswort auf unserem Server anlegen, welcher über eine verschlüsselte Verbindung ausschliesslich nur Zugriff auf den für den User angelegten Ordner hat. In diesem Ordner befinden sich dann zwei Ordner, ein Download-Ordner in dem der sFTP-User nur Leserechte besitzt und einen Upload-Ordner in dem der sFTP-User Schreibrechte besitzt um Dateien hochladen zu können. Desweiteren entziehen wir dem sFTP-User die Login-Shell, so dass sich der sFTP-User nicht auf dem Server einloggen kann.

[xyz-ihs snippet=“ad“]

Als erstes geben wir uns über den Befehl:

sudo bash

für die Zeit des Einrichtens Superuserrechte und bestätigen dies mit der Eingabe unseres Passwortes.

1) Einen neuen User anlegen
Nun legen wir den neuen Benutzer: sFTPUser mit folgendem Befehl an:

useradd sFTPUser

und erstellen diesem User ein Home-Verzeichnis unter: /home/sFTP

mkdir /home/sFTP/Download

jetzt weisen wir dem User diese Verzeichnis als sein Home-Verzeichnis zu:

usermod -d /home/sFTP sFTPUser

Als nächstes vergeben wir dem User ein Passwort mit:

passwd sFTPUser

und geben dann zweimal das gewünschte Passwort ein. In unserem Fall: sFPTPasswort

[xyz-ihs snippet=“ad“]

Jetzt legen wir noch den neuen Besitzer des Home-Verzeichnis fest, damit der User sFTPUser Besitzer dieses Ordners ist. Dies geschieht über den Befehl:

chown root:sFTPUser /home/sFTP

und geben Ihm dort nur Leserechte über den Befehl:

chmod 755 /home/sFTP

Jetzt benötigen wir noch einen Upload-Ordner in den der sFTPUser Dateien auf den Server hochladen darf. Dazu legen wir wie Oben ein neuen Ordner an:

mkdir /home/myuser/Upload

Und über geben die Rechte des Ordners über die Rechte und Gruppenverwaltung an den sFTPUser mit dem Befehl:

chown sFTPUser:sFTPUser/home/sFTP/Upload

Jetzt erteilen wir dem sFTPUser noch Schreibrechte in diesem Order über den Befehl:

chmod 755 /home/sFTP/upload

Damit der sFTPUser auch keinerlei Möglichkeiten bekommt, aus diesem Ordner „auszubrechen“ entziehen wir dem User die Login-Shell mit dem Befehl:

usermod -s /bin/false sFTPUser

Somit hat der User: sFTPUser keine Möglichkeit sich über den Befehl:

ssh sFTPUser@192.168.178.1

am Server einzuloggen. Selbst mit der Eingabe des richtigen Passwortes kann sich der User am Server nicht einloggen.

[xyz-ihs snippet=“ad“]

2) SFTP Zugang anlegen
Damit der neu angelegte sFTPUser auch nur zugriff auf die ihm zugewiesenen Ordner hat, „sperren“ wir den User in sein Home-Verzeichnis. Dies geschieht in dem wir die /sshd_config editieren. Ich verwende hierzu den Nano-Editor. Mit dem Befehl:

nano /etc/ssh/sshd_config

können Sie die sshd_config mit dem Nano Editor editieren.

ersetzen Sie diese Zeile:

... 

durch:

#Subsystem sftp internal-sftp
Subsystem sftp internal-sftp
Match User myuser      
ChrootDirectory /home/myuser      
ForceCommand internal-sftp

Jetzt noch den SSH-Dienst durch den Befehl:

/etc/init.d/ssh restart

oder den ganzen Server über den Befehl:

restart

neustarten.

Bei Fragen stehe ich Ihnen gerne zu Verfügung.

Raffael Haberland
security.haberland.it

Über Raffael Haberland 15 Artikel
Informatikstudent an der Technischen Universität Darmstadt,

1 Kommentar

  1. Hello.This post was really fascinating, particularly since I was investigating for thoughts on this issue last Wednesday.

Kommentare sind geschlossen.