Heimgeräte mit SSL verschlüsseln

sakis2019

Cadet 4th Year
Registriert
Sep. 2019
Beiträge
86
Hallo,

ich habe einen Raspberry Pi 3 auf dem Pihole läuft, sowie einen Proxmox Host auf dem mehrere LXC und VM laufen.

Ich möchte alle Heimgeräte (Raspberry Pi, Host, LXC und VM) mit SSL Zertifikat verschlüsseln, weil mich die lästige Meldung das die Seite "unsicher" ist stört.

Ich möchte keines der Geräte von außerhalb erreichen, sie solle nur lokal im Heimnetz verfügbar sein.

Welche Möglichkeiten gibt es da?

Idealerweise sollten der Vorgang automatisiert ablaufen.

LG
Sakis
 
certbot für LE auf eine der linux kisten
Domain
alle clients per domain-hostname und lokaler ip auflösen

oder wie madman schreibst ein selfsigned cert welches bis ins jahr 3000 gültig ist :)
 
  • Gefällt mir
Reaktionen: sakis2019
Nicht die Geräte, sondern die Verbindungen werden verschlüsselt und SSL ist da anwendungs(lies: service)spezifisch - Server (und Client) müssen das beherrschen.

Für pihole zB wäre der zugrundeliegende Webserver zu konfigurieren.
 
  • Gefällt mir
Reaktionen: sakis2019 und Raijin
Madman1209 schrieb:

Danke für die Antwort.
Muss ich bei jedem LXC Apache installieren um das Zertifikat zu "übertragen" oder wie ist hier der Ablauf?

azereus schrieb:
certbot für LE auf eine der linux kisten
Domain
alle clients per domain-hostname und lokaler ip auflösen

oder wie madman schreibst ein selfsigned cert welches bis ins jahr 3000 gültig ist :)

Das habe ich bereits versucht und ich konnte ein Wildcard Zertifikat von Letsencrypt erstellen. Was ich mich aber Frage ist:

  1. Muss ich alle 3 Monate den LXC starten, um das Zertifikat zu erneuern ?!
  2. Muss ich das Zertifikat an jedem LXC bzw. VM selbst übertragen ?!
RalphS schrieb:
Nicht die Geräte, sondern die Verbindungen werden verschlüsselt und SSL ist da anwendungs(lies: service)spezifisch - Server (und Client) müssen das beherrschen.

Für pihole zB wäre der zugrundeliegende Webserver zu konfigurieren.
Danke für die Aufklärung. Bin da noch relativ neu in dem Gebiet, daher verzeiht mir falsch ich da was falsch schreibe.

madmax2010 schrieb:
Hier ist sehr gut beschrieben wie du dir das zuhause gut einrichten kannst:
https://gist.github.com/Soarez/9688998

Mein Englisch ist da nicht so gut, lieber wäre mir eine Anleitung auf Deutsch, noch besser ein Video wo das Schritt für Schritt für "Neulinge" beschreibt.

LG
Sakis
 
sakis2019 schrieb:
Danke für die Antwort.
Muss ich bei jedem LXC Apache installieren um das Zertifikat zu "übertragen" oder wie ist hier der Ablauf?
Installier dir auf dem Host nginx / apache , pack eine reverse proxy config fuer jeden dienst rein und mach das zentral. Sonst wird es echt schmerzhaft und unuebersichtlich. Also: SSL direkt im Container machen manche, aber es ist in der Industrie nicht best practice.

sakis2019 schrieb:
Das habe ich bereits versucht und ich konnte ein Wildcard Zertifikat von Letsencrypt erstellen. Was ich mich aber Frage ist:

  1. Muss ich alle 3 Monate den LXC starten, um das Zertifikat zu erneuern ?!
  2. Muss ich das Zertifikat an jedem LXC bzw. VM selbst übertragen ?!
Bei Letsencrypt muss das Zertifikat alle 3 moante erneuert werden. wie du jetzt darauf kommst, dass man dafuer jedes mal einen container starten muss verstehe ich anhand der verlinkten Artikel nicht..


