Añadir Sin usuarios finales
264
Sin-usuarios-finales.md
Normal file
264
Sin-usuarios-finales.md
Normal file
@@ -0,0 +1,264 @@
|
||||
Perfecto. Lo que planteas **sí es viable**, pero requiere **separar explícitamente autenticación ≠ identidad ≠ autorización ≠ gestión**. Active Directory **no obliga** a autenticar usuarios si lo usas correctamente.
|
||||
|
||||
Voy a darte el **modelo correcto**, luego **cómo implementarlo**, y finalmente **límites y riesgos**.
|
||||
|
||||
---
|
||||
|
||||
# 🎯 OBJETIVO REDEFINIDO (técnicamente correcto)
|
||||
|
||||
Quieres:
|
||||
|
||||
✅ GPO
|
||||
✅ Gestión centralizada de PCs
|
||||
✅ Distribución de software
|
||||
✅ Auditoría y logs
|
||||
✅ Control por “grupos”
|
||||
❌ **NO usar AD para autenticar usuarios**
|
||||
✅ Usar **tu propio servicio HTTP POST** como autoridad de autenticación
|
||||
|
||||
Eso se logra usando **AD solo como *directory + policy engine***.
|
||||
|
||||
---
|
||||
|
||||
# 🧠 PRINCIPIO CLAVE
|
||||
|
||||
> **Active Directory puede administrar COMPUTADORAS sin autenticar USUARIOS**
|
||||
|
||||
La mayoría de la gente no separa esto, pero Windows sí.
|
||||
|
||||
---
|
||||
|
||||
# 🏗️ ARQUITECTURA RECOMENDADA
|
||||
|
||||
```
|
||||
┌────────────┐
|
||||
│ Windows DC │ ← AD DS (solo equipos, grupos, GPO)
|
||||
└─────┬──────┘
|
||||
│
|
||||
┌─────▼──────┐
|
||||
│ PCs dominio│ ← NO usan login AD
|
||||
└─────┬──────┘
|
||||
│
|
||||
┌─────▼──────────────────────────────┐
|
||||
│ Servicio HTTP Auth (TU sistema) │
|
||||
│ POST {user, pass} → roles/grupos │
|
||||
└─────────────────────────────────────┘
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
# 1️⃣ Active Directory **SIN usuarios humanos**
|
||||
|
||||
### En AD:
|
||||
|
||||
* ❌ No creas usuarios finales
|
||||
* ✔ Solo:
|
||||
|
||||
* Computadoras
|
||||
* Grupos lógicos (no para login)
|
||||
* GPO
|
||||
* Cuentas de servicio
|
||||
|
||||
Las PCs:
|
||||
|
||||
* ✔ **Se unen al dominio**
|
||||
* ❌ **No se usa login AD**
|
||||
|
||||
---
|
||||
|
||||
# 2️⃣ Inicio de sesión local controlado
|
||||
|
||||
En cada PC:
|
||||
|
||||
* Usuarios **locales genéricos**:
|
||||
|
||||
* `Alumno`
|
||||
* `Invitado`
|
||||
* `Kiosko`
|
||||
|
||||
### GPO:
|
||||
|
||||
* Forzar login automático (opcional)
|
||||
* Ocultar selector de usuario
|
||||
* Bloquear cambio de contraseña local
|
||||
* Bloquear `Other user`
|
||||
|
||||
👉 El usuario **nunca introduce credenciales de AD**.
|
||||
|
||||
---
|
||||
|
||||
# 3️⃣ Autenticación: TU servicio HTTP (clave)
|
||||
|
||||
Tu flujo correcto sería:
|
||||
|
||||
```
|
||||
Usuario → App / Portal / Launcher
|
||||
→ POST /auth
|
||||
→ {isSuccessful, username, mail, group}
|
||||
```
|
||||
|
||||
### Implementación práctica
|
||||
|
||||
* Login **no-Windows**:
|
||||
|
||||
* App WinForms / WPF
|
||||
* Portal web local
|
||||
* Kiosk browser
|
||||
* Al autenticar:
|
||||
|
||||
* Guardas sesión
|
||||
* Aplicas perfil lógico
|
||||
* Montas recursos
|
||||
|
||||
---
|
||||
|
||||
# 4️⃣ Autorización usando AD (sin autenticar)
|
||||
|
||||
Aquí está el truco elegante 👇
|
||||
|
||||
## Mapea tus `group` → Grupos AD (NO login)
|
||||
|
||||
Ejemplo:
|
||||
|
||||
```
|
||||
HTTP group: alumnos
|
||||
AD group: G_SALA_ALUMNOS
|
||||
|
||||
HTTP group: profesores
|
||||
AD group: G_SALA_PROFESORES
|
||||
```
|
||||
|
||||
### Uso real
|
||||
|
||||
* GPO **por grupo**
|
||||
* Scripts de inicio:
|
||||
|
||||
* Verifican grupo HTTP
|
||||
* Añaden/quitan equipo a grupo AD
|
||||
* Aplican políticas en el próximo refresh
|
||||
|
||||
💡 **El usuario no pertenece al grupo AD**
|
||||
👉 **La computadora actúa en nombre del perfil**
|
||||
|
||||
---
|
||||
|
||||
# 5️⃣ Aplicación dinámica de políticas
|
||||
|
||||
### Técnica común
|
||||
|
||||
1. Usuario se autentica vía HTTP
|
||||
2. Tu agente local:
|
||||
|
||||
* Recibe `{group}`
|
||||
* Ejecuta script (SYSTEM)
|
||||
* Ajusta estado local:
|
||||
|
||||
* Registro
|
||||
* ACLs
|
||||
* Firewall
|
||||
* Software habilitado
|
||||
3. `gpupdate /force`
|
||||
|
||||
Esto **simula perfiles de usuario** sin AD login.
|
||||
|
||||
---
|
||||
|
||||
# 6️⃣ Distribución de software (100% AD)
|
||||
|
||||
Funciona igual porque es **por computadora**:
|
||||
|
||||
* GPO MSI
|
||||
* SCCM
|
||||
* Scripts PowerShell
|
||||
* Scheduled Tasks
|
||||
|
||||
No depende del usuario autenticado.
|
||||
|
||||
---
|
||||
|
||||
# 7️⃣ Auditoría y logs (independiente de auth)
|
||||
|
||||
### Qué puedes auditar
|
||||
|
||||
* Encendido/apagado
|
||||
* Login local
|
||||
* Ejecución de procesos
|
||||
* USB
|
||||
* Cambios de red
|
||||
* Violaciones de políticas
|
||||
|
||||
### Integración
|
||||
|
||||
* Event Forwarding
|
||||
* Wazuh / SIEM
|
||||
* Logs correlados con `username` HTTP (tag)
|
||||
|
||||
---
|
||||
|
||||
# 8️⃣ ¿Por qué NO usar LDAP auth directo?
|
||||
|
||||
Podrías usar AD solo como LDAP, pero:
|
||||
|
||||
* Reintroduce dependencia de AD
|
||||
* Rompe tu modelo HTTP central
|
||||
* Duplica usuarios
|
||||
|
||||
Tu enfoque **es más limpio** si:
|
||||
👉 **AD = infraestructura**
|
||||
👉 **HTTP = identidad**
|
||||
|
||||
---
|
||||
|
||||
# ⚠️ LIMITACIONES IMPORTANTES
|
||||
|
||||
Debes aceptar que:
|
||||
|
||||
❌ No tendrás:
|
||||
|
||||
* Roaming profiles
|
||||
* NTFS ACL por usuario
|
||||
* Kerberos
|
||||
* Single Sign-On nativo Windows
|
||||
|
||||
✔ Pero ganas:
|
||||
|
||||
* Control total
|
||||
* Independencia
|
||||
* Integración multiplataforma
|
||||
* Autenticación moderna (API, MFA, tokens)
|
||||
|
||||
---
|
||||
|
||||
# 🧩 PATRÓN RECOMENDADO (nombre real)
|
||||
|
||||
Esto se llama:
|
||||
|
||||
> **External Identity Provider + AD as Policy & Device Authority**
|
||||
|
||||
Es un patrón usado en:
|
||||
|
||||
* Laboratorios
|
||||
* Kioskos
|
||||
* Aulas públicas
|
||||
* Entornos Zero Trust
|
||||
|
||||
---
|
||||
|
||||
# 🚀 SIGUIENTE PASO (si quieres)
|
||||
|
||||
Puedo ayudarte a:
|
||||
|
||||
* Diseñar el **agente local**
|
||||
* Scripts PowerShell exactos
|
||||
* GPO mínimas necesarias
|
||||
* Modelo de seguridad
|
||||
* Hardening (para que no rompan el sistema)
|
||||
|
||||
Dime:
|
||||
|
||||
1. ¿Cuántas PCs?
|
||||
2. ¿Windows Pro o Enterprise?
|
||||
3. ¿Login automático o manual?
|
||||
4. ¿Necesitas persistencia por usuario o sesión temporal?
|
||||
|
||||
Y te doy el **blueprint completo**.
|
||||
Reference in New Issue
Block a user