Ein kostenloses SSL Zertifikat für Eure Synology

Seit einigen Monaten bietet Let’s Encrypt (https://letsencrypt.org) kostenlose SSL Zertifikate an. In diesem kurzen Eintrag möchte ich die Schritte skizzieren, mit denen man ein gültiges SSL Zertifikat für die eigene Synology einrichtet. Im Ende brauchst Du aus meiner Sicht dazu 3 Dinge:

  1. Eine eigene Domain
  2. Dynamic DNS Dienst
  3. Das SSL Zertifikat für den Import in die Synology

Da mir das alles natürlich nicht selbst eingefallen ist, verlinke ich auf die entsprechenden Seiten, die mir geholfen haben.

1. Die eigene Domain

Die bekannten DynDNS Dienste (synology.me, no-ip.com, etc.) sind tolle und kostenlose Möglichkeiten, wie man seine Synology aus dem Internet ansprechen kann. Gerade synology.me bietet sich für die Synology an. Leider schlagen im Moment (Test 01/01/2016) alle Versuche fehl, für einen solchen Dienst ein SSL Zertifikat anzulegen. Beurteilt man die Fehlermeldung, liegt es nicht daran, dass letsencrypt.com diese Dienste nicht unterstützen möchte, sondern, dass bereits zu viele SSL Zertifikate für diese Domains ausgegeben wurden.

Aus diesem Grund bietet sich eine eigene Domain an und Strato bietet diese im Moment für €3 im ersten Jahr (€0,25 / Monat) an, in den Folgejahren kostet die Domain dann €0,79 / Monat. Warum ich hier Strato empfehle, obwohl diese Website bei 1&1 gehostet wird? Ganz einfach: Strato bietet einen Dynamic DNS Dienst an, der von meinem Router (AVM FritzBox 7390) unterstützt wird.

Gestern brauchte Strato etwas unter 3 Stunden vom Zeitpunkt der Bestellung, bis die Domain aktiv war. Der Bestellprozess war einfach und übersichtlich und auch ohne große persönliche Empfehlung, kann man den Anbieter wohl empfehlen.

2. Dynamic DNS Dienst

Ich nutze eine FritzBox 7390 von AVM – nicht das neuste Modell, wie Ihr seht, aber der Router leistet mir seit > 4 Jahren beste Dienste. In der aktuellen Firmware Version (6.30) unterstützt dieser Router die direkte Einrichtung des Strato Dynamic DNS Dienstes

Bei Strato musst Du folgendes tun:

  • Logge Dich im Strato Kundenlogin ein
  • Wähle Sicherheit > Passwörter festlegen
  • Scrolle zum DynamicDNS Passwort und lege ein sicheres Passwort fest

Im Router musst Du folgendes tun:

  • Wähle Internet > Freigaben > Dynamic DNS
  • Im Domainname und Benutzern verwendest Du Deinen Domain-Name (z.B. meinedomain.de)
  • Als Kennwort hinterlegst Du das zuvor festgelegte DynamicDNS Passwort
  • Mehr ist hier gar nicht zu tun

fritzboxdyndns

3. Das SSL Zertifikat

Die nächsten Schritte habe ich vom Blogeintrag von Jan Karren: Let’s Encrypt: Kostenloses SSL/TLS Zertifikat erstellen entnommen. Was ihr hier lest ist also nur eine sehr kurze Zusammenfassung eines viel ausführlicheren und besseren Eintrags, den Ihr auf jeden Fall lesen solltet. Benutzt habe ich einen Raspberry Pi, grundsätzlich sollte es jedoch jedes Linux System tun.

Git Installieren (wenn noch nicht geschehen)

sudo apt-get install git

Die Let’s Encrypt Software herunterladen

cd /opt
sudo git clone https://github.com/letsencrypt/letsencrypt
cd letsencrypt
./letsencrypt-auto --help

Wenn auf dem Raspberry Pi (oder dem Rechner) ein aktiver Webserver läuft, sollte dieser jetzt deaktiviert werden. Folgender Befehl stoppt den Apache Service

sudo /etc/init.d/apache2 stop

Nun kannst Du das Zertifikat beauftragen – natürlich musst Du domain.de und www.domain.de durch Deine eigene Domain ersetzten.

./letsencrypt-auto certonly --rsa-key-size 4096 -d domain.de -d www.domain.de

Wenn Du Apache gestoppt hast, willst Du diesen nun wieder aktivieren

sudo /etc/init.d/apache2 start

Jetzt liegen die Zertifikate im Verzeichnis /etc/letsencrypt/live/domain.de/ (Achtung da liegt nur ein Symlink)

Wie gesagt, das hier sind nur ganz kurze Befehle, ausführliche Beschreibungen unter Jan Karren: Let’s Encrypt: Kostenloses SSL/TLS Zertifikat erstellen

Bei mir ging, es nun so weiter:

Um auf dem Raspberry Pi in das passende Verzeichnis mit den Zertifikaten zu gelangen musst Du als Root unterwegs sein. Das erreichst Du über

sudo su

Im oben genannten Verzeichnis liegen nur die Symlinks zum Zertifikat, das siehst Du hier:

root@raspberrypi:/home/pi# cd /etc/letsencrypt/live/domain.de
root@raspberrypi:/etc/letsencrypt/live/domain.de# ls -l
insgesamt 0
lrwxrwxrwx 1 root root 37 Jan  1 21:00 cert.pem -> ../../archive/domain.de/cert1.pem
lrwxrwxrwx 1 root root 38 Jan  1 21:00 chain.pem -> ../../archive/domain.de/chain1.pem
lrwxrwxrwx 1 root root 42 Jan  1 21:00 fullchain.pem -> ../../archive/domain.de/fullchain1.pem
lrwxrwxrwx 1 root root 40 Jan  1 21:00 privkey.pem -> ../../archive/domain.de/privkey1.pem

Für die Synology muss ich die Zertifikate hochladen können, also brauche ich nicht dem Symlink, sondern die tatsächliche Datei. Dazu muss ich also ins passende Archive-Verzeichnis wechseln:

cd /etc/letsencrypt/archive/domain.de

Damit ich die Dateien schnell habe, habe ich mir diese komprimiert in mein eigenes Homeverzeichnis gelegt, von wo ich diese dann per SFTP auf meinen Desktop geschoben habe:

tar -zcvf /home/pi/zertifikate.tar.gz /etc/letsencrypt/archive/domain.de

Wenn Du dazu mehr lesen willst, unter nixCraft (Vivek Gate): How do I Compress a Whole Linux or UNIX Directory? findest Du eine gute Erklärung, dort werden auch die Flags gezielt erklärt.

Die Dateien mit Transmit auf meinen Rechner ziehen, muss ich sicher nicht beschreiben.

4. SSL in Synology aktivieren

In der Synology musst Du in die Systemsteuerung > Sicherheit > Zertifikat gehen und dort wählst Du dann Zertifikat importieren aus

synology synology2

Unter „Privater Schlüssel“ wählst Du das privatkey1.pem aus, und unter Zertifikat fullchain1.pem – sobald Du dann auf OK gehst, wird das Zertifikat importiert und „alles“ grundsätzlich bist Du fertig. Wichtig ist nun nur noch, dass Du unter Systemsteuerung > Webdienste auch HTTPS zulässt. Dazu muss natürlich der HTTP Dienst aktiv sein und dann noch HTTPs aktivieren. Im folgenden Screenshot siehst Du die passenden Einstellungen markiert.

synology4

Und zu guter letzt? Nicht vergessen im Router eine Port-Weiterleitung für 80 und 443 vorzunehmen. Das Ergebnis – eine Sichere Verbindung zur  Synology.

ssl_success

 

Claus Wolf

Seit 1994 im Netz unterwegs und seit 2004 eingefleischter Mac-Nutzer. 21.5" iMac - 2.9GHz Intel Core i5, 16GB RAM, 1TB Fusion Drive HDD / 128GB iPhone 7 / 128GB iPad 9,7" (2017) / 15" MacBook Pro (Mitte 2014) in der Firma...

Das könnte Dich auch interessieren …

21 Antworten

  1. Karl sagt:

    Was macht das Zertifikat denn soviel besser als das, welches ich mit dem Button neben Zertifikat importieren erstellen kann?

    • Claus Wolf sagt:

      Das kommt auf den Anwendungsfall an :) In meinem Fall habe ich eine Domain mit dem Webserver der Synology verbunden, das „Letsencrypt.org“ Zertifikat wird von allen großen Browsers akzeptiert und so kann jeder sich auf den Webserver zugreifen und bekommt eine sichere Verbindung geboten. Das selbstsignierte Zertifikat würde im Browser immer eine Warnmeldung auslösen. Das ist natürlich vollständig ok, wenn Du der einzige bist, der auf die Synology zugreifen will / soll. Also beide Zertifikate taugen, aber je nach Anwendungsfall ist das „Lentsencrypt.org“ Zertifikat einfach anwenderfreundlicher…

  2. Abdel sagt:

    Hallo Claus Wolf,

    erstmal vielen Dank für die Anleitung.
    Ich habe mir auch ein Strato Account angelegt und bin genau nach deiner Anleitung vorgangen.
    Wenn ich das Zertifikat erstellen möchte, erhalte ich folgende Fehlermeldung:

    Hallo Claus Wolf,

    erstmal vielen Dank für die Anleitung.
    Ich habe mir auch ein Strato Account angelegt und bin genau nach deiner Anleitung vorgangen.
    Wenn ich das Zertifikat erstellen möchte, erhalte ich folgende Fehlermeldung:

    pi@raspberrypi:/opt/letsencrypt $ ./letsencrypt-auto certonly –rsa-key-size 4096 -d „meineDomain“.com -d www.“meineDomain“.com
    Checking for new version…
    Requesting root privileges to run letsencrypt…
    sudo /home/pi/.local/share/letsencrypt/bin/letsencrypt –no-self-upgrade certonly –rsa-key-size 4096 -d „meineDomain“.com -d www.“meineDomain“.com
    Failed authorization procedure. „meineDomain“.com (tls-sni-01): urn:acme:error:tls :: The server experienced a TLS error during domain verification :: Failed to connect to host for DVSNI challenge, www.“meineDomain“.com (tls-sni-01): urn:acme:error:tls :: The server experienced a TLS error during domain verification :: Failed to connect to host for DVSNI challenge

    IMPORTANT NOTES:
    – The following errors were reported by the server:

    Domain: „meineDomain“.com
    Type: tls
    Detail: Failed to connect to host for DVSNI challenge

    Domain: www.“meineDomain“.com
    Type: tls
    Detail: Failed to connect to host for DVSNI challenge

    To fix these errors, please make sure that your domain name was
    entered correctly and the DNS A record(s) for that domain
    contain(s) the right IP address. Additionally, please check that
    you have an up-to-date TLS configuration that allows the server to
    communicate with the Let’s Encrypt client.

    Könntest du mir sagen, was ich da falsch mache?

    Vielen Dank im Voraus für die Bemühungen.

    LG Abdel

    • Claus Wolf sagt:

      Auf den ersten Blick würde ich behaupten, das die Anfürhungsstriche in dem Domain-Namen sind – die gehören da nämlich nicht hin ;) Aber so richtig „fest“ mag ich das nicht behaupten :)

      • Abdel sagt:

        Hehe, selbstverständlich habe ich die Domains ohne Anführungsstriche. Kannst du mit der Fehlermeldung Failed to connect to host for DVSNI challenge etwas anfangen?

        • Claus Wolf sagt:

          Naja, war auch nur ein Versuch. Hast Du Denn in Deinem Router den Port 443 freigeschaltet. Hier wird ja automatisch auf den Server zugegriffen, um sicherzustellen, dass Du den auch besitzt. Wenn der Port 443 (SSL) kann es zu dem Fehler kommen. Sagt zu mindestens Kamerad Google – will sagen, ich weiß es auch nicht so genau ;)

          • David sagt:

            Ich würde fast vermuten zum Zeitpunkt des Zertifikatsrequests war die Domain seitens Strato noch nicht freigeschaltet (auch wenn das Konto bereits aktiv ist). Ich habe soeben auch diese Fehlermeldung erhalten und siehe im Strato Konto ist die Domain noch in Bearbeitung.

            Ansonsten danke für das tolle Tutorial!

            Die Frage nach dem besser oder schlechter wurde bereits ansatzweise beantwortet.

            Ein self-signed Zertifikat ist genauso sicher, wie eines von einer offiziellen CA (Certificate Authority) ausgestelltes. Es ist jedoch (für andere, man selbst weiß ja, dass es das eigene ist) nicht vertrauenswürdig. Ein CA Zertifikat ist hingegen als vertrauenswürdig eingestuft, die CA ist der Vertrauensanker, die dir bescheinigt „du“ zu sein.

            Wie gesagt, das ist nur wichtig, wenn du fremden Zugriff auf dein „System“, hier dein NAS, geben möchtest.

            Sicher bzw. unsicherer ist keins von beiden Zertifikaten, weder das offizielle noch ein self-signed.

  3. jo sagt:

    In letzten Screenshot ist die Domain noch beim 2. Schloss lesbar

  4. Sheldor sagt:

    Danke für die Anleitung.

    Ich habe zuerst das lets encrypt Zertifikat direkt über die Synology Diskstation erstellt (importieren entfällt hierbei) was jedoch nicht zu funktionieren scheint (deswegen wollte ich es jetzt noch mal über den von dir beschriebenen Weg probieren)

    Ich habe jedoch weder ein Rasperry Pi noch ein Linux mit Webserver. Brauche ich das überhaupt? Soweit ich das richtig sehe, wird einfach nur in einen Ordner namens „opt“ gewechselt (wozu auch immer der gehören mag) und das lets encrypt repo runtergeladen. Demnach müsste doch ein Terminal im Prinzip hier völlig ausreichen, ganz ohne Webserver/bestimmter Umgebung oder verstehe ich da etwas falsch?

  5. David sagt:

    Hallo,

    gilt der Zugriff per SSL dann auf die Top-Level-Domain oder benötige ich unbedingt eine Subdomain hierfür?
    2. Punkt Verwende ich dann auch die Top-Level-Domain in der Fritzbox oder die Subdomain um anschließend auf meine NAS zugreifen zu können?

    Danke und Grüße
    David

    • Claus Wolf sagt:

      Hallo David,

      Ein SSL-Zertifikat wirst Du nie für eine Top-Level-Domain bekommen, da die TLD für Deutschland „.de“ ist und so ein Wildcard stellt Dir hoffentlich keiner aus ;) Nachdem wir die Frage aus dem Weg haben, was eine TLD ist, zur eigentlichen Frage brauchst Du ne Subdomain für das NAS, oder nicht.

      Das ist ein gutes Stück komplizierter, als es sich auf Anhieb zeigt. Die Antwort ist: Du brauchst keine Subdomain, auch wenn Du mit Fritz.Box und Synology gleich zwei Geräte am laufen hast. Das ganze habe ich bei mir über die Port-Weiterleitung gemacht:

      Das SSL Zertifikat ist für die Synology und dort auch hinterlegt.

      Da Du nie einen ganzen Server oder Computer in die DMZ stellen willst, musst Du einzelne Ports und Port-Bereiche weiterleiten. Während das SSL Zertifikat nun also für die Domain gilt, ist es eigentlich so, dass das SSL Zertifikat eigentlich nur für bestimmte Services und somit Ports gilt. HTTPS = Port 443

      In der Fritz.Box habe ich nun sichergestellt, dass der SSL Port (443) aus dem Internet auf den SSL Port der Synology weitergeleitet ist, wo ein Webserver aktiv ist. Somit kommt eine Anfrage aus dem Netz an https://www.meineDomain.de also bei meiner Synology raus. [Die Domain ist übrigens frei erfunden, sorry, wenn meineDomain.de wem gehört, mir ist sie nicht]

      Die Admin-Oberfläche meiner Synology habe ich nun gar nicht im Internet freigegeben, dafür habe ich eine VPN Verbindung. VPN an, Verbindung zur Admin-Oberfläche und gut ist. Die VPN Verschlüsselt auch.

      Ich würde mir also weniger Gedanken um Subdomains machen, sondern eher um die möglichen Ports. Aber vielleicht habe ich auch nur Deine Frage nicht richtig verstanden.

  6. Hallo,

    vielen Dank für die Anleitung, Letscrypt-Zertifikate auf einem Synology-NAS zu installieren.

    Auf einem NAS wird u.a. ein Cloud-Syncronisatioms-Service verwendet. Die Verbindungsaufnahme ist auch mit SSL verschlüsselt. Bislang habe ich ein SSL-Zertifikat von http://cacert.org/ verwendet.

    Nach Ablauf der Gültigkeit eines SSL-Zertifikats muss bei allen Clients die Verbindung einmalig neuu eingerichtet werden. Bislang war diese Aktion alle 180 Tage fällig. Wenn das Zertifikat von Letscrypt eingesetzt wird, muss die Aktion alle 90 Tage durchgeführt werden.

    Oder meckert der Cloud-Station-Client bei diesem letscrypt-Zertifikat nicht mehr, wenn es neu ausgestellt wird?

    • Claus Wolf sagt:

      Ich weiß es auch nicht, aber ich denke, dass sich die Clients beschweren werden, weil sich das Zertifikat geändert hat und somit das aufgebaute Vertrauen nicht bestätigen lässt.

  7. noname sagt:

    dyndns mit ssl und strato funktioniert super für ipv4.
    bei ipv6 hört der Support leider auf:

    „DynDNS für IPV 6 ist bei STRATO nicht verfügbar. Wann dies eingeführt wird ist bis dato nicht bekannt.

    Bei Fragen stehe ich Ihnen gerne weiter zur Verfügung.“

    Ich bin derzeit auf der suche nach einer Alternative

  8. Itzzy sagt:

    Wie sieht es denn mit der Vertrauenswürdigkeit von Let’s Encrypt aus? Wie hier zu lesen https://www.psw-group.de/blog/safe-by-default-google-chrome-setzt-auf-ssl-verschluesselung/5092 entzieht Google seit geraumer Zeit einigen CAs das Vertrauen, was für die Besucherzahlen einer Website stark negativ beeinflusst. Warum kann ich davon ausgehen, dass dies bei Let’s Encrypt nicht der Fall sein wird?

    Vielen Dank

    • Claus Wolf sagt:

      Ich erlaube mir mit zwei Links zu antworten, wer ist Let’s Encrypt und wer sitzt im Verwaltungsrat.

      1. About Letsencrypt.org
      2. Internet Security Research Group

      Was „versichert“ das Zertifikat eigentlich?

      Mit anderen Worten, was sagt das Zertifikat eigentlich aus? Das Zertifikat sagt eigentlich nur aus, dass Du den Webserver kontrollierst, für das es ausgestellt wurde. Das ist ja schon mal was, aber es ist in Wirklichkeit nicht viel.

      Let’s Encrypt wird also von der Internet Security Research Group angeboten und die Liste der Mitglieder des Verwaltungsgremiums liest sich sehr gut. Da findet man Mozilla, Cisco, EFF im Board aber auch Akamai, EFF, Mozilla, Google, und weitere im Technical Advisory Board. Allesamt Firmen und Institutionen, die sich sicherlich nicht gerne „vorführen“ lassen wollen.

      Auch das mag nichts bedeuten, aber es zeigt schon ein gewisses Grundvertrauen von Google & Co, dass Let’s Encrypt grundsätzlich ’ne gute Sache ist.

  1. 13. März 2016

    […] ich mein https-Zertifikat für die Synology bei letsencrypt.org erstellt habe, sind nun fast  3 Monate vergangen und somit war es Zeit das Zertifikat zu erneuern. Hier die […]

  2. 31. März 2016

    […] Euch, wie man mit Raspberry Pi und Let’s Encrypt ein SSL Zertifikat für die eigene Synology erstellt bzw. erneuert. Heute freue ich mich Euch berichten zu können, dass Synology mit der neuen Version […]

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.