[1]Ein normaler FTP-Dienst ist auf einem Windows Server 2008 relativ unkompliziert und schnell eingerichtet, sollte aber mangels Sicherheit in unserer Zeit nicht mehr verwendet werden. Da es sich bei FTP um ein unverschlüsseltes Protokoll handelt, können Passwörter, welche leider im Klartext gesendet werden von jedem ganz einfach abgegriffen werden. Ganz im Gegenteil dazu erfolgt bei SFTP der komplette Transfer verschlüsselt.
In diesem Tutorial verwende ich CopSSH, womit es auch auf anderen Windows Versionen möglich ist, einen SFTP-Dienst zur Verfügung zu stellen.
CopSSH Installation
Das neueste Installationspaket kann hier [2] heruntergeladen werden:
http://sourceforge.net/projects/sereds/files/Copssh/ [2]
Nach dem Entpacken öffnet ihr den Installer und verwendet bei jeder Abfrage, außer dem Passwort für den Serviceaccount (Bild 4) die Standardvorgabe.
Gruppe, Zugriffsrechte und User
CopSSH verwendet lokal vorhandene User, welche wir in diesem Abschnitt anlegen werden. Um nicht jedes Mal diverse Zugiffsrechte neu setzen zu müssen, erstellen wir für diese User eine Gruppe „SFTPUsers„. Dazu öffnet man eine „CMD“ und führt folgenden Befehl aus:
net localgroup SFTPUsers /add
Dieser Gruppe verwehren wir anschließend den Zugang zum Laufwerk „C:“ …
cacls c:\ /c /e /t /d SFTPUsers
… und erlauben den Zugriff auf das Installationsverzeichniss von CopSSH. „COPSSH-INSTALLDIR“ sollte durch das Installationsverzeichnis von CopSSH ersetzt werden (Standard: C:\Program Files (X86)\ICW).
cacls COPSSH-INSTALLDIR /c /e /t /r SFTPUsers
User werden mit …
net user /add BENUTZER PASSWORT
… angelegt und mit dem folgenden Befehl zur Gruppe hinzugefügt:
net localgroup SFTPUsers BENUTZER /add
Bevor ihr weitermacht, solltet ihr mindestens einen Benutzer erstellt haben.
Firewall
Hat man die Windows Firewall aktiviert, muss man eine Ausnahme für den Port 22 hinzufügen. Kopiert einfach dieses Kommando in die „CMD“ und führt es aus:
netsh advfirewall firewall add rule name = "SSH" dir = in action = allow protocol = TCP localport = 22
CopSSH Konfiguration
Nun aktivieren wir den vorhin erstellten User in CopSSH mit Hilfe des „CopSSH Control Panel„, welches unter Start>Programme zu finden ist (Bild 7). Zum Hinzufügen der User wechselt man auf die Karteikarte „Users“ und klickt dort auf „Add“ (Bild 9). Im Wizard wählt man den gewünschten Benutzer aus (Bild 11) und als „Access Type“ verwenden wir „Sftp“ (Bild 12), da dieser keinen Shell-Zugriff haben sollte.
Nach Fertigstellung des Wizards erscheint der User im „Activated Users“ Feld (Bild 13) und man kann mit einem SFTP fähigen Client (z.B. FileZilla [15]) verbinden (Bild 14).
Damit der Server von außen erreichbar ist, muss das Port 22 am Router/Firewall weitergeleitet werden.
Verzeichnis ändern
Jeder User hat ein eigenes Verzeichnis im Home-Ordner. Das Standardverzeichnis eines Users kann man in der „passwd“-Datei ändern:
INSTALLDIR\etc\passwd
Hier ändert man „/home/USER“ auf einen anderen Pfad. Die Verzeichnisangabe muss wie folgt aussehen (z.B. c:\sftp):
/cygdrive/c/sftp
Danach jedoch nicht vergessen für die SFTPUsers die benötigten Rechte auf diesen Ordner zu setzen.
cacls PFAD /c /e /t /r SFTPUsers
Viel Spaß mit der verschlüsselten Dateiübertragung!