Externy pristup k HA bez Nabu Casu

Ucelené projekty, návody a postupy.
perseus
Nováček na fóru
Nováček na fóru
Příspěvky: 7
Registrován: 27. únor 2021, 16:44
Dostal poděkování: 8 poděkování

Externy pristup k HA bez Nabu Casu

Příspěvek od perseus »

PREREKVIZITY

Od Vasho Internet Providera budete potrebovat (Orange, Telekom, Swan .....)
  • Verejna IP adresa
  • Staticka IP adresa, v pripade Dynamickej IP adresy je potrebne pouzit ddns
  • Otvorene porty

DDNS
Co je DDNS ?
Dynamické DNS (anglicky Dynamic DNS, zkratka DDNS) je označení systému, který umožňuje v reálném čase aktualizovat záznamy uložené o internetové doméně na DNS serveru. Nejčastěji se jedná o propojení názvu počítače s dynamicky přidělenou IP adresou, což umožňuje používat pro spojení s počítačem stabilní DNS jméno místo neustále se měnící IP adresy. Systém je využíván v lokálních sítích nebo pro počítače, které se připojují k různým poskytovatelům připojení k Internetu. [WIKI]

Existuje vela sluzieb ktore ponukaju DDNS ja pouzivam https://www.noip.com/
Tato sluzba je zadarmo pre 3 zariadenia.
Postup:
  • 2. Kliknete na Create hostname
  • 3. Vlozte Hostname - homeassistanttest
  • 4. Domain - ddns.net
  • 5. Record type- DNS Host (A)
  • 6. IPv4 Address - zadate Vasu IP adresu
  • 7. Kliknete na Create hostname
Vytvorili ste hostname pre Vasu IP adresu. V nasom pripade to bude homeassistanttest.ddns.net

Synchronizovanie Vasej dynamicky IP adresy s NOIP.
Nainstalujte si na zariadenie kde Vam bezi Home assistant program od NOIP ktory bude na pozadi synchronizovat IP adresu s hostname

PORT FORWARDING
Co je PORT FORWARDING?
Přesměrování portů (anglicky port forwarding) je v informatice metoda směrování portů z jednoho síťového uzlu na druhý. Typickým použitím je umožnění vnějšímu uživateli připojit se na port na soukromé adrese v lokální síti prostřednictvím směrovače, který podporuje technologii překladu síťových adres. [WIKI]

Nastavenie routra. Ja mam router TP-Link takze navod bude podla neho, no bude to podobne aj na inych routroch.
  • 1.Prihlaste sa do Vasho routra
  • 2. Otvorte sekciu NAT Forwarding
  • 3. Otvorte Virtual Servers
  • 4. Kliknite na Add
Vyplnte 1. zaznam
Service type = Nginx
External port = 443
Internal IP = 192.168.0.176 (interna IP zariadenia kde je nainstalovany Home Assistant)
Internal port = 443
Protocol = ALL
Ulozit - Add/OK
Vyplnte 2. zaznam (niekomu to funguje aj bez tohto)
Service type = Nginx
External port = 80
Internal IP = 192.168.0.176 (interna IP zariadenia kde je nainstalovany Home Assistant)
Internal port = 80
Protocol = ALL
Ulozit - Add/OK
  • 5. Odhlaste sa z Vasho routra

REVERSE PROXY - SSL
Co je REVERSE PROXY?
Reverzní proxy server je principem velmi podobný proxy serveru. Sdružuje (resp. rozděluje) požadavky klientů, kteří jsou k němu připojeni. V praxi se nejčastěji využívá s několika připojenými servery. Všechna připojení z internetu směřující na některý z těchto serverů jsou směrována přes tento reverzní proxy server, který buďto požadavek zpracuje sám nebo ho předá dál serverům. [WIKI]

Co je SSL?
SSL (doslova vrstva bezpečných socketů) je protokol, resp. vrstva vložená mezi vrstvu transportní (např. TCP/IP) a aplikační (např. HTTP), která poskytuje zabezpečení komunikace šifrováním a autentizaci komunikujících stran. Následovníkem SSL je protokol Transport Layer Security (TLS). [WIKI]

Pre Reverse Proxy a SSL ja pouzivam doplnok Nginx Proxy Manager priamo v Home Assistant ktory je mozno doinstalovat ako Add-ons

Instalacia Nginx Proxy Manager
  • 1. Prihlaste sa do Home Assistant
  • 2. Otvorte - Nastavenia - "Add-ons, Backup" - Obchod s Doplnkami - Nginx Proxy Manager
  • 3. Nainstalujte Nginx Proxy Manager
  • 4. Zakladna configuracia doplnku
