Hi all,
Thought I’d throw this one to the group to get some ideas as I suspect this is one of those areas where one can ask a half dozen people the same question and get ten different answers!
Like a lot of people, I get self-signed certificate warnings when accessing a lot of internal self-hosted services and devices. It would be nice to make a small quality of life improvement by changing these certificates over to ones issued by a recognised third-party CA in order to remove these warnings. I’m talking specifically about internal services/devices only accessible via my internal network, and not externally facing services which already have recognised TLS certificates attached.
I can see several approaches available, but nothing has really jumped out at me yet as being an optimal solution. A few thoughts (not necessarily pros and cons) on the options swimming around in my head are below.
ACME protocol and Let’s Encrypt (or equivalent):
- Seems to have good support in Proxmox (although for Let’s Encrypt only, not other equivalent services)
- Seems to be some sort of support for Home Assistant (albeit via DuckDNS or third-party addons)
- Doesn’t help for other devices that can’t run ACME (e.g., network hardware such as wireless access points)
- Using these certificates everywhere on my LAN will require hosting proxies of some sort (e.g., Traefik or Nginix Proxy Manager) for the devices or services without built in ACME/certbot support
- Could get messy quickly with a possible mix of DNS validation, HTTP validation (also requires exposing services to the internet which I’d rather avoid)
- Hostnames of internal services will get exposed via certificate transparency logs or DNS entries
Proxy everything via Traefik/Nginx Proxy Manager:
- Some of the above points still apply (e.g., certificate transparency logs)
- Extra setup and admin for another service at home
- Won’t solve specific edge cases (e.g., can’t load this certificate onto my wireless controller/access points to serve HTTPS captive portal for guests) without a ton of mucking around (e.g., manually downloading certificates and uploading them to devices at or before expiry)
Roll my own and host my own CA:
- Extra flexibility for cert usage and validity periods
- No DNS/HTTP validation/other exposure to the public internet
- Requires adding self-issued root certificate to all devices (not always an option - e.g., guest devices on guest SSID for visitors, or giving a visitor temporary access to Home Assistant while they stay for a few nights)
- Extra setup and admin for another service at home, more so than using Traefik/NPM
Buy a domain wildcard certificate:
- Big $$$$ which I’m not willing to spend on what is really only a mild “quality of life” improvement
- Potentially a lot of manual intervention coming as certificate validity periods begin to drop, especially for devices that need me to manually replace certificates (i.e., switches, wireless access points)
- More difficult to automate when compared to ACME/certbot
Any thoughts from the brains trust? I’ll admit this isn’t really a big deal and is more of a “nice to have”. It’s a bit of a blind spot for me knowledge wise, as over the decades I’ve never had to go much deeper than “generate CSR → upload to issuer → download certificate → install on web server”.
Open to any and all discussion or knowledge from the group!
Cheers,
Belfry