VsFTP installieren
Ziel
Einen alternativen und flexiblen FTP Dienst auf der Synology Disk Station installieren. Wahlweise mit nur Anonymen Zugang oder Anonymen und Authentifizierten Zugang. Für Benutzer können sogenannte Homeverzeichnisse eingerichtet werden. In diesen Verzeichnissen können sich die Benutzer eingeschränkt oder uneingeschränkt bewegen bzw. mit schreib –und leserechten ausgestattet werden.
Zielgruppe
Anwender die sich mehr Flexibilität bei der Rechte– und Verzeichnisadministration wünschen.
Voraussetzungen/Vorbereitungen
- Die Disk-Station wurde mit einer Firmware durch den Synology Installation Assistenten oder im Station Manager mit der Firmwareaktualisierung bespielt. Näheres zur Installation der Firmware finden Sie hier
- Tipp: Besorgen Sie sich eine aktuelle Firmware von der Hersteller Seite. [Synology Support] Da die .pat Datei auf der Installations-CD nicht mehr aktuell sein könnte.
- Ihre Disk-Station ist mit mindestens einer Festplatte ausgestattet.
- Wenn Ihr FTP Dienst auch aus dem Internet erreichbar sein soll, sollten Sie sich bei den zahlreichen Anbietern eine Dynamische DNS einrichten. Adressen und Informationen gibt es in der Linksammlung hier. Wenn Sie ein DSL-Router Ihr eigen nennen dürfen, sollte auf diesem Router auch die Portweiterleitung mindestens für den Port 21 auf die Ip-Adresse der Disk-Station eingerichtet sein. Nähere Informationen gibt es hier
- Sie haben das Paketverwaltungssystem Ipkg installiert. Was ist Ipkg und wie installiere ich das? Näheres gibt es hier
- Sie haben den Terminaldienst SSH oder Telnet auf Ihrer Disk-Station aktiviert. Was ist SSH oder Telnet? Wie aktiviere ich diesen Dienst? Nun SSH (Secure Shell) stellt eine sichere verschlüsselte Verbindung zu Ihrer Disk-Station her, und ermöglicht somit Befehlseingaben auf Kommandozeilenebene abzusetzen. Dies gilt analog für Telnet, nur das Telnet nicht verschlüsselt verbindet. Wenn Sie einen Router mit Firewall besitzen, dürfte das in Ihrem lokalen Netz kein Sicherheitsproblem darstellen. Aktivieren lassen sich diese Dienste über den Station-Manager im Webbrowser unter Terminal. Oder Sie laden sich unter Synology Patch link
Funktion | Item/File |
---|---|
Telnet aktivieren | EnableTelnet.pat |
Telnet deaktivieren | DisableTelnet.pat |
SSH aktivieren | EnableSSH.pat |
SSH deaktivieren | DisableSSH.pat |
die entsprechenden Dateien runter und fügen diese über den Station-Manager unter Firmwareaktualisierung auf der Disk-Station ein.

