Hi, I was looking at private CAs since I don’t want to pay for a domain to use in my homelab.

What is everyone using for their private CA? I’ve been looking at plain OpenSSL with some automation scripts but would like more ideas. Also, if you have multiple reverse-proxy instances, how do you distribute domain-specific signed certificates to them? I’m not planning to use a wildcard, and would like to rotate certificates often.

Thanks!


Edit: thank you for everyone who commented! I would like to say that I recognise the technical difficulty in getting such a setup working compared to a simple certbot setup to Let’s Encrypt, but it’s a personal choice that I have made.

  • InEnduringGrowStrong@sh.itjust.works@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    2
    ·
    11 months ago

    I’m just doing mutual TLS to authenticate clients which I use the pricate CA for.
    I could use the orivate CA for the server instead of lets encrypt and trust that on devices, but letsencrypt is easy enough and useful for other things that I open publicly. mTLS avoids needing a vpn for more sensitive services

    • MigratingtoLemmy@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      2
      ·
      edit-2
      11 months ago

      Did you design your lab infrastructure to operate in a zero trust security framework? I’m very interested; I never really grasped mTLS, but I’m going to try and read more about it. Thanks!

      Edit: Alright, I understand the high-level concept of mTLS. Just need to check the implementation details with my reverse-proxy

      • InEnduringGrowStrong@sh.itjust.works@sh.itjust.works
        link
        fedilink
        English
        arrow-up
        2
        ·
        11 months ago

        Not really, although now that I have certs for those anyway, maybe I should.
        More like I’m using some services on the go that I want to always work, whether I’m on the LAN or on the go.
        Opening home automation or 3d printers to the Internet is unwise to say the least.
        mTLS in the reverse proxy for those allows me to have more security without having to establish a VPN first.

        • MigratingtoLemmy@lemmy.worldOP
          link
          fedilink
          English
          arrow-up
          2
          ·
          11 months ago

          Oh, that’s a great idea! Indeed, using certificates to identify yourself would work quite well in such a scenario. Whilst I would always use a VPN server, this has given me something new to think about! Thanks!

          • InEnduringGrowStrong@sh.itjust.works@sh.itjust.works
            link
            fedilink
            English
            arrow-up
            2
            ·
            11 months ago

            What’s nice is it provides a similar level of protection to using a VPN with PKI, but just for that specific subdomain. While a VPN would be have to be connected manually before use (or all the time), this is built-in.

            The odds of someone breaking through the mTLS and breaking through that application’s security at the same time are much smaller than either separately.
            If you don’t have a valid cert, you’re dropped by the reverse proxy before anything even gets passed to the server behind it.

            I’m a big fan of it.