Integrace Home Assistant se Synology reverse proxy

V minulém článku jsme si ukázali nastavení HTTPS na Home Assistant. Nyní si ukážeme alternativu bezpečného publikování do internetu – prostřednictvím reverse proxy.

Kromě Home Assistant mám doma i Synology NAS. Nechtěl jsem Home Assistant přímo publikovat do internetu, protože nevím, jak moc je daný software odolný vůči různým útokům. Navíc doma mám jen jednu veřejnou IP adresu, takže na standardním HTTPS portu můžu provozovat pouze jednu službu a ostatní služby bych musel provozovat na nějakém nestandardní portu.

Proto mi na Synology běží reverzní proxy. Tato reverzní proxy je standardní součástí Synology DSM a není potřeba ji extra instalovat. A všechny služby, které mi doma běží, jsou provozované za touto proxy. Díky tomu mám za jednou IP adresou mnoho různých služeb na různých doménových jménech a všechny běží na standardním https portu 443/TCP. Navíc důvěryhodný certifikát je instalovaný přímo na této proxy a koncové služby (jako například Home Assistant) už nepotřebují důvěryhodný certifikát, dokonce nepotřebují ani šifrované spojení a tedy nepotřebují žádný certifikát, protože veškerá komunikace je pouze v rámci lokální sítě. Navíc na této reverse proxy můžu i snadno řídit provoz pomocí vestavěného firewall a zablokovat tak například veškerý zahraniční provoz, abych omezil možnosti útoků na danou službu.

Konfigurace Synology reverse proxy pro Home Assistant

V Synology DSM jděte do Control Panel – Login Portal – Advanced. Zde klikněte na Reverse Proxy.

Klikněte na tlačítko Create a vyplňte libovolné jméno této proxy (slouží pouze pro lepší orientaci, pokud máte více proxy), Source protocol je HTTPS, Hostname je doménové jméno, pod kterým chcete přistupovat na Home Assistant, port 443. Volitelně můžete zatrhnout HSTS, což je hlavička, která prohlížeči říká, že při příštím přístupu má automaticky použít protokol https. Standardně prohlížeče totiž stále nejdřív zkouší nezabezpečené http a až následně zabezpečené https. Access Control Profile nemusíte vyplňovat. V Destination vyplňte protokol opět HTTPS, pokud Home Assistant běží na HTTPS, v opačném případě zvolte HTTP. Hostname je lokální IP adresa Home Assistant a port je opět 443, pokud Home Assistant běží na HTTPS. Případě je port 80, pokud Home Assistant běží na http.

Následně se v horním menu přepněte na Custom Header a klikněte na Create a následně Web Socket. Objeví se vám dvě nové hlavičky – Upgrade a Connection.

Jako poslední je potřeba na Home Assistant nakonfigurovat, že spojení je realizováno přes reverse proxy. V konfiguračním souboru /config/configuration.yaml je potřeba k dříve vytvořené http konfiguraci přidat část trusted proxy. Celá konfigurace pak bude vypadat jak je zobrazeno níže. Samozřejmě IP adresu trusted proxy nahraďte vaší lokální IP adresou Synology NAS.

A opět nezapomeňte restartovat Home Assistant, aby se změny projevily.

Pokud hledáte inspiraci, co (a jak) dalšího můžete s Home Assistant dělat, můžete se podívat na další naše články o Home Assistant.