Ursprünglich bin ich mal mit der NABU CASA Cloud Anbindung gestartet und würde sie für Leute, die neu in HA einsteigen, immer noch empfehlen.

In diesem Post erfahrt ihr alles über die FRITZ!Box Variante. Die konnte ich bei mir sehr schnell und problemlos einrichten, dank des Videos von eHaJo auf YouTube: https://www.youtube.com/watch?v=zmbbnBJs68Q
Vielen Dank für das Video!
Zur Umsetzung benötigt ihr:
- DynDNS für euren Router – MyFritz Konto einrichten
- ein paar Zeilen in configuration.yaml
- HA Add-ons: NGINX SSL proxy + Let’s Encrypt
- HA App auf dem Handy
MyFritz Konto
Als erstes besorgt ihr euch ein Konto auf MyFritz, dem (aktuell) kostenfreien DynDNS-Dienst des Herstellers eurer FRITZ!Box. Ihr erhaltet einen Domain-Namen für eure FRITZ!Box, der aus dem Internet erreichbar ist. Gedacht ist damit der Zugriff von unterwegs auf die FRITZ!Box.

FRITZ!Box Integration
Dann installiert ihr, wenn nicht schon geschehen, die FRITZ!Box Integration in HA. Für diesen Anwendungsfall ist die Integration optional, weil der Remote-Zugriff auch ohne diese Integration funktioniert. Der Vorteil: Über ein HA Dashboard könnt ihr (auch von unterwegs) z.B. das WLAN ein-/auszuschalten. Ein Grund, warum man mit HA vielleicht keinen FRITZ!Box Admin–Zugang von unterwegs benötigt.

Port-Weiterleitung FRITZ!Box
Über die Admin-GUI der FRITZ!Box müsst ihr einmalig die Port-Weiterleitung für HA einrichten. Um die automatische Aktualisierung des SSL-Zertifikats zu nutzen, muss der Port 80 freigegeben werden, zumindest wenn man „http“ als challenge Variante nutzt. Alternative Let‘s Encrypt Methoden kommen ohne Port 80 aus. Seht euch dazu bitte in der Doku um. Für die eigentliche Kommunikation wird nur der SSL Port 443 benutzt. Die Konfiguration sieht wie folgt aus.

Um es möglichen Angreifern nicht ganz so einfach zu machen, könnt ihr einen anderen externen Port für den https-Zugriff konfigurieren. Beispielweise ein Port aus dem Bereich 80xx. Diesen Port müsst ihr unter Port extern eingeben, der dann auf den „internen“ Port 443 des HA Servers weitergeleitet wird.

Die Portweiterleitung für http-Weiterleitung richtet ihr auf Port 80, sowohl extern wie intern, ein. Dieser Port wird nur benutzt, wenn das Zertifikat erneuert wird. Deshalb würde ich das als weniger kritisch einschätzen.
configuration.yaml
Folgende Einträge sind in der /config/configuration.yaml einzufügen.
http:
use_x_forwarded_for: true
trusted_proxies:
- 172.30.33.0/24
ip_ban_enabled: true
login_attempts_threshold: 5
Siehe dazu auch unter Reverse proxies auf Home Assistant. Mit den letzten beiden Zeilen fügt ihr die Funktion HTTP-Ban hinzu. IP-Adressen, von denen 5x ein fehlgeschlagener Login-Versuch erfolgt, werden automatisch gesperrt.
Add-ons Home Assistant
Als nächstes die oben genannten Add-ons installieren und einrichten.
NGINX

In der Konfiguration müsst ihr eure Domain eintragen, die ihr bei der Anmeldung des MyFritz Kontos erhalten habt. Ansonsten die default-Einstellungen nicht verändern. Der Port 443 unter Netzwerk muss eingetragen sein!

Let’s Encrypt

In der Konfiguration fügt ihr wieder eure myfritz-Domain und eine E-Mail Adresse hinzu. Bei der challenge bitte http hinzufügen! Für die Kommunikation den Port 80 definieren.

Nach der Konfiguration das Add-on manuell starten und das Log beobachten 😉
Wenn das Zertifikat beim ersten Start erfolgreich ausgestellt wurde, müsst ihr noch dafür sorgen, dass es aktualisiert wird. Dazu könnt ihr eine Automatisierung erstellen, die in regelmäßigen Abständen das Add-on neu startet und prüft, ob das Zertifikat erneuert werden muss. Die Aktion sieht so aus:

Zugriff von der App
Jetzt konfiguriert ihr den neuen remote-Zugriff in eurer App auf dem Handy. Danach sollte alles funktionieren. Anfangs kann es mal mit der Aktualisierung der externen Adresse haken, dann müsst ihr gglf. die externe Adresse nochmals neu eingeben.
Wichtig: Wenn ihr, wie von mir weiter oben empfohlen, einen anderen externen Port als 443 nutzt, müsst ihr an eure myfritz-domain diesen Port anhängen. Doppelpunkt nicht vergessen 😉

Sicherheit weiter erhöhen
Auch wenn ich in den letzten 3 Jahren keinerlei Probleme mit dem Fernzugriff hatte, es hat Niemand versucht bei mir „einzubrechen“, kann etwas Finetuning in puncto Sicherheit nie schaden.
Tipp: http-Port zusätzlich absichern
Wenn ihr eine neuere FRITZ!Box habt, beispielsweise die 7590, sollten Schalter für die Port-Weiterleidung in der HA Integration vorhanden sein.

Den HTTP Schalter könnt ihr in einer Automatisierung nutzen, um den Port temporär einzuschalten, bevor die Erneuerung des Zertifikats erfolgt. Danach kann der Port bis zur nächsten Erneuerung deaktiviert werden.
Tipp: Zwei-Faktor-Authentifizierung (2FA) für Admin Accounts
Damit ihr euch nicht selbst „aussperrt“, falls die 2FA nicht funktioniert oder euer Handy mit der 2FA-App gerade nicht verfügbar ist, könnt ihr 2 Admins anlegen.
Bei einem Admin beschränkt ihr den Zugang lokal, mit „normaler“ Authentifizierung via Passwort. Ihr konfiguriert dies über den Schalter unter Einstellungen/Personen.

Dieser Admin kann sich im lokalen Netzwerk (http) am HA Server anmelden. Remote, via https, ist der Zugang verwehrt.

Beim zweiten Admin setzt ihr den Schalter für den lokalen Zugriff nicht. Das ist die default-Einstellung bei neuen Usern. Dadurch kann der Admin auch remote zugreifen. Für diesen Admin aktiviert ihr die Multi-Faktor-Authentifizierung mit der 2FA App eurer Wahl.

Ich benutze die Microsoft Authenticator App, da ich die schon auf meinem Handy hatte.
Die „normalen“ User, die sich über die HA App anmelden, haben keine Admin-Rechte und auch keine Zwei-Faktor-Authentifizierung. Das dient dem Nutzungs-Komfort. Wenn ihr das Risiko auch noch minimieren wollt, aktiviert ihr 2FA auch für diese User.
Viel Spaß beim Ausprobieren!


