Https für Home Assistant aktivieren

Weil selbst erstellte Zertifikate immer auch ein Risiko für Fehler sind. Und spätestens seitdem Lets Encrypt vertrauenswürdige Zertifikate kostenfrei anbietet, ergibt das selbst erstellen keinen Sinn mehr.

Lokal ist die Umsetzung, bis auf die externe Erstellung, ja.

Hallo MioTee,

ich habe mir die einzelnen Einträge angeschaut und es ist mir folgendes Aufgefallen.
Die einzelnen Themen dürfen nicht miteinander vermischt werden. Dies passiert sehr leicht, wenn man sich die Anleitung von Let`s encrypt anschaut.

Aber ich verstehe deine Frage ausschließlich auf folgendes.
Du möchtest “local”! über https auf home-assistant zugreifen.
Alles andere braucht man nicht zu beachten.

Für https ist ein Zertifikat notwendig. Damit ein (egal welcher) auf einen Host zugreifen kann muss er den Hostnamen, welchen er aufrufen möchte (also z.b. https://homeassistant.local:8123/ den host homeassistant.local)
homeassistant.local wäre aber ohne großartiges verbiegen nur vom Home-Assistant Server selber aufrufbar. Es sollte also eine Adresse gewählt werden, die im Netz aufrufbar wäre, z.b. homeassistant.privat. Diese Baustelle möchte ich aber nicht weiter beschreiben, wie das DNS mäßig zu machen ist.

Wenn dies nun geschaft ist, dann schaut man sich den namen an (die IP-Adresse würde auch gehen, ist aber unschön) und genau dafür wird ein Zertifikat erstellt.
Bis hierhin hast du technisch alles schon gemacht (aber mit falschen Namen).
Zertifikate prüfen sich gegen den Trust also gegen das CA-Zertifikat.
Dieses root-CA wird im Zertifikatsstore des Clients benötigt, welche einen Verbindung aufbauen möchte.
Du musst also mit openssl das root Zertifikat exportieren und auf dein Mobilgerät importieren. Außerdem musst du dein Android-Gerät noch anweisen, dass es fremde root-CA auch zum Überprüfen heranzieht. Ohne diese Freigabe passiert garnichts!
Wenn dies erfüllt ist, dann klappt auch https.
Grüße

1 „Gefällt mir“

Ich möchte gern dazu lernen: Welche Kamera und/oder Integration ist denn das?

@bari-peter : Aber ich denke, hier muss man sich schon tüchtig in die Materie einlesen und auch wissen, was man macht. Letztendlich kommt man wahrscheinlich mit einer Domain für ca. 8-12€/Jahr und Cloudflare günstiger weg, gerade wenn vielleicht doch später geplant ist, doch von außen zuzugreifen.

Zum Beispiel Reolink Doorbell mit der advanced camera card

Ich kann den Ansatz von @MioTee schon verstehen, weil es mich auch kollossal abnervt, dass ich im ESPHome Addon (“ESPHome Builder”) keinen Flash-Vorgang am PC direkt aus der Anwendung heraus machen kann, weil ich im hochgradig gefährlichen, unsicheren internen Netzwerk ohne https unterwegs bin. Ich muss also immer an den HA-Server ran, dort den ESP anschließen und flashen oder via Web-Flasher die ganze Sache starten. Mag eine Kleinigkeit sein, mich nervt’s und ich kann alle verstehen, denen es ähnlich geht.

3 „Gefällt mir“

Ahhh, okay. Das sind natürlich Anwendungsfälle für https. Danke für eure Infos. :+1:

Guten Morgen, falls es möglich ist, eine VPN-Verbindung ins Heimnetz aufzubauen (Fritzbox, Synology oder oder), dann ist man grundsätzlich auf der sicheren Seite damit, zuerst die VPN-Verbindung herstellen, dann lokal auf HAOS zugreifen.

Da stimme ich dir zu, löst aber den Wunsch des TE nicht, per https intern zuzugreifen. Aus Sicherheitsgründen bin ich aber ganz bei dir.

Da hier so oft nach Beispielen und Gründen gefragt wird, hier der nächste Grund, der Sprach Assistent beschwert sich auch:

Deine Verbindung zu Home Assistant ist nicht mit HTTPS gesichert. Dies führt dazu, dass Browser Home Assistant daran hindern, auf das Mikrofon zuzugreifen. Verwende die Home Assistant-App oder besuche die Dokumentation um zu erfahren, wie du eine sichere URL verwendest.

Und es gibt noch weitere Gründe. Hier soll es aber um Lösungen gehen :slight_smile: Habe es noch immer nicht hinbekommen. Und das mit der eigenen Domain ist auch keine gute Lösung. Das muss man dann ja immer wieder einrichten. Und wenn es nur alle paar Jahre wäre, es ist und bleibt ein Aufwand. Und dann ist man gerade unterwegs, oder hat die Zugangsdaten gerade nicht griffbereit, oder unzählige andere Gründe die es einem erschweren werden.

Wieso musst du die Domain “immer wieder” einrichten? Das verstehe ich leider nicht ganz. Kannst du das mal erläutern?

1 „Gefällt mir“

Bei der Domain brauchst Du nach der ersten Einrichtung gar nichts mehr einrichten, so lange es läuft.

Und von unterwegs, Zugangsdaten? Fernzugriff ist doch hier gar nicht das Thema.

Also abgesehen davon, dass ich meinen HA intern SSL verschlüsselt habe, von extern via VPN zugreife und immer die selbe Domain aufrufen kann, funktioniert ein regulärer Fernzugriff unabhängig davon.

1 „Gefällt mir“

Ein SSL Zertifikat hat nur eine bestimmte Gültigkeitsdauer und muss dann erneuert werden.

Macht ein Nginx Proxy Manager zum Beispiel automatisch. Ich habe meine Domain einmal eingerichtet, seit dem nie wieder was daran gemacht und es läuft.

1 „Gefällt mir“

Und wenn du mal “gesponnen” die Homepage nur für den HA nutzt und den DNS “umbiegst” gibt es immer von der Homepage selbst ein Zertifikat, um das DU dich nicht kümmern musst.

Aber hier muss ich noch einmal @tarag recht geben: Es ging ja eigentlich nicht um einen externen Zugriff, sondern um die interne Nutzung von SSL bzw. https

Und wird es, bei ziemlich allen Diensten, automatisch. Außer Du erstellst halt ein eigenes.

Der Tipp war ja, ein Zertifikat für eine Domain zu erstellen, dieses dann aber zu exportieren und dann in Home Assistant zu importieren. Das muss dann regelmäßig gemacht werden.

Wäre evtl. eine Option, ich nutze ja HAOS auf dem RPi5, wenn das einfach geht da einen Proxy Manager vor zu schalten. Schätze aber das wird eine große Bastelei. VPN von extern wir auch noch kommen, aber hier nur für offline intern
ein Lösung gesucht. Danke

Du musst Dich schon entscheiden, ob Du es automatisiert haben möchtest oder es lieber von Hand machst.

Aber zu entscheiden, dass Du es von Hand machst, um Dich dann zu beschweren, dass es ja nicht automatisiert funktioniert …

Guten Morgen, ich habe mich nicht dafür entschieden und nicht darüber beschwert. Lediglich Gründe genannt, warum der Vorschlag nicht optimal ist. :wink:

Wenn ich über letsencrypt ein Zertifikat erstelle, und die Gültigkeit abläuft, würde das vermutlich wieder nicht funktionieren, da man wieder eine Ausnahme zur Companion App hinzufügen muss. Womit man wieder beim eigentlichen Problem ist. Das die Companion App keine Ausnahme Regelungen beim Zertifikat akzeptiert. Wofür es keine logischen Gründe gibt, da es mit der Sicherheit nichts zu tun hat. Auch das ist lediglich eine neutrale Feststellung und soll diese tolle App nicht schlecht machen. Nur Verbesserungspotential aufzeigen.

Das ist falsch. Lets Encrypt wird, wie alle Zertifikate von offiziellen Herausgabestellen akzeptiert.

Ausschließlich selbst signierte Zertifikate werden abgelehnt. Meiner Meinung nach aus gutem Grund.

Was schlicht falsch ist. Je mehr Security by Design und je weniger Möglichkeiten für den User selbst Lücken aufzumachen, desto sicherer.

Sehr prominentes Beispiel: WireGuard

Wie viel kannst Du an Schlüsselstärke, Runden, Algorithmen usw. als User konfigurieren?

Eben, aus guten Gründen …