sakis2019 schrieb:
Danke für die Aufklärung. Bin da noch relativ neu in dem Gebiet, daher verzeiht mir falsch ich da was falsch schreibe.

Mein Englisch ist da nicht so gut, lieber wäre mir eine Anleitung auf Deutsch, noch besser ein Video wo das Schritt für Schritt für "Neulinge" beschreibt.
https://www.tiktaktux.de/doku.php?id=proxmox_und_vm:eigene_ca_erstellen_mit_open-ssl
Probier es mal hiermit. Leider mit sehr wenig erklaerungen, aber die Quellen sehen gut aus. Lies die mal und versuch die Anleitung durchzugehen :)
Wenn Begriffe unklar sind frrag uns einfach ob du sie richtig verstanden hast :)
Da du glaube ich von der vielzahl an tips hier ein wenig ueberwaltigt bist.. Schau mal nach dem unterschied zwischen einer oeffentlichen und einer privaten CA - Bei der oeffentlichen gern auch wie sie funktioniert
 
  • Gefällt mir
Reaktionen: sakis2019
madmax2010 schrieb:
Installier dir auf dem Host nginx / apache , pack eine reverse proxy config fuer jeden dienst rein und mach das zentral. Sonst wird es echt schmerzhaft und unuebersichtlich. Also: SSL direkt im Container machen manche, aber es ist in der Industrie nicht best practice.
Warum ist es nicht "best practice" und was wäre "best practice"?

madmax2010 schrieb:
Bei Letsencrypt muss das Zertifikat alle 3 moante erneuert werden. wie du jetzt darauf kommst, dass man dafuer jedes mal einen container starten muss verstehe ich anhand der verlinkten Artikel nicht..
Wie du oben beschrieben hast, hatte ich einen LXC Container erstellt, und damit das Wildcard Zertifikat per certbot erstellt. dann habe ich den Container ausgeschaltet, sowie den Port 80 & 443 von der Fritzbox deaktiviert bzw entfernt, da der Container nur gebraucht wird um das Zertifikat zu erstellen bzw. zu erneuern.

madmax2010 schrieb:
https://www.tiktaktux.de/doku.php?id=proxmox_und_vm:eigene_ca_erstellen_mit_open-ssl
Probier es mal hiermit. Leider mit sehr wenig erklaerungen, aber die Quellen sehen gut aus. Lies die mal und versuch die Anleitung durchzugehen :)
Wenn Begriffe unklar sind frrag uns einfach ob du sie richtig verstanden hast :)
Da du glaube ich von der vielzahl an tips hier ein wenig ueberwaltigt bist.. Schau mal nach dem unterschied zwischen einer oeffentlichen und einer privaten CA - Bei der oeffentlichen gern auch wie sie funktioniert
Danke für den Link, werde ich ausprobieren und mich ggf. nochmal melden.
 