Installation
Ohne SSL Unterstützung
Für dieses Beispiel kommt Telnet zum Einsatz. Die Konfiguration der Disk-Station wird mit einem Windows basierten Rechner durchgeführt. Sie melden sich zunächst mit dem Kommandozeileninterpreter Telnet an der Disk-Station an. Diesen rufen Sie über Start>Ausführen auf.
- Syntax:
- telnet <hostname/Ip-Adresse>
telnet 192.168.178.1
- Sie wurden bei der Installation der Firmware aufgefordert ein Passwort anzugeben. Dieses verwenden wir nun zusammen mit dem Benutzernamen „root“ für die Anmeldung.
DiskStation login: root Passwort: *********
- Wenn die Anmeldung an der Disk-Station erfolgreich war, erscheint die sogenannte Busybox von Linux.
BusyBox v1.1.0 (2008.09.19-12:36+0000) Built-in shell (ash) Enter ´help´ for a list of built-in commands. DiskStation> _
- Zunächst stellen Sie fest, in welchem Verzeichnis Sie sich befinden.
DiskStation> pwd /root DiskStation> _
- Sie befinden sich im Heimatverzeichnis von Root. Sie wechseln nun in das Rootverzeichnis der Synology Station.
DiskStation> cd / DiskStation> _
- Sie erstellen einen Ordner für das Installationspaket von vsFTP.
DiskStation> mkdir Ipk_Packages DiskStation> _
- Sie überprüfen nun ob der Ordner angelegt wurde.
DiskStation> ls bin initrd lost+found sbin var dev ipk_Packages mnt sys var.defaults etc lib proc tmp volume1 etc.defaults linuxrc root usr DiskStation> _
- Sie wechseln in das Verzeichnis “ipk_Packages”
DiskStation> cd ipk_Packages DiskStation> _
- Nun benötigen Sie das begehrte vsFTP Paket und laden dies über das Programm „wget“ aus dem Internet. Zuvor lassen Sie sich noch die Information geben um welches Gerät es sich bei Ihrer Disk-Station handelt.
DiskStation> cat /proc/cpuinfo processor : 0 cpu : 82xx revision : 1.4 (pvr 8081 1014) bogomips : 176.64 chipset : 8245 vendor : Synology Inc. machine : DS-101g+ DiskStation> _
- In diesem Beispiel handelt es sich um eine DS-101g+. Sie besuchen nun mit einem Browser Ihrer Wahl die Seite http://ipkg.nslu2-linux.org/feeds und Sie navigieren entsprechend Ihrer Maschine in optware/…/cross/stable. Dort suchen Sie nach dem vsFTP Paket. Die aktuelle Version für dieses Beispiel ist die Datei „vsftpd_2.0.7-1_powerpc.ipk“
- Wir laden nun die Datei vom Server
DiskStation> wget http://ipkg.nslu2-linux.org/feeds/optware/ds101g/cross/stable/vsftpd_2.0.7-1_powerpc.ipk .... DiskStation> _
- Sie überprüfen ob sich das Paket in dem Verzeichnis befindet.
DiskStation> ls vsftpd_2.0.7-1_powerpc.ipk DiskStation> _
- Sie können jetzt mit der Installation beginnen. Während der Installation werden Sie befragt, ob Sie die vsftpd.conf Datei in ihrem Ursprung belassen wollen. Sie bestätigen mit „n“ für Nein.
DiskStation> ipkg install vsftpd_2.0.7-1_powerpc.ipk Installing vsftpd (2.0.7-1) to /opt/... Installing vsftpd (2.0.7-1) to /opt/... Installing vsftpd (2.0.7-1) to /opt/... Installing vsftpd (2.0.7-1) to /opt/... Installing vsftpd (2.0.7-1) to /opt/... Installing vsftpd (2.0.7-1) to /opt/... Installing vsftpd (2.0.7-1) to /opt/... Installing vsftpd (2.0.7-1) to /opt/... Configuration file '/opt/etc/vsftpd.conf' ==> File on system created by you or by a script. ==> File also in package provided by package maintainer. What would you like to do about it ? Your options are: Y or I : install the package maintainer's version N or O : keep your currently-installed version D : show the differences between the versions (if diff is installed) The default action is to keep your current version. *** vsftpd.conf (Y/I/N/O/D) [default=N] ?Configuring vsftpd You'll need to add line like echo "ftp stream tcp nowait root /opt/sbin/vsftpd /opt/etc/vsftpd.conf" >>/etc/inetd.conf to your /unslung/rc.xinetd file -- see the wiki at http://www.nslu2-linux.org for more info Successfully terminated. DiskStation> _
- Im Idealfall sollte die Installation von vsFTP ohne Fehler abgeschlossen sein.
Mit SSL Unterstützung:
Vorrausetzungen/Vorbereitungen
- Sie haben die Schritte im Abschnitt "ohne SSL Unterstützung" durchgeführt.
- Sie sind mit Telnet oder Putty auf der DS angemeldet.
- Sie haben das OpenSSL Packet installiert (Durchführung wird in diesen Abschnitt erläutert).
- Sie verfügen über das für Ihre Architektur bestimmte vsftpd binary mit kompilierter SSL-Unterstützung (Quelle: hier). Die Quelle beinhaltet z.Zt. nur die Binary für einen ppc Prozessor !!!
Installation von OpenSSL
Der Paketmanager soll sich zunächst eine aktuelle Liste der verfügbaren Pakete holen.
DiskStation> ipkg update Downloading http://ipkg.nslu2-linux.org/feeds/optware/ds101g/cross/stable/Packages.gz Inflating http://ipkg.nslu2-linux.org/feeds/optware/ds101g/cross/stable/Packages.gz Updated list of available packages in /opt/lib/ipkg/lists/optware Downloading http://ipkg.nslu2-linux.org/feeds/optware/ds101g/cross/stable/Packages.gz Inflating http://ipkg.nslu2-linux.org/feeds/optware/ds101g/cross/stable/Packages.gz Updated list of available packages in /opt/lib/ipkg/lists/cross Successfully terminated.
Sie überprüfen bitte, ob OpenSSL bereits in einer Version installiert ist.
DiskStation> ipkg list_installed openssl openssl - 0.9.7m-5 - Openssl provides the ssl implementation in libraries libcrypto and libssl, and is needed by many other applications and librari Successfully terminated.
Sollte bereits eine Version installiert sein, so können Sie überprüfen lassen, ob aktualisierungen für das OpenSSL Paket sowie für alle anderen Pakete vorliegen.
DiskStation> ipkg upgrade Nothing to be done Successfully terminated. DiskStation>
In diesem Beispiel gibt es keine aktualisierungen.
Wenn Sie aber kein OpenSSL installiert haben, dann weisen Sie den Paketmanager jetzt an das OpenSSL Packet zu laden und anschließend zu installieren.
DiskStation> ipkg install openssl Installing openssl (0.9.7m-5) to /opt/... Downloading http://ipkg.nslu2-linux.org/feeds/optware/ds101g/cross/stable/openssl_0.9.7m-5_powerpc.ipk wget: error while loading shared libraries: libssl.so.0.9.7: cannot open shared object file: No such file or directory Nothing to be done An error ocurred, return value: 22. Collected errors: ipkg_download: ERROR: Command failed with return value 127: `wget --passive-ftp -q -P /opt/ipkg-MH3QKy http://ipkg.nslu2-linux.org/feeds/optware/ds101g/cross/stable/openssl_0.9.7m-5_powerpc.ipk' Failed to download openssl. Perhaps you need to run 'ipkg update'?
Ups. Das kommt davon, wenn man vorher für den Wiki das Paket deinstalliert um eine Installation zu demonstrieren. Ok, wer das gleiche Problem mit einer zerschossenen OpenSSL Installation hat, der darf sich so wie ich das Paket manuell auf die DS laden. Also ich besorg mir unter http://ipkg.nslu2-linux.org/feeds/optware/ds101g/cross/stable für meine Architektur das OpenSSL Paket. Vorher sorge ich für einen Speicherpfad und wechsel in das Verzeichnis.
DiskStation> mkdir -p /ipk_Packages DiskStation> cd /ipk_Packages DiskStation> wget http://ipkg.nslu2-linux.org/feeds/optware/ds101g/cross/stable/openssl_0.9.7m-5_powerpc.ipk --2012-02-23 23:33:39-- http://ipkg.nslu2-linux.org/feeds/optware/ds101g/cross/stable/openssl_0.9.7m-5_powerpc.ipk Resolving ipkg.nslu2-linux.org... 140.211.169.161 Connecting to ipkg.nslu2-linux.org|140.211.169.161|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 768888 (751K) [text/plain] Saving to: `openssl_0.9.7m-5_powerpc.ipk.1' 0K .......... .......... .......... .......... .......... 6% 56.3K 12s 50K .......... .......... .......... .......... .......... 13% 86.7K 10s 100K .......... .......... .......... .......... .......... 19% 101K 8s 150K .......... .......... .......... .......... .......... 26% 276K 6s 200K .......... .......... .......... .......... .......... 33% 142K 5s 250K .......... .......... .......... .......... .......... 39% 141K 4s 300K .......... .......... .......... .......... .......... 46% 269K 3s 350K .......... .......... .......... .......... .......... 53% 141K 3s 400K .......... .......... .......... .......... .......... 59% 141K 3s 450K .......... .......... .......... .......... .......... 66% 280K 2s 500K .......... .......... .......... .......... .......... 73% 277K 1s 550K .......... .......... .......... .......... .......... 79% 284K 1s 600K .......... .......... .......... .......... .......... 86% 283K 1s 650K .......... .......... .......... .......... .......... 93% 281K 0s 700K .......... .......... .......... .......... .......... 99% 4.67M 0s 750K 100% 173K=4.6s 2012-02-23 23:33:44 (162 KB/s) - `openssl_0.9.7m-5_powerpc.ipk.1' saved [768888/768888] DiskStation>
Jetzt die manuelle Installation durchführen. Dabei ist wichtig, dass Sie den Dateinamen wie unter Linux Sytemen üblich Case Sensitive schreiben und die Dateiendung .ipk nicht vergessen.
DiskStation> ipkg install openssl_0.9.7m-5_powerpc.ipk Installing openssl (0.9.7m-5) to /opt/... Installing openssl (0.9.7m-5) to /opt/... Installing openssl (0.9.7m-5) to /opt/... Installing openssl (0.9.7m-5) to /opt/... Installing openssl (0.9.7m-5) to /opt/... Installing openssl (0.9.7m-5) to /opt/... Installing openssl (0.9.7m-5) to /opt/... Installing openssl (0.9.7m-5) to /opt/... Installing openssl (0.9.7m-5) to /opt/... Configuring openssl Successfully terminated. DiskStation>
Vsftpd Upgrade mit SSL Unterstützung
- Speicherpfad anlegen und in Verzeichnis wechseln.
- Vsftpd Archiv mit SSL Unterstützung laden.
- Archiv entpacken und die alte Binary gegen die neue ersetzen.
DiskStation> mkdir -p /opt/vsftpd DiskStation> cd /opt/vsftpd DiskStation> wget http://sourceforge.net/projects/synonassource/files/vsftpd/vsftpd-2.3.5_SSL.tar.gz --2012-02-24 00:04:59-- http://sourceforge.net/projects/synonassource/files/vsftpd/vsftpd-2.3.5_SSL.tar.gz Resolving sourceforge.net... 216.34.181.60 Connecting to sourceforge.net|216.34.181.60|:80... connected. HTTP request sent, awaiting response... 302 Found Location: http://sourceforge.net/projects/synonassource/files/vsftpd/vsftpd-2.3.5_SSL.tar.gz/download [following] --2012-02-24 00:05:00-- http://sourceforge.net/projects/synonassource/files/vsftpd/vsftpd-2.3.5_SSL.tar.gz/download Connecting to sourceforge.net|216.34.181.60|:80... connected. HTTP request sent, awaiting response... 302 Found Location: http://downloads.sourceforge.net/project/synonassource/vsftpd/vsftpd-2.3.5_SSL.tar.gz?r=&ts=1330038300&use_mirror=heanet [following] --2012-02-24 00:05:00-- http://downloads.sourceforge.net/project/synonassource/vsftpd/vsftpd-2.3.5_SSL.tar.gz?r=&ts=1330038300&use_mirror=heanet Resolving downloads.sourceforge.net... 216.34.181.59 Connecting to downloads.sourceforge.net|216.34.181.59|:80... connected. HTTP request sent, awaiting response... 302 Found Location: http://heanet.dl.sourceforge.net/project/synonassource/vsftpd/vsftpd-2.3.5_SSL.tar.gz [following] --2012-02-24 00:05:00-- http://heanet.dl.sourceforge.net/project/synonassource/vsftpd/vsftpd-2.3.5_SSL.tar.gz Resolving heanet.dl.sourceforge.net... 193.1.193.66, 2001:770:18:aa40::c101:c142 Connecting to heanet.dl.sourceforge.net|193.1.193.66|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 55905 (55K) [application/x-gzip] Saving to: `vsftpd-2.3.5_SSL.tar.gz.1' 0K .......... .......... .......... .......... .......... 91% 228K 0s 50K .... 100% 919K=0.2s 2012-02-24 00:05:01 (249 KB/s) - `vsftpd-2.3.5_SSL.tar.gz.1' saved [55905/55905] DiskStation>
Sollte das Archiv nicht auffindbar sein, könnte es sein, dass diese Version nicht mehr aktuell ist. Schauen Sie bitte dann unter http://sourceforge.net/projects/synonassource/files/vsftpd nach der aktuellen Version und passen den Pfad für den Befehl wget (.../vsftpd/[Archiv]) entsprechend an.
Nun entpacken wir das Archiv und ersetzen die alte vsftpd Binary gegen die neue aus dem Archiv. Vorher sollten Sie die alte Binary umbenennen.
DiskStation> mv /opt/sbin/vsftpd /opt/sbin/vsftpd.old DiskStation> tar -xzf vsftpd-2.3.5_SSL.tar.gz DiskStation> ls -l -rwxrwxrwx 1 guest users 18288 Feb 2 2008 COPYING -rwxrwxrwx 1 guest users 312 Feb 2 2008 LICENSE drwxrwxrwx 2 guest users 4096 Feb 24 00:22 ppc -rw-r--r-- 1 Ioot root 55905 Feb 23 21:04 vsftpd-2.3.5_SSL.tar.gz DiskStation>
Bitte wählen Sie entsprechend Ihrer Architektur den Ordner aus der die binary kopiert werden soll. In diesem Beispiel handelt es sich um eine PowerPC Architektur und deshalb wird die binary aus dem Ordner ppc kopiert.
DiskStation> cp /opt/vsftpd/ppc/vsftpd /opt/sbin DiskStation>
...
Konfiguration
Vorbereitungen
Eine Serverinstanz im xinetd einrichten
- Der nächste Schritt fordert erhöhte Konzentration. Denn bei einem Tippfehler könnte es passieren, dass die Disk-Station nicht mehr richtig bootet.
- Der inetd als Superdaemon sollte in der Lage sein den FTP-Server zu starten. Daher muss die Datei /etc/inetd.conf mit einem Editor angepasst werden.
DiskStation> vi /etc/inetd.conf telnet stream tcp nowait root /usr/sbin/telnetd telnetd ~ ~ ~ ~ ~ - /etc/inetd.conf 1/1 100%
- Der Umgang mit dem Editor ist etwas gewöhnungsbedürftig. Aber für eine Zeile die angepasst werden muss völlig ausreichend. Näheres zu dem Vi Editor und seiner Steuerung finden Sie unten in der Linksammlung oder hier.
- Zunächst müssen Sie in den Eingabemodus wechseln um Änderungen an dieser Datei vornehmen zu können. Das machen Sie mit der Tastenkombination <Shift + i>.
- Wenn Sie mit den Pfeiltasten auf das t von telnet navigieren und die <Enter> Taste drücken, fügen Sie eine neue Zeile ein. Sie schreiben bitte folgende Zeile und trennen die Begriffe mit der <Tab> oder <Space> Taste.
ftp stream tcp nowait root /opt/sbin/vsftpd /opt/etc/vsftpd.conf
- Auf Ihrem Bildschirm sollte folgendes angezeigt sein.
ftp stream tcp nowait root /opt/sbin/vsftpd /opt/etc/vsftpd.conf telnet stream tcp nowait root /usr/sbin/telnetd telnetd ~ ~ ~ ~ ~ I /etc/inetd.conf [modified] 1/2 50%
- Wenn dies der Fall ist, müssen Sie den Editormodus verlassen und die Datei mit den Änderungen abspeichern. Dazu drücken Sie die <Esc> Taste. Anschließend die
Tastenkombination < Shift + : > und geben den Befehl wq ein. Das ganze mit der Taste <Enter> abschließen.
- Damit nicht 2 Dienste auf einem Port laufen müssen Sie sich vergewissern, dass der mitgelieferte FTP Dienst deaktiviert ist. Dazu rufen Sie den Station-Manager im Browser auf, navigieren zu Netzwerkdienste/FTP und überprüfen die Option „FTP Service aktivieren“.
- Sie können jetzt die Disk-Station oder den „inetd“ Prozess neustarten. Mit der zweiten Variante nehmen Sie wieder Telnet zur Hilfe.
DiskStation> ps | grep inetd 1325 root 680 S /usr/sbin/inetd 2766 root 220 S grep inetd DiskStation> _
- In diesem Beispiel ist die ProzessID für den Prozess inetd "1325". Bitte passen Sie Ihre ProzessID entsprechend an und starten inetd neu.
DiskStation> kill –HUP 1325 DiskStation> _
- vsFTP ist nun installiert und sollte bereits laufen. Sie können dies lokal überprüfen.
Syntax:
ftp://<Benutzername>:<Kennwort>@<Ip-Adresse>
- Beispiel:
FEHLER: Für den Benutzer Anonymous ist kein Homeverzeichnis angelegt. Somit kann dieser sich auch nicht mit dem FTP-Server verbinden.

