I’m running my own HA locally, in my house, but I would like to be able to access it also when I’m not home. So I’ve put it on my Zerotier One VPN, which works fine. Except for two things:

  1. HA no longer knows when I’m home - it thinks I’m always home;

  2. Other people in my household would also like to have remote access, but it’s unrealistic to have them install and use the VPN.

So - can I just open it up, and rely on long, complex passeords? Or is that a complete no-go?

  • tofu@lemmy.nocturnal.garden
    link
    fedilink
    English
    arrow-up
    14
    ·
    1 month ago

    It’s generally fine to open it up, if your somewhat know what you’re doing. I wouldn’t do it without some protection measures like fail2ban and making sure HA is always up to date.

    Nabu Casa, the manufacturer of HA, has a paid option where they take care of publicly accessing your local HA instance. I think that’s a good solution as well. It includes backups on their servers.

    • ropatrick@lemmy.world
      link
      fedilink
      English
      arrow-up
      15
      ·
      1 month ago

      Nabu Casa is the way. Built by Home Assistant for Home Assistant, and utterly seamless and reliable (in my experience).

      Most importantly it supports the developers who have created this amazing piece if software! Do it! 👍🏼🙏🏼

  • hendrik@palaver.p3x.de
    link
    fedilink
    English
    arrow-up
    4
    ·
    1 month ago

    Mine is open to the internet, via a nginx reverse proxy. I made it ban people who try to brute-force my password. It’s been fine like that for years now:

    http:  
      trusted_proxies:  
        - w.x.y.z  
      use_x_forwarded_for: true  
      ip_ban_enabled: true  
      login_attempts_threshold: 10  
    
  • SkunkWorkz@lemmy.world
    link
    fedilink
    English
    arrow-up
    4
    arrow-down
    1
    ·
    1 month ago

    I just use a Cloudflare tunnel using the Cloudflared plugin and a custom domain name. So no need to open ports. I use long passwords for the users. Not sure how unsafe it is but in HA you get a notification when a failed login happened.

  • Archer@lemmy.world
    link
    fedilink
    English
    arrow-up
    3
    ·
    1 month ago

    What I personally do is have it accessible over WireGuard. Open TCP ports to the Internet is a bad idea. This does mean you have to launch WireGuard every time, but it’s way more secure

  • undefinedTruth@lemmy.zip
    link
    fedilink
    English
    arrow-up
    3
    ·
    1 month ago

    If you don’t want to use a VPN like Tailscale (or ZeroTier) then this is exactly what the Home Assistant Cloud is for. And it even has an 1-month trial.

  • SwingingTheLamp@piefed.zip
    link
    fedilink
    English
    arrow-up
    3
    arrow-down
    1
    ·
    1 month ago

    I work in IT at a major university, and watch the logs. My Home Assistant instance is open to the Internet behind an nginx reverse proxy with SSL. (The official add-on makes it easy.) Brute-forcing passwords on HTTPS is not really a thing anymore. I get a connection attempt or two per month at home. At work, they go for known vulnerabilities in web apps; WordPress, mostly.

  • CompactFlax@discuss.tchncs.de
    link
    fedilink
    English
    arrow-up
    2
    ·
    edit-2
    1 month ago

    Mine is on the internet behind nginx. I block connections not originating in countries that are reasonable for my family. I don’t like geoip blocking but it straight up eliminated almost all the IDS alerts. I needed to migrate to DNS based validation for certbot.

    If I or my family leave the geo region, I’m “away” anyways until I return to the area and my device gets a new IP. Or I can allow the country temporarily.

    With the price of oil and therefore plane tickets what it is, I won’t be leaving my geo region.

  • JustEnoughDucks@slrpnk.net
    link
    fedilink
    English
    arrow-up
    2
    ·
    1 month ago

    If you are hosting other things with it, then a reverse proxy like Caddy or Traefik + crowdsec is pretty much as good as you are going to get and you can add region blocking on your router (if that feature is available) or if you use cloudflare as a proxy.

    If you want to go really crazy, you can put authelia/Authentik in front of it, depending on what else you host.

  • Lka1988@lemmy.dbzer0.com
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 month ago

    My HA instance is publicly accessible (with 2FA) through Nabu Casa’s cloud service. Happily paying the subscription price of a whole $7/mo for that feature and to support them.

    I can quickly switch it to my own reverse proxy if necessary.

  • patruelis@lemmy.world
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 month ago

    A good, simple solution is Cloudflare.

    Why? Because you can lock it down to specific people, for example only to those who have these 4 email addresses.

    They need to enter the code received via email ever month or so. Everyone else, no code no access.

  • bob_lemon@feddit.org
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 month ago

    I solved Problem 1 by adding ICMP to HA. It’s constantly checking if my phone is present on the WiFi*.

    I’m using Tailscale instead of ZeroTier, but that should not matter.

    *I could also use my routers integrstion, but this logic worked with my shitty old router that had no integration