Zum 1. Teil: Ich habe mal ein moeglichst simples schaubild gegoogled. Das szenario ist: du hast auf einem System 3 dinge in containern laufen ( sagen wir mal wordpress, ein Forum und deine nextcloud)
Folgende Probleme: 1. Nur einer der dienste kann sich auf Port 443 Verbinden und letsencrypt / jede public ca geben dir auch nur fuer dienste auf port 443 ein cert -> Problem
Loesung: Du nutzt nginx als reverse proxy und laesst die Dienste auf beliebigen Ports laufen. Du sagst nginx das er sich auf diesen Ports dann verbinden soll und sie auf port 443 mit verschiedenen Namen der oeffentlichkeit bereitstellt.
Das ist aber alles relativ fortgeschritten.. Erstmal die basics :)
Ich habe eben nochmal aus deinem 1. Post gesehen, dass das alles nur intern laufen soll. Da genuegen Selbst signierte Yertifikate einer privaten CA.
Der wenn du das gut verstanden hast, kannst du dich darum kuemmern dienste der oeffentlichkeit bereitzustellen.
Und wenn du gerade noch am lernen bist.. Fang mal lieber mit nginx anstelle von Apache als Webserver an. Nginx ist deutlich einfacher zu bedienen am Anfang
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: sakis2019
madmax2010 schrieb:
Zum 1. Teil: Ich habe mal ein moeglichst simples schaubild gegoogled. Das szenario ist: du hast auf einem System 3 dinge in containern laufen ( sagen wir mal wordpress, ein Forum und deine nextcloud)
Folgende Probleme: 1. Nur einer der dienste kann sich auf Port 443 Verbinden und letsencrypt / jede public ca geben dir auch nur fuer dienste auf port 443 ein cert -> Problem
Loesung: Du nutzt nginx als reverse proxy und laesst die Dienste auf beliebigen Ports laufen. Du sagst nginx das er sich auf diesen Ports dann verbinden soll und sie auf port 443 mit verschiedenen Namen der oeffentlichkeit bereitstellt.
Das ist aber alles relativ fortgeschritten.. Erstmal die basics :)
Ich habe eben nochmal aus deinem 1. Post gesehen, dass das alles nur intern laufen soll. Da genuegen Selbst signierte Yertifikate einer privaten CA.
Der wenn du das gut verstanden hast, kannst du dich darum kuemmern dienste der oeffentlichkeit bereitzustellen.
Und wenn du gerade noch am lernen bist.. Fang mal lieber mit nginx anstelle von Apache als Webserver an. Nginx ist deutlich einfacher zu bedienen am Anfang

Das ist mir durchaus bewusst, daher habe ich für jeden Dienst einen einen Container erstellt.
 
Ich hab mich jetzt für mkcert entschieden, da es mir "einfacher" erscheint, jedoch kann ich nicht den "Aufbau" verstehen bzw. was welche Aufgabe macht und wo die erstellten Zertifikate kommen?

Muss mkcert auf jedem LXC Container erstellt werden oder reicht es wenn ich dafür einen LXC Container erstelle und darin alle weiteren Zertifikate erstelle und verteile?

Wenn letzteres, bleiben die Zertifikate dort wo ich sie erstellt habe oder muss ich die zu den passenden LXC Containern verschieben?

Wie man es unter Apache oder Nginx verwendet, habe ich bereits gelesen aber wie schaut es aus wenn der LXC bzw die Anwendung kein Apache bzw Nginx nutzt und ich für den Browseraufruf aber https nutzen möchte? Als beispiel tvheadend.

Hier mein versuch mkcert zu installieren und das erstellte Zertifikat auf einem anderen lxc mit nginx einzufügen.



  • 1.) LXC Container mit Ubuntu 18.04 erstellt (Containername: SSL), der Zertifikate für meine anderen LXC bzw. Anwendungen erstellen soll.

    2.) darauf mkcert installiert:
    Code:
    apt update && apt upgrade -y
    apt install libnss3-tools -y
    wget https://github.com/FiloSottile/mkcert/releases/download/v1.4.1/mkcert-v1.4.1-linux-amd64
    mv mkcert-v1.1.2-linux-amd64 mkcert
    chmod +x mkcert
    cp mkcert /usr/local/bin/
    mkcert -install
    mkcert -CAROOT

    3.) Zertifikat für einen LXC bzw. Anwendung erstellt
    Code:
    mkcert board.homelab.club 192.168.20.40

    4.) Das Zertifikat (board.homelab.club+1-key.pem sowie board.homelab.club+1.pem)habe ich vom LXC (Containername: SSL) mittels winscp erst auf meinem Desktop dann auf dem anderen LXC (Containername: board) übertragen.

    5.) Auf dem LXC (Containername: board) läuft Nginx, somit habe ich in der /etc/nginx/sites-available/anwendung folgendes hinzugefügt:

    Code:
    ssl on;
    ssl_certificate /home/mike/board.homelab.club+1.pem ;
    ssl_certificate_key /home/mike/board.homelab.club+1-key.pem;

    und nginx neugestartet.

    6.) Wenn ich nun die Seite mit Firefox öffne, wird zwar das richtige Zertifikat erkannt, aber die Fehlermeldung das das Zertifikat nicht sicher ist, kommt weiterhin.

Ist dieser vorgang so richtig?

LG
Sakis
 
Zurück
Oben