Los tres apartados anteriores te han dado el vocabulario, el catálogo de amenazas y los principios de diseño. Todo eso es inaplicable mientras no respondas a una pregunta prosaica: ¿qué tiene exactamente Nimbus Reservas? No puedes proteger lo que no sabes que existe, no puedes reducir una superficie que no has medido y no puedes priorizar sin saber quién podría atacarte y con qué medios. Esta lección cierra el módulo construyendo esas tres piezas —inventario de activos, superficie de ataque y actores de amenaza— y las une con una primera herramienta de análisis: STRIDE aplicado a un diagrama de flujo de datos de la propia arquitectura de Nimbus. Al terminar tendrás la foto completa del terreno sobre el que trabajaremos durante los seis módulos restantes.

Contenido

  1. Qué es un activo y por qué el inventario es el control número uno
  2. Tipos de activos y el inventario de Nimbus Reservas
  3. Clasificación de la información: público, interno, confidencial, restringido
  4. Descubrir lo que ya tienes: inventario técnico con herramientas del sistema
  5. La superficie de ataque y sus cinco dimensiones
  6. Técnicas de reducción de superficie
  7. Actores de amenaza: quién, por qué y con qué capacidad
  8. Introducción práctica al modelado de amenazas con STRIDE
  9. Cierre del módulo

  1. Qué es un activo y por qué el inventario es el control número uno

Un activo es cualquier elemento que tiene valor para la organización y que, por tanto, merece protección.

La palabra clave es valor, y el valor no es solo económico. Un fichero de logs no vale dinero, pero sin él Nimbus no puede investigar un incidente ni demostrar qué ocurrió: su valor es probatorio. La reputación no aparece en ningún balance, pero es lo que hace que una clínica renueve el contrato.

Por qué el inventario aparece el primero en todas las listas de controles serias:

  • No puedes proteger lo que no sabes que existe. El servidor de pruebas que Iván levantó hace ocho meses «para una demo», con una copia de datos reales y sin parchear desde entonces, no está en ninguna lista. Es exactamente lo que un escaneo automatizado encuentra.
  • No puedes priorizar sin criticidad. Si todos los sistemas parecen igual de importantes, se protegen todos igual de mal.
  • No puedes responder a un incidente sin saber qué hay. La primera pregunta en una brecha es «¿a qué datos ha podido acceder?». Sin inventario, la respuesta honesta es «no lo sabemos», que ante un cliente o un regulador es la peor de las respuestas.
  • No puedes aplicar ningún parche con seguridad. Cuando salga la CVE de la lección 01-02, la pregunta «¿nos afecta?» solo se responde rápido con inventario.

Un dato incómodo del sector: en la mayoría de brechas relevantes en PYMES, el punto de entrada fue un activo que la organización había olvidado que tenía. Un subdominio antiguo, un entorno de pruebas, una cuenta de un ex empleado, una integración desconectada pero con credencial viva.

Los cuatro campos que convierten una lista en un inventario útil:

Campo Por qué es imprescindible
Propietario Sin una persona responsable, nadie decide ni actualiza. Es el campo que más se omite y el más importante
Criticidad Determina cuánto se invierte en protegerlo y en qué orden se recupera tras un desastre
Clasificación Determina cómo se trata: cifrado, quién accede, si puede salir de la empresa
Dependencias De qué depende y qué depende de él; sin esto no se puede evaluar el impacto de su caída

  1. Tipos de activos y el inventario de Nimbus Reservas

Los activos no son solo servidores. Una clasificación práctica distingue seis tipos:

flowchart TD
    A[Activos] --> INF["INFORMACION\nbases de datos, copias,\ncodigo fuente, contratos, logs"]
    A --> SW["SOFTWARE\nAPI, SPA, app movil,\nSaaS de terceros, imagenes"]
    A --> HW["HARDWARE\nportatiles, moviles,\nrouter, NAS de oficina"]
    A --> SER["SERVICIOS\ncloud, DNS, email,\npasarela de pago, conectividad"]
    A --> PER["PERSONAS\nconocimiento, credenciales,\ncapacidad de decision"]
    A --> INT["INTANGIBLES\nreputacion, confianza\nde clientes, marca"]

Los dos últimos se olvidan sistemáticamente y son decisivos. Lucía es un activo: es la única persona que sabe restaurar la infraestructura completa. Si Lucía se va o está ilocalizable durante un incidente, Nimbus tiene un problema de disponibilidad tan real como si se cayera un servidor. Y la reputación es un activo: la mayor parte del daño económico de una brecha en un SaaS no viene de la multa, viene de los clientes que no renuevan.

2.1 Inventario de activos de Nimbus Reservas (extracto)

ID Activo Tipo Propietario Criticidad Clasificación Depende de
A-01 Base de datos PostgreSQL de producción Información Lucía Crítica Restringido A-04, A-05
A-02 Bucket nimbus-adjuntos-prod (partes escaneados) Información Lucía Crítica Restringido A-05
A-03 Bucket nimbus-backups-prod (copias) Información Lucía Crítica Restringido A-05
A-04 API REST (FastAPI, contenedores) Software Iván Crítica Interno A-01, A-05, A-10
A-05 Cuenta del proveedor cloud Servicio Lucía Crítica Restringido
A-06 Repositorio de código y CI/CD (GitHub Actions) Software Marta Crítica Confidencial A-13
A-07 SPA web + app móvil Software Iván Alta Público (binario) A-04
A-08 Dominio y DNS nimbusreservas.example Servicio Marta Crítica Interno
A-09 Certificados TLS Información Lucía Alta Confidencial A-08
A-10 Secretos de aplicación (claves API, credenciales BD) Información Lucía Crítica Restringido A-05
A-11 Proveedor de email transaccional Servicio Rubén Media Interno
A-12 Pasarela de pago (tokens) Servicio Sara Alta Confidencial
A-13 Cuentas de identidad del equipo (SSO/correo) Información Marta Crítica Restringido
A-14 40 portátiles corporativos Hardware Lucía Alta Interno (contienen confidencial) A-13
A-15 Wifi corporativa e invitados (oficina Valencia) Servicio Lucía Media Interno
A-16 Datos de RRHH: nóminas y contratos Información Sara Alta Restringido A-13
A-17 Documentación operativa y runbooks Información Lucía Alta Confidencial A-06
A-18 Registros de auditoría y logs Información Lucía Alta Confidencial A-05
A-19 Acceso remoto de la consultora de sistemas Servicio Marta Crítica Restringido A-13
A-20 Reputación y confianza de los clientes Intangible Marta Crítica Todos
A-21 Conocimiento operativo de Lucía (única SysAdmin) Personas Marta Alta A-17
A-22 Entorno de preproducción Software Iván Media A revisar A-05

