84 lines
3.3 KiB
Markdown
84 lines
3.3 KiB
Markdown
# Operación del SGU Authentication Broker
|
|
|
|
## Dónde se ejecuta
|
|
|
|
En el laboratorio, el broker se ejecuta en el controlador de dominio Windows
|
|
Server:
|
|
|
|
| Elemento | Valor |
|
|
|---|---|
|
|
| Equipo | `WIN-1AIQMMA1EPR.lci.lasalle.mx` |
|
|
| Servicio | `SGUAuthBroker` / `SGU Authentication Broker` |
|
|
| Ejecutable | `C:\Program Files\SGU\AuthBroker\SGU.AuthBroker.exe` |
|
|
| Configuración | `C:\Program Files\SGU\AuthBroker\appsettings.Production.json` |
|
|
| Endpoint cliente | `https://sgu-auth.lci.lasalle.mx:8443/v1/authenticate` |
|
|
| Salud | `https://sgu-auth.lci.lasalle.mx:8443/health/live` |
|
|
| Transporte | HTTPS 1.1 con certificado de cliente obligatorio (mTLS) |
|
|
|
|
El Credential Provider no se comunica directamente con Active Directory ni
|
|
conserva una contraseña. Envía la clave y la contraseña originales al broker;
|
|
el broker valida SGU, actualiza la cuenta de dominio y devuelve solamente el
|
|
dominio y el nombre de usuario canónico.
|
|
|
|
## Comprobación rápida
|
|
|
|
Ejecutar como administrador en Windows Server:
|
|
|
|
```powershell
|
|
Get-CimInstance Win32_Service -Filter "Name='SGUAuthBroker'" |
|
|
Select-Object Name, State, StartMode, PathName, ProcessId
|
|
|
|
Get-NetTCPConnection -LocalPort 8443 -State Listen
|
|
Get-NetFirewallRule -DisplayName 'SGU Authentication Broker (mTLS)'
|
|
sc.exe qfailure SGUAuthBroker
|
|
```
|
|
|
|
Desde un cliente que tenga el certificado mTLS:
|
|
|
|
```powershell
|
|
Invoke-WebRequest `
|
|
-Uri https://sgu-auth.lci.lasalle.mx:8443/health/live `
|
|
-CertificateThumbprint CLIENT_CERT_THUMBPRINT
|
|
```
|
|
|
|
Una petición sin un certificado cliente válido debe ser rechazada durante TLS.
|
|
Eso es comportamiento esperado, no una caída del servicio.
|
|
|
|
## Timeouts y recuperación
|
|
|
|
- El Credential Provider espera hasta **90 segundos** por el broker.
|
|
- El broker permite hasta **20 segundos** para el desafío NTLM ligero de
|
|
`/psulsa/`. El enriquecimiento usa el límite total independiente
|
|
`ProfileTimeoutSeconds` —**90 segundos** en la configuración del laboratorio—
|
|
y conserva los campos que alcance a obtener si una página administrativa se
|
|
retrasa o falla. El Credential Provider mantiene su propio límite de **90
|
|
segundos**: si SGU excede ese presupuesto, Windows continúa por el fallback
|
|
normal de AD o credenciales de dominio en caché.
|
|
- El instalador configura recuperación del servicio con reinicios a los 5, 15
|
|
y 60 segundos y reinicia el contador de fallos después de 24 horas.
|
|
- Si el broker o SGU no está disponible, el Credential Provider entrega la
|
|
contraseña intacta a Windows. AD o el caché de inicio de sesión de Windows aún
|
|
debe validarla; el fallback no concede acceso por sí mismo.
|
|
|
|
Reiniciar o volver a desplegar el servicio produce una interrupción breve en un
|
|
laboratorio con una sola instancia. Antes de una demostración, comprobar
|
|
`Running` y el listener 8443.
|
|
|
|
## Diagnóstico
|
|
|
|
```powershell
|
|
Get-WinEvent -FilterHashtable @{
|
|
LogName='Application'
|
|
StartTime=(Get-Date).AddHours(-1)
|
|
} | Where-Object ProviderName -eq 'SGU Authentication Broker' |
|
|
Select-Object TimeCreated, LevelDisplayName, Id, Message
|
|
|
|
Get-Content 'C:\Program Files\SGU\AuthBroker\appsettings.Production.json' -Raw |
|
|
ConvertFrom-Json |
|
|
Select-Object -ExpandProperty Broker
|
|
```
|
|
|
|
Nunca habilitar registro de cuerpos HTTP: contienen la contraseña durante la
|
|
solicitud. Los certificados, no las contraseñas, proporcionan la identidad entre
|
|
el cliente y el broker.
|