Synology NAS – SSL-Zertifikat generieren für Sicheren Zugriff von Unterwegs
Im Artikel „Cloud – Zugriff über iPhone von Überall auf Daten, Musik, Fotos der Synology-NAS“ hatte ich kurz geschrieben, wie man mit dem iPhone auf seine NAS von Synology zugreifen kann. Natürlich besteht auch die Möglichkeit von jedem beliebigen Rechner per Browser zuzugreifen. Ich habe nur einen SSL-Zugang zugelassen.
Hier soll es nun darum gehen, wie ich auf der Synology NAS ein SSL-Zertifikat für einen0 SSL-Zugang per Browser erstelle.
Ich habe lange gesucht und unter Wikipedia einen Betrag gefunden. Diesen könnte ich jetzt so stehen lassen. Aber, da es doch sehr mühselig ist, möchte ich diesen gesamten Vorgang einfach mit Bildern untersetzen. Für den einen oder anderen wird es dann doch einfacher sein, dem Geschriebenen zu folgen.
1. Auf der Synology-NAS den Zugriff gewähren. Ich habe eine Synology DS211j. Es trifft jedoch auf alle genauso zu, da die Verwaltungssoftware identisch ist. Hier muss unter „Systemsteuerung“ -> im Bereich „Netzwerkdienste“ unter „Terminal“ der SSH-Dienst aktiviert werden. Das ist jetzt nur für die Generierung der Zertifikate notwendig und kann am Schluss wieder deaktiviert werden.
2. Haben wir das getan öffnen wir unter Mac OS X die „Terminal“ App. Zu finden unter Programme/Dienstprogramme. Hier müssen wir uns nun mit dem „root“-Verzeichnis als Admin verbinden. Dazu muss folgender Befehl eingegeben werden: „ssh root@IP-Adresse“ (IP-Adresse eurer Synology NAS eingeben)
3. Nun wird man nach dem Admin-Password gefragt.
4. Nach Eingabe des Passwortes befindet man sich auf der Synology NAS im „root“-Verzeichnis.
5. Dort erstellt man jetzt 2 Konfigurations-Dateien. Diese sind für die Erstellung der Zertifikate erforderlich. Man kann hier ein separates Unterverzeichnis mit dem Namen „ssl“ anlegen (dazu würde man den Befehl „mkdir /usr/local/ssl“ eingeben) oder man macht es direkt im „root“-Verzeichnis. So habe ich es jetzt getan.
6. Als erstes erstellt man eine Datei Namens „ca.config“ an. Dies geschieht mit folgender Eingabe „vi ca.config„. Dort wird dann folgender Inhalt hinein kopiert:
[ req ] default_bits = 1024 distinguished_name = req_DN string_mask = nombstr [ req_DN ] countryName = "1. Staat (2 Buchstaben)" countryName_default = DE countryName_min = 2 countryName_max = 2 stateOrProvinceName = "2. Bundesland " localityName = "3. Ort " 0.organizationName = "4. Name der Organisation " organizationalUnitName = "5. Name der Organisationseinheit " commonName = "6. Common Name (Synology Station) " commonName_max = 64 commonName_default = Synology Station emailAddress = "7. Email Adresse " emailAddress_max = 40
7. Um aus dem Editor-Modus „vi“ wieder herauszukommen, muss man nun die Taste „ESC“ drücken. Man hört dan einen Ton. Das bedeutet man ist im „Command-mode“. Nun gibt man folgendes ein „:wq“ und drückt die „Return„-Taste. Also einen „Doppelpunkt“, gefolgt von einem „w“ und einem „q“. Was soviel heißt wie Speichern und Verlassen. Jetzt ist man aus dem Editor-Modus wieder raus.
8. Als zweites erstellt man eine Datei Namens „server.config“ an. Dies geschieht mit folgender Eingabe „vi server.config„. Dort wird dann folgender Inhalt hinein kopiert:
[ req ] default_bits = 1024 distinguished_name = req_DN string_mask = nombstr [ req_DN ] countryName = "1. Staat (2 Buchstaben)" countryName_default = DE countryName_min = 2 countryName_max = 2 stateOrProvinceName = "2. Bundesland " localityName = "3. Ort " 0.organizationName = "4. Name der Organisation " organizationalUnitName = "5. Name der Organisationseinheit " commonName = "6. Common Name (DynDNS) " commonName_max = 64 commonName_default = name.dyndns.org emailAddress = "7. Email Adresse " emailAddress_max = 40
9. Und wieder die Taste „ESC“ betätigen und anschließend „:wq“ gefolgt von „Return“ eingeben. Fertig, auch diese Datei ist angelegt.
10. Mit dem Befehl „dir“ kann man sich das Verzeichnis auflisten lassen und man sieht die zwei neu erstellten Dateien.
11. Als nächstes muss nun das Stamm-Zertifikat in drei Schritten erstellt. Es wird bei der Prozedur ein Password abgefragt, dass man sich merken muss. Es wird später bei der Zertifikats-Erstellung abgefragt. So nun wird der folgende Befehl „openssl genrsa -des3 -out ca.key 1024“ eingegeben, damit der Schlüssel „ca.key“ erstellt wird.
12. Die Eingabe des Passwortes muss jetzt nochmals wiederholt werden.
13. Jetzt wird das Key-Zertifikat erstellt. Man gibt dazu folgenden Befehl ein „openssl req -config ca.config -new -key ca.key -out ca.csr„. Hier wird nun bei der Abfrage das vorher eingegebene Password verlangt und danach muss man einige Angaben machen zu Land, Ort etc., bei „Common Name“ gibt man den Namen seiner Synology-NAS ein, die z.B. auch im Netzwerk (Finder) angezeigt wird. Bei mir heißt die Station „DiskStaion“.
14. Mit der nächsten Eingabe wird das endgültige Stamm-Zertifikat mit einer Gültigkeit von 10 Jahre erstellt. Dazu müssen wir folgende Befehlszeile eingeben: „openssl x509 -days 3650 -signkey ca.key -in ca.csr -req -out ca.crt„. Dazu muss wieder das Password eingegeben werden. Anschließend wird der Schlüssel generiert.
15. Nun erfolgt in ähnlicher Art und Weise die Erstellung des Server-Zertifikatesebenfalls in drei Schritten. Für die Generierung des Schlüssels muss als erstes folgende Befehlszeile eingegeben werden „openssl genrsa -out server.key 1024„.
16. Als nächstes wird das Key-Zertifikat generiert. Dazu muss unter „Common Name“ der von euch verwendete DNS-Name (Dyn-DNS) z.B. „name.dyndns.org“ eingetragen werden. Dazu ist folgender Befehl einzugeben „openssl req -config server.config -new -key server.key -out server.csr„. Dazu erfolgen hier wieder die bekannten Abfragen, wie Land, Ort etc.
17. Und auch hier erfolgt nun wieder die Generierung des Server-Zertifikatesmit einer Gültigkeit von 10 Jahren. Dazu muss folgende Befehlszeile eingegeben werden: „openssl x509 -days 3650 -CA ca.crt -CAkey ca.key -set_serial 01 -in server.csr -req -out server.crt„.
18. So nun sind alle Zertifikate erstellt worden. Nun müssen die alten Zertifikate (die bereits auf der Synology lagen) gesichert werden und die neuen Zertifikate an den richten Platz verschoben werden. Deshalb wechseln wir mit folgendem Befehl „cd /usr/syno/etc/ssl“ in das Zertifikatsverzeichnis.
19. Dort legen wir ein Backup-Verzeichnis für die alten Zertifikate an. Das passiert mit der Eingabe von „mkdir bak„.
20. Dazu geben wir nacheinander folgende Befehle ein, als erstes „cp -r ssl.crt bak“ Return, als zweites „cp -r ssl.csr bak“ Return, als drittes „cp -r ssl.key bak„. Damit werden alle 3 Dateien in das angelegte Backup-Verzeichnis kopiert.
21. Jetzt gehen wir mit dem Befehl „cd“ zurück ins root-Verzeichnis. Von dort aus verschieben wir unsere erstellen Dateien und Zertifikate in das Zertifikatsverzeichnis. Nacheinander geben wir folgende Befehle ein: „mv ca.crt /usr/syno/etc/ssl/ssl.crt“ Return, „mv server.crt /usr/syno/etc/ssl/ssl.crt“ Return, „mv ca.csr /usr/syno/etc/ssl/ssl.csr“ Return, „mv server.csr /usr/syno/etc/ssl/ssl.csr“ Return, „mv ca.key /usr/syno/etc/ssl/ssl.key“ Return, „mv server.key /usr/syno/etc/ssl/ssl.key“ Return.
22. Mit dem Befehl „dir“ listen wir uns nochmals die Dateien im Verzeichnis auf und können erkennen, dass die Zertifikate verschoben wurden.
23. Mit „cd /usr/syno/etc/ssl“ in das Zertifikats-Verzeichnis gewechselt und dort kann man dann mit „dir“ sehen, dass die Zertifikate das aktuelle Datum tragen. Das Stamm- und Server-Zertifikat befinden sich immer in einer Datei, so dass wir hier auch nur drei Dateien sehen.
24. Zum Schluss muss nur noch das Client-Zertifikat „ca.crt“ auf ein Laufwerk eurer NAS kopiert werden. Dieses kann dann mit der Mouse vom MAC oder Windows etc. eingelesen werden. Dazu wird einfach folgende Befehlszeile eingegeben „cp ssl.crt/ca.crt /volume1/public„. „public“ steht hier für ein von euch angelegtes Laufwerk.
25. Nun muss die Synology-NAS neu gestartet werden. Anschließend bitte nicht vergessen den „SSH Dienst“ unter Terminal-Dienst-Optionen zu deaktivieren.
26. Das Client-Zertifikat müsst ihr nun z.B. auf einem MAC per Mouse anklicken, um es in den Schlüsselbund zu übernehmen. Für iOS Geräte sendet ihr euch einfach selbst eine Email mit dem Zertifikat als Anhang. Erhaltet ihr dann z.B. auf dem iPhone die Mail, so ruft ihr die Anlage auf. Ihr werdet dann gebeten, das Zertifikat zu installieren. Das installierte Zertifikat befindet sich dann unter „Einstellungen“, „Allgemein“, „Profile“ im Bereich „Konfigurationsprofile“.
PS:
Das Zertifikat wird unter der Synology dann unter der „Systemsteuerung“ im Bereich „System“ unter „DSM-Einstellungen“, im Reiter „Zertifikat“ angezeigt. Hier kann das Zertifikat wenn nötig auch exportiert bzw. importiert werden.
Das Ganze habe ich nun ein weiteres mal unter einer Synology DS213j ohne Probleme durchgeführt.