Tres observaciones sobre esta tabla que valen más que la tabla misma:

  1. A-05 (la cuenta del proveedor cloud) es el activo del que dependen casi todos los demás. Comprometer esa cuenta anula la mayoría de los controles simultáneamente. En el lenguaje de la lección 01-03: es el punto que derriba varias capas de defensa a la vez, y por eso merece protección desproporcionada.
  2. A-19 (el acceso de la consultora) tiene criticidad crítica y propietario Marta, no Lucía. Es deliberado: el riesgo de ese activo es contractual y de gobierno, no técnico. Se desarrolla en 04-04.
  3. A-22 aparece con clasificación «a revisar». Es honesto y es lo que suele pasar: nadie está seguro de si preproducción tiene datos reales. Un inventario que refleja las dudas es más útil que uno que las esconde; esa celda es, de hecho, la primera tarea de seguridad de la semana.

Cómo se mantiene vivo un inventario. El inventario no es un documento, es un proceso. Tres reglas prácticas: (a) que la infraestructura se defina como código, de modo que el repositorio sea el inventario; (b) que el alta de cualquier activo nuevo requiera propietario y clasificación desde el primer día; (c) una revisión trimestral corta buscando específicamente lo que sobra —cuentas, entornos, integraciones y subdominios que ya no se usan.


  1. Clasificación de la información: público, interno, confidencial, restringido

Clasificar significa decidir cuánta protección merece cada dato. Sin clasificación, o se protege todo al máximo (caro, insostenible y contraproducente) o nada de forma consistente.

Cuatro niveles bastan para una empresa como Nimbus. Más niveles no aportan precisión: aportan confusión.

Nivel Definición Impacto si se divulga Ejemplos en Nimbus Reglas de tratamiento
Público Destinado a difusión abierta Ninguno Web comercial, precios, documentación de la API, ofertas de empleo Sin restricción; solo control de integridad (que nadie la altere)
Interno De uso general dentro de la empresa Bajo: molestia, ventaja menor a un competidor Organigrama, procedimientos internos, calendario, actas de reunión ordinarias No se publica; se comparte con terceros solo con NDA
Confidencial Su divulgación causa un daño relevante Medio-alto: pérdida competitiva, incumplimiento contractual Código fuente, arquitectura detallada, contratos con clientes, informes financieros, runbooks Acceso por necesidad de conocer; cifrado en tránsito y reposo; no sale sin autorización
Restringido Máxima protección; daño grave, legal o personal Alto: sanción, denuncia, daño a personas Datos de clientes finales (incluidos datos que revelan salud), nóminas, secretos y claves, copias de seguridad Acceso nominal y registrado; cifrado obligatorio; MFA; prohibido copiar a equipos locales; retención definida

3.1 Las tres reglas que evitan la mayoría de errores de clasificación

Regla 1: la clasificación se hereda hacia arriba. Un fichero que contiene un solo dato restringido es restringido. Un informe agregado que mezcla datos internos y confidenciales es confidencial. Los conjuntos toman la clasificación de su elemento más sensible.

Regla 2: la agregación puede subir el nivel. El historial de una cita aislada es un dato restringido. La tabla completa de 400.000 citas de clínicas de fisioterapia es cualitativamente peor: no solo suma, se convierte en un mapa de personas con dolencias. Ese cambio de naturaleza es el que hace que las exportaciones masivas merezcan controles propios (lo diseñaste en el ejercicio 3 de la lección anterior).

Regla 3: el contexto define la sensibilidad. «Ana Ruiz, 15/03, 17:00» parece inocuo. En la agenda de una clínica de rehabilitación revela indirectamente información de salud. Nimbus no puede decir «yo solo gestiono agendas»: gestiona agendas cuyo contenido, por contexto, es sensible.

Nota sobre implicaciones legales: la categoría de «datos que revelan información de salud» y las obligaciones asociadas (bases de legitimación, medidas reforzadas, evaluaciones de impacto) tienen un tratamiento normativo específico que se aborda en la lección 06-03. La calificación concreta de los datos de tu organización debe validarse con el responsable de cumplimiento o con un profesional del ámbito jurídico.

3.2 Clasificar también es decidir cuándo borrar

Un activo de información que ya no se necesita deja de ser un activo y pasa a ser solo pasivo de riesgo. Los CSV que Rubén generó hace un año, los volcados de base de datos en el portátil de Iván, las copias de hace cinco años: aportan cero valor y todo el riesgo. La política de retención —cuánto se guarda cada cosa y cuándo se destruye— es parte de la clasificación, no un apéndice.


  1. Descubrir lo que ya tienes: inventario técnico con herramientas del sistema

El inventario documental se contrasta siempre con la realidad, porque la realidad siempre tiene sorpresas. Empecemos por el activo A-01: el servidor de base de datos.

Importante: todos los comandos de esta lección se ejecutan sobre sistemas propios de Nimbus, con autorización. Escanear sistemas ajenos sin permiso expreso es ilegal; la ética y el marco legal de estas actividades se tratan en 06-06.

4.1 Qué está escuchando en la red

sudo ss -tulpn

Anatomía del comando, opción a opción:

Opción Qué hace
ss socket statistics: muestra los sockets de red del sistema (sustituto moderno de netstat)
-t Solo sockets TCP
-u Incluye también UDP
-l Solo los que están en estado de escucha (listening), es decir, esperando conexiones
-p Muestra el proceso dueño de cada socket (requiere privilegios)
-n Numérico: no resuelve nombres de puerto ni de host; más rápido y sin sorpresas de DNS

Salida en el servidor de base de datos de Nimbus:

Netid  State   Recv-Q  Send-Q   Local Address:Port   Peer Address:Port  Process
tcp    LISTEN  0       4096         127.0.0.1:5432        0.0.0.0:*      users:(("postgres",pid=812,fd=7))
tcp    LISTEN  0       4096       10.0.2.15:5432          0.0.0.0:*      users:(("postgres",pid=812,fd=7))
tcp    LISTEN  0       128            0.0.0.0:22          0.0.0.0:*      users:(("sshd",pid=640,fd=3))
tcp    LISTEN  0       511            0.0.0.0:9100        0.0.0.0:*      users:(("node_exporter",pid=1104,fd=3))
tcp    LISTEN  0       511            0.0.0.0:8000        0.0.0.0:*      users:(("python",pid=2201,fd=6))
udp    UNCONN  0       0            127.0.0.53:53         0.0.0.0:*      users:(("systemd-resolve",pid=402,fd=12))