HTTP Entrance port = 80
NGinx Proxy Manager Admin web interface = 81
HTTPS/SSL Entrance port = 443
  • 5.Otvorte WebUI v doplnku Nginx Proxy Manager
  • 6.Pridanie Hosta
Otvorte Hosts - Proxy Hosts - Add Proxy Host
Vyplnte pristup na zariadenie kde bezi Home Assistant
Domain Names = homeassistanttest.ddns.net
Scheme = http
Forward Hostname / IP = 192.168.0.176 (Interna IP adresa Home Assistant)
Forward Port = 8123 (port pre Home Assistant UI)
Websockets Support = zapnute
Save
  • 6. Vytvorenie SSL
Otvorte SSL Certificates - Add SSL Certificate - Lets Encrypt
Vyplnte
Domain Names = homeassistanttest.ddns.net
Email Address for Let's Encrypt = vasa emailova adresa
I agree Let's Encrypt Terms of Service = zapnute
Save
Vytvoril sa SSL certifikat
  • 7. Pridanie certifikatu pre host
Otvorte Hosts - Proxy Hosts - Edit homeassistanttest.ddns.net
Klilnite na SSL
SSL Certificate = homeassistanttest.ddns.net
Force SSL = zapnute
Save
  • 8. Odhlasenie z NGinx Proxy Manager WEBUI
Home assistant configuracia
/config/configuration.yaml

Kód: Vybrat vše

http:
  use_x_forwarded_for: true
  trusted_proxies: 
  - 127.0.0.1
  - 172.30.33.4
  - 172.30.33.5  

ZAVERECNY TEST
Podla toho co sme si nastavili Home Assistant by ste mali vediet otvorit nasledovne
  • V internej sieti (lan/wifi vo Vasom dome) - 192.168.0.176:8123 - skuste sa pripojit k HA
Naposledy upravil(a) perseus dne 13. březen 2023, 23:51, celkem upraveno 5 x.

PepYk_
Pokročilý
Pokročilý
Příspěvky: 112
Registrován: 03. květen 2021, 12:29
Dal poděkování: 2 poděkování
Dostal poděkování: 20 poděkování

Re: Externy pristup k HA bez Nabu Casu

Příspěvek od PepYk_ »

Pěkně napsaný postup i citace základních pojmů, ale otevřít na své bráně porty 80 a 443 udělá jenom a pouze sebevrah ;)
Já osobně používám obdobu a to DuckDNS + NGINX Home Assistant SSL proxy.

jan.svab
Nováček na fóru
Nováček na fóru
Příspěvky: 4
Registrován: 25. září 2022, 08:41

Re: Externy pristup k HA bez Nabu Casu

Příspěvek od jan.svab »

PepYk_ píše: 02. listopad 2022, 14:40 Pěkně napsaný postup i citace základních pojmů, ale otevřít na své bráně porty 80 a 443 udělá jenom a pouze sebevrah ;)
Já osobně používám obdobu a to DuckDNS + NGINX Home Assistant SSL proxy.
Chápu to správně že to byla reakce na předchozí verzi příspěvku a autor ho mezitím upravil a vyhodil port 80 a přidal proxy? Nebo se tvůj setup v něčem podstatném liší od toho, jak je to popsané teď?

perseus
Nováček na fóru
Nováček na fóru
Příspěvky: 7
Registrován: 27. únor 2021, 16:44
Dostal poděkování: 8 poděkování

Re: Externy pristup k HA bez Nabu Casu

Příspěvek od perseus »

jan.svab píše: 02. listopad 2022, 17:26
PepYk_ píše: 02. listopad 2022, 14:40 Pěkně napsaný postup i citace základních pojmů, ale otevřít na své bráně porty 80 a 443 udělá jenom a pouze sebevrah ;)
Já osobně používám obdobu a to DuckDNS + NGINX Home Assistant SSL proxy.
Chápu to správně že to byla reakce na předchozí verzi příspěvku a autor ho mezitím upravil a vyhodil port 80 a přidal proxy? Nebo se tvůj setup v něčem podstatném liší od toho, jak je to popsané teď?
Najprv som port 80 vyhodil, no potom som ho tam dal ako optional, SSL a Proxy tam bol aj predtym

PepYk_
Pokročilý
Pokročilý
Příspěvky: 112
Registrován: 03. květen 2021, 12:29
Dal poděkování: 2 poděkování
Dostal poděkování: 20 poděkování

Re: Externy pristup k HA bez Nabu Casu

Příspěvek od PepYk_ »

Porty 80 (http) a 443 (https) se neotevírají na bráně z hlediska bezpečnosti, to je jenom taková malá poznámka. Však si pro HA můžu klidně otevřít jakýkoliv jiný port, třeba 8123 ;)

