Thinking about using a password manager that is free, secure, and you have your doubts about the online ones? Well lucky you, this is just the post you are looking for.
With all these hacks and breaches going around, you shouldn’t be reusing passwords and you know it. Instead, you can let a password manager generate long and gibberish-like random passwords for all your logins. That way, hackers have to throw a thousand cores and millions of years at it before they can crack them. If they crack one anyway, it won’t matter much because it will only work on that one site.
Trusting all your passwords to a piece of software? Is that a good idea? What about if I need my passwords on another machine, or my phone? What if I’m on vacation?
I’ve been storing all my passwords in KeePass for many years now, so I’ll share my setup. You can use this as inspiration to set up your own KeePass flow.
There are a few cloud-based alternatives out there, but when I started with KeePass those weren’t around yet, or I didn’t know about them.
I thought about switching to one, but eventually didn’t because:
- They are not free or have limited free-plans.
- They are using proprietary software, so you can’t tell how they work and if they really do store your passwords safely. KeePass however is open source and has been audited for security in the past.
- The database format is not open. KeePass is open source, so there are multiple clients for all OSes available that can work with your KeePass password database file. If you don’t like one client, just look for something you like better.
- Storing all your passwords on a server owned by someone else without a local backup sounds like a bad idea to me.
- Some can’t be used for things other than websites. Like desktop app credentials. Or even SSH logins and other weird and geeky stuff you need random secrets for.
Yes, they are slightly more convenient and look a bit more polished. But for me, that doesn’t weigh up against the extra control I get with KeePass.
KeePass exists for Windows, Linux, macOS and Android. It’s a typical installation. If you’re as geeky and paranoid as me, you download it from the main site, and you check the md5 hash of the installation files. That way, you’re 100% sure you didn’t download some altered or hacked version. It hasn’t happened with KeePass before, but it did happen to the Linux Mint ISO’s at one point, so you can never be sure.
There is a getting started guide on the KeePass website that guides you through setting up and creating a first database. This Lifehacker post does the same thing and also has some nice screenshots for guidance.
There is also the great cross-platform client KeePassXC for Windows, Mac and Linux, if you tend to swap between different OSes. It looks nicer, and it has browser integration built in, which might be something you are looking for.
Securing your password database
When it comes to securing your password database, you have to make sure your master password to unlock it is of course a pretty damn good one. It has to be as long as possible (at least 10 characters, but more is better), higher case, lower case, number, special characters, the whole shebang. On top of that, you’ll have to be able to remember it too. So I guess this is one of the hardest bits.
There are tricks to make this easy though. Think of a good phrase you can easily remember. Or any list of words. Take the first or first few letters of each word, mix it up with some special characters, and you end up with something hard to crack and easy to remember.
Or just come up with a good passphrase of random words you can remember. Don’t use Correct Horse Battery Staple or a popular lyrics phrase because they are probably in some password list database already. You can use a word list to generate a random password using the EFF word lists and some dice, or use one of the many generators online.
Just be original. Or try anyway.
When I started out, I didn’t trust KeePass enough to dump and change all my passwords from day 1. I started out simple, by adding new sites I registered to and use randomly generated passwords from the built-in password generator. Later I added sites I frequently used and changed their passwords to more complex ones. Now everything is in there. But not every password is random though. Really important accounts I have in my head too, using a unique, complex password that I can still remember. Really important accounts also have 2-factor authentication activated, so even if a hacker finds the password, they still won’t get in.
Knowing those key passwords is also a fallback in case I don’t have access to my KeePass DB for some reason.
Syncing the DB
Now you want to use this on more machines than just your laptop, I guess.
There are a few options:
- You put the DB on a thumb drive you always have on you. This is a good backup too. You can use PortableApps or a portable KeePass version on the thumb drive and use it anywhere like that.
- You sync the DB to your favorite cloud drive and sync it to every machine you want to use it on.
I use Dropbox myself which is great for this to sync between home, work and my phone. OneDrive would also work, as it works pretty much the same way.
There are also a number of plugins for KeePass to sync to Google Drive, FTP, and other online providers, so I’m sure you’ll find something you like.
On your phone
If you want access to your passwords on your phone, you’ll need some extra apps. I use Android myself, but I’m sure the same apps exist for iOS.
You will need 2 apps, one to be able to open and use the database, and then something to sync the file to your phone. Unless you do that manually, but I wouldn’t advise it.
To use the database, there are plenty of options when you search for KeePass, but the best one I’ve used so far is Keepass2Android.
For syncing the file to my phone, I used to use Dropsync. This syncs a Dropbox folder to a folder on your phone. You can use the free version if you’re only setting up 2 folders.
You can also use the Dropbox app itself and mark the file to be available offline, but I’ve noticed this doesn’t always work. I often ended up with an old version of the database when I needed it.
Nowadays, I’m using FolderSync, which can sync probably any cloud provider, and use protocols like FTP, SMB, WebDAV etc. It’s great.
KeePass has a ton of plugins allowing you to customize it for all sorts of things. There are plugins to have it integrate in your browser, synchronize files over all sorts of protocols and services, export, import, add visual features and whatever.
I use as little plugins as possible, though, as each plugin has access to your database and can be a possible vulnerability. Yes. Tin-foil hat here. But LastPass’ Chrome plugin leaked your login credentials a while ago, so there you go.
By using the standard keyboard shortcuts on PC, you can get a long way already. Be sure to check out the Auto-Type override documentation if you have a website which isn’t playing nice with the defaults. You can find a way to get it to work for 99% of the websites out there. The other 1% just have really shitty UX.