Il workflow di un provider PAM personalizzato si basa su tre azioni fondamentali e armonizzate per garantire una solida gestione degli accessi privilegiati: rilevamento degli account, heartbeat, rotazione delle password e propagazione delle password. Ciascuna di queste azioni svolge un ruolo cruciale nel mantenere la sicurezza e l’integrità del sistema.
Oggi approfondiamo l’azione heartbeat, il passaggio intermedio fondamentale che funge da ponte tra la fase iniziale di rilevamento e il processo finale di rotazione. Questo componente centrale è essenziale per mantenere un ambiente di accesso privilegiato aggiornato e sicuro, agendo come costante guardiano contro modifiche non autorizzate e potenziali violazioni della sicurezza.
Vuole provarlo? Richieda una prova di Devolutions PAM!
Il workflow del provider PAM personalizzato
Prima di analizzare i dettagli di ogni fase, diamo un’occhiata generale al workflow del provider PAM personalizzato. Questo processo garantisce una gestione completa degli accessi privilegiati.
- Rilevamento degli account: trova e cataloga gli account privilegiati.
- Heartbeat: verifica se le password memorizzate corrispondono a quelle attuali.
- Rotazione delle password: aggiorna le password quando necessario.
- Propagazione delle password: aggiorna le credenziali memorizzate su servizi e host esterni.
L’azione heartbeat è il componente di confronto cruciale che funge da intermediario tra il rilevamento degli account e la rotazione delle password.
Cosa fa l’azione heartbeat?
Nella sua essenza, l’azione heartbeat è straordinariamente semplice. Confronta la password memorizzata in PAM con la password attuale presente sull’identity provider.
Analizziamo questo processo con dello pseudocodice
# Simplified representation of the heartbeat action
$storedPassword = Get-StoredPassword -Account $accountName
$currentPassword = Get-CurrentPassword -Account $accountName
if ($storedPassword -ne $currentPassword) {
Write-Host "Passwords do not match"
}
```Come tutte le altre azioni del provider PAM personalizzato, l'azione heartbeat è scritta in PowerShell e può essere aggiornata in qualsiasi momento, lasciando il controllo all'utente.
## L'importanza cruciale dell'heartbeat
Sebbene molti presumano che la funzione principale dell'heartbeat sia verificare se le credenziali sono sincronizzate, il suo ruolo è ben più critico. L'azione heartbeat funge da misura di sicurezza fondamentale, garantendo che nessuno abbia modificato le credenziali da una fonte esterna. Non si tratta solo di sincronizzazione, ma di verificare che sia il sistema a gestire e controllare le credenziali.
Questo monitoraggio continuo è fondamentale per diversi motivi:
1. **Rilevamento di modifiche non autorizzate**: l'heartbeat monitora le credenziali alla ricerca di eventuali modifiche non autorizzate, siano esse involontarie o dolose. Questo garantisce che l'integrità dell'accesso sia mantenuta in ogni momento.
2. **Prevenzione delle violazioni della sicurezza**: identificando rapidamente eventuali discrepanze, l'azione heartbeat aiuta a prevenire potenziali violazioni della sicurezza che potrebbero verificarsi se le credenziali venissero modificate all'insaputa del sistema.
3. **Mantenimento del controllo del sistema**: verifica che il sistema PAM mantenga il controllo sulle credenziali, garantendo che tutte le modifiche alle password passino attraverso i canali appropriati e vengano registrate correttamente.
L'azione heartbeat funge quindi da guardiano continuo del sistema di gestione degli accessi privilegiati, assicurando che le credenziali rimangano sicure, sincronizzate e sotto il controllo del sistema in ogni momento.
## L'heartbeat in azione
Per vedere come funziona nella pratica, esaminiamo uno scenario tipico:
1. Il rilevamento degli account trova un account privilegiato, "sysadmin01", e ne memorizza la password in PAM.
2. L'azione heartbeat viene eseguita a intervalli pianificati (ad esempio, ogni 4 ore).
Ad esempio, prendiamo in considerazione una versione semplificata dello [script heartbeat per SQL Server Login](https://github.com/Devolutions/PAM-Providers/blob/master/Providers/sql_server_login/scripts/heartbeat.ps1).```
function Compare-SqlLoginPassword {
param (
[string]$Server,
[string]$UserName,
[string]$StoredPasswordHash
)
$query = "SELECT password_hash FROM sys.sql_logins WHERE name = '$UserName'"
$result = Invoke-SqlCmd -ServerInstance $Server -Query $query
$currentPasswordHash = $result.password_hash -join ''
return $currentPasswordHash -eq $StoredPasswordHash
}
- Durante questo controllo, si è riscontrato che la password memorizzata per “sysadmin01” non corrispondeva a quella attuale.
- L’azione heartbeat restituisce un valore booleano
$false.
Configurazione dell’heartbeat
Sebbene l’azione heartbeat sia semplice, la sua efficacia dipende da una configurazione corretta. L’azione prevede due aree da configurare (se si sta creando un provider personalizzato):
- Parametri per definire l’identity provider a cui connettersi;
- Parametri specifici dell’account, come Username e Secret, come mostrato di seguito.

Le azioni heartbeat includono anche uno script PowerShell che si connette all’identity provider ed effettua il confronto.

Si noti che queste due aree si applicano solo se il provider PAM personalizzato viene creato tramite un modello. Se si utilizza un modello predefinito, è necessario fornire i valori per ogni parametro obbligatorio.
Semplice nel concetto, ma fondamentale per una rotazione sicura delle password
Sebbene semplice nel concetto, l’azione heartbeat svolge un ruolo fondamentale nel workflow di gestione degli accessi privilegiati del provider PAM personalizzato. La verifica regolare dell’integrità delle password garantisce che la soluzione PAM rimanga sincronizzata con gli identity provider. Ancora più importante, funge da misura di sicurezza cruciale, monitorando costantemente eventuali modifiche non autorizzate e mantenendo il controllo del sistema sulle credenziali privilegiate.
Durante l’implementazione o l’ottimizzazione della configurazione del provider PAM personalizzato, se ha bisogno di aiuto con l’azione heartbeat, consulti la nostra documentazione sugli script dell’azione heartbeat, che le fornirà alcuni spunti su come implementare i propri script per l’azione heartbeat.

Adam Bertram