Cómo se lee esto, línea a línea:

  • Líneas 1 y 2 (postgres, puerto 5432): escucha en 127.0.0.1 (solo el propio equipo) y en 10.0.2.15 (la IP privada de la VPC). Esto es correcto: no aparece 0.0.0.0, luego no escucha en interfaces públicas. Compáralo con el hallazgo de la lección 01-02, donde sí lo hacía.
  • Línea 3 (sshd, puerto 22): escucha en 0.0.0.0, es decir, en todas las interfaces. Aquí hay que mirar la segunda capa: aunque el sistema escuche en todas, el grupo de seguridad del proveedor puede restringir el origen. Si no lo hace, es un hallazgo: el acceso administrativo debería llegar solo por bastión o VPN.
  • Línea 4 (node_exporter, puerto 9100): métricas de monitorización, escuchando en todas las interfaces. Expone información detallada del sistema sin autenticación. Hallazgo típico y muy frecuente: se instala para monitorizar y nadie lo restringe.
  • Línea 5 (python, puerto 8000): ¿qué hace un proceso Python escuchando en el servidor de base de datos? Este es exactamente el tipo de sorpresa que justifica el ejercicio. Podría ser el script de una demo antigua, un servidor de desarrollo olvidado o algo peor. Requiere investigación inmediata.
  • Línea 6 (systemd-resolve, puerto 53 en 127.0.0.53): el resolvedor de DNS local. Solo local: correcto.

La regla de oro para leer esta salida: fíjate primero en la dirección local, no en el puerto. 127.0.0.1 es solo local (sin exposición). Una IP privada (10.x, 192.168.x, 172.16-31.x) es exposición interna. 0.0.0.0 o :: significa todas las interfaces, y ahí es donde empieza el trabajo.

4.2 Investigar el proceso sospechoso

# Quien es el proceso 2201 y desde cuando corre
ps -p 2201 -o pid,user,etime,cmd
  PID USER      ELAPSED CMD
 2201 ivan     94-06:12 python3 -m http.server 8000 --directory /var/tmp/demo

Traducción: Iván levantó un servidor HTTP estático el día de una demo y lleva 94 días corriendo, sirviendo el contenido de /var/tmp/demo a cualquiera que llegue al puerto 8000. Es un activo no inventariado, sin propietario declarado, sin parchear y con contenido desconocido. En la lección 01-02 lo llamaríamos vulnerabilidad de configuración; aquí es lo que ilustra por qué el inventario es el control número uno.

4.3 Contrastar con la capa del proveedor

El sistema es solo la mitad de la historia. La otra mitad es el cortafuegos del proveedor:

# Reglas de entrada del grupo de seguridad del servidor de base de datos
aws ec2 describe-security-groups --group-ids sg-0a1b2c3d \
  --query "SecurityGroups[0].IpPermissions[].{Puerto:FromPort,Origen:IpRanges[].CidrIp}" \
  --output table
-------------------------------
|  Puerto  |      Origen       |
-------------------------------
|  22      |  0.0.0.0/0        |   <-- SSH abierto a todo Internet
|  5432    |  10.0.0.0/16      |   <-- correcto: solo la VPC
|  9100    |  10.0.0.0/16      |   <-- correcto
-------------------------------

El diagnóstico completo solo aparece cruzando las dos capas. El puerto 5432 escuchaba en la IP privada y además está restringido a la VPC: doble capa correcta. El puerto 22, en cambio, escucha en todas las interfaces y está abierto a 0.0.0.0/0: cualquier bot de Internet puede intentar autenticarse contra el SSH de la base de datos de Nimbus. Eso es un hallazgo de prioridad alta.

Las herramientas especializadas de descubrimiento y escaneo se ven en 05-01 y 05-03; aquí lo importante es el método: primero mira lo tuyo, con lo que ya tienes instalado.


  1. La superficie de ataque y sus cinco dimensiones

La superficie de ataque es el conjunto de todos los puntos por los que un atacante podría intentar entrar, extraer datos o afectar al sistema.

Es una propiedad medible y reducible, y esa es la buena noticia: a diferencia de las amenazas, la superficie sí está bajo tu control. Cada punto que eliminas es un punto que no hay que defender, vigilar ni parchear nunca más.

flowchart TD
    SA[Superficie de ataque de Nimbus]
    SA --> RED["1. RED\nPuertos, IPs publicas, subdominios,\nVPN, wifi, endpoints expuestos"]
    SA --> SW["2. SOFTWARE Y APIS\nEndpoints, parametros, dependencias,\nimagenes, formularios, subidas"]
    SA --> HUM["3. HUMANA\n38 empleados, correos, telefonos,\nperfiles publicos, soporte"]
    SA --> FIS["4. FISICA\nOficina, 40 portatiles, moviles,\nUSB, papel, wifi de invitados"]
    SA --> CAD["5. CADENA DE SUMINISTRO\nConsultora, pasarela, email,\nlibrerias, acciones de CI/CD"]

5.1 Las cinco dimensiones en Nimbus

Dimensión Qué la compone en Nimbus Punto más expuesto
Red IP pública del balanceador, dominio y subdominios, VPN, wifi corporativa e invitados, puertos abiertos Un subdominio olvidado apuntando a un servicio que ya no existe (riesgo de apropiación)
Software y APIs ~120 endpoints de la API, parámetros de cada uno, subida de adjuntos, dependencias de Python, imágenes de contenedor, la SPA y la app móvil La subida de ficheros: acepta contenido arbitrario de usuarios externos
Humana 38 empleados con correo corporativo, Rubén atendiendo tickets todo el día, perfiles públicos en redes profesionales Soporte: recibe mensajes de desconocidos y tiene acceso a datos de clientes
Física Oficina de Valencia, 40 portátiles (la mitad fuera), móviles, puertos USB, documentos impresos, wifi de invitados Los 19 portátiles en remoto, en cafeterías, trenes y domicilios
Cadena de suministro Consultora con acceso remoto, pasarela de pago, proveedor de email, ~180 dependencias transitivas de Python, acciones de terceros en el CI/CD El acceso privilegiado permanente de la consultora

5.2 Dos precisiones que cambian cómo se mide