Barkas
Nováček na fóru
Nováček na fóru
Příspěvky: 4
Registrován: 19. listopad 2022, 20:46
Dal poděkování: 1 poděkování
Dostal poděkování: 1 poděkování

Re: Externy pristup k HA bez Nabu Casu

Příspěvek od Barkas »

PepYk_ píše: 02. listopad 2022, 20:15 Porty 80 (http) a 443 (https) se neotevírají na bráně z hlediska bezpečnosti, to je jenom taková malá poznámka. Však si pro HA můžu klidně otevřít jakýkoliv jiný port, třeba 8123 ;)
Naopak - mnohem horší je otevřít jakýkoliv jiný port než 443. Protože 443 je naprosto obecná bezpečná šifrovaná komunikace (resp. to je na každém co tam pošle, ale předpokládá se certifikát). Použití 8123 rovnou všem říkám - běží mi tam něco specifického a není to šifrovaný web... Nedoporučuji (navíc 443 se používá pro ověření a obnovu certifikátu - např. nahoře zmíněny let's encrypt)

Já používám VPN. Tzn. vždy když se chci připojit k HA, spustím VPNGuard a jako bych byl doma - z pohledu bezpečnosti, bezkonkurenční.

Uživatelský avatar
rejze69
Pokročilý
Pokročilý
Příspěvky: 336
Registrován: 01. říjen 2022, 16:21
Dal poděkování: 21 poděkování
Dostal poděkování: 16 poděkování

Re: Externy pristup k HA bez Nabu Casu

Příspěvek od rejze69 »

Zdravím
Také jsem nejdřív používal VPN, ale pro spolehlivé použití trackeru to nebylo dobré, stále jsem zapomínal VPN spojit.
Jinak pro šifrovanou komunikaci není důležitý port 443, ale protokol HTTPS, který ovšem můžete provozovat na portu, který si nastavíte v port forwardu.
NTB Acer aspire ONE N4000, 4G RAM, 64G emmc. Testovací Asrock BeeBox N3000 atom. 4GB Ram, SSD128

PepYk_
Pokročilý
Pokročilý
Příspěvky: 112
Registrován: 03. květen 2021, 12:29
Dal poděkování: 2 poděkování
Dostal poděkování: 20 poděkování

Re: Externy pristup k HA bez Nabu Casu

Příspěvek od PepYk_ »

Barkas píše: 19. listopad 2022, 21:12 Naopak - mnohem horší je otevřít jakýkoliv jiný port než 443. Protože 443 je naprosto obecná bezpečná šifrovaná komunikace (resp. to je na každém co tam pošle, ale předpokládá se certifikát). Použití 8123 rovnou všem říkám - běží mi tam něco specifického a není to šifrovaný web... Nedoporučuji (navíc 443 se používá pro ověření a obnovu certifikátu - např. nahoře zmíněny let's encrypt)

Já používám VPN. Tzn. vždy když se chci připojit k HA, spustím VPNGuard a jako bych byl doma - z pohledu bezpečnosti, bezkonkurenční.
No, nechci se tě nějak dotknout, ale zkus si nejprve něco nastudovat o protokolech http, https a samozřejmě taky o portforwardu. To, co jsi zde napsal je tak trošku blbost :)
Od samotného začátku používám pro přístup do mého HA adresu https://mojedomena.duckdns.org:8123 a právě s certifikátem let's encrypt.
S tou VPNkou je to trochu nepraktické řešení. Před každým přístupem na HA musí být spuštěný nějaký VPN klient (ve tvém případě VPNGuard), nechci-li s HA už komunikovat, klienta ukončím. To je už docela složité, když se chci na HA podívat třeba 10x za den... A nechat klienta připojeného trvale, také není v některých případech ideální řešení.

Uživatelský avatar
rejze69
Pokročilý
Pokročilý
Příspěvky: 336
Registrován: 01. říjen 2022, 16:21
Dal poděkování: 21 poděkování
Dostal poděkování: 16 poděkování

Re: Externy pristup k HA bez Nabu Casu

Příspěvek od rejze69 »

A ještě bych k tomu dodal, že jiným portem než defaultním pro daný protokol nikomu nic neříkáte. Jde o to, že hacker nehledá cíle ručně, ale používá boty, které mu skenují otevřené porty na jednotlivých IP a primárně skenuje právě defaultní porty služeb. Úplně nejdříve testuje ping, protože je to nejrychlejší způsob jak zjistit, zda na dané IP něco "žije". Proto je dobré zakázat odpověď na ping.
Dostupných pottů je 65000 a i když už skenuje podrobně a najde Tvůj otevřený port 8123, ještě musí identifikovat jaká služba na něm běží. Může tam totiž běžet cokoli od SSH, přes http až třeba po Wireguard. To znamená, že to komplikuje roboticý postup a ručně se hacker nebude zabývat sítí pana Vopršálka z Horní dolní, ale firmou, nebo nemocnicí.
Na běžné uživatele dnes cílí vektory jako jsou podvodné maily, nebo sms.
Nakonec i do firemní infrasrtuktury, je dnes jednodušší se dostat phishingovou kampaní,
Přímý útok na adresu je potom většinou Ddos, ale opět. Když už tomu hacker věnuje prostředky a čas, cílí na firmu, nebo organizaci, které nedostupnost služeb způsobí velkou škodu.
Výše uvedeným nechci nijak bagatelizovat bezpečnost domácí sítě a rozhodně tomu dále věnujte maximální pozornost a nastudujte si k tomu potřebné informace jak uvedl přispěvatel PePyk
NTB Acer aspire ONE N4000, 4G RAM, 64G emmc. Testovací Asrock BeeBox N3000 atom. 4GB Ram, SSD128

Barkas
Nováček na fóru
Nováček na fóru
Příspěvky: 4
Registrován: 19. listopad 2022, 20:46
Dal poděkování: 1 poděkování
Dostal poděkování: 1 poděkování

Re: Externy pristup k HA bez Nabu Casu

Příspěvek od Barkas »

PepYk_ píše: 20. listopad 2022, 08:01 No, nechci se tě nějak dotknout, ale zkus si nejprve něco nastudovat ....

Moc se omlouvám - živím se sítěmi celý život a tak trochu profesní deformace, když si neuvědomím, že jsem na fóru, kde lidé sítím nemusí rozumět.. Měl jsem svůj názor popsat lépe..

Zkusím to tedy znovu... a dále můžeme diskutovat jinde, sem to nepatří..
  • Neřešíme zde https nebo http - vůbec neuvažuji o tom, že by někdo neměl komunikaci šifrovanou SSL certifikátem. Je jedno na jakém portu - i ty ve svém odkaze používáš https - jak je vidět v tvé URL.
  • Příspěvek byl o portu - tzn. jestli použít 8123 nebo 443 - což nemá nic s protokolem primárně společného. Pouze to, že 443 je dafaultní port pro danou komunikaci. Pokud použijete jakýkoliv jiný port, musíš ho tam napsat, 443 umí vždy aplikace detekovat - tzn. např. tento web https://www.homeassistant-cz.cz/ používá protokol 443 ale v URL není kdežto ten tvůj používá 8123 a musí tam být (https://mojedomena.duckdns.org:8123 ), protože by ho jinak https server očekával na 443 (nebo bys to musel řešit port forwadem - jak uvádíš, ale ani ten radši nepoužívejte, použijte proxy server) - ALE o tom pořád ten příspěvek nebyl
  • Příspěvek byl o tom, že navádět někoho aby použil místo 443 port 8123 nebo 49867 atp..., je chyba. Důvod je jednoduchý - všechny servery (https) - na světě běží na portu 443 popř. na jiném a ale volání je na 443 - třeba přes nginx a pod.. Tzn. dostupných portů 443 je na světě miliadra ale kolik asi bude 8123? Tzn. na 443 ničím nikoho neupozorníš - pouze říkáš běží tam standardní zabezpečený WEB. Ale 8123? Proč asi máš port 8123, co na něm běží? Mrknu se mu na to... Jak to vysvětlit - mám hlavní vchod do budovy a všichni ví, že to je hlavní vchod (443) ale pak mám vedlejší vchod (8123) a říkám si - hmmm proč tam lidí chodí. Jdu to omrknout
  • A pak ta VPN - souhlas, je to trochu méně komfortní - musí udělat o jedno zmáčknutí na víc. Vždy je to něco za něco (komfort vs bezpečnost)
A závěr je jednoduchý - každý povolte přístup dle svého uvážení. Ale vždy jej rozhodně velmi dobře zabezpečte.. Proto já do přístupu do své sítě používám VPN.
A ještě bych doplnil - to co je napsáno nahoře v prvním příspěvku je naprosto v pořádku. Já bych jen forward kompletně řešil přes nginx (ale to může být omezení toho tplink - že to jinak poslat neumí). A také bych ještě vyřešil abych i lokálně používal stejnou URL (nikoliv IP) - např. přes nat anebo jednodušeji - vložením statického záznamu do lokálního DNS serveru.

Odpovědět

Zpět na „Komplexní projekty“