El flujo de trabajo de un proveedor de PAM personalizado se construye sobre tres acciones fundamentales y armonizadas para garantizar una gestión de accesos privilegiados sólida: descubrimiento de cuentas, heartbeat, rotación de contraseñas y propagación de contraseñas. Cada una de estas acciones desempeña un papel crucial en el mantenimiento de la seguridad e integridad de su sistema.
Hoy vamos a profundizar en la acción heartbeat, el paso intermedio vital que actúa como puente entre la fase inicial de descubrimiento y el proceso final de rotación. Este componente intermedio es esencial para mantener un entorno de acceso privilegiado actualizado y seguro, ya que actúa como guardián constante frente a cambios no autorizados y posibles brechas de seguridad.
¿Quiere probarlo? Solicite una prueba de Devolutions PAM.
El flujo de trabajo del proveedor de PAM personalizado
Antes de profundizar en los detalles de cada paso, echemos un vistazo general al flujo de trabajo del proveedor de PAM personalizado. Este proceso garantiza una gestión de accesos privilegiados integral.
- Descubrimiento de cuentas: encuentra y cataloga las cuentas privilegiadas.
- Heartbeat: comprueba si las contraseñas almacenadas coinciden con las contraseñas actuales.
- Rotación de contraseñas: actualiza las contraseñas cuando es necesario.
- Propagación de contraseñas: actualiza las credenciales almacenadas en servicios y hosts externos.
La acción heartbeat es el componente de comparación crucial que actúa como intermediario entre el descubrimiento de cuentas y la rotación de contraseñas.
¿Qué hace la acción heartbeat?
En esencia, la acción heartbeat es sorprendentemente sencilla. Compara la contraseña almacenada en PAM con la contraseña actual del proveedor de identidad.
Vamos a desglosarlo con algo de pseudocódigo.
# 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"
}
```Como todas las demás acciones del proveedor de PAM personalizado, la acción heartbeat está escrita en PowerShell y se puede actualizar en cualquier momento, dejando el control en manos del usuario.
## La importancia crucial de heartbeat
Aunque muchos suponen que la función principal de heartbeat es comprobar si las credenciales están sincronizadas, su papel es mucho más crítico. La acción heartbeat es una medida de seguridad vital que garantiza que nadie haya alterado las credenciales desde una fuente externa. No se trata solo de sincronización, sino de verificar que el sistema gestiona y controla las credenciales.
Esta supervisión continua es crucial por varios motivos:
1. **Detección de cambios no autorizados**: heartbeat supervisa las credenciales para detectar cualquier modificación no autorizada, ya sea involuntaria o malintencionada. Esto garantiza que la integridad del acceso se mantenga en todo momento.
2. **Prevención de brechas de seguridad**: al identificar rápidamente cualquier discrepancia, la acción heartbeat ayuda a prevenir posibles brechas de seguridad que podrían producirse si las credenciales se cambiaran sin que el sistema lo supiera.
3. **Mantenimiento del control del sistema**: verifica que el sistema PAM sigue teniendo el control de las credenciales, garantizando que todos los cambios de contraseña se realicen a través de los canales adecuados y queden registrados correctamente.
Por lo tanto, la acción heartbeat actúa como guardián continuo de su sistema de gestión de accesos privilegiados, garantizando que sus credenciales permanezcan seguras, sincronizadas y bajo el control del sistema en todo momento.
## Heartbeat en acción
Para ver cómo funciona esto en la práctica, repasemos un escenario típico:
1. El descubrimiento de cuentas encuentra una cuenta privilegiada, «sysadmin01», y almacena su contraseña en PAM.
2. La acción heartbeat se ejecuta según una programación (por ejemplo, cada 4 horas).
Por ejemplo, veamos una versión reducida del [script heartbeat de 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 esta comprobación, se detectó que la contraseña almacenada para «sysadmin01» no coincidía con la contraseña actual.
- La acción heartbeat devuelve un valor booleano
$false.
Configuración de heartbeat
Aunque la acción heartbeat es sencilla, su eficacia depende de una configuración adecuada. La acción consta de dos áreas que se deben configurar (si está creando su propio proveedor):
- Parámetros para definir el proveedor de identidad al que conectarse;
- Parámetros específicos de la cuenta, como Username y Secret, como se muestra a continuación.

Las acciones heartbeat también incluyen un script de PowerShell que se conecta al proveedor de identidad y realiza la comparación.

Tenga en cuenta que estas dos áreas solo se aplican si crea su proveedor de PAM personalizado a partir de una plantilla. Si utiliza una plantilla predefinida, debe proporcionar valores para cada parámetro obligatorio.
Sencilla en concepto, pero vital para una rotación de contraseñas segura
Aunque sencilla en concepto, la acción heartbeat desempeña un papel vital en el flujo de trabajo de gestión de accesos privilegiados del proveedor de PAM personalizado. Verificar la integridad de las contraseñas con regularidad garantiza que su solución PAM se mantenga sincronizada con sus proveedores de identidad. Y lo que es más importante, actúa como una medida de seguridad crucial, supervisando continuamente cualquier cambio no autorizado y manteniendo el control del sistema sobre las credenciales privilegiadas.
Si está implementando o perfeccionando la configuración de su proveedor de PAM personalizado y necesita ayuda con la acción heartbeat, no deje de consultar nuestra documentación sobre scripts de la acción heartbeat, que le dará algunas ideas sobre cómo implementar sus propios scripts de acción heartbeat.

Adam Bertram