Hi everyone, I was perusing through Conjur and Vault documentation, since I’m starting to think that learning a secret-management system might be a worthwhile investment with the app secrets and SSH keys and CA certificates around.

I was wondering, what do you use in your network? I plan to take a look at Teleport’s documentation too, was curious about what the community uses at home.

Thanks!

  • lungdart@lemmy.ca
    link
    fedilink
    English
    arrow-up
    5
    ·
    1 year ago

    I’m using pass at home, but I’ve used hashicorp vault at a few jobs with great success.

    IBM just forked it to openBao as well to get around the business license, if that’s a concern for your. But honestly I’d trust hashicorp more than IBM at this point.

    • CubitOom@infosec.pub
      link
      fedilink
      English
      arrow-up
      4
      ·
      1 year ago

      Pass for personal use is great. Especially if paired with a self hosted private git repo like gitea.

      Pass works well on all platforms I’ve tried, even android and wsl (although I’ve not tried with iPhone).

      In a corporate setting. The biggest questions is going to be if there is already a secret store that has an API. If security will let you roll your own. How is it allowed to be networked. Who are the preferred vendors and is there any enterprise support available.

      • taladar@sh.itjust.works
        link
        fedilink
        English
        arrow-up
        1
        ·
        1 year ago

        Pass works decently for us (fine except for the GPG key management aspect really) and allows us to have our Puppet config management write new secrets easily and read secrets for config file generation and similar purporses.

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

          How do you securely authenticate, restrict access to secrets and store secrets with pass? Other than GPG authentication and discrete keys for different secrets (in which case, how would you automate key policies and life cycles?)

          • taladar@sh.itjust.works
            link
            fedilink
            English
            arrow-up
            2
            ·
            1 year ago

            We do use GPG keys that are essentially signed by one of our admin keys which is set to fully trusted on the client machines so that keys it signs are trusted with just the one signature. The keys themselves are generated with revocation certificates for those admin keys and a limited lifetime as well by our helper script. The signed keys are stored in the pass repository in a separate folder and the helper script has an idempotent import command which also checks a few other settings and common issues and generates missing revocation certificates after an admin key is replaced. Any automated changes in the repository itself (such as updating the .gpgid files in project directories to include all project members and reencryption afterwards) are made by our puppet master.

            It certainly isn’t perfect but it works well enough.

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

      Indeed, I had heard of OpenBao recently. If it’s a Vault replacement, I’m assuming good support with API and orchestration tools. I’ll check it out, thanks.

      How is pass treating you?

      • lungdart@lemmy.ca
        link
        fedilink
        English
        arrow-up
        1
        ·
        1 year ago

        It’s a cli tool, so you can call it within another call using dollar sign syntax

        terraform apply --var "myvalue=$(pass path/to/value)"
        
        • MigratingtoLemmy@lemmy.worldOP
          link
          fedilink
          English
          arrow-up
          1
          ·
          1 year ago

          Could you tell me how I can use pass whilst authenticating an application with something akin to identities? I.e. I need application 1 to be able to access a certain key but I don’t want application 2 to be able to do so. How would I be able to restrict access to keys?

          A bit about the scenario: I will be running this in a VM which will act as my central password suite on the network, which I will access using a password/keys.