SSL Verbindungen zwischen mehreren Raspberrys

  • Ich benötige SSL-Verbindungen zwischen mehreren Raspberrys und von Windows 11 Clients.

    Auf den Raspberrys ist das aktuelle Bullseye lite installiert.

    Irgendwie stehe ich dabei aber an.


    Ich habe folgende Dateien angelegt die auf jeden Raspberry hinterlegt sind.

    ca-cert.pem => alle Raspberrys besitzten die gleiche Datei.

    server-key.pem => alle Raspberrys besitzten die gleiche Datei. Muss diese Datei auf jedem Raspberry sein?

    server-cert.pem => alle Raspberrys besitzen eine eigene Datei.

    rasp01.ht.lokal, rasp02.ht.lokal, raspxx.ht.lokal usw.


    Wird auf den Raspberrys auch eine Clientdatei der anderen Raspberrys benötigt?

    Wie muss diese Client-Datei aussehen?


    Derzeit, wenn ich openssl s_client -connect rasp01:8083 eingebe, bekomme ich folgende Meldungen:

    Wie kann ich diese Fehler beheben?

    Lg


    Chris


    Raspberry Pi 2/2+/3/3+

    Stretch|Buster Lite, FHEM
    RFXtrx433E, SIGNALduino, nanoCUL433MHz & 868MHz, HomeMatic

    FS20, IT, HomeMatic, WMR200, TEK603, YouLess, APC, SUSV, Resol VBUS, Fronius DataloggerWeb2

  • Bin auch nicht der SSL Spezialist und habe das bisher nur wenige Male gemacht.

    Was meinst Du mit

    ca-cert.pem => alle Raspberrys besitzten die gleiche Datei.

    server-key.pem => alle Raspberrys besitzten die gleiche Datei. Muss diese Datei auf jedem Raspberry sein?

    server-cert.pem => alle Raspberrys besitzen eine eigene Datei.

    ?

    Auf jedem Host muss das individuell erstellt werden. Die Zertifikate beinhalten Hostname (und/oder IP - ungünstig, aber möglich).

    Welche Instanz ist die Root Instanz?


    Das Zertifikat der Root Instanz muss auf allen Geräten entsprechend importiert werden, damit die Server Zertifikate als gültig und vertrauenswürdig erkannt werden.


    Gruss


    Edit: Ich hatte ein Beispiel dazu mal im QNAP-Forum beschrieben.

  • Für jeden Host habe ich eine eigene server-cert.pem Datei erstellt die im Verzeichnis root/ca abgelegt ist.

    Im gleichem Verzeichnis liegen auf jedem Raspberry die Dateien ca-cert.pem und server-key.pem.

    Die ca-cert.pem Datei hat auf jedem Raspberry den gleichen Inhalt.

    Ebenso hat die server-key.pem Datei den gleichen Inhalt auf jedem Raspberry.

    Quote

    Das Zertifikat der Root Instanz muss auf allen Geräten entsprechend importiert werden....

    Wie mache ich den Import von einem Raspberry zum anderen Raspberry?

    Lg


    Chris


    Raspberry Pi 2/2+/3/3+

    Stretch|Buster Lite, FHEM
    RFXtrx433E, SIGNALduino, nanoCUL433MHz & 868MHz, HomeMatic

    FS20, IT, HomeMatic, WMR200, TEK603, YouLess, APC, SUSV, Resol VBUS, Fronius DataloggerWeb2

  • In dem o.a. Link ist ein Beispiel, wie das root-Zertifikat auf einem Linux Rechner installiert wird. Ich hatte Debian bzw. RedHat benutzt.

    Ich vermute(!), bei einem raspberry ist es ähnlich, tatsächlich habe ich da aber noch kein Zertifikat installiert.


    Gruss

  • Eines was ich noch immer nicht verstanden habe, wie und welche Zertifikate ich erstellen muss, wenn zwei Raspberrys gegenseitig miteinander verbunden werden.

    Das ein jeder Raspberry eine Server Verschlüsselung benötigt, damit ich via Browser mit einem PC-Browser Zugriff habe ist klar.

    Nur wie sieht es mit den Raspberrys aus, wenn diese untereinander Zugriffe haben sollen.

    Jeder Raspberry hat seinen Serverschlüssel.

    Braucht ein jeder Raspberry auch einen Clientschlüssel und wie soll dieser aussehen?

    Lg


    Chris


    Raspberry Pi 2/2+/3/3+

    Stretch|Buster Lite, FHEM
    RFXtrx433E, SIGNALduino, nanoCUL433MHz & 868MHz, HomeMatic

    FS20, IT, HomeMatic, WMR200, TEK603, YouLess, APC, SUSV, Resol VBUS, Fronius DataloggerWeb2

  • Deswegen hat man in der Regel eine zentrale CA Instanz, die stellt die Serverzertifikate aus, die auf den jeweiligen Geräten installiert werden.

    In den Clients (oder Browsern) wird das Zertifikat der CA Instanz als weitere CA Instanz eingetragen.

    Verbindet man sich nun von einem solchen Client zu einem Server, dann "weiß" der Client, das er diesem Serverzertifikat vertrauen kann.


    Wenn Du für jeden Raspi eine eigene CA Instanz erstellt hast, dann muss das natürlich gegenseitig importiert werden, bei zweien evtl. noch überschaubar, aber bei mehreren sehr ungünstig, das würde ein "full-mesh" bedeuten.

    Daher eine zentral Instanz, damit wäre alles abgedeckt.


    Gruss

  • Ich hoffe es jetzt richtig verstanden zu haben.


    Ich habe mit XCA eine gemeinsame Root CA erstellt.

    Anschließend habe ich bassierend auf diese Root CA für jeden Raspberry eine TLS-Server Instanzen erstellt.


    Die erstellt Root CA exportiere ich als server-key.crt und hinterlege ich auf jedem Raspbbery.

    Für jeden Rasperry hingegen, habe ich eine TLS-Server Instanzen erstellt, und jeder Raspberry bekommt seine eigene Server Instanz als server-cert.crt exportiert und am Raspberry hinterlegt.


    Ich hoffe das diese Dateibezeichnungen ausreichend sind.


    Eine TLS-Client Erstellung ist also nicht notwendig, wenn ich dich richtig vertanden habe.

    Lg


    Chris


    Raspberry Pi 2/2+/3/3+

    Stretch|Buster Lite, FHEM
    RFXtrx433E, SIGNALduino, nanoCUL433MHz & 868MHz, HomeMatic

    FS20, IT, HomeMatic, WMR200, TEK603, YouLess, APC, SUSV, Resol VBUS, Fronius DataloggerWeb2

  • Ich hab mit XCA noch nichts gemacht, sondern mit openSSL, aber das Prinzip sollte das gleiche sein.

    Der Dateiname ist dabei m.W. egal, das ist nur zur einfachen Unterscheidung, der Inhalt ist wichtig.


    Und so, wie Du es beschrieben hast, sollte es gehen.


    Gruss

  • Gut dann werde ichmals das Ganze testen.

    Lg


    Chris


    Raspberry Pi 2/2+/3/3+

    Stretch|Buster Lite, FHEM
    RFXtrx433E, SIGNALduino, nanoCUL433MHz & 868MHz, HomeMatic

    FS20, IT, HomeMatic, WMR200, TEK603, YouLess, APC, SUSV, Resol VBUS, Fronius DataloggerWeb2