Policy delle password e autenticazione a più fattori
Comprenda i requisiti per password robuste, i fattori MFA (qualcosa che si conosce, si possiede o si è) e perché la combinazione di più fattori riduca drasticamente il rischio di compromissione degli account.
Policy delle password e autenticazione a più fattori è una lezione Cloud & IT Cert Prep gratuita su CoddyKit. Questa è la lezione 1 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Cloud & IT Cert Prep, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Cloud & IT Cert Prep include 4 lezioni in totale.
Le password: l'anello più debole
Le password restano il meccanismo di autenticazione più comune, nonostante siano quello compromesso più frequentemente. Gli aggressori rubano le password tramite phishing, credential stuffing (riutilizzo di credenziali sottratte), attacchi brute-force e keylogger. Anche una password «forte» offre una protezione limitata se un aggressore riesce a catturarla senza essere rilevato. Le policy sulle password stabiliscono requisiti minimi di complessità e rotazione per ridurre i rischi, ma il miglioramento della sicurezza più efficace consiste nell'aggiungere un secondo fattore, perché conoscere la password non è più sufficiente per ottenere l'accesso.
Requisiti di complessità delle password
Le policy efficaci sulla complessità delle password definiscono standard minimi che rendono le password più difficili da violare. I requisiti tradizionali includono: lunghezza minima (almeno 12-16 caratteri; la lunghezza conta più della complessità), tipi di caratteri obbligatori (maiuscole, minuscole, numeri, simboli), divieto di usare password comuni (dizionari di password) e divieto di includere nella password il nome utente o quello dell'organizzazione. Le linee guida NIST SP 800-63B, aggiornate nel 2017, raccomandano di dare priorità alla lunghezza rispetto a regole di complessità arbitrarie e di verificare le password nei database di credenziali compromesse, invece di richiedere una rotazione frequente.
# Check if a password appears in known breach databases
# NIST recommends this approach vs forced periodic rotation
# Example: Using Have I Been Pwned (HIBP) API
# Hash the password first (k-anonymity model - sends only first 5 chars of SHA-1)
echo -n 'mysecretpassword' | sha1sum
# Returns: e5e9fa1ba31ecd1ae84f75caaa474f3a663f05f4 -
# Send first 5 chars to HIBP API:
# GET https://api.pwnedpasswords.com/range/E5E9F
# Response includes suffix of any matching hashes
# If found: this password is compromised - reject itIndicazioni moderne sulle password: NIST SP 800-63B
NIST SP 800-63B (Digital Identity Guidelines) ha rivisto in modo significativo le best practice relative alle password. Aggiornamenti principali: non richiedere la rotazione periodica, a meno che non vi siano prove di una compromissione: la rotazione obbligatoria porta gli utenti a effettuare modifiche prevedibili (Password1! → Password2!); verificare le password nei database delle violazioni al momento della creazione e consentire agli utenti di visualizzare la password mentre la digitano; consentire passphrase lunghe, fino a 64 caratteri; eliminare le regole di complessità arbitrarie che producono schemi prevedibili; e implementare il blocco o il throttling degli account per prevenire gli attacchi brute-force, invece di affidarsi esclusivamente alla complessità.
I tre fattori di autenticazione
L'autenticazione si basa su uno o più di tre tipi di fattori. Qualcosa che si conosce (fattore di conoscenza): password, PIN, domande di sicurezza, passphrase. Qualcosa che si possiede (fattore di possesso): token fisico, smartphone con un'app di autenticazione, smart card, chiave hardware (YubiKey). Qualcosa che si è (fattore di inerenza): impronta digitale, scansione della retina, riconoscimento facciale, impronta vocale, dati biometrici comportamentali. Talvolta si aggiunge una quarta categoria, il luogo in cui ci si trova (posizione). L'uso di un fattore appartenente a due o più categorie costituisce l'autenticazione a più fattori (MFA). Due fattori della stessa categoria (come due password) non costituiscono l'MFA.
Perché l'MFA è così efficace
L'autenticazione a più fattori (MFA) è uno dei controlli di sicurezza più efficaci disponibili. Le ricerche di Microsoft indicano che l'MFA blocca il 99,9% degli attacchi di compromissione degli account. Il motivo è il seguente: il phishing o il furto di credenziali fornisce all'aggressore «qualcosa che si conosce» (la password), ma in genere non gli consente di ottenere anche il secondo fattore (un codice monouso sullo smartphone o una chiave hardware). Anche se la password di un utente viene pubblicata in un database di violazioni, l'account resta protetto se l'MFA è abilitata. Le organizzazioni che hanno implementato l'MFA compaiono raramente nei rapporti sulle violazioni che riguardano la presa di controllo degli account tramite credenziali.
OTP via SMS e relative vulnerabilità
Le password monouso via SMS (OTP) sono il metodo MFA più diffuso: un codice di 6 cifre inviato tramite messaggio di testo. Sono migliori dell'assenza di MFA, ma presentano vulnerabilità documentate. Attacchi di SIM swapping: gli aggressori si spacciano per la vittima presso l'operatore mobile e trasferiscono il numero di telefono sulla propria SIM, intercettando i futuri codici OTP. Vulnerabilità del protocollo SS7: il protocollo di segnalazione della rete telefonica presenta difetti noti che consentono di intercettare gli SMS. Phishing in tempo reale: proxy di phishing sofisticati inoltrano gli OTP in tempo reale, aggirandoli. NIST SP 800-63B ha limitato gli OTP via SMS allo stato di «autenticatore soggetto a restrizioni». Sono preferibili le app di autenticazione o i token hardware.
TOTP: password monouso basate sul tempo
TOTP (Time-Based One-Time Passwords), standardizzato nella RFC 6238, genera codici di 6 cifre a partire da un segreto condiviso e dall'ora corrente. App come Google Authenticator, Authy e Microsoft Authenticator implementano il TOTP. Il codice cambia ogni 30 secondi ed è valido per un solo tentativo di autenticazione. A differenza degli OTP via SMS, il TOTP non attraversa la rete telefonica, quindi è immune agli attacchi di SIM swapping e SS7. Il segreto condiviso viene scambiato una sola volta (tramite codice QR durante la configurazione) e memorizzato nell'app di autenticazione: per generare i codici è necessario avere accesso fisico al dispositivo registrato.
# TOTP algorithm (RFC 6238) conceptual implementation
import hmac, hashlib, time, struct, base64
def totp(secret_b32, digits=6, interval=30):
# Decode the base32 secret
secret = base64.b32decode(secret_b32, True)
# Time counter: number of 30-second intervals since epoch
counter = int(time.time()) // interval
# HMAC-SHA1 of counter with secret
msg = struct.pack('>Q', counter)
digest = hmac.new(secret, msg, hashlib.sha1).digest()
# Dynamic truncation to get 6 digits
offset = digest[-1] & 0xf
code = struct.unpack('>I', digest[offset:offset+4])[0] & 0x7fffffff
return str(code % (10**digits)).zfill(digits)FIDO2 e WebAuthn: MFA resistente al phishing
FIDO2 (Fast Identity Online 2) e la sua implementazione web, WebAuthn, rappresentano lo standard di autenticazione più resistente al phishing attualmente disponibile. FIDO2 usa la crittografia a chiave pubblica a livello del dispositivo: l'autenticatore (una chiave hardware come YubiKey o un sistema biometrico del dispositivo come Windows Hello) memorizza una chiave privata che non lascia mai il dispositivo. L'autenticazione è associata crittograficamente all'origine specifica (il sito web), il che la rende immune al phishing: anche se un utente viene indotto a visitare un sito falso, la richiesta di autenticazione fallirà perché l'origine non corrisponde. FIDO2 è il gold standard per l'autenticazione ad alta sicurezza.
Token hardware: HOTP e smart card
I token hardware fisici forniscono «qualcosa che si possiede» indipendentemente dagli smartphone. HOTP (HMAC-based OTP), standardizzato nella RFC 4226, genera un codice a partire da un contatore e da un segreto condiviso; il contatore aumenta ogni volta che si preme il pulsante. A differenza dei TOTP, i codici HOTP non scadono in base a un timer, ma devono essere usati in sequenza. Le smart card (come le carte PIV usate dai dipendenti del governo statunitense) memorizzano le chiavi private in hardware resistente alla manomissione e richiedono un PIN per essere sbloccate, combinando «qualcosa che si possiede» (la carta) con «qualcosa che si conosce» (il PIN). L'autenticazione tramite smart card è lo standard per gli accessi privilegiati negli ambienti ad alta sicurezza.
Password manager: risolvere il problema umano
I password manager risolvono la tendenza umana a riutilizzare le password generando e memorizzando password uniche e casuali per ogni sito. La password principale sblocca un vault crittografato che contiene tutte le credenziali. I password manager aziendali (1Password Teams, Bitwarden Business, CyberArk) aggiungono funzionalità come l'applicazione centralizzata delle policy, i log di audit, la condivisione sicura e l'accesso d'emergenza. I team di sicurezza dovrebbero incoraggiare attivamente o rendere obbligatorio l'uso dei password manager: è raro che un controllo di sicurezza migliori sia la sicurezza (password uniche ovunque) sia l'usabilità (non è necessario ricordare decine di password). In combinazione con l'MFA, i password manager riducono drasticamente la compromissione degli account basata sulle credenziali.
Blocco e throttling degli account
Il blocco dell'account disabilita un account dopo un numero definito di tentativi di accesso falliti, impedendo gli attacchi brute-force. Le policy tipiche bloccano un account dopo 3-10 tentativi falliti, con una durata del blocco che va da un periodo fisso (30 minuti) fino alla necessità di un sblocco da parte dell'amministratore. Il throttling è un'alternativa più graduale: invece di bloccare gli account, aumenta progressivamente il ritardo tra i tentativi di accesso, facendo durare gli attacchi brute-force anni anziché minuti, senza l'impatto sull'esperienza utente dei blocchi. Le applicazioni web dovrebbero implementare entrambe le misure: il rate limiting a livello API e il throttling a livello di account, per prevenire gli attacchi automatizzati alle credenziali.
# Configure account lockout policy via Windows Group Policy
# Computer Configuration > Windows Settings > Security Settings
# > Account Policies > Account Lockout Policy
#
# Account lockout threshold: 5 invalid logon attempts
# Account lockout duration: 30 minutes
# Reset account lockout after: 30 minutes
# Linux PAM-based lockout (/etc/pam.d/common-auth)
# auth required pam_tally2.so deny=5 unlock_time=1800
# auth required pam_faillock.so preauth deny=5 unlock_time=1800Verifica rapida
Verifichi la Sua comprensione dei concetti di CompTIA Security+ (SY0-701) trattati in questa lezione.
Riepilogo della lezione
In questa lezione ha appreso che NIST SP 800-63B raccomanda passphrase lunghe e il controllo nei database delle violazioni invece di policy di rotazione complesse; i tre fattori dell'MFA sono conoscere, possedere ed essere; le app TOTP sono più sicure degli OTP via SMS; FIDO2/WebAuthn è resistente al phishing; e il blocco degli account previene gli attacchi brute-force. Nel prossimo argomento esploreremo la biometria e l'autenticazione basata su token.
Domande Frequenti
La lezione «Policy delle password e autenticazione a più fattori» è gratuita?
Sì — il testo completo di «Policy delle password e autenticazione a più fattori» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Cloud & IT Cert Prep, passa a CoddyKit PRO. Il corso Cloud & IT Cert Prep include 4 lezioni in totale.
Cosa imparerò in «Policy delle password e autenticazione a più fattori»?
Comprenda i requisiti per password robuste, i fattori MFA (qualcosa che si conosce, si possiede o si è) e perché la combinazione di più fattori riduca drasticamente il rischio di compromissione degli… Eserciti Cloud & IT Cert Prep con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Cloud & IT Cert Prep?
Non è richiesta alcuna esperienza precedente. Cloud & IT Cert Prep su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 1 di 4.
Quanto tempo richiede la lezione «Policy delle password e autenticazione a più fattori»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Cloud & IT Cert Prep?
Sì. Ogni lezione Cloud & IT Cert Prep include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Policy delle password e autenticazione a più fattori
- Biometria e autenticazione basata su token
- Modelli di autorizzazione: RBAC, MAC e DAC
- Identità federata: SAML, OAuth e OpenID Connect