So. I tried bitwarden for a while with 2fa. I absolutely did not realize that if you lose your 2fa you are done in that service. So yeah. Time to rebuild.
I’m attempting to go all in on proton stuff ATM. Drive, email, vpn and password manager.
What’s the easiest way to set everything up in a way that the whole system is safe and that minimizes the chance of me locking myself out ?
Stuff like. Do I bother with 2fa? What are yubikeys. Are these the answer? Do I 2fa all.accounts other than the protonmail one ?
Long single use case passwords or memorizable ones ?
Do I do throwaway emails or everything signs up to my main one ?
Sorry if I overloaded questions. But id love go get insight from people with more experience.
Edit. And oh. Threat model.
Id love yo not lose accounts if someone physically steals one of my devices.
I’d love to not get hsckdd online by someone random that is not targeting me specifically
And in broad strokes. I’d like to keep all my accounts as private as possible from private companies and governments. But im flexible on this one if its too much hassle.
I would heavily recommend that you don’t put all your eggs in the same basket ESPECIALLY when it comes to a password manager. If youre going to use Proton Pass, make a separare email for that.
To answer the next question, yes you do bother with 2FA ESPECIALLY for a password manager. I mean, you are literally storing like 30 or however many passwords, pretty much your entire digital life there. Do you think it is a good idea to have only one form of verification, one that can be easily cracked through a data breach, to hold all of your passwords? There is a reason why services like banks force you into 2FA when it comes to online banking. And you won’t have to worry about locking yourself out as long as you backup your 2FA tokens, and also keep a copy or two of the recovery codes, preferrably in an encrypted file container on a computer and a usb drive.
Next question: use long pass phrases. Something like: Fediverse-American-Samsung-Electric-Hydro-Synth, you get the point. It is easier to remember than a password.
Use email aliases as much as you can. Simplelogin and Anonaddy are the two best recommendations. The less your real email is visible, the chances of it being in a breach is lower.
As for your threat model, if you don’t want to get hacked, do pretty much as I said above. Don’t put all your eggs in the same basket, use a password manager with a strong passphrase and 2fa enabled. Enable 2fa for as many services as possible and make backups and keep the recovery codes safe. Use email aliases to mask your real email.
I’ll add to all this excellent advice by emphasising on keeping good offline backups and up-to-date backups of everything, especially password manager, 2FA seed code and any recovery codes/keys/phrase (if kept outside of your password manager).
Keep backups off-site too. Have a plan for the wosrt case.
Edit: formatting.
I’m really concerned about putting a 2fa on a pw managed and locking myself out of it again.
Use a 2fa authenticator app, Raivo if you are on iOS, Aegis if you are on Android. They both allow you to create backups of the tokens. And then also keep a safe backup of the recovery codes that are given to you after you complete the 2fa.
It’s better to be locked out of your password manager and just reset your password for all your accounts, than to have every single one of your accounts get hacked and possibly NEVER get them back.
Be careful with the backups though, there’s a good chance you have 2FA enabled on your Google drive
So basically if you lose your phone you can’t access your 2FA app, if you can’t access your 2FA you can’t open your Google Drive, which means you can’t ever get the backup
Other than disabling 2FA I’m not really sure on the best approach to get around this
I only know 2 passwords.
Bitwarden for all of my passwords. No OTP in bitwarden.
Bitwarden admin email’s password is not in bitwarden, it’s the only other password I know.
With all accounts supporting webauth I use yubikeys.
For accounts that don’t support webauth, I use Aegis that’s password secured with a static password on my yubikey so even I don’t know that password.
If I lose all 3 of my yubikeys, them I’m SOL.
Hey, the oficial way are recovery codes. The idea is that you write them down and put them somewhere physically safe.
There is another way: You can register several second factor devices. Just scan the barcode multiple times before proceeding.
Basically any old phone, that you could store somewhere safe. I got two yubikeys that are in physically different locations.
Please note that every additional second factor increases your chances to recover access, but also the chance that someone gets access to them.
By using a password manager and second factor, you are already protecting yourself very well. Where you fall on the security vs convenience vs access triangle, you yourself probably know best.
-Use your password manager for everything. 16-20 digit randomized passwords for each account. Change the password to everything you care about and put it in Bitwarden. Don’t host your own instance of Bitwarden, unless you have really good backups. If things go wrong you’re fucked.
-Your master password should be 5-7 words strung together. Brand names, uncommon words, etc. Avoid dictionary words except for 1 or 2. Use random brands, not something you own that can be socially engineered. Write it down, work on memorizing it for a week or so, then throw it away.
-Use 2FA on Bitwarden. If you can afford it, buy 2 yubikeys. One for your car keys, and one for a safe place at home. Add both to your account as your only 2FA method. This way there is zero possibility of an online attack. The only way your account could be compromised (outside of a software vulnerability) is a highly-targeted in-person attack, in which case, you have way bigger things to worry about. If you can’t afford 2, than buy 1 and print out a Bitwarden 2FA backup code to store in a very safe place at home.
-This one is important: NEVER EVER USE SMS 2FA, too many things can go wrong (see: sim swapping). Pay the $10 a year for Bitwarden Premium and use the OTP 2FA codes. If a website doesn’t have OTP (most do nowadays, it’s usually labeled as the “authenticator app” option), than SMS is ok, just try to avoid it.
If you follow these instructions, I see no probable scenario in which you would have a breach caused by something on your end. A breach in Bitwarden (with it being FOSS and highly-audited, this is pretty unlikely) or, more likely, a breach in the service your account is using are the two scenarios you would realistically be breached.
Also, you’re very very unlikely to be locked out of Bitwarden as long as you keep 1 yubikey and/or a printed backup code in a safe space at all times. If you end up with brain damage and forget your password, you’d be fucked I guess, but if you’re that worried than write your password on paper in an obvious safe space. That definitely hurts your security though.
You could also fall for scams and/or social engineering, but that’s a topic way beyond the scope of this post.
It’s pretty important to remember that each device that you’ve installed the bitwarden client on has a local copy of your passwords, and you can always export your passwords too. So yeah, you need to have good backups in place if you self host vaultwarden, but I think it’s one of the lower risk services to run in terms of actually losing your data.
Yes good point, I forgot about that.
Keep backups of all things in a manual fashion.
Bitwarden is fine. BUt have a couple MFA options, including a set of printed recovery codes in a desk/safe etc.
Personally I use Google Authenticator TOTP (and not the version that syncs it to the cloud.). Instead I have a backup phone I keep in a fireproof safe and that also has a set of the codes. (Just do the “transfer” operation but at the end choose not to delete the codes from the original phone and boom you have TOTP on 2 devices.
I also use a Yubikey here and there, but only when I am physically a home (Its a PITA to move around).
Finally I have recovery/One time codes saved and printed. Just in case all else fails.
For any services that REQUIRE you to use SMS mfa, I go with something like google voice. If they block GV numbers, then i generally bail out of using the service…This especially includes banks.
The goal is
- No one MFA loss (Ie: phone stolen) will lose access to all accounts.
- An ability to recover even if all phones are lost.
- No storing totp for anything important inside bitwarden.
Check out my post about printed recovery codes/passwords:
yeah. I think that’s a good idea. Personally I just keep them in a simple safe that is effective, preferably fire rated to an extent or just somewhere offsite. Even a safety deposit box is a great option.
I even sometimes just keep them in an encrypted fileshare on my synology NAS that is backed up and encrypted. But thats just extra for a non-tech person. For someone like my parents etc I just tell them to print them and keep them in safe space you wont misplace them. Because ideally the phone and your backup phone or a yubikey should have the main versions of MFA authentication.
Usually the recovery codes are 6-8 numbers that are a one time use thing.
Otherwise, i literally dont know many of my passwords off hand. The only ones I do are FDE decryption codes, and maybe my computer login.
Thanks for sharing
I wouldn’t tell you it’s the best option, but it works for me and sizeable amount of other people: stateless password manager. It is an app that will generate you password based on input: url and a single master password.
Using same parameters gives the same password. Passwords are not stored, you just generate one whenever you need it. It solves syncing issues and eliminates option of losing your vault/backups. Master password should be extra secure, because it is the main defense point.
For the implementation, you could make one yourself with scripts (scrypt + base64) or use open-source apps like LessPass.
I do Aegis for two factor and KeePass for passwords.
And of course offline backups. I like email aliases too, since it helps identify which sites you signed up for got breeched or is selling your email to get spam.
https://www.privacyguides.org/en/email/#additional-functionality_2
I like using KeePass and just syncing the password file between devices. Nobody can get open the file without at least the master password (you can use a key file as well), and it does 2fa.
Right now I’m using Bitwarden as my primary password manager Before I switched, I had “all my eggs in one basket”, meaning my 2FA codes were stored alongside my passwords. This is a BAD practice. For one, Bitwarden offers 2FA to secure your account and storing this 2FA code in that very same Bitwarden account is very dumb because once you’re logged out… well… that’s it. Use a 2FA app on your phone. I highly recommend Raivo for managing your 2FA codes on iOS, not sure about Android. Using an app like this compounds your security because someone would have to have physical access to your device AND be able to access the codes on said device (Raivo offers takes pretty strong security measures) AND know your password/have access to your Bitwarden account. Raivo also offers you to export these codes in an encrypted zip file should you wish to back up to cloud storage or directly to your computer (depending on what OS your computer is, it might prove to be challenging moving this file from your phone) I hope this helps! Please ask me any questions if you have them. I’d be more than happy to answer them
My personal opinion on totp is that it’s better to store them in bitwarden than to not use them at all, especially if your password is good and you’ve enforced two factor for registering a new device to bitwarden. It’s definitely not the best way, but a lot more people can be convinced to right click and paste in an otp code over authenticating to a device, a totp app, and manually typing it in.