Cómo detectar, resistir y recuperarse de ataques
Clase 36 de 43 • Curso Profesional de Arquitectura de Software
Contenido del curso
Atributos de calidad
- 2

Qué son los atributos de calidad en software
01:49 min - 3

Cómo medir idoneidad funcional en software
02:52 min - 4

Qué es eficiencia de ejecución en software
04:14 min - 5

Cómo medir interoperabilidad y coexistencia
03:49 min - 6

Qué es la usabilidad y sus 6 dimensiones
08:14 min - 7

Cómo medir confiabilidad en software
05:38 min - 8

Los 5 pilares de seguridad en software
04:01 min - 9

Cómo garantizar mantenibilidad con tests
06:27 min - 10

Adaptabilidad vs capacidad de instalación vs reemplazo
02:48 min - 11

Tensiones entre atributos de calidad de software
04:04 min - 12

Atributos de calidad según fase de empresa
07:00 min
Patrones de arquitectura
- 13

Qué es un patrón de arquitectura
02:50 min - 14

Modelo vista controlador: cómo separar responsabilidades
05:37 min - 15

Arquitectura en capas: controller, servicio y repositorio
03:14 min - 16

Event sourcing vs bases relacionales
06:17 min - 17

Qué es la arquitectura microkernel
01:52 min - 18

Arquitectura Comparte Nada con Map Reduce
02:29 min - 19

Patrón de microservicios: cuándo y cómo
03:57 min - 20

Qué es CQRS y cómo separa lectura de escritura
03:24 min - 21

Arquitectura hexagonal: puertos y adaptadores
04:10 min - 22

Qué son los contextos delimitados en DDD
05:34 min - 23

Cómo combinar patrones de arquitectura
09:22 min - 24

Evolución de patrones desde monolito a microservicios
07:58 min
Diseño de una arquitectura
- 25

Cómo traducir requerimientos en decisiones arquitectónicas
02:18 min - 26

Conectores en arquitectura: tipos y cuándo usarlos
06:18 min - 27

Llamadas asíncronas vs síncronas vs cliente-servidor
03:05 min - 28

Conector enrutador vs difusión: Twitter
01:55 min - 29

Conectores cola, repositorio y pub/sub
03:52 min - 30

Framework de diseño orientado a atributos
01:55 min - 31

Cómo detectar fallas y reparar sistemas
05:59 min - 32

Cómo recuperar y prevenir fallas en sistemas
04:09 min - 33

Tácticas para confinar modificaciones
06:15 min - 34

Cómo prevenir efectos dominó en software
12:17 min - 35

Tácticas para controlar eficiencia de ejecución
09:14 min - 36

Cómo detectar, resistir y recuperarse de ataques
Viendo ahora - 37

Cómo probar que el software funciona correctamente
05:14 min - 38

Cómo controlar la usabilidad con tácticas
08:20 min - 39

Cómo validar arquitectura con ATAM y métricas
06:34 min - 40

Evolución de arquitectura: startup a gran escala
10:30 min
Modelado y documentación de arquitectura
Refuerza la seguridad de tu sistema con una estrategia directa y comprobable. Ante un ataque como estímulo de entrada, la respuesta debe priorizar tres frentes: detectar el incidente, resistir al atacante y recuperarse hasta un estado consistente. Estas familias de tácticas permiten identificar intrusiones, impedir el éxito del ataque y restaurar la operación con confianza.
¿Cómo detectar un ataque con precisión?
La detección de intrusos busca reconocer usos anómalos y comportamientos inesperados en la aplicación. El objetivo: activar alertas oportunas para decidir medidas como bloquear accesos o cerrar servicios temporalmente.
¿Qué señales activan alertas de intrusión?
- Tráfico de red que no es el esperado.
- Secuencias de acciones fuera del patrón habitual.
- Uso desde equipos o redes no permitidos.
- Sensores y reglas para levantar alertas en tiempo real.
¿Qué estrategias pueden aplicarse?
- Automatización de detección y respuesta.
- Análisis de paquetes que ingresan a la aplicación.
- Políticas simples: restringir por redes permitidas o dispositivos autorizados.
¿Qué implica profundizar en detección?
- Análisis de tráfico de red a bajo nivel.
- Observación del comportamiento en memoria de la aplicación.
- Implementaciones complejas que requieren experiencia en seguridad informática.
¿Cómo resistir el ataque y limitar el daño?
Resistir es habitual en aplicaciones web que identifican usuarios. Se basa en autenticación, autorización y protección de confidencialidad e integridad de los datos, además de reducir la superficie de ataque.
¿Cómo autenticar usuarios de forma efectiva?
- Usuario y contraseña como base.
- Two factor authentication para una segunda verificación.
- Datos biométricos para mayor precisión de identidad.
- Delegación en redes sociales o proveedores externos de autenticación.
¿Cómo autorizar acciones y datos?
- Definir roles con permisos específicos.
- Asignar uno o más roles por usuario.
- Restringir qué funciones puede ejecutar cada rol.
- Controlar qué datos puede ver o modificar cada perfil.
¿Cómo proteger confidencialidad e integridad?
- Confidencialidad de datos: usar encriptación para que solo acceda quien debe hacerlo.
- Integridad de datos: combinar encriptación con algoritmos de hashing.
- Verificación por hash: los mismos datos generan siempre la misma “palabra” de 32, 40 o 60 caracteres, según algoritmo, útil para comparar lo recibido con lo esperado.
- Casos típicos: mensajes JSON, llamadas a API o envíos de formularios.
- Limitar exposición: separar información sensible (por ejemplo, datos privados de usuarios) de la de uso general para acotar el impacto si hay intrusión.
- Limitar acceso: reducir vectores de ataque controlando puertos y conexiones.
- Abrir solo lo necesario en servidores web, por ejemplo: puerto 80 y puerto 443.
- Restringir accesos privados como SSH: cerrar puertos, aplicar controles y, si corresponde, centralizar el acceso remoto en un único punto inicial de conexión.
¿Cómo recuperarse y volver a un estado consistente?
La recuperación busca restaurar la aplicación a un estado estable y confiable, identificando qué ocurrió y reponiendo el servicio con el menor impacto posible.
¿Cómo restaurar el estado?
- Mantener un estado conocido y consistente para recuperar.
- Conservar múltiples estados para comparar consistencia.
- Alinear la restauración con la estrategia de disponibilidad previamente definida.
¿Cómo trazar y auditar acciones?
- Implementar traza de auditoría para registrar pasos de los usuarios.
- Al detectar al atacante: regresar a un estado conocido.
- Reejecutar acciones legítimas de usuarios y descartar las del atacante.
- Resultado: estado consolidado y estable tras el incidente.
¿Por qué contar con expertos en seguridad?
- La seguridad informática es un área amplia y especializada.
- Cuando la seguridad es relevante para el sistema: formarse y/o consultar a expertos.
¿Quieres compartir un caso o duda sobre estas tácticas? Comenta qué controles ya aplicas y qué te gustaría fortalecer.