Since the beginning of this year, Let’s Encrypt rolled out a new shortlived profile for certificates that make them valid for only 160 hours. The intention, as they say, is to encourage automation and reduce the window of certificate compromise (because revocation is somewhat a flakey thing).

Yet, I haven’t seen a lot of news about it since then. Hence the question: is this shorter cert thingy something you considered and deployed for your homelab?

As for me I’ve set up lego-acme with profile: "shortlived" on my rig. Lego runs on a bihourly cronjob, but only renews when a cert has >=3 days to expiry. It’s been pretty much a set-and-forget experience, although some more monitoring would be nice.

  • sonstwas@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    13
    ·
    9 hours ago

    Honest, non-techie question: How is it an advantage? Given modern crypto isnt it more likely that a mitm didn’t crack the crypto but instead got somehow else in the middle and just can “ignore” certs renewals?

    • BorgDrone@feddit.nl
      link
      fedilink
      English
      arrow-up
      19
      arrow-down
      1
      ·
      9 hours ago

      Several reasons

      • If a private key leaks, a shorter certificate lifespan limits the fallout
      • Faster upgrades to new cryptographic standards. If some of the crypto methods used get broken, short lived certificates means they get replaced with newer methods faster
      • Short lived certificates force sysadmins to automate the renewal process. This prevents expired certificates due to forgetting the manual renewal.
      • Certificate lifetime and domain ownership mismatch. You could buy a 2 year certificate for somedomain.com and then sell the domain or just let it expire and have it picked up by someone else. You then have a valid certificate for a domain you no longer ow and you could MitM traffic for the new owner’s website.
      • billwashere@lemmy.world
        link
        fedilink
        English
        arrow-up
        1
        ·
        4 hours ago

        You make some good arguments so I’m not attacking you at all, just my thoughts on your points. These short renewal times are getting to the point of ridiculousness and creating another point of failure with little time to do anything about it. I find these super short certs less than useful, create many more possible problems, and not really necessary except for a small set of circumstances. And I have been in IT as a web dev/sys admin/systems architect for over 30 years now.

        • If a private key leaks you’ve likely done something wrong. Practice better key management and don’t be stupid
        • Updating certs to keep up with new crypto standards is useless. For one they don’t change that often and if there is a pressing reason you can’t update earlier.
        • Yes the processes have to be automated which is not a bad idea at all. But you are completely relying on the service to not be down and that something on your end hasn’t also broken. Anybody that hasn’t ever been a sys admin has had several automated process die for no apparent reason.
        • This could actually be an issue but totally out of your control. This is only relevant if you domain hop frequently and if your that worried about security, you aren’t doing that.
      • ÚwÙ-Passwort@lemmy.world
        link
        fedilink
        English
        arrow-up
        7
        ·
        9 hours ago

        My last job had an Onlineshop, 4years in a row the colleague dealing with ssl wad on vacation when the cert ran out.

        • chronicledmonocle@lemmy.world
          link
          fedilink
          English
          arrow-up
          4
          ·
          8 hours ago

          Your colleague sucked at automation. Normally, I’d say no one should be bothered on vacation, but in this case you should have called him on his vacation, since he didn’t value anyone else’s time either.

          • roofuskit@lemmy.world
            link
            fedilink
            English
            arrow-up
            3
            ·
            7 hours ago

            The manager sucked. There’s a lot of solutions to this issue but cross training and proper backup preparation are the most ideal ones.

      • undefinedTruth@lemmy.zip
        link
        fedilink
        English
        arrow-up
        2
        ·
        7 hours ago

        Short lived certificates force sysadmins to automate the renewal process. This prevents expired certificates due to forgetting the manual renewal.

        That was already the case with the 90 day ones. No sane person is going to be manually renewing certificates every 3 months.

    • dan@upvote.au
      link
      fedilink
      English
      arrow-up
      6
      ·
      edit-2
      8 hours ago

      A private key leaking is bad, since anyone with the private key can decrypt data that was encrypted with it.

      Traditionally, the way that leaked certs were handled was via Certificate Revocation Lists (CRL). CRLs contain lists of revoked certificates - their serial number, revocation date, and the reason why they were revoked.

      However, CRLs are imperfect. Checking for revoked certificates every time you go to a site would slow things down a lot, as the lists are now too large to check and download real-time. Modern browsers and other TLS clients periodically download the lists in the background. Also, it might take a while between when the certificate is compromised and when the company notices the compromise.

      Because of this, the CA/Browser forum (a group with all the major browser and TLS certificate vendors) have started dropping the max lifetime of certificates. The idea is that even if a private key does leak, the time frame that it’s usable for will be significantly shorter and any leaks should (in theory) cause less damage.

      • The original maximum duration was 39 months: Three years plus an extra three months leeway for obtaining and deploying new certificates.
      • March 2018: Reduced to 825 days
      • September 2020: Reduced to 398 days
      • March 2026: Reduced to 200 days
      • March 2027: Planned to reduce to 100 days
      • March 2028: Planned to reduce to 47 days

      All modern deployments, regardless of if they’re using free or paid certs, should have their renewals fully-automated, so in theory the validity period shouldn’t matter as much as it did in the past. All major vendors (Let’s Encrypt, DigiCert, Sectigo, GlobalSign, AWS, SSL .com, etc) support ACME now. Reducing the validity is also a forcing function t o ensure automation is actually implemented.

      somehow else in the middle and just can “ignore” certs renewals?

      I’m not sure that’s possible, since an attacker in the middle shouldn’t be able to obtain a valid certificate for the domain. Certificates have a “not valid after” date encoded into them, after which the certificate is considered invalid and you get an error.

    • EnsignWashout@startrek.website
      link
      fedilink
      English
      arrow-up
      2
      ·
      8 hours ago

      The real value is in the agility needed to update certs every six days.

      Six days is still too long to leave a compromised key in play, but anyone who can rotate their keys every six days can probably also rotate their keys quite quickly if there’s a comprise.

    • corsicanguppy@lemmy.ca
      link
      fedilink
      English
      arrow-up
      4
      arrow-down
      1
      ·
      9 hours ago

      You’re gonna get different viewpoints, ranging from “yeah, but it’s popular” to “shut up”.