Password Manager Setup

With data breaches being a regular news item these days, it has become common for people to ask #infosec professionals about securely using and storing #passwords. And, of course, it can be a fun topic to digress into in Slack channels, during meetings, etc. In fact, I just got asked about this last week while hiking in the Swiss Alps!

TL;DR - My Setup

Before we get into it, here’s my setup:

Personally, when asked, I usually say that what I do is not what the average person should do and proceed to recommend commercial tools such as 1Password, Bitwarden, etc. I used to recommend LastPass, due to its ease of use, especially with sharing to family members, but I just cannot recommend them in good conscience any longer.

Now, onto my setup for the masochists out there:

KeepassXC

First, the password manager itself: KeepassXC is itself a fork from the original Keepass and has all kinds of features, but the ones important to me are:

Two new USB-C Yubikeys|400
Image: Two new Yubikeys. Always make backups of the key configurations.

Settings

An important thing to note is that there are two sets of configuration settings:

There are a lot of options, and some features have to be enabled in the settings before they work (e.g. Keeshare), which is a nice attack surface-reducing design choice. Create the database with a reasonable password

  1. Enable the Browser integration, check the box next to your browser type, and install the relevant extension
  2. A 10 second timeout on the clipboard is a bit short, so I like to extend it to a couple minutes
  3. Keeshare has to be explicitly enabled
  4. Configure challenge-response for the Yubikey
    1. Setup Yubikey Authenticator
    2. Connect your Yubikey, click on “slot 2”, click challenge-response and create the key.
    3. Copy this key into the Keepass database for future reference
    4. Configure additional Yubikeys as backup

And that’s about it. With the database syncing through Nextcloud, I have a very secure credential management system.


  1. Still, nearly every Saas vendor with customers and a lifespan of 3 years or more has suffered a breach. My self-hosted cloud service has not yet been compromised. ↩︎