MFA reduziert das Risiko einer Kontokompromittierung um 99,9 %. Implementieren Sie TOTP (Google Authenticator) oder WebAuthn (Passkeys).
TOTP-Implementierung¶
import pyotp
secret = pyotp.random_base32()
totp = pyotp.TOTP(secret)
uri = totp.provisioning_uri("[email protected]", issuer_name="MyApp")
# QR-Code aus URI → Authenticator-App
totp.verify(user_code, valid_window=1) # ±30s Toleranz
Recovery-Codes¶
import secrets
def generate_recovery_codes(count=10):
codes = [secrets.token_hex(4) for _ in range(count)]
# Hashes in DB speichern, Klartext dem Benutzer EINMAL anzeigen
return codes
Empfehlungen¶
- TOTP als Minimum
- WebAuthn/Passkeys als sicherste Option
- SMS nur als Fallback (SIM-Swap-Risiko)
- Recovery-Codes für Geräteverlust
- MFA für Admin-Rollen erzwingen
Wichtigste Erkenntnis¶
TOTP ist das Minimum, Passkeys sind die Zukunft. SMS nur als Fallback. MFA für alle Admin-Konten.
securitymfatotpwebauthn