🎵 ...For Victory — Bolt Thrower
En 1198 Ricardo Corazón de León terminó Château Gaillard sobre el Sena y lo llamó, dicen, su bella hija de un año. Era el estado del arte del sitio de su época: tres recintos en serie, un foso seco tallado en la roca, una torre del homenaje con muros en talud para desviar las piedras de las catapultas. Para tomar el recinto interior había que tomar antes el exterior, y antes el avanzado. Cada muralla suponía que la anterior podía caer, y estaba levantada para que caer no alcanzara. En papel, un sistema sin un solo punto donde todo se decidiera.
En 1204 Felipe II de Francia lo tomó en unos meses. No derribó las tres murallas una tras otra. Sus zapadores encontraron que la capilla del recinto interior tenía una letrina —un conducto que bajaba por el muro hasta el exterior— y treparon por ahí. Un soldado se metió por el pozo de un retrete, abrió una ventana desde adentro, y el recinto que ninguna catapulta iba a partir se abrió desde su propio costado. Las tres murallas seguían en pie cuando la guarnición se rindió. No las vencieron. Las saltearon.
Cuento esto porque la ciberseguridad vende defensa por capas —defense in depth— como si más capas fueran más seguridad, y la historia del castillo dice otra cosa. Las capas no fallan por ser pocas. Fallan cuando comparten una costura que las atraviesa a todas.
La idea es correcta, y por eso hay que tratarla con cuidado.
El principio en sí es de los pocos que no son teatro. Viene de asumir lo que casi nadie quiere asumir: que cualquier control puede fallar. El firewall tiene una regla mal puesta, el antivirus no conoce esta muestra, el empleado hace clic, el parche todavía no se aplicó. Si cada uno de esos controles fuera lo único entre el atacante y el objetivo, cada uno sería un punto único de falla, y un sistema con un punto único de falla no es un sistema seguro: es una apuesta a que ese punto aguante.
La defensa por capas invierte la apuesta. Pone controles en serie de modo que traspasar uno deje al atacante frente a otro, distinto, que todavía tiene que resolver. No promete que ninguna capa caiga. Promete que ninguna caída, sola, alcance. Es la misma lógica del deny por defecto pero repetida en profundidad: no un muro alto, sino varios muros que no se caen juntos.
El error clásico —el que Château Gaillard ilustra— no es tener pocas capas. Es tener muchas capas que se anulan por un mismo costado.
El caramelo: duro por fuera, blando por dentro.
Cheswick y Bellovin, en el libro que fundó la disciplina del firewall en 1994, ya le habían puesto nombre a la falla: la arquitectura crunchy on the outside, chewy on the inside. Un perímetro durísimo —el firewall corporativo, la única muralla— y detrás de él una red interna plana donde, una vez adentro, se llega a cualquier parte. Todo el presupuesto de defensa gastado en la cáscara, y el centro sin dividir.
Es la arquitectura que hace del movimiento lateral un paseo. El atacante no necesita romper el perímetro treinta veces; lo rompe una —un phishing, una VPN con credencial robada— y después está adentro de la parte blanda, donde ninguna otra pared le pregunta nada. La estación de trabajo de recepción habla con el controlador de dominio; el servidor de impresión ve la base de datos de nómina. No porque alguien lo decidiera, sino porque nadie decidió lo contrario. La red plana es la que crece sola cuando nadie la segmenta.
Aquí es donde las tres patas de la defensa por capas se separan y conviene nombrarlas por su función, no por su marca:
flowchart TD
A[Atacante] -->|initial access| B[Perímetro / deny por defecto]
B -->|una capa cae| C[Segmentación
¿a dónde puede ir?]
C -->|contiene el movimiento lateral| D[Hardening del host
¿qué puede ejecutar?]
D -->|reduce superficie| E[Detección + feedback
¿alguien se entera?]
E -->|cierra el lazo| F[Objetivo]
style B fill:#3d2f52,color:#fff
style C fill:#3d2f52,color:#fff
style D fill:#3d2f52,color:#fff
style E fill:#3d2f52,color:#fffSegmentación es dividir el centro blando. Que la red no sea un solo cuarto sino muchos, con puertas que preguntan. VLANs con listas de control, una DMZ para lo expuesto, los usuarios separados de los servidores, el dominio microsegmentado por identidad y no por dónde está enchufado el cable. Su métrica no es “¿el atacante entró?” sino “cuando entró, ¿cuánto pudo caminar antes de chocar con otra pared?”.
Hardening es achicar lo que cada máquina ofrece. Apagar los protocolos heredados que nadie usa y todos explotan —LLMNR, NetBIOS, que regalan hashes a cualquiera que escuche—; rotar las contraseñas de administrador local con LAPS para que reventar una máquina no reviente todas; correr PowerShell en modo restringido; bloquear la ejecución desde las carpetas donde aterrizan los adjuntos —Descargas, Temp, AppData—. Cada cosa apagada es una herramienta menos que el atacante encuentra ya instalada cuando llega.
Detección es la capa que casi nadie cuenta como capa y es la que decide si las otras sirvieron. Un muro que cae sin que nadie se entere es un muro que el atacante cruza a su ritmo. La profundidad sin sensores no es defensa: es demora silenciosa. De esto ya escribí en otro lado —un control sin su lazo de retroalimentación es teatro con buena utilería—, y aquí reaparece como la diferencia entre capas que te dan tiempo y capas que solo se lo dan al que las atraviesa.
La segmentación que no llega hasta arriba.
El Titanic tenía dieciséis compartimentos estancos y se hundió como si no tuviera ninguno. No porque el diseño fuera falso, sino porque los mamparos que los separaban no subían lo suficiente: llegaban un par de cubiertas por encima de la línea de flotación y ahí se detenían. Cuando la proa se inclinó y el agua llenó los primeros compartimentos, no los rompió: los desbordó por arriba, cayendo en cascada al siguiente, y al siguiente. La compartimentación era real. Tenía una altura a la que dejaba de serlo, y el agua encontró esa altura.
Es exactamente el modo en que fallan las segmentaciones reales. La VLAN está bien puesta pero el firewall entre VLANs tiene una regla any-any que alguien agregó “temporalmente” en 2021. El dominio de producción está aislado del de oficina salvo por la cuenta de servicio que un integrador dejó con acceso a los dos. La red industrial está separada de la corporativa excepto por la laptop del contratista que se enchufa en ambas. La pared existe; tiene una altura a la que se termina. El atacante, como el agua, no la rompe: la desborda por donde no llega. Segmentar no es dibujar la línea. Es no dejarle un escalón por encima.
La desagregación: la profundidad también se puede fingir, y peor, se puede correlacionar.
Hasta acá suena a que más capas, bien puestas, siempre suman. Acá es donde hay que separar la parte cierta de la falsa, porque la defensa por capas tiene dos modos de convertirse en su propia parodia.
El primero es la profundidad como teatro. Quince productos apilados en el diagrama, cada uno con su licencia y su panel, ninguno mirado. Comprar capas es fácil —hay un mercado entero que las vende— y da la sensación física de estar más seguro con cada caja nueva. Pero una capa que nadie monitorea, nadie ajusta y nadie prueba no es una capa: es un gasto con forma de muralla. La organización que tiene doce controles y no sabe cuál está en modo “solo detectar” desde hace un año no tiene doce capas. Tiene una cantidad desconocida, y desconocida es peor que pocas, porque cree que son doce.
El segundo es más sutil y es el que Château Gaillard enseña de verdad: la falla correlacionada. Tres murallas de piedra son tres capas contra la catapulta y una sola contra el que sabe trepar por un conducto —porque las tres comparten la misma superficie que el conducto saltea. En redes: si tus cinco capas confían todas en el mismo Active Directory, comprometer AD no atraviesa una capa, las apaga todas a la vez. Si tu perímetro, tu segmentación y tu detección corren todos sobre el mismo agente del mismo fabricante, una evasión de ese agente no es un muro menos: es el edificio. La profundidad real exige que las capas fallen por razones distintas. Cinco candados de la misma marca abren con la misma ganzúa; es el monocultivo otra vez, girado al eje de la defensa. Apilar capas idénticas se siente como profundidad y es un solo punto de falla pintado cinco veces.
Y está la Línea Maginot, que es el error de poner toda la profundidad en el eje equivocado. Francia construyó, entre las dos guerras, la fortificación más profunda de la historia: capas y capas de hormigón, artillería enterrada, todo pensado para que ningún ataque frontal alemán llegara lejos. En 1940 los alemanes no la atacaron. La rodearon por las Ardenas, donde no había línea. La profundidad era enorme y estaba entera en una dirección; el ataque vino de la otra. Modelar la amenaza es, antes que apilar controles, decidir contra qué eje se apilan —y revisar que no exista un eje sin capa donde el adversario simplemente camine.
Reformular la pregunta.
“¿Cuántas capas tengo?” es la pregunta del folleto, y casi siempre tiene una respuesta tranquilizadora y hueca. Las preguntas que importan son otras tres, y ninguna se responde con una cifra:
¿Mis capas fallan por razones independientes, o comparten un Active Directory, un fabricante, una cuenta de servicio, una costura que las saltea a todas? ¿Cada capa, cuando cae, le cuesta algo nuevo al atacante, o una vez adentro el resto es plano? ¿Y me entero cuando una cae, o la profundidad solo le compra tiempo al que la cruza?
La defensa por capas no es un número. Es una propiedad de la relación entre las capas: independencia, contención, visibilidad. Un sistema con tres murallas independientes, cada una con un centinela despierto, resiste mejor que uno con diez que confían todas en el mismo portón y no tienen a nadie mirando.
Ricardo levantó tres murallas y murió creyendo que había construido algo sin costura. La costura era un caño que bajaba de una capilla. En cada red que reviso hay un caño así —una regla vieja, una cuenta compartida, un agente único, un eje sin cubrir— y el trabajo no es contar las murallas. Es encontrar el caño antes de que lo encuentre el que va a treparlo. Casi siempre está donde nadie mira porque nadie lo puso ahí a propósito. Como la letrina: nadie diseña una fortaleza pensando en el retrete, y por el retrete entró Francia.
commit d3f1nd3p7h
Date: 2026-08-11 21:00 PM
assume each layer fails; the seam that bypasses all of them is the one nobody placed on purpose