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.

  • MigratingtoLemmy@lemmy.worldOP
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 year ago

    I’d be very interested to hear your reasoning behind using a private CA for clients but using Let’s encrypt for servers. Thanks for the explanation on the OpenSSL setup!

    • [email protected]@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      2
      ·
      1 year 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
        1 year 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

        • [email protected]@sh.itjust.works
          link
          fedilink
          English
          arrow-up
          2
          ·
          1 year 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
            ·
            1 year 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!

            • [email protected]@sh.itjust.works
              link
              fedilink
              English
              arrow-up
              2
              ·
              1 year 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.