Cómo comprobar qué tipo de cifrado Kerberos acepta un equipo de dominio con PowerShell.

En entornos de Active Directory (AD), la autenticación Kerberos es fundamental para la seguridad y el acceso a los recursos de la red. En este tipo de entornos, cada equipo tiene un atributo llamado `msDS-SupportedEncryptionTypes`, el cual indica los tipos de cifrado Kerberos que admite.
Para consultar esta propiedad en un equipo específico, podemos utilizar este comando de PowerShell:
Get-ADComputer -Identity "WBCNDC01" -Properties msDS-SupportedEncryptionTypes | Select-Object -ExpandProperty msDS-SupportedEncryptionTypes
Este comando obtiene la propiedad `msDS-SupportedEncryptionTypes` del equipo WBCNDC01, devolviendo un valor numérico que representa los tipos de cifrado compatibles.
Entendiendo msDS-SupportedEncryptionTypes
El atributo `msDS-SupportedEncryptionTypes` es un campo de bits (bitmask) que indica qué métodos de cifrado son compatibles. Los valores posibles son los siguientes:
0: No se admite el cifrado.
1: DES-CBC-CRC.
2: DES-CBC-MD5.
4: RC4-HMAC.
8: AES128-CTS-HMAC-SHA1-96.
16: AES256-CTS-HMAC-SHA1-96.
24: AES128 + AES256.
31: Todos los cifrados mencionados anteriormente.
Si el comando devuelve, por ejemplo, 24, significa que el equipo admite AES128 y AES256, pero no DES ni RC4. Si el valor devuelto es un número diferente a los mencionados, significa que se trata de una combinación de cifrados activados. Para determinar los cifrados habilitados, se puede analizar el valor como una suma de los valores de la tabla anterior.
Por ejemplo, si el resultado es 20, significa:
4: RC4-HMAC
16: AES256-CTS-HMAC-SHA1-96
Esto indica que el equipo admite RC4-HMAC y AES256, pero no AES128 ni DES.
Desglose automático
Para facilitar esta interpretación, podemos usar el siguiente script de PowerShell para desglosar el valor:
$encryptionTypes = @{ 1 = "DES-CBC-CRC" 2 = "DES-CBC-MD5" 4 = "RC4-HMAC" 8 = "AES128-CTS-HMAC-SHA1-96" 16 = "AES256-CTS-HMAC-SHA1-96" } $computer = Get-ADComputer -Identity "WBCNDC01" -Properties msDS-SupportedEncryptionTypes $encryptionValue = $computer."msDS-SupportedEncryptionTypes" Write-Host "El equipo admite los siguientes cifrados:" foreach ($key in $encryptionTypes.Keys) { if ($encryptionValue -band $key) { Write-Host "- " $encryptionTypes[$key] } }
Este script mostrará una lista detallada de los cifrados habilitados en el equipo consultado (WBCNDC01).
Modificar los tipos de cifrado admitidos
Si es necesario cambiar los tipos de cifrado admitidos en un equipo, se puede modificar el atributo `msDS-SupportedEncryptionTypes` con el siguiente comando de PowerShell:
Set-ADComputer -Identity "WBCNDC01" -Add @{msDS-SupportedEncryptionTypes=24}
En este caso, estamos estableciendo el valor 24, lo que habilita AES128 y AES256.
Conclusión
El comando `Get-ADComputer` permite obtener los tipos de cifrado Kerberos compatibles en un equipo de Active Directory, lo que es útil para garantizar la seguridad y compatibilidad de los sistemas.
0 comentarios:
Publicar un comentario