Saltearse al contenido

Bastionado de sistemas

El bastionado (hardening) reduce la superficie de ataque de un sistema a lo estrictamente necesario: menos servicios, menos privilegios, menos configuraciones por defecto. Es la base de la defensa y lo contrario a la ofensiva de win-privesc/linux-privesc: cada técnica de escalada que esas fichas explotan es algo que el bastionado cierra.

Mínima superficie desinstalar/deshabilitar lo que no se usa (servicios, roles, features)
Mínimo privilegio cuentas y procesos con los permisos justos; nada de admin "por si acaso"
Defensa en profundidad varias capas: si una falla, otra contiene
Secure by default cambiar credenciales/configs por defecto; denegar y luego permitir
Configuración conocida líneas base reproducibles y versionadas (IaC), no ajustes manuales
CIS Benchmarks guías de configuración segura por SO/producto (el estándar de facto)
DISA STIGs guías del DoD, muy estrictas
SCAP/OpenSCAP evaluar cumplimiento de una línea base de forma automatizada
# medir contra una línea base > endurecer "a ojo"
- cuentas: deshabilitar/renombrar Administrador local, LAPS para contraseñas locales únicas
- superficie: quitar roles/features, SMBv1 off, deshabilitar LLMNR/NBT-NS (ver ad-llmnr)
- credenciales: Credential Guard, restringir administración, Protected Users para cuentas clave
- app control: WDAC/AppLocker (corta LOLBins y binarios no firmados, ver mal-evasion)
- logging: auditoría avanzada + Sysmon (ver def-sysmon); PowerShell Script Block Logging
- servicios: minimizar demonios; firewall host (nftables); SSH con llaves, sin root directo
- permisos: revisar SUID/SGID (ver linux-privesc), umask, montajes noexec/nosuid
- kernel: sysctl endurecido, módulos innecesarios fuera; MAC (SELinux/AppArmor) en enforce
- integridad: AIDE/auditd; paquetes al día (ver def-patch)
# auditar contra la línea base y buscar lo que un atacante buscaría:
OpenSCAP / CIS-CAT cumplimiento de benchmark
WinPEAS/LinPEAS lo que vería un atacante local (validar que el hardening cierra vías)
Lynis auditoría de hardening en Linux
  • Gestionar el hardening como código (GPO/Ansible/DSC): reproducible, versionado, auditable.
  • Deriva de configuración: detectar cambios respecto a la línea base y corregir.
  • Equilibrio con operación: documentar excepciones justificadas; no romper lo que el negocio necesita.
  • Integrar con parches (Gestión de parches), gestión de vulnerabilidades (Gestión de vulnerabilidades) y detección (Detección & logging).
  • Innumerables brechas por configuraciones por defecto (credenciales admin/admin, paneles expuestos, S3 públicos).
  • SMBv1/EternalBlue (WannaCry/NotPetya, 2017): hosts sin bastionar ni parchear propagaron el gusano.
  • Hardening de AD (LAPS, tiering, Protected Users) nace de abusos reales documentados en ad-*.
  • Elegir y aplicar una línea base (CIS/STIG) por tipo de sistema
  • Minimizar servicios/roles/features y quitar protocolos legacy (SMBv1, LLMNR)
  • Mínimo privilegio en cuentas y servicios; LAPS/sin admin local reutilizado
  • App control (WDAC/AppLocker) y MAC (SELinux/AppArmor)
  • Logging/auditoría activados (ver Sysmon & telemetría/Detección & logging)
  • Verificar con OpenSCAP/Lynis y con WinPEAS/LinPEAS
  • Gestionar como IaC y vigilar deriva de configuración