M105 sem · 100 h20 lecciones

Sigla en azul →glosario(primera vez: expansión entre paréntesis).

M10 — Redes de computadoras (con mirada de seguridad)

Por qué existe

Sin redes no hay web. Sin entender TLS (seguridad de la capa de transporte), cookies y la ruta de una request, la “seguridad” es teatro. Esta materia es la capa A de la pista de ciberseguridad (hilo).

En resumen: sigues el viaje de una petición (DNS (sistema de nombres de dominio) → TCP (protocolo de control de transmisión) → TLS → HTTP (protocolo de transferencia de hipertexto)) y anotas qué puede fallar en tu producto.

Objetivos de aprendizaje

  1. Explicar capas (modelo simplificado) y el viaje DNS → TCP → TLS → HTTP.
  2. Usar curl, leer headers y status codes con criterio.
  3. Entender certificados TLS a nivel ingeniero (no crypto avanzada).
  4. Dibujar la superficie de ataque de tu propio servicio.

Cómo estudiar esta materia (lecciones)

M10 sigue el formato de lecciones completas (como M01): marcas una a una en la UI (interfaz de usuario).

  1. Abre las lecciones en orden (L01 → L20).
  2. Cada lección trae objetivo, pasos, lectura y criterio “Hecho cuando”.
  3. Marca la lección solo si cumple ese criterio.
  4. Las prácticas / proyecto exigen evidencia en projects/m10-redes/.
  5. Relaciona labs con el piloto Agenda Ops (M12+) y la API (interfaz de programación de aplicaciones) de M17.
  6. Método general: Cómo estudiar.

Semana tipo (20 h)

Bloque Horas Qué haces
Lectura + labs 10–12 Lecciones de la semana (4× ~5 h)
Bitácora P1 4–6 projects/m10-redes/labs/
Proyecto / P2–P3 4–6 TCP echo, superficie, amenazas
Retro 1 Qué protege TLS y qué no

Si un día solo tienes 2 h: una lección práctica (pasos + evidencia). No saltes la lectura de esa lección.

Lecciones

Semana 1 — Capas, IP, TCP/UDP y puertos (~20 h)

ID Lección ~h
L01 Modelo de capas y primer curl 5
L02 IP, direccionamiento y enrutamiento intro 5
L03 TCP vs UDP y puertos bien usados 5
L04 Cierre semana 1 — bitácora P1 5

Semana 2 — DNS y HTTP (~20 h)

ID Lección ~h
L05 DNS: resolución, registros y fallos 5
L06 HTTP mensajes, métodos y semántica 5
L07 Status codes y cabeceras de respuesta 5
L08 HTTP/2 intuición y curl avanzado 5

Semana 3 — TLS y certificados (~20 h)

ID Lección ~h
L09 TLS: handshake y qué protege en tránsito 5
L10 Certificados X.509 y cadena de confianza 5
L11 Lab openssl y pinning conceptual 5
L12 MITM conceptual y amenazas de enlace 5

Semana 4 — Cookies, sesiones y CORS (~20 h)

ID Lección ~h
L13 Cookies: atributos y modelo de almacenamiento 5
L14 Sesiones, tokens y estado en APIs 5
L15 CORS, preflight y errores típicos 5
L16 Cabeceras de seguridad HTTP 5

Semana 5 — Superficie de ataque y proyecto (~20 h)

ID Lección ~h
L17 Superficie de ataque: endpoints y datos 5
L18 Cliente y servidor TCP mínimo (P2) 5
L19 Documento de amenazas de red del producto 5
L20 Cierre M10 — evidencias y dominio 5

Empieza por L01 hoy.

Lecturas (mapa rápido)

Canon: Redes de computadoras — Tanenbaum & Wetherall (ed. ES) + MDN (Mozilla Developer Network) HTTP (ES). Ver bibliografía y hilo de seguridad.

Semana Lecciones Capítulos / recursos Alternativa
1 L01–L04 Tanenbaum: intro + red/transporte (IP, TCP/UDP (protocolo de datagrama de usuario), puertos) curl, ping, ss
2 L05–L08 Capa de aplicación + HTTP; MDN overview + status codes MDN ES HTTP
3 L09–L12 Seguridad / TLS (selecto) + labs certificados MDN TLS
4 L13–L16 MDN Cookies, sesiones, CORS (intercambio de recursos de origen cruzado), security headers Hilo seguridad
5 L17–L20 Superficie de ataque → doc proyecto + cierre Hilo seguridad

Regla: cada capítulo → un lab en terminal el mismo día.

Ejemplo — inspeccionar headers de seguridad

curl -sI https://tu-dominio.ejemplo | sed -n '1,30p'

Busca (cuando tengas producto): Strict-Transport-Security, Content-Security-Policy, X-Frame-Options. Si faltan, anótalo para M18.

Prácticas

  1. P1: Bitácora de labs curl/TLS con capturas o logs.
  2. P2: Echo TCP mínimo en Node/TS + diagrama.
  3. P3: Inventario: endpoints, auth, datos sensibles, trust boundaries.

Proyecto útil

Doc projects/m10-redes/README.md: cómo viaja una request a tu API + lista de amenazas de red (eavesdropping, session theft, DNS spoofing a alto nivel) y mitigaciones que aplicarás en M18/M19.

Errores comunes

  • Pensar que “HTTPS (HTTP sobre TLS) = ya estoy seguro” (XSS (cross-site scripting)/IDOR (referencia directa insegura a un objeto) siguen vivos).
  • Exponer APIs en HTTP “solo en local” y luego olvidarlo en prod.
  • Ignorar cookies Secure / HttpOnly.

Evidencia de hecho

Marca la práctica en la UI solo si existe esto (o equivalente claro):

  • P1 — Labs: projects/m10-redes/ con logs curl/TLS.
  • P2 — TCP: Echo TCP mínimo + diagrama de una request.
  • P3 — Superficie: Mapa puertos/headers/cookies de tu servicio.
  • Proyecto — Doc: Amenazas de red del producto web enlazadas a M18.

Criterios de dominio

  • Depuras un timeout con hipótesis red vs app.
  • Explicas TLS a un compañero sin decir “es magia”.
  • Tu mapa de superficie existe y es honesto.