Selbstsigniertes X.509 Zertifikat erstellen
Vorwort:
Damit wir einem FTP-Client später den verschlüsselten Login bzw. verschlüsselten Datentransfer ermöglichen können, müssen drei Schritte unternommen werden.
- Schlüsselpaar erstellen (Public/Private Key).
- Mit dem öffentlichen Schlüssel und den Parametern des Schlüsselinhabers an der CA (Certificate Authority) ein CSR (Certificate Signing Request) erstellen.
- Aus der Key-Datei und der CSR-Datei das X.509 Zertifikat erstellen.
Wenn Sie an der DS nicht angemeldet sind, dann melden Sie sich bitte jetzt z.B. mit Telnet an.
- Syntax:
- telnet <hostname/Ip-Adresse>
telnet 192.168.178.1
DiskStation login: root Passwort: ********* DiskStation>
- Sie wechseln bitte in das Verzeichnis cd /etc/ssl.
- Erstellen den Ordner "newcerts".
- Erstellen die Datei "index.txt".
- Erstellen die Datei "serial" mit dem Inhalt 01.
- Anschließend erstellen Sie das Schlüsselpaar in den Ordner /private. Für dieses Beispiel wird das Schlüsselpaar mit 2048 Bit verschlüsselt.
DiskStation> cd /etc/ssl DiskStation> mkdir newcerts DiskStation> touch index.txt DiskStation> echo -ne '01' > serial DiskStation> openssl genrsa -out private/cakey.pem 2048 Generating RSA private key, 2048 bit long modulus .......................................................................................+++ .........+++ e is 65537 (0x10001) DiskStation>
Erstellen Sie ein neues Root Zertifikat mit z.B. einem Jahr Gültigkeit. Beantworten Sie die Fragen wie im Beispiel unten.
DiskStation> openssl req -new -x509 -days 365 -key private/cakey.pem -out cacert.pem You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [AU]: DE State or Province Name (full name) [Some-State]: NRW Locality Name (eg, city) []: Hamm Organization Name (eg, company) [Internet Widgits Pty Ltd]: Mustermann ltd Organizational Unit Name (eg, section) []: Common Name (eg, YOUR name) []: 192.168.170.2 Email Address []: trashme775@unitbox.de DiskStation>
Erstellen Sie einen Antrag bzw. einen CSR (Certificate Signing Request) für ein neues Client Zertifikat. Beantworten Sie die Fragen wie im Beispiel für das Root-Zertifikat.
DiskStation> openssl req -new -key private/cakey.pem -out caReq.pem You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [AU]: DE State or Province Name (full name) [Some-State]: NRW Locality Name (eg, city) []: Hamm Organization Name (eg, company) [Internet Widgits Pty Ltd]: Mustermann ltd Organizational Unit Name (eg, section) []: Common Name (eg, YOUR name) []: 192.168.170.2 Email Address []: trashme775@unitbox.de Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: An optional company name []: DiskStation>
Signieren Sie das neue Client Zertifikat.
DiskStation> openssl ca -keyfile private/cakey.pem -in caReq.pem -out ClientCert.pem Using configuration from Error opening CA certificate ./demoCA/cacert.pem 3982:error:02001002:system library:fopen:No such file or directory:bss_file.c:278:fopen('./demoCA/cacert.pem','r') 3982:error:20074002:BIO routines:FILE_CTRL:system lib:bss_file.c:280: unable to load certificate
Wenn Sie diese Fehlermeldung erhalten sollten, dann müssen Sie die Datei "openssl.cnf" bearbeiten. Vor dem bearbeiten sollten Sie sich eine Kopie der Datei erstellen.
DiskStation> cp /opt/share/openssl/openssl.cnf /opt/share/openssl/openssl.cnf.backup DiskStation> vi /opt/share/openssl/openssl.cnf
Navigieren Sie mit den Cursortasten in die Zeile in der "dir = ./demoCA # Where everything is kept" steht. Drücken Sie bitte die Taste "i" um in den Editiermodus zu gelangen und ändern diese Zeile bitte von:
dir = ./demoCA # Where everything is kept
in
dir = ./ # Where everything is kept
Drücken Sie die "ESC"-Taste um den Editiermodus zu verlassen. Schreiben Sie ":wq" und drücken bitte die Enter-Taste.
Wiederholen Sie bitte den letzten Befehl für openssl.
DiskStation> openssl ca -keyfile private/cakey.pem -in caReq.pem -out ClientCert.pem Using configuration from /opt/share/openssl/openssl.cnf Check that the request matches the signature Signature ok Certificate Details: Serial Number: 1 (0x1) Validity Not Before: Feb 26 21:29:26 2012 GMT Not After : Feb 25 21:29:26 2013 GMT Subject: countryName = DE stateOrProvinceName = NRW organizationName = Mustermann ltd commonName = 192.168.170.2 emailAddress = trashme775@unitybox.de X509v3 extensions: X509v3 Basic Constraints: CA:FALSE Netscape Comment: OpenSSL Generated Certificate X509v3 Subject Key Identifier: AE:02:25:B9:48:AC:5F:D3:E0:5B:81:B8:16:3E:6F:01:DE:6D:49:81 X509v3 Authority Key Identifier: keyid:AE:02:25:B9:48:AC:5F:D3:E0:5B:81:B8:16:3E:6F:01:DE:6D:49:81 DirName:/C=DE/ST=NRW/L=Hamm/O=Mustermann ltd/CN=192.168.170.2/em DirName:/C=DE/ST=NRW/L=Hamm/O=Mustermann ltd/CN=192.168.170.2/emailAddress=trashme775@unitybox.de serial:E6:24:9A:3F:F6:56:C7:A5 Certificate is to be certified until Feb 25 21:29:26 2013 GMT (365 days) Sign the certificate? [y/n]:y 1 out of 1 certificate requests certified, commit? [y/n]y Write out database with 1 new entries Data Base Updated DiskStation>
Das Zertifikat wurde erfolgreich erstellt. Schauen wir uns nun mal den Inhalt auf dem Pfaden /etc/ssl, /etc/ssl/newcerts und /etc/ssl/private an.
DiskStation> ls -l -rw-r--r-- 1 root root 1041 Feb 26 22:28 caReq.pem -rw-r--r-- 1 root root 1606 Feb 26 22:18 cacert.pem -rw-r--r-- 1 root root 111 Feb 26 22:29 index.txt -rw-r--r-- 1 root root 21 Feb 26 22:29 index.txt.attr -rw-r--r-- 1 root root 0 Feb 26 22:26 index.txt.old -rw-r--r-- 1 root root 4962 Feb 26 22:29 ClientCert.pem drwxr-xr-x 2 root root 4096 Feb 26 22:29 newcerts drwxr-xr-x 2 root root 4096 Feb 26 22:11 private -rw-r--r-- 1 root root 3 Feb 26 22:29 serial -rw-r--r-- 1 root root 2 Feb 26 22:25 serial.old DiskStation> cd newcerts DiskStation> ls -l -rw-r--r-- 1 root root 4962 Feb 26 22:29 01.pem DiskStation> cd ../private DiskStation> ls -l -rw-r--r-- 1 root root 1675 Feb 27 00:17 cakey.pem
Sie erstellen bitte eine private Key Datei, die wir mit der ClientCert.pem Datei weiter geben können um einen FTP Clienten zu authentifizieren. Bitte vorher wieder in das Verzeichnis /etc/ssl wechseln.
DiskStation> cd /etc/ssl DiskStation> openssl rsa -in private/cakey.pem -out ClientRSA.key writing RSA key DiskStation>
Damit vsftp das Zertifikat und den RSA Key aus einer einzigen Datei lesen kann, müssen die cacert.pem und die ClientRSA.key Datei zusammengefügt werden.
DiskStation> cat cacert.pem ClientRSA.key > vsftpd.pem
Zu guter letzt kopieren wir die .key und die .pem Datei an einen erreichbaren Ort (z.B. SambaShare /public).
DiskStation> cp ClientCert.pem /volume1/public DiskStation> cp ClientRSA.key /volume1/public
Wie Sie den FTP-Clienten für SSL Verschlüsselung einrichten wird im Kapitel "FTP-Client/SSL Verbindung einrichten" beschrieben.
Anonymen Zugang einrichten
Zugang mit Benutzer/Passwort Authentifizierung
Zugang mit SSL Zertifikat und PAM
FTP-Client
SSL Verbindung einrichten
Links
Installation und Konfiguration von vsFTP (deutsch)
Quellen
Glosar
- Binary: Eine unter Linux ausführbare Programmdatei.
- Case Sensitive: Groß und Kleinschreibung ist zu berücksichtigten.
- Certificate Authority: Zertifizierungsinstanz