Objective: Secure & private password management, prevent anyone from stealing your passwords.

Option 1: Store Keepass PW file in personal cloud service like OneDrive/GoogleDrive/etc , download file, use KeepassXC to Open

Option 2: Use ProtonPass or similar solution like Bitwarden

Option 3: Host a solution like Vaultwarden

Which would do you choose? Are there more options ? Assume strong masterpassword and strong technical skills

  • 👁️👄👁️@lemm.ee
    link
    fedilink
    English
    arrow-up
    13
    arrow-down
    1
    ·
    1 year ago

    I used to self host Bitwarden, but didn’t want the hassle of securing it and updating it properly and consistently. So I just pay $10 for bitwarden premium and I get to support the company.

  • James Kirk@startrek.website
    link
    fedilink
    English
    arrow-up
    10
    arrow-down
    1
    ·
    1 year ago

    Option 2. It’s the most robust. You’ll never lose it (provided you have the redundancy), you can use it offline, you can transfer it using a USB pen, it’s available in all platforms, including web. I’ve been using this for 8+ years, on my phone, desktop, laptop, company computer, etc. I store it on a personal cloud (and on each machine, of course, by syncing).

  • Chewy@discuss.tchncs.de
    link
    fedilink
    English
    arrow-up
    6
    ·
    edit-2
    1 year ago

    Option 3: Vaultwarden + Wireguard.

    I don’t have to worry about attacks from the internet. And a single wireguard connection on my phone sometimes doesn’t even appear on the battery stats.

    Edit: Browser addons need valid ssl certificates, which I get by dns challenge.

    • binom@lemmy.world
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      could you expand a bit on your edit? so bitwarden extensions need a valid ssl certificate for the domain where the server is hosted? how do you get that for (i assume) a local domain? thank you for your time!

      • Chewy@discuss.tchncs.de
        link
        fedilink
        English
        arrow-up
        2
        ·
        edit-2
        1 year ago

        DNS-01 challenge allows for domain ownership verification without open ports and instead looks for a txt record. Using a tool like lego[1] with the respective dns provider’s API automatically creates and deletes the txt record after generating a certificate.

        Because ownership is verified by dns txt entry, the (sub-)domain doesn’t have to point to a publicly routable host. This allows for using any IP, so I’m using a local ip only available through wireguard or my local network (E.g. bitwarden.example.com points to 192.168.1.123).

        The disadvantage is that the provider has to be supported and you have to store an API key for your domain on the server.

        [1] https://github.com/go-acme/lego

        • binom@lemmy.world
          link
          fedilink
          English
          arrow-up
          1
          ·
          1 year ago

          that’s genius. i have never even considered that you could use a (sub)domain with a local ip like that to get a certificate from a trusted ca. i ma not sure i understand the neccessity for api access to your dns service. is the txt record for LE different every time you have to pass a challenge? otherwise i imagine you could just set and forget the record.

          thank you for the explanation, well appreciated!

          • Chewy@discuss.tchncs.de
            link
            fedilink
            English
            arrow-up
            2
            ·
            edit-2
            1 year ago

            Yes it’s awesome. I never even considered that it’s possible to add not publicly routable IP’s to public DNS server, until I recently read a post about dns-01 challenge.

            I believe the txt record is different every time.

      • tuhriel@infosec.pub
        link
        fedilink
        English
        arrow-up
        2
        ·
        1 year ago

        Not the one who wrote initially, but i have the same setup (mostly).
        I went with a self signed certificate. So the server is running with a certificate i have signed with my own certification authority certificate (ca-cert) .
        That means I have to install the ca-cert on all devices to get vaultwarden to accept it.

        The alternative is a let’s encrypt cerrtificate, which are free, but you need to open port 80 (and another one if I remember correctly) for it to work (at least every 3 months)

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

          If you own a domain name you can use the DNS-01 challenge instead of hosting a web server to serve the challenge response.

          With DNS-01 it will add a TXT record to your DNS zones and check if the record exists to verify that you own the domain and then issue the certificate.

          Depending on which tool you use, they usually support DuckDNS and some other free DDNS providers. If you have your domain on a registrar, chances are that it’s also supported.

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

            Yep that would be a good alternative…I don’t have an official domain for it, so I went the self-signed way

            Which enables me to provide tls/https for all my local services. And it was a fun experience to learn

  • Boring@lemmy.ml
    link
    fedilink
    English
    arrow-up
    5
    ·
    1 year ago

    I use keepassXC and sync across my devices with nextcloud and its as reliable as my server is.

    I’ve toyed around with passbolt, and I really want to try because it just looks cool to me, but I keep having trouble with it playing nice with my reverse proxy.

    • Mio@feddit.nu
      link
      fedilink
      English
      arrow-up
      4
      ·
      1 year ago

      Keepassxc + syncthing to phone in read only mode and to other machine. So 3 copies on different machine, while one of them is on me

  • BastingChemina@slrpnk.net
    link
    fedilink
    English
    arrow-up
    5
    ·
    1 year ago

    Bitwarden for me. My password manager is not just for me, it’s also a crucial component of my family life so if something happened to me I want my next of kin to be able to access it

    For that it needs to be an easy to access solution.

    • danieldigital@lemmy.world
      link
      fedilink
      English
      arrow-up
      1
      ·
      edit-2
      1 year ago

      Same, I’m all for complicated things that only I know how to use but the keys to the kingdom shouldn’t be one of those when there are laypeople relying on me.

      I still have to figure out how to let those people in when needed, I’m thinking writing the master password and the backup code on a paper that lives in a drawer, maybe in a “break in case of emergency” box, etc.

      Curious what’s the best way to mitigate the wrong person getting that, but I think if you have to worry about someone breaking in your house who is also looking for that info, then you have a different threat profile to consider, and the above calculus doesn’t apply.

      • BastingChemina@slrpnk.net
        link
        fedilink
        English
        arrow-up
        1
        ·
        1 year ago

        Bitwarden offer the option to set up an emergency contact.

        You choose someone to be an emergency contact, it means that if they want they can request access to view your passwords.

        When they send a request you receive several emails to warn you and after X (you can choose the amount) days if you don’t do anything they get access to your account.

  • marcos@lemmy.world
    link
    fedilink
    English
    arrow-up
    4
    ·
    edit-2
    1 year ago

    Keepass + syncthing.

    Don’t let your vault go unencrypted through the cloud.

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

      Your vault is always encrypted very securly except when in RAM. There is no security concern with uploading it directly to the cloud.

      • marcos@lemmy.world
        link
        fedilink
        English
        arrow-up
        2
        arrow-down
        1
        ·
        1 year ago

        It’s encrypted at rest with a passphrase. Syncthing encrypts it at transit with a random key.

        There is a huge difference on the security of those.

        • pchem@feddit.de
          link
          fedilink
          English
          arrow-up
          2
          ·
          edit-2
          1 year ago

          Keepass allows you to use a passphrase in combination with a randomly generated keyfile. You only need to copy the keyfiles to your devices once (not via cloud services, obviously). Your actual database can then be synchronized via any cloud provider of your choice (hell, you could even upload it publicly for everyone to see) and it would still be secure.

  • JakenVeina@lemm.ee
    link
    fedilink
    English
    arrow-up
    4
    ·
    1 year ago

    Option 1, except for the cloud bit. My KeePass file is stored in a restricted shared folder on my home file server, and auto-syncs to my phone on the rare occasion I update it from my desktop.

  • Doubletwist@lemmy.world
    link
    fedilink
    English
    arrow-up
    3
    ·
    1 year ago

    I’ve been using option 1 for many many years. It lets me keep control of the encryption, and it’s accessible just about anywhere.

  • dogma11@lemmy.world
    link
    fedilink
    English
    arrow-up
    3
    ·
    1 year ago

    I’m currently hosting vaultwarden on my rack, mostly just because I can really. It’s easy enough and I have plenty of resources.

  • tlf@feddit.de
    link
    fedilink
    English
    arrow-up
    2
    ·
    1 year ago

    I use option 1 with Syncthing for a distributed cloud solution

  • TechieDamien@lemmy.ml
    link
    fedilink
    English
    arrow-up
    3
    arrow-down
    1
    ·
    1 year ago

    Option 4: levy existing tools such as gpg and git using something like pass. That way, you are keeping things simple but it requires more technical knowledge. Depending on your threat model, you may want to invest in a hardware security key such as a yubikey which works well with both gpg and ssh.

    • KairuByte@lemmy.dbzer0.com
      link
      fedilink
      English
      arrow-up
      4
      ·
      1 year ago

      Why use tools not meant for password management, when alternative tools explicitly meant for password management, which have similar levels of security, work just fine?

      You’re essentially saying “instead of driving down the road, I like to ride my bike with rollerblades.”

      • bnjmn@lemmy.world
        link
        fedilink
        English
        arrow-up
        2
        ·
        1 year ago

        I have a set up like this (age, passage, & git). Bitwarden’s browser integration works just fine, for the most part. The thing is, some of my passwords are not browser-based, and I spend large amounts of time in the terminal. Using a CLI-tool in this case lets me save a bit of time

      • TechieDamien@lemmy.ml
        link
        fedilink
        English
        arrow-up
        2
        ·
        1 year ago

        It is just how I prefer to do my computing. I tend to live on the command line and pipe programs together to get complex behavior. If you don’t like that, then my approach is not for you and that’s fine. As for your analogy, I see it more as “instead of driving down the road in a car, I like to put my own car together using prefabs”.