La superficie no es estática: respira. Cada despliegue de Iván puede añadir endpoints. Cada contratación añade una persona. Cada integración nueva añade un tercero. Por eso se mide de forma continua y no una vez al año.

Superficie expuesta ≠ superficie total. Hay que distinguir:

  • Superficie externa: lo alcanzable desde Internet sin credenciales. Es la más urgente, porque cualquiera del mundo puede tocarla.
  • Superficie autenticada: lo alcanzable con una cuenta válida (incluida una cuenta de prueba gratuita, si la hay).
  • Superficie interna: lo alcanzable tras el primer compromiso. Es la que determina cuánto se propaga un incidente.

Nimbus tiende a mirar solo la primera. Pero recuerda el principio «asume la brecha» de la lección anterior: la superficie interna es la que decide si un portátil comprometido acaba en una anécdota o en un ransomware de toda la infraestructura.


  1. Técnicas de reducción de superficie

Reducir superficie es, con diferencia, la forma más barata de mejorar la seguridad: lo que no existe no se puede atacar, no hay que parchearlo, no hay que monitorizarlo y no aparece en la próxima auditoría.

Técnica En qué consiste Aplicación concreta en Nimbus
Eliminar Quitar lo que no se usa Apagar el http.server del puerto 8000; borrar los 3 subdominios de campañas antiguas; desinstalar paquetes de servicios desmantelados
Cerrar Restringir el acceso a lo que sí se usa SSH solo desde el bastión; node_exporter solo desde la red de monitorización
Consolidar Menos componentes distintos haciendo lo mismo Un único proveedor de identidad en vez de cuentas locales por sistema
Aislar Separar para que el compromiso no se propague Cuentas cloud separadas para producción y preproducción; red de invitados sin acceso a la interna
Minimizar Reducir el contenido y los privilegios de cada pieza Imágenes de contenedor mínimas sin shell ni herramientas; usuario no-root en los contenedores
Ocultar lo innecesario No regalar información (como capa adicional, nunca única) Quitar cabeceras de versión, mensajes de error genéricos que no revelen la pila
Acortar la vida Que lo que existe exista poco tiempo URLs firmadas de 2 minutos; credenciales efímeras; entornos temporales que se destruyen solos

6.1 Un ejemplo trabajado: la imagen de contenedor de la API

# === ANTES: superficie enorme ===
FROM python:3.12                 # ~1 GB, incluye compiladores, git, shell completa
COPY . /app
RUN pip install -r requirements.txt
CMD ["uvicorn", "main:app", "--host", "0.0.0.0"]
# Corre como root. Si alguien logra ejecutar codigo, dispone de un sistema completo.
# === DESPUES: superficie minimizada ===
FROM python:3.12-slim AS build
WORKDIR /app
COPY requirements.txt .
RUN pip install --no-cache-dir --target /deps -r requirements.txt

FROM gcr.io/distroless/python3-debian12          # sin shell, sin gestor de paquetes, sin utilidades
COPY --from=build /deps /deps
COPY ./app /app
ENV PYTHONPATH=/deps
USER 10001                                        # usuario sin privilegios, no root
EXPOSE 8000
ENTRYPOINT ["python", "-m", "uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"]

Qué se ha reducido y por qué importa:

  • Construcción en dos etapas: los compiladores y las herramientas de instalación se quedan en la primera etapa y no llegan a producción. Un atacante no puede compilar nada.
  • Imagen distroless: no hay sh, ni bash, ni curl, ni apt. Muchas técnicas de post-explotación asumen que hay una shell disponible; aquí, sencillamente, no la hay.
  • USER 10001: el proceso no corre como root. Una ejecución de código arbitrario no da control del contenedor.
  • Efecto colateral valioso: menos paquetes significa menos CVEs que revisar cada semana. La reducción de superficie también reduce el trabajo de mantenimiento.

Los detalles de seguridad en contenedores se desarrollan en 05-07; aquí basta con ver el principio en acción.


  1. Actores de amenaza: quién, por qué y con qué capacidad

Un actor de amenaza es quien materializa una amenaza. Conocerlos importa porque la motivación determina el objetivo y la capacidad determina hasta dónde puede llegar — y ambos deciden dónde inviertes.

Actor Motivación Capacidad Objetivo típico ¿Relevante para Nimbus?
Oportunista / script kiddie Curiosidad, reputación, práctica; a menudo automatizado sin objetivo elegido Baja: herramientas públicas, exploits conocidos, escaneo masivo Lo que esté abierto y sin parchear, sin importar de quién sea Muy alta. Es el 90 % de lo que Nimbus verá
Crimen organizado Dinero: ransomware, fraude, venta de datos Media-alta: acceso inicial comprado, herramientas comerciales, persistencia Empresas con capacidad de pago y baja tolerancia a la parada Alta. Una PYME que no puede parar es un objetivo rentable
Insider (malicioso, negligente o comprometido) Venganza, dinero, prisa, error Alta por definición: ya tiene acceso legítimo Datos que ya puede tocar; puede llevárselos sin «entrar» Alta. Incluida la consultora externa
Hacktivista Ideología, protesta, visibilidad Baja-media: DDoS, desfiguración de web, filtraciones Organizaciones con perfil público en un conflicto Baja: Nimbus no tiene perfil político
Competidor Ventaja comercial: cartera de clientes, precios, tecnología Variable; a menudo mediante insiders o ingeniería social, no técnica Información comercial y de producto Media, sobre todo vía ex empleados
Grupo patrocinado por un Estado (APT) Espionaje, geopolítica, preposicionamiento Muy alta: 0-days, recursos, meses de sigilo Infraestructura crítica, defensa, grandes tecnológicas, cadenas de suministro Baja como objetivo directo; no nula como daño colateral

7.1 Por qué a Nimbus le afecta sobre todo el ataque oportunista

Es el punto más importante de este apartado, porque corrige el error mental más caro en una PYME: «a nosotros no nos va a atacar nadie, no somos interesantes».

La premisa es falsa porque el atacante oportunista no elige víctimas: encuentra sistemas. El proceso es completamente automatizado:

flowchart LR
    A["Bot escanea rangos\ncompletos de Internet"] --> B["Encuentra un servicio\nexpuesto y desactualizado"]
    B --> C["Prueba exploits publicos\ny credenciales conocidas"]
    C --> D{"Funciona?"}
    D -->|No| A
    D -->|Si| E["Acceso inicial\n(a menudo se VENDE\na otro grupo)"]
    E --> F["Cifrado, mineria\no exfiltracion"]

Nada en esta cadena requiere que alguien haya oído hablar de Nimbus. Tres consecuencias prácticas:

  1. La exposición pesa más que el atractivo. Lo que decide si te comprometen no es lo interesante que seas, sino si tienes algo abierto y sin parchear. Ese SSH en 0.0.0.0/0 del apartado 4.3 recibe intentos de autenticación cada pocos minutos, todos los días, sin que nadie sepa qué es Nimbus.
  2. Los controles básicos rinden desproporcionadamente. Parchear, cerrar lo que no se usa, MFA en todas las cuentas administrativas y copias fuera de alcance neutralizan a la inmensa mayoría de estos actores. No hace falta un centro de operaciones de seguridad para defenderse de un bot.
  3. El acceso inicial se revende. Existen intermediarios que comprometen sistemas y venden el acceso a grupos de ransomware. Por eso «solo me han minado criptomonedas, no es grave» es una conclusión peligrosa: quien entró pudo dejar la puerta abierta, y quien la use después puede tener otros planes.

Frente al APT, la conclusión honesta es distinta: si un grupo con recursos estatales decidiera atacar específicamente a Nimbus, Nimbus no puede detenerlo. Lo que sí puede es detectar y limitar el alcance, que es exactamente el enfoque «asume la brecha» de la lección 01-03. Y hay un matiz relevante: Nimbus podría ser un objetivo intermedio — no por sus datos, sino por ser proveedor de otros. Los ataques a la cadena de suministro convierten a empresas pequeñas en puentes hacia empresas grandes.


  1. Introducción práctica al modelado de amenazas con STRIDE

El modelado de amenazas es un ejercicio estructurado para responder, sobre un diseño concreto: ¿qué puede salir mal aquí? Se hace antes de construir (seguridad desde el diseño) o al revisar lo existente, y no requiere herramientas: bastan un diagrama y un método.

STRIDE es el método más usado para empezar. Es una lista de seis categorías de amenaza, cada una asociada a la propiedad de seguridad que viola:

Letra Amenaza Propiedad que viola Pregunta que hay que hacerse Ejemplo en Nimbus
S Spoofing — suplantación Autenticidad ¿Puede alguien hacerse pasar por otro? Un webhook falso simulando ser la pasarela de pago
T Tampering — manipulación Integridad ¿Puede alguien alterar datos en tránsito o en reposo? Modificar el importe en la petición antes de que llegue a la API
R Repudiation — repudio No repudio ¿Puede alguien negar lo que hizo? Cancelar 200 citas y afirmar que no fue él, sin log que lo desmienta
I Information disclosure — divulgación Confidencialidad ¿Se filtra información a quien no debe? El endpoint sin filtro de tenant de la lección 01-01
D Denial of service — denegación Disponibilidad ¿Se puede impedir el uso legítimo? El endpoint de informes sin paginación
E Elevation of privilege — elevación Autorización ¿Puede alguien obtener más permisos de los que le tocan? Un usuario de una clínica que consigue rol de administración

Reconocerás las seis: son las propiedades de la lección 01-01 vistas desde el lado del atacante. Esa es toda la gracia de STRIDE — convierte una lista de propiedades en una lista de preguntas.

8.1 Paso 1: dibujar el diagrama de flujo de datos (DFD)

El modelado se hace sobre un diagrama, no sobre la aplicación entera. Un DFD tiene cuatro elementos: entidades externas (actores fuera de tu control), procesos (tu código), almacenes de datos y flujos. Y un quinto elemento que es donde vive casi todo el valor del ejercicio: las fronteras de confianza, líneas que separan zonas con distinto nivel de confianza.

flowchart TB
    subgraph EXT["ZONA NO CONFIABLE - Internet"]
        U["Paciente / usuario final\n(entidad externa)"]
        ADM["Personal de la clinica\n(entidad externa)"]
        CONS["Consultora externa\n(entidad externa)"]
    end

    subgraph BORDE["FRONTERA 1 - Borde publico"]
        WAF["Balanceador + WAF\n(proceso)"]
    end

    subgraph APP["FRONTERA 2 - Red privada de aplicacion"]
        API["API REST FastAPI\n(proceso)"]
        WRK["Worker de informes\n(proceso)"]
    end

    subgraph DAT["FRONTERA 3 - Zona de datos"]
        DB[("PostgreSQL\nalmacen")]
        S3[("Bucket adjuntos\nalmacen")]
        LOG[("Auditoria y logs\nalmacen")]
    end

    subgraph TER["FRONTERA 4 - Terceros"]
        PAY["Pasarela de pago"]
        MAIL["Email transaccional"]
    end

    U -->|"F1: HTTPS reservar"| WAF
    ADM -->|"F2: HTTPS gestionar agenda"| WAF
    WAF -->|"F3: HTTP interno"| API
    API -->|"F4: SQL sobre TLS"| DB
    API -->|"F5: objetos cifrados"| S3
    API -->|"F6: eventos de auditoria"| LOG
    API -->|"F7: cobro tokenizado"| PAY
    PAY -->|"F8: webhook de confirmacion"| API
    API -->|"F9: envio de recordatorios"| MAIL
    WRK -->|"F10: lectura agregada"| DB
    CONS -->|"F11: acceso remoto administrativo"| APP

Cómo se dibuja un DFD útil (te servirá para el ejercicio):

  1. Empieza por las entidades externas: todo lo que no controlas. Ahí es donde entra lo inesperado.
  2. Añade tus procesos y almacenes.
  3. Dibuja los flujos y numéralos: los números te permiten enumerar amenazas de forma ordenada y no olvidarte de ninguno.
  4. Traza las fronteras de confianza. Regla práctica: cada vez que un dato cruza una frontera, hay que analizarlo. Ahí es donde se concentran las amenazas.
  5. No dibujes toda la empresa. Un DFD de un flujo concreto, bien hecho, vale más que un diagrama gigante que nadie mira.

8.2 Paso 2: aplicar STRIDE a los flujos y elementos

Se recorre el diagrama elemento por elemento preguntando las seis preguntas. Extracto del análisis de Nimbus:

Elemento / flujo Letra Amenaza concreta Mitigación
F1 Usuario → WAF S Alguien reserva haciéndose pasar por otro paciente Verificación de correo/SMS al reservar; sesión autenticada para gestionar
F1 Usuario → WAF D Reservas automatizadas masivas que llenan la agenda de un cliente Limitación de peticiones por IP, CAPTCHA, límite de reservas por usuario
F3 WAF → API T Manipulación del tráfico interno si la red se considera «de confianza» TLS también en el tramo interno; mTLS entre servicios (confianza cero)
F4 API → BD I Consulta que devuelve datos de otro tenant Filtro por tenant + seguridad a nivel de fila; usuario de BD con mínimo privilegio
F4 API → BD E Inyección SQL que permite ejecutar operaciones no previstas Consultas parametrizadas; usuario sin DELETE ni DDL
F5 API → Bucket I Adjuntos accesibles por URL directa sin autorización Bucket privado, URLs firmadas de vida corta, verificación de propiedad
F6 API → Logs R Un actor con acceso borra su rastro Almacén de solo anexado, en cuenta separada; sin permiso de borrado para producción
F8 Pasarela → API S Webhook falsificado que marca como pagada una factura impagada Verificación de la firma del webhook; lista de IPs; confirmación contra la API de la pasarela
F10 Worker → BD I El worker de informes lee columnas con datos personales que no necesita Vista agregada sin identificadores; rol con permisos mínimos (ejercicio de 01-03)
F11 Consultora → App E Acceso administrativo permanente y compartido usado más allá de lo necesario Acceso just-in-time con caducidad, cuentas nominales, grabación de sesión, MFA
Almacén BD D Borrado o cifrado por ransomware Copias inmutables en otra cuenta, fuera del alcance de las credenciales de producción

Tres reglas para que el ejercicio sea productivo:

  • No busques las seis letras en todos los elementos. Algunas no aplican. Es normal y no es un fallo del método.
  • Prioriza las fronteras. Los flujos que cruzan una línea de confianza (F1, F2, F8, F11) concentran las amenazas más relevantes.
  • Cada amenaza debe terminar en una decisión: mitigar, aceptar, transferir o eliminar. Un modelado que produce una lista bonita y ninguna decisión no ha servido de nada. La formalización de esas decisiones —con probabilidad, impacto y matriz— se hace en 04-01.

  1. Cierre del módulo

Este es el punto en el que las cuatro lecciones se unen:

flowchart LR
    L1["01-01\nVocabulario y CIA\nQUE proteger"] --> L2["01-02\nAmenazas y vulnerabilidades\nDE QUE protegerlo"]
    L2 --> L3["01-03\nPrincipios de diseno\nCON QUE CRITERIO"]
    L3 --> L4["01-04\nActivos, superficie y actores\nQUE TIENES exactamente"]
    L4 --> M2["MODULO 2\nCiberseguridad\nCOMO ATACAN y COMO DEFENDERSE"]

Tienes el mapa del terreno. A partir de aquí, cada módulo profundiza en una parte: cómo se ataca y se defiende (2), cómo se protege la información con matemáticas (3), cómo se gestiona el riesgo y se responde (4), qué herramientas se usan (5), qué exige la normativa (6) y cómo aplicarlo todo a un caso completo (7).


Errores Comunes y Consejos

Errores comunes:

  • Confundir inventario con lista de servidores. El inventario incluye datos, servicios SaaS, dominios, personas y terceros. Los activos que no son servidores son los que más se olvidan y los que más incidentes causan.
  • Hacer el inventario una vez. Un inventario de hace un año describe una empresa que ya no existe.
  • Inventariar sin propietario. Un activo sin responsable no se parchea, no se clasifica y no se retira. Si tuvieras que elegir un solo campo, elige propietario.
  • Clasificar todo como confidencial. Si todo es confidencial, nada lo es: el equipo deja de distinguir y trata todo con el mismo (bajo) cuidado.
  • Olvidar la superficie interna. Muchos se miden solo desde fuera. La superficie interna es la que determina el alcance de un compromiso.
  • Creer que «no somos objetivo». Los ataques oportunistas no eligen; encuentran. Es el error de razonamiento más caro en una PYME.
  • Modelar amenazas sin fronteras de confianza. Un DFD sin fronteras convierte el ejercicio en un dibujo bonito. Las fronteras son donde están las amenazas.
  • Terminar el modelado sin decisiones. Una lista de amenazas sin mitigación asignada y sin responsable no cambia nada.

Consejos:

  • Empieza el inventario por lo que da a Internet y por lo que contiene datos restringidos. Eso ya cubre el grueso del riesgo.
  • Dedica una hora al trimestre exclusivamente a buscar lo que sobra: subdominios, entornos, cuentas, integraciones y credenciales sin uso. Es la hora de seguridad más rentable del trimestre.
  • Cuando revises un servidor, cruza siempre dos capas: lo que escucha el sistema (ss) y lo que permite el cortafuegos del proveedor. Una sola capa da un diagnóstico falso.
  • Haz tu primer modelado STRIDE sobre un solo flujo —el de reserva, por ejemplo— y termínalo. Un modelado pequeño y acabado enseña más que uno ambicioso y abandonado.
  • Guarda el DFD junto al código, en el repositorio. Así se actualiza cuando cambia la arquitectura y no se convierte en un documento muerto.

Ejercicios

Ejercicio 1 — Completar y clasificar el inventario

Durante una revisión aparecen cinco activos de Nimbus que no estaban en la tabla del apartado 2.1. Para cada uno indica: tipo, propietario razonable, criticidad, clasificación y una acción inmediata.

  1. El servidor demo.nimbusreservas.example, levantado hace 94 días por Iván, sirviendo ficheros estáticos en el puerto 8000 desde el servidor de base de datos.
  2. Una hoja de cálculo compartida por Sara con nombres, DNI, salarios y cuentas bancarias de los 38 empleados, en una carpeta de la nube con enlace «cualquiera con el enlace puede ver».
  3. Una cuenta de servicio en GitHub llamada nimbus-deploy-bot con un token personal sin caducidad y permisos de escritura en todos los repositorios.
  4. Un NAS en la oficina de Valencia donde se copiaban las bases de datos hasta hace dos años; sigue encendido y nadie recuerda la contraseña de administración.
  5. El grupo de WhatsApp «Nimbus Soporte Urgente», donde Rubén comparte capturas de pantalla de incidencias de clientes.

Ejercicio 2 — Reducir la superficie de ataque

Este es el resultado de sudo ss -tulpn en el servidor de aplicaciones de Nimbus. Para cada línea indica si es aceptable o no, qué riesgo introduce y qué acción concreta de reducción de superficie aplicarías.

Netid State  Recv-Q Send-Q  Local Address:Port  Peer Address:Port Process
tcp   LISTEN 0      511           0.0.0.0:8000       0.0.0.0:*     users:(("python",pid=1201,fd=6))
tcp   LISTEN 0      128           0.0.0.0:22         0.0.0.0:*     users:(("sshd",pid=633,fd=3))
tcp   LISTEN 0      511           0.0.0.0:6379       0.0.0.0:*     users:(("redis-server",pid=940,fd=6))
tcp   LISTEN 0      128         127.0.0.1:5000       0.0.0.0:*     users:(("flask",pid=3310,fd=4))
tcp   LISTEN 0      511           0.0.0.0:9100       0.0.0.0:*     users:(("node_exporter",pid=1102,fd=3))
udp   UNCONN 0      0             0.0.0.0:161        0.0.0.0:*     users:(("snmpd",pid=755,fd=8))

Ejercicio 3 — Modelado STRIDE de un flujo nuevo

Nimbus va a lanzar una funcionalidad nueva: recordatorios por SMS. El flujo es:

  1. El personal de la clínica activa los recordatorios desde el panel web.
  2. Un worker consulta cada hora en PostgreSQL las citas de las próximas 24 horas.
  3. Por cada cita, llama a la API de un nuevo proveedor de SMS (tercero) enviando el teléfono del paciente y un texto con la fecha, la hora y el nombre del servicio («Rehabilitación de rodilla»).
  4. El proveedor devuelve un identificador de envío que se guarda en la tabla envios_sms.
  5. El proveedor envía un webhook a la API de Nimbus cuando el SMS se entrega o falla.

Se pide: (a) dibuja el DFD en mermaid con sus fronteras de confianza; (b) identifica al menos una amenaza por cada letra de STRIDE, indicando el elemento o flujo afectado; (c) propón una mitigación para cada una.


Soluciones

Solución 1

# Activo Tipo Propietario Criticidad Clasificación Acción inmediata
1 demo en puerto 8000 Software / Servicio Iván Media (por su ubicación: está en el servidor de BD) A determinar según su contenido Apagarlo hoy y revisar qué servía. Si es necesario, recrearlo en un entorno aislado con caducidad automática
2 Hoja de nóminas con enlace público Información Sara Alta Restringido Revocar el enlace público inmediatamente, pasar a permisos nominales, revisar el registro de accesos y valorar si hubo brecha de datos
3 Token nimbus-deploy-bot sin caducidad Información (secreto) Marta Crítica Restringido Rotar el token, acotar permisos por repositorio, migrar a credenciales efímeras del propio CI/CD, activar caducidad
4 NAS olvidado con copias antiguas Hardware + Información Lucía Alta (contiene datos personales) Restringido Aislarlo de la red, recuperar el acceso de forma controlada, inventariar contenido, exportar lo que tenga valor legal y destruir el resto de forma segura
5 Grupo de WhatsApp con capturas de clientes Servicio / Información Rubén (con Marta como responsable del proceso) Media Restringido por su contenido Prohibir el uso de canales personales para datos de clientes, migrar a la herramienta de tickets, borrar el histórico y formar al equipo

Comentarios clave:

  • El caso 2 es el más grave en términos de datos personales y probablemente el más frecuente en la vida real. Un enlace de tipo «cualquiera con el enlace» es una publicación: los enlaces se reenvían, se indexan y se filtran.
  • El caso 3 ilustra la reducción de superficie en la cadena de suministro: un token sin caducidad con acceso total a todos los repositorios es una llave maestra que nunca expira.
  • El caso 4 muestra por qué el inventario debe incluir la retirada: un activo olvidado sigue siendo un pasivo de riesgo mientras esté encendido.
  • El caso 5 recuerda que la superficie humana y la de terceros no siempre pasan por sistemas corporativos.

Solución 2

Línea Veredicto Riesgo Acción
0.0.0.0:8000 (python/API) Aceptable con matiz Es la aplicación; debe ser alcanzable, pero solo desde el balanceador Restringir en el grupo de seguridad para que solo acepte del balanceador, no de Internet
0.0.0.0:22 (sshd) No aceptable si el cortafuegos lo permite desde fuera Fuerza bruta continua desde bots; acceso administrativo directo Acceso solo desde bastión o VPN; autenticación por clave, sin contraseña; sin acceso directo de root; registro y alerta
0.0.0.0:6379 (redis) Grave Redis sin autenticación por defecto: lectura y escritura de sesiones y caché, y en escenarios conocidos escritura de ficheros en el sistema Vincular a 127.0.0.1 o a la red privada, activar autenticación y TLS, cerrar el puerto en el cortafuegos. Prioridad máxima
127.0.0.1:5000 (flask) Sospechoso No expuesto (solo local), pero ¿qué hace un servidor de desarrollo Flask en producción? Investigar y eliminar. Superficie interna innecesaria y probablemente un activo no inventariado
0.0.0.0:9100 (node_exporter) No aceptable Expone métricas detalladas del sistema sin autenticación: versiones, procesos, sistemas de ficheros Restringir a la red de monitorización; añadir autenticación o TLS mutuo si el proveedor lo soporta
0.0.0.0:161 (snmpd) No aceptable SNMP con comunidad por defecto (public) filtra inventario completo del sistema; versiones antiguas del protocolo carecen de cifrado Desinstalarlo si no se usa (que es lo más probable). Si se usa, versión 3 con autenticación y cifrado, restringido por red

Regla de decisión que resume el ejercicio: para cada servicio en escucha, pregúntate si alguien lo necesita; si nadie lo necesita, elimínalo; si alguien lo necesita, restringe quién puede llegar. Aplicando solo eso, esta máquina pasa de seis puertas abiertas a una, controlada.

Solución 3

(a) DFD del flujo de recordatorios por SMS:

flowchart TB
    subgraph EXT["ZONA NO CONFIABLE"]
        CLI["Personal de la clinica\n(entidad externa)"]
        PAC["Paciente\n(recibe el SMS)"]
    end
    subgraph APP["ZONA DE APLICACION"]
        PANEL["API / panel web\n(proceso)"]
        WRK["Worker de recordatorios\n(proceso)"]
    end
    subgraph DAT["ZONA DE DATOS"]
        DB[("PostgreSQL\ncitas + envios_sms")]
        SEC[("Almacen de secretos\nclave API del proveedor")]
    end
    subgraph TER["FRONTERA - TERCERO"]
        SMS["Proveedor de SMS"]
    end

    CLI -->|"G1: activar recordatorios (HTTPS)"| PANEL
    PANEL -->|"G2: guardar configuracion"| DB
    WRK -->|"G3: leer citas proximas 24h"| DB
    WRK -->|"G4: leer credencial"| SEC
    WRK -->|"G5: telefono + texto del servicio"| SMS
    SMS -->|"G6: id de envio"| WRK
    WRK -->|"G7: guardar id"| DB
    SMS -->|"G8: webhook de entrega"| PANEL
    SMS -.->|"G9: SMS"| PAC

(b) y (c) Amenazas STRIDE y mitigaciones:

Letra Elemento Amenaza Mitigación
S Spoofing G8 webhook Un tercero envía webhooks falsos simulando ser el proveedor, para marcar como entregados envíos que no lo fueron o para inyectar datos Verificar la firma HMAC del webhook con el secreto compartido; validar el origen; rechazar y registrar lo no firmado (ver 03-04)
T Tampering G5 worker → proveedor Manipulación del contenido del mensaje o del número de destino si el canal no está protegido TLS obligatorio con validación de certificado; nunca aceptar certificados no verificados; validar el formato del teléfono antes de enviar
R Repudiation G1 activación La clínica niega haber activado el envío de datos de citas por SMS a un tercero Registrar la activación con actor, hora, IP y aceptación explícita de las condiciones, en un log sin permiso de borrado
I Information disclosure G5 y G9 La amenaza principal del flujo. El texto incluye el nombre del servicio («Rehabilitación de rodilla»): se envía a un tercero y se muestra en la pantalla de bloqueo del móvil, visible para cualquiera. Es información que revela salud Minimizar el contenido: enviar solo «Le recordamos su cita del 15/03 a las 17:00 en Clínica Turia», sin el servicio. Evaluar el tratamiento con el responsable de cumplimiento antes de lanzar; contrato de encargo con el proveedor; retención mínima; consentimiento informado del paciente
D Denial of service G3/G5 worker El proveedor limita o cae y el worker reintenta en bucle, saturando la base de datos o agotando el saldo; o un cliente con 10.000 citas bloquea la cola Cola con reintentos exponenciales y límite, circuit breaker, límite de envíos por tenant y por hora, alerta de saldo y de tasa de error
E Elevation of privilege G4 secreto / worker El worker corre con la credencial general de la API y puede leer todas las tablas; o la clave del proveedor se filtra en logs y permite enviar SMS a cargo de Nimbus Rol propio con permisos mínimos (SELECT sobre una vista de citas sin datos clínicos, INSERT en envios_sms); credencial en el almacén de secretos, nunca en variables de entorno registradas; rotación; prohibición de registrar la clave

Amenaza transversal que conviene añadir (buena práctica al modelar): el flujo introduce un nuevo tercero en la cadena de suministro, con acceso a teléfonos de pacientes y, si no se minimiza, a información sobre su salud. Esto requiere evaluación del proveedor, contrato de encargo de tratamiento, y decidir qué pasa con esos datos cuando se termine la relación. Es materia de 04-04 y 06-03.

Nota sobre implicaciones legales: este ejercicio toca tratamiento de datos personales y su comunicación a un tercero, con datos que pueden revelar información de salud. Las decisiones concretas —base de legitimación, información al interesado, contrato con el encargado, necesidad de evaluación de impacto— deben validarse con el responsable de cumplimiento o con un profesional del ámbito jurídico. Lo aquí expuesto tiene fines exclusivamente formativos.


Conclusión

Has cerrado el módulo con la pieza más práctica de las cuatro. Sabes que un activo es todo lo que tiene valor —información, software, hardware, servicios, personas e intangibles como la reputación— y has construido el inventario de Nimbus con los cuatro campos que lo hacen útil: propietario, criticidad, clasificación y dependencias. Ese inventario ha revelado dos cosas que ninguna herramienta te habría dicho: que la cuenta del proveedor cloud es el activo del que dependen casi todos los demás, y que hay celdas con dudas —como la clasificación de preproducción— que son, precisamente, el primer trabajo pendiente. Has aprendido a clasificar la información en cuatro niveles y las tres reglas que evitan los errores habituales: la clasificación se hereda hacia arriba, la agregación puede subir el nivel y el contexto define la sensibilidad — por eso una agenda de fisioterapia no es «solo una agenda».

Has contrastado el papel con la realidad usando ss -tulpn y descubierto un servidor olvidado corriendo desde hace 94 días, y has aprendido la regla que hace útil esa salida: mira la dirección local antes que el puerto, y cruza siempre la capa del sistema con la del cortafuegos del proveedor. Sobre esa foto has medido la superficie de ataque en sus cinco dimensiones —red, software y APIs, humana, física y cadena de suministro— y has visto que reducirla es la inversión más rentable que existe: lo que no está, no se ataca, no se parchea y no se vigila. Has conocido a los actores de amenaza y has corregido el error de razonamiento más caro de cualquier PYME: el atacante oportunista no elige víctimas, encuentra sistemas, y por eso la exposición pesa más que el atractivo. Y has dado tus primeros pasos con STRIDE sobre un diagrama de flujo de datos de Nimbus, aprendiendo que el valor del ejercicio está en las fronteras de confianza y en terminar cada amenaza con una decisión.

Con esto se cierra el módulo 1. Tienes el vocabulario, el catálogo de amenazas, los principios de diseño y el mapa exacto de lo que hay que proteger en Nimbus. A partir de ahora dejamos de describir el terreno y entramos en el conflicto. En el Módulo 2: Ciberseguridad delimitaremos el alcance de la disciplina y sus marcos de referencia, recorreremos los tipos de ataque que se ejecutan contra sistemas como el de Nimbus, estudiaremos a fondo la ingeniería social y el phishing —la vía por la que entran la mayoría de los incidentes reales—, veremos las medidas de protección que los contrarrestan, profundizaremos en identidad, autenticación y control de acceso, y analizaremos casos de estudio de incidentes reales para extraer las lecciones que se repiten una y otra vez. Empezamos por Definición y Alcance de la Ciberseguridad (02-01).

Curso de Fundamentos de Seguridad Informática

Módulo 1: Introducción a la Seguridad Informática

Módulo 2: Ciberseguridad

Módulo 3: Criptografía

Módulo 4: Gestión de Riesgos y Medidas de Protección

Módulo 5: Herramientas y Técnicas de Seguridad

Módulo 6: Buenas Prácticas y Normativas

Módulo 7: Proyecto Final

© Copyright 2026. Todos los derechos reservados