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?

  • spaghettiwestern@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    2
    ·
    edit-2
    4 hours ago

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

    Install Fail2Ban on a free cloud VM and watch it for a couple of days. Seeing the never-ending intrusion attempts from around the world was a real eye-opener. There is no way I’d expose HA (or anything else except Wireguard) to the Internet. (Open WG ports appear closed unless they receive the correct key.)

    In your situation I’d just pay for Home Assistant Cloud. It’s not expensive and will do exactly what you want to do.

    For a zero cost solution I use Tasker to automatically enable a Wireguard tunnel whenever we’re not on home wifi. It allows direct access to everything on our local lan, and as a bonus prevents our wireless carrier from monitoring our Internet activities. A combination of the OpenWRT Ubus integration and a BLE integration (using inexpensive Shelly switch modules) detect when we’re home with 100% accuracy.

  • SkunkWorkz@lemmy.world
    link
    fedilink
    English
    arrow-up
    4
    ·
    6 hours 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.

  • bob_lemon@feddit.org
    link
    fedilink
    English
    arrow-up
    2
    ·
    6 hours 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

  • CompactFlax@discuss.tchncs.de
    link
    fedilink
    English
    arrow-up
    2
    ·
    edit-2
    6 hours 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.

  • tofu@lemmy.nocturnal.garden
    link
    fedilink
    English
    arrow-up
    16
    ·
    12 hours 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
      11
      ·
      12 hours 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! 👍🏼🙏🏼

  • Archer@lemmy.world
    link
    fedilink
    English
    arrow-up
    5
    ·
    10 hours 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

  • dislabled@lemmy.ml
    link
    fedilink
    English
    arrow-up
    8
    ·
    12 hours ago

    I don’t really see why you shouldn’t… I have mine behind a reverse proxy, which puts SSL on the public endpoint. The biggest “issue” today, is the isp rotating my ipv4 address to often.

  • CameronDev@programming.dev
    link
    fedilink
    English
    arrow-up
    3
    ·
    10 hours ago

    Mine is on the internet. The real risk is a zero day auth bypass, password cracking won’t really work when the HA interface sends notifications on authentication failures.

  • SwingingTheLamp@piefed.zip
    link
    fedilink
    English
    arrow-up
    3
    arrow-down
    1
    ·
    9 hours 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.

  • hendrik@palaver.p3x.de
    link
    fedilink
    English
    arrow-up
    2
    ·
    11 hours 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  
    
  • undefinedTruth@lemmy.zip
    link
    fedilink
    English
    arrow-up
    1
    ·
    10 hours 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.

  • thr0w4w4y2@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    1
    ·
    11 hours ago

    If you have to open it up, then you can at least allow-list IP addresses through your firewall so it’s not everyone who gets full access.

    • tofu@lemmy.nocturnal.garden
      link
      fedilink
      English
      arrow-up
      6
      ·
      11 hours ago

      How’s that supposed to work if the other people want to access it “from the Internet”, most likely meaning their mobile phones when not at home? Find out all IP subnets for the carrier?

      • HeyJoe@lemmy.world
        link
        fedilink
        English
        arrow-up
        1
        ·
        9 hours ago

        I have done something similar on mine but reversed. Instead of a whitelist I put together a rule to geo block all countries except the one I am in at the firewall. Before doing this I absolutely saw unknown traffic hit me constantly. With this in place it has been quiet ever since. You could probably narrow it down some more if you really feel like it’s necessary. I know this is also hardee for some people to do since before I had this firewall I did not have an easy option to just block traffic like this.

        • Coleslaw4145@lemmy.world
          link
          fedilink
          English
          arrow-up
          1
          ·
          6 hours ago

          I do this as well, but another approach I was thinking about implementing (i havent tried it yet) was to also block all IP addresses not belonging to mobile networks or residential ISPs in my country.

          That way, in theory, only a mobile network IP or somone on residential wifi would pass through my firewall to Home Assisstant, and this would filter out IPs belonging to datacentres which may be hosting hostile VPS’s, Tor exit nodes, proxies, VPN exit points, etc, etc.