internal certificate distribution? - eviltoast

How do you manage the distribution of internal TLS network certificates? I’m using cert-manager to generate them, but the root self-signed certificate expires monthly which makes distribution to devices outside of K8s a challenge. It’s a PITA to keep doing this for the tablet, laptop and phones. I can bump the root cert to a year, but I’m concerned that the date will sneak up on me. Are there any automated solutions?

  • vext01@lemmy.sdf.org
    link
    fedilink
    English
    arrow-up
    6
    ·
    3 months ago

    I looked into this recently.

    There’s a DNS challenge designed for this exact scenario called (from memory) DNS01, but it’s more of a faff than I’m willing to get involved with.

    Basically you push proof that you own the domain into a DNS record instead of to a file on a web server. It requires a DNS provider that has an API and a client that speaks that API.

    It also leaks private DNS stuff into the public domain.

    I’d love it if someone devised an easier way. Maybe there is an easier way?

    • Eskuero@lemmy.fromshado.ws
      link
      fedilink
      English
      arrow-up
      6
      ·
      3 months ago

      I do the dns challenge with letsencrypt too but to not leak local dns names into the public I just run a pihole locally that can resolve those domains

      • skilltheamps@feddit.org
        link
        fedilink
        English
        arrow-up
        3
        ·
        edit-2
        3 months ago

        The DNS server is only one thing you tell the domain, the other is the certificate authority. And those publish all issued certificates as part of certificate transparency. https://en.m.wikipedia.org/wiki/Certificate_Transparency

        To mitigate the amount of published information, you can request wildcard certs to keep the subdomains private.

        You can also use a wildcard cname entry to capture all subdomains and leave out the pihole faff, given that you use a reverse proxy that forwards to respective services by subdomain.

    • fine_sandy_bottom@lemmy.federate.cc
      link
      fedilink
      English
      arrow-up
      1
      ·
      3 months ago

      This is me.

      In public dns, configure *.home.example.com as an A record pointing to the local IP for my traefik container.

      Traefik then manages all certificates. It sets a TXT record with my dns providers API like privatesercice.home.lebowheatcroft.com, requests the cert from letsencrypt, then deletes that TXT record.

      Yes the local IP of my server is leaked, but names of services are not.