I have read quite a few posts about preventing account password takeover from various malicious ways, and many OPSEC measures are there to prevent it from happening.
Consider a case where you face a total blackout or technical failure. Now, you need to log in to your password manager, which requires either OTP on email or TOTP. You don't have access to the TOTP app because the backup is stored in cloud storage, whose email login also requires OTP.
How would you prevent such from happening?I haven't found a satisfactory solution or explanation for that yet.
One trick is that you can enroll your TOTP codes on more than one device, the only thing the device need is the clock to be synced to provide the correct code.
You can store your TOTP codes in many places:
A mobile app like Aegis (Android) or 2FAS (Android, iOS). Those even offer a way of backing up your TOTP codes, but you need to take the proper measure to store them safely.
A password manager that can handle TOTP like Bitwarden (with a premium subcription) or KeePassXC.
A security key like the Yubikey 5 can safely store TOTP keys (up to 32) and generate them through the Yubikey Authenticator app.
That way you don't get caught your pants down if one of your device dies, get stolen, etc.
Also, keep the recovery keys / backup keys in a safe place just in case of a worst case scenario.
Keep in mind that your TOTP backup and Password Manager files like KeePassXC can be the weakest link in your OPsec if you're not careful.
A strong and unique passphrase is indeed really important here, but you need to keep in mind that once the kdbx file is in the attacker's hand, that's the only thing that keep them out.
There's no 2FA, and no throttling on the bruteforce process. So it's really important to use a strong password there to avoid it being the weakest link.
You can kind of do MFA on the database. You can require a key, which can be very long and complex, and you can store it on a USB drive. You might be able to use a key stored on a yubikey or something too, I haven't tried it. It probably depends on which KeePass variant you're using.