Know-How
MFA implementace — Multi-Factor Authentication
MFA snižuje riziko kompromitace účtu o 99.9 %. Implementujte TOTP (Google Authenticator) nebo WebAuthn (passkeys).
TOTP implementace
import pyotp
secret = pyotp.random_base32()
totp = pyotp.TOTP(secret)
uri = totp.provisioning_uri("[email protected]", issuer_name="MyApp")
# QR kód z uri → authenticator app
totp.verify(user_code, valid_window=1) # ±30s tolerance
Recovery kódy
import secrets
def generate_recovery_codes(count=10):
codes = [secrets.token_hex(4) for _ in range(count)]
# Uložit hashe do DB, plaintext zobrazit uživateli JEDNOU
return codes
Doporučení
- TOTP jako minimum
- WebAuthn/Passkeys jako nejbezpečnější
- SMS jen jako fallback (SIM swap riziko)
- Recovery kódy pro případ ztráty zařízení
- Enforce MFA pro admin role
Klíčový takeaway
TOTP je minimum, passkeys jsou budoucnost. SMS jen jako fallback. MFA pro všechny admin účty.