Nutzung eines eigenen Zertifikats in der Dreambox WebControl

Inhalt


Worum geht's?

Die Dreambox DM 7020 HD lässt sich über eine Web-Schnittstelle (WebControl) mit einem Web-Browser bedienen. Nicht nur http sondern auch das mit SSL verschlüsselte https-Protokoll wird unterstützt. Dazu ist auf der Dreambox ein Standardzertifikat enthalten, das aber prinzipiell vom Web-Browser als unsicher eingestuft wird und man jedesmal den Zugriff explizit erlauben und bestätigen muss.
Um dies zu verhindern, kann man ein eigenes Zertifikat auf die Dreambox aufspielen. Wie man das macht, wird im folgenden beschrieben.


Voraussetzungen

Ich gehe hier davon aus, dass:
  1. das WebControl auf der Dreambox aktiviert ist (Einstellungen)
  2. SSL-(https-)Zugriff auf der Dreambox aktiviert ist (Einstellungen)
  3. ein Passwort für den Web-Zugriff konfiguriert ist (z.B. per Erweiterung oder SSH setzen)
  4. der heimische Router mit dynamischem DNS (z.B. bei free.domain.name) konfiguriert ist (Router-Konfiguration)
  5. der benutzte WebControl-https-Port (Default 443) vom Router auf die Dreambox weitergereicht wird (Router-Konfiguration)
  6. ein SCP-Zugang zur Dreambox im heimischen Netz möglich ist (z.B. mit WinSCP).
Man sollte also schon soweit gekommen sein, dass man sein Dreambox WebControl über einen eigenen Domainnamen (z.B. meinedomain.homedns.org) im Internet zugreifen kann, also über https://meinedomain.homedns.org.


Eigene Zertifikate generieren

Dazu gibt es eine sehr schöne Anleitung für Linux. Hier muss man Kapitel 1 und 2 ausführen. Dabei erstellt man eine eigene Certification Authority (CA), die sich selbst signiert und anschließend ein Server-Zertifikat, das von der CA signiert wird.

Wenn man nach obiger Anleitung vorgegangen ist, muss man noch das Passwort aus dem privaten Schlüssel des Serverzertifikats entfernen, damit später die WebControl auf der Dreambox auch starten kann. Das macht man mit folgendem Befehl:

openssl rsa -in server.key -out key.pem

Danach kopiert man die öffentlichen Zertifikate der eigenen CA und des Servers zusammen:

cat server.crt > cert.pem
cat ca.crt >> cert.pem

Dies ist deshalb zu empfehlen, da später im Web-Browser die gesamte Zertifikatskette angezeigt wird, von der man dort nur das CA-Zertifikat importieren muss.

Damit hat man nun key.pem und cert.pem.


Zertifikat in der Dreambox austauschen

Das ist eigentlich der leichteste Teil! Man ersetzt die Dateien

/etc/enigma2/cert.pem

und

/etc/enigma2/key.pem

auf der Dreambox mit den oben neu erstellten mittels SCP (z.B. mit WinSCP).
Sicherheitshalber sollte man sich vorher die Original-Dateien irgendwo sichern.

Man findet an anderen Stellen im Internet die Hinweise, server.pem oder cacert.pem zu ersetzen. Dies war aber in meinem Fall nicht nötig und hat auch keine Auswirkungen gezeigt. Daher kann man diese zwei Dateien lassen, wie sie sind.

Zuletzt die Dreambox neu starten.


Zertifikat unter Windows importieren

Zum Importieren der Zertifikate in den Browser unter Window 7 oder 8 geht man wie folgt vor:

Das wars dann auch schon.


Axel Findling, 2013-02-22
letzte Änderung 2014-04-14