Curso interactivo

Seguridad en la Gestión de Datos

Aprende comandos, técnicas y metodologías para proteger, borrar y gestionar datos de forma segura. Sigue los pasos de cada módulo a tu propio ritmo.

Comenzar 4 módulos · 12+ comandos
Seguridad en la Gestión de Datos

La gestión segura de datos abarca políticas, controles técnicos y procedimientos que garantizan que solo personas autorizadas accedan, modifiquen o eliminen información sensible.

Imagen 3.1-A Diagrama de flujo: Ciclo de vida seguro del dato
Imagen 3.1-B Pirámide CIA: Confidencialidad, Integridad, Disponibilidad
Principios fundamentales (CIA Triad)
  • Confidencialidad: Solo usuarios autorizados acceden a los datos.
  • Integridad: Los datos no se alteran sin autorización (hashes, firmas).
  • Disponibilidad: Los sistemas permanecen accesibles para quienes los necesitan.
Políticas de acceso y auditoría

El control de acceso define quién puede hacer qué con cada recurso. La auditoría registra cada acción para detectar anomalías.

Imagen 3.1.1-A Diagrama RBAC / ABAC — roles y permisos
Modelos de control de acceso
DAC MAC RBAC ABAC

Comandos básicos en Linux para gestionar permisos:

# Ver permisos de un archivo
ls -la /ruta/al/archivo

# Cambiar propietario
chown usuario:grupo /ruta/al/archivo

# Establecer permisos (solo dueño r/w, grupo r, otros nada)
chmod 640 /ruta/al/archivo

# Usar ACLs extendidas (Access Control Lists)
setfacl -m u:juan:rw /datos/sensibles/
getfacl /datos/sensibles/
Principio de mínimo privilegio: Otorga solo los permisos estrictamente necesarios para cada tarea.
Auditoría con auditd en Linux
# Instalar el demonio de auditoría
sudo apt install auditd audispd-plugins

# Iniciar y habilitar el servicio
sudo systemctl enable --now auditd

# Monitorear accesos a archivos sensibles
sudo auditctl -w /etc/passwd -p rwxa -k passwd_watch
sudo auditctl -w /var/log/ -p rwa -k log_watch

# Consultar el log de auditoría
sudo ausearch -k passwd_watch
sudo aureport --login

# Ver reglas activas
sudo auditctl -l
Los logs se guardan en /var/log/audit/audit.log. Usa ausearch y aureport para filtrar eventos.
Auditoría en Windows (PowerShell)
# Habilitar política de auditoría de acceso a objetos
AuditPol /set /category:"Object Access" /success:enable /failure:enable

# Ver configuración de auditoría actual
AuditPol /get /category:*

# Consultar Event Log (ID 4663 = acceso a objeto)
Get-WinEvent -LogName Security | Where-Object {$_.Id -eq 4663} | Select-Object -First 20

# Ver intentos de login fallidos (ID 4625)
Get-WinEvent -LogName Security | Where-Object {$_.Id -eq 4625}
Requiere privilegios de Administrador para modificar políticas de auditoría.
Checklist de buenas prácticas
  • Aplicar principio de mínimo privilegio en todos los cuentas.
  • Revisar y revocar accesos periódicamente (access review trimestral).
  • Usar autenticación multi-factor (MFA) en cuentas privilegiadas.
  • Centralizar logs en un SIEM (Splunk, ELK, Wazuh).
  • Proteger los logs contra modificación (write-once storage).
  • Documentar la política de acceso y revisarla al menos anualmente.

Técnicas de Borrado y Destrucción de Datos

Borrar un archivo con Del o rm solo elimina su referencia. Los datos permanecen en el disco. Esta sección enseña cómo garantizar la destrucción efectiva e irrecuperable.

Imagen 3.2-A Comparativa SSD vs HDD en borrado seguro
Imagen 3.2-B Proceso de sobreescritura Gutmann (35 pasadas)
Imagen 3.2-C Destrucción física: trituración y desmagnetización
Borrado seguro y destrucción física
Herramientas de borrado seguro — Linux
# shred — sobreescritura de archivo (3 pasadas + ceros)
shred -vzu -n 3 /ruta/archivo_sensible.txt

# shred sobre disco completo (¡PELIGROSO — borra todo!)
sudo shred -vn 7 /dev/sdb

# wipe — alternativa con más opciones
sudo apt install wipe
wipe -rf /carpeta/datos_sensibles/

# srm (secure-delete)
sudo apt install secure-delete
srm -vz /ruta/archivo

# Llenar disco con ceros (sobrescribir espacio libre)
sfill -vz /punto/montaje/
En discos SSD, shred no garantiza borrado completo por el controlador de wear-leveling. Ver paso ③.
Herramientas de borrado seguro — Windows
# SDelete (Sysinternals) — borrar archivo
sdelete64 -p 7 C:\datos\archivo_sensible.xlsx

# SDelete — borrar carpeta completa
sdelete64 -r -p 3 C:\datos_sensibles\

# Limpiar espacio libre del disco C:
sdelete64 -z C:

# cipher.exe (nativo Windows) — sobrescribir espacio libre
cipher /w:C:\

# Borrado de disco completo con DBAN (boot desde USB)
→ Descargar DBAN en dban.org, grabar en USB y arrancar desde él
→ Seleccionar disco → autonuke (DoD 5220.22-M, 7 pasadas)
Borrado seguro en SSD y Flash
Los SSD usan wear-leveling: un comando de escritura no sobreescribe exactamente el mismo bloque físico. Se recomienda usar comandos ATA específicos.
# hdparm — Secure Erase (ATA Security Erase)
# 1. Verificar soporte del disco
sudo hdparm -I /dev/sda | grep -i "security"

# 2. Establecer contraseña temporal
sudo hdparm --security-set-pass Temporal /dev/sda

# 3. Ejecutar borrado seguro (Enhanced = más completo)
sudo hdparm --security-erase-enhanced Temporal /dev/sda

# nvme (para discos NVMe M.2)
sudo nvme format /dev/nvme0 --ses=1

# Verificar con blkdiscard (trim seguro)
sudo blkdiscard -s /dev/sda
Destrucción física de medios
  • Trituración (shredding): Trituradora certificada DIN 66399 nivel H-5 o superior para HDD/SSD.
  • Desmagnetización (degaussing): Campo magnético de alta intensidad. Solo efectivo en medios magnéticos (HDD, cintas).
  • Incineración: Para documentos físicos y medios ópticos (CD/DVD).
  • Desintegración: Reducción a partículas <2mm para datos altamente clasificados.
Imagen 3.2.1-A Tabla de niveles DIN 66399 para destrucción de medios
Estándares de borrado reconocidos
DoD 5220.22-M
Dept. of Defense USA · 7 pasadas de sobreescritura
NIST SP 800-88
NIST USA · Clear, Purge, Destroy
Gutmann (35 pasadas)
Peter Gutmann 1996 · Máxima seguridad clásica
HMG IS5
Gobierno UK · 1 pasada aleatorio + verificación
Remanencia de memoria y riesgos asociados

La remanencia de datos es la persistencia de información en un medio después de un intento de borrado. Afecta tanto a discos como a RAM.

Imagen 3.2.2-A Diagrama: Cold Boot Attack — extracción de RAM congelada
Tipos de remanencia de datos
  • Remanencia magnética: En HDD, sectores sobreescritos pueden retener señales residuales detectables con microscopía de fuerza magnética (MFM).
  • Remanencia en Flash/SSD: El wear-leveling puede conservar bloques "borrados" que aún contienen datos en áreas de reserva.
  • Remanencia en RAM: Tras apagar el equipo, la DRAM puede retener datos durante segundos o minutos (más tiempo si se enfría).
  • Remanencia en swap: El archivo de intercambio puede contener fragmentos de memoria con datos sensibles.
Cold Boot Attack — Metodología
Esta información es educativa para entender los riesgos y diseñar defensas. No debe usarse para acceso no autorizado.

Proceso conceptual del ataque:

  1. El atacante tiene acceso físico a un equipo encendido (o recientemente apagado).
  2. Congela los módulos RAM con aire comprimido invertido (~-50°C) para prolongar la retención.
  3. Arranca desde USB un sistema especializado (ej. Inception, aepic-attack).
  4. Vuelca el contenido completo de la RAM a un archivo.
  5. Analiza el volcado en busca de claves de cifrado (AES, BitLocker), contraseñas, sesiones activas.
Mitigaciones de remanencia
# Linux — cifrar swap para proteger datos temporales
sudo apt install cryptsetup
sudo nano /etc/crypttab
# Agregar línea: swap /dev/sdX /dev/urandom swap

# Limpiar swap manualmente
sudo swapoff -a && sudo swapon -a

# Windows — deshabilitar archivo de hibernación
powercfg /hibernate off

# Habilitar limpiar página de swap al apagar (Windows GPO)
Seguridad Local → Políticas locales → Seguridad → "Apagado: borrar archivo de paginación"
  • Usar cifrado de disco completo (BitLocker, LUKS, VeraCrypt).
  • Configurar apagado automático tras inactividad.
  • Habilitar Secure Boot y protección de BIOS con contraseña.
  • Deshabilitar arranque desde dispositivos USB en equipos de producción.

Técnicas de Prevención de Filtración de Datos

La prevención de pérdida de datos (DLP — Data Loss Prevention) protege contra exfiltración accidental o maliciosa de información sensible.

Imagen 3.3-A Arquitectura DLP: endpoint, red, almacenamiento
Imagen 3.3-B Flujo de clasificación y etiquetado de datos
Clasificación de datos

Antes de proteger datos, debes saber qué tienes y qué tan sensible es:

Público
Sin restricción
Interno
Solo empleados
Confidencial
Equipos específicos
Secreto
Acceso mínimo
# Buscar datos sensibles con grep (tarjetas, SSN, emails)
grep -rE "[0-9]{4}[-][0-9]{4}[-][0-9]{4}[-][0-9]{4}" /datos/
grep -rE "[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}" /datos/

# Usar clamscan para detectar archivos maliciosos
clamscan -r --bell -i /home/
Controles técnicos DLP
  • Cifrado en tránsito: TLS 1.3 para toda comunicación de datos sensibles.
  • Cifrado en reposo: LUKS (Linux), BitLocker (Windows), AES-256.
  • Control de puertos USB: Bloquear medios extraíbles no autorizados.
  • Email DLP: Escaneo de adjuntos y contenido antes de envío externo.
  • Tokenización: Sustituir datos reales por tokens en sistemas no críticos.
# Bloquear USB con udev rule (Linux)
echo 'ACTION=="add", SUBSYSTEMS=="usb", ATTRS{removable}=="removable", RUN+="/bin/sh -c 'echo 0 > /sys$DEVPATH/authorized'"' | sudo tee /etc/udev/rules.d/99-block-usb.rules
sudo udevadm control --reload-rules

# Cifrado con LUKS (Linux)
sudo cryptsetup luksFormat /dev/sdb1
sudo cryptsetup luksOpen /dev/sdb1 datos_seguros
sudo mkfs.ext4 /dev/mapper/datos_seguros
Monitoreo de tráfico de red
# Capturar tráfico saliente con tcpdump
sudo tcpdump -i eth0 -w captura.pcap -n 'not port 443 and not port 80'

# Analizar con Wireshark (GUI) o tshark (CLI)
tshark -r captura.pcap -Y "http.request.method == POST"

# netstat — ver conexiones activas
netstat -tulpn
ss -tulpn

# iptables — bloquear transferencias a IPs no autorizadas
sudo iptables -A OUTPUT -d 0.0.0.0/0 -p tcp --dport 21 -j DROP
Combina monitoreo de red con un IDS/IPS como Snort o Suricata para detección automática de exfiltración.
Herramientas DLP populares
OpenDLP
Open source · Escaneo de endpoints y red
MyDLP
Open source · Agente endpoint + consola web
Symantec DLP
Enterprise · Cobertura completa email/web/red
Microsoft Purview
Cloud/híbrido · Integrado con M365

Privacidad de Datos

La privacidad de datos va más allá de la seguridad: se enfoca en el derecho de las personas a controlar su información personal (PII) y en el cumplimiento normativo.

Imagen 3.4-B Proceso de anonimización vs pseudonimización
Marco legal y normativo
  • GDPR (UE): Reglamento General de Protección de Datos — multas hasta 4% facturación global.
  • LFPDPPP (México): Ley Federal de Protección de Datos Personales en Posesión de Particulares.
  • CCPA (California): Derechos de acceso, eliminación y opt-out de venta de datos.
  • LGPD (Brasil): Lei Geral de Proteção de Dados — similar al GDPR.
  • ISO 27701: Extensión de ISO 27001 para gestión de privacidad (PIMS).
En México, la LFPDPPP obliga a las empresas a tener un Aviso de Privacidad claro y obtener consentimiento expreso para datos sensibles.
Técnicas técnicas de privacidad
# Hashing con sal (bcrypt) — Python
import bcrypt
password = b"contraseña_usuario"
salt = bcrypt.gensalt(rounds=12)
hashed = bcrypt.hashpw(password, salt)

# Cifrado simétrico de PII — Python (Fernet/AES)
from cryptography.fernet import Fernet
key = Fernet.generate_key()
f = Fernet(key)
token = f.encrypt(b"Juan Pérez, CURP: ABCD123456")
dato = f.decrypt(token)

# Enmascaramiento de datos (masking)
import re
texto = "Tarjeta: 4111-1111-1111-1234"
masked = re.sub(r'\d{4}-\d{4}-\d{4}', '****-****-****', texto)
# Resultado: "Tarjeta: ****-****-****-1234"
PII y técnicas de anonimización

PII (Personally Identifiable Information): nombre, email, CURP, dirección, biometría, IP, etc.

Anonimización

Elimina la posibilidad de reidentificación. Irreversible. Los datos anónimos están fuera del alcance del GDPR.

Pseudonimización

Reemplaza identificadores directos por tokens. Reversible con clave. Reduce el riesgo pero sigue siendo datos personales.

# Privacidad diferencial — agregar ruido estadístico (Python)
import numpy as np
datos_reales = [25, 30, 45, 22, 38]
epsilon = 1.0 # parámetro de privacidad (menor = más privacidad)
ruido = np.random.laplace(0, 1/epsilon, len(datos_reales))
datos_privados = [d + r for d, r in zip(datos_reales, ruido)]
Privacy by Design — 7 Principios (Ann Cavoukian)
  • Proactivo, no reactivo: Prevenir problemas antes de que ocurran.
  • Privacidad como predeterminada: Máxima privacidad sin acción del usuario.
  • Privacidad integrada en el diseño: No como complemento, sino en la arquitectura.
  • Funcionalidad completa: Privacidad Y seguridad — sin compromisos.
  • Seguridad extremo a extremo: Durante todo el ciclo de vida del dato.
  • Visibilidad y transparencia: Operar de forma verificable y abierta.
  • Respeto por el usuario: Centrado en el interés de la persona.
Imagen 3.4.3-A Rueda de los 7 principios de Privacy by Design