cómo Qué son los principios de seguridad
Di seguridad y es fácil imaginar un truco ingenioso de cifrado. Pero por fuerte que sea la cerradura, no sirve de nada si la puerta queda abierta de par en par. Una casa de verdad segura no se construye con una sola cerradura. Quién recibe qué llave, qué sostiene cuando una capa es vulnerada, si a un invitado desconocido se le deja entrar o se le bloquea, si la estructura es simple o complicada. Estas promesas de diseño se suman para hacer la seguridad. Y esas promesas sobreviven a cualquier tecnología.
Solo lo necesario, mínimo privilegio
Antes, en las lecciones del sistema operativo, vimos retirar el acceso.
Ampliemos esa idea al diseño de seguridad.
Cuando concedes acceso a alguien,
da solo cuanto la tarea de verdad necesita.
A quien solo necesita mirar un momento,
no hay razón para darle también el poder de cambiar.
Y cuando la tarea termina, retira ese acceso.
Cuanto menos acceso se tiene, menor es el rango
al que algo que sale mal puede extenderse.
Cuanto más repartes, más hay que perder.
Elige cuánto acceso dar a una persona. Lo justo mantiene el riesgo pequeño, demasiado hace más que perder.
Dar lo justo fue lo más limpio.
El acceso de más puede verse cómodo a diario,
pero en cuanto algo sale mal agranda el daño.
El mínimo privilegio no es solo para personas.
Se aplica igual a programas y a máquinas.
Que esta pieza haga solo este único trabajo.
Que este programa vea solo esta única carpeta.
Cerca el acceso de forma estrecha así.
Pero aun con el acceso bien dividido,
llega un día en que esa única capa es vulnerada.
Por eso hace falta el siguiente principio.
Aunque una caiga, defensa en profundidad
Ninguna defensa puede prometer que nunca será vulnerada.
Por eso no apostamos todo a una sola capa.
Apilamos varias capas que bloquean.
La puerta exterior puede abrirse, pero hay una puerta interior,
la interior puede abrirse, pero hay una caja fuerte.
Aunque una capa falle,
la capa de detrás atrapa.
Lo que antes era romper un solo punto
ahora es romper cada capa.
Cuantas más capas, más difícil llegar al final.
Esa es la fuerza de la defensa en profundidad.
Rompe las capas una a una. Aunque una se abra, la siguiente bloquea, así que llegar al final exige pasar cada capa.
Abrir una capa no era el final.
La siguiente capa bloqueó de nuevo.
Hay una maña al colocar varias capas.
Haz cada capa distinta en naturaleza.
Si cada capa fuera la misma cerradura,
saber abrir una sería saber abrirlas todas.
Las capas son más firmes cuanto más difieren sus clases.
Pero para montar varias capas,
debes decidir con claridad
hasta dónde dejar entrar y dónde empezar a bloquear.
El punto de partida de esa decisión es el siguiente principio.
Bloquea lo desconocido, denegar por defecto
Al diseñar una puerta, puedes partir de dos puntos.
Uno es dejar entrar todo y bloquear solo lo malo.
El otro es bloquear todo y dejar entrar solo lo permitido.
Entre los dos, partir de bloqueado es más seguro.
Si empiezas dejando entrar todo,
hasta peligros que nunca pensaste entran.
Tendrías que conocer todo lo malo del mundo para bloquearlo.
Partir de bloqueado, en cambio,
solo deja pasar lo que permitiste con claridad.
Lo desconocido se bloquea de forma automática.
Si no estás en la lista, no entras.
Compara los dos puntos de partida. Dejar todo y bloquear lo malo filtra peligro desconocido, bloquear todo y permitir pocos bloquea lo desconocido solo.
En el lado que empezó dejando entrar todo,
un invitado imprevisto se filtró en silencio.
El lado que empezó bloqueado detuvo todo lo desconocido.
Con el valor por defecto en denegar,
aunque olvides algo de la lista de permitidos,
te inclinas al lado seguro, no al peligroso.
Es diseñar para que un error cueste poco.
Hemos visto tres principios hasta aquí.
Pero intentar honrar cada principio
suele hacer que el diseño crezca complicado.
Eso se vuelve un peligro propio.
El último principio sostiene ese equilibrio.
Lo complejo abre huecos, cuanto más simple más seguro
Si, en nombre de honrar los principios,
sigues atornillando más dispositivos, qué pasa?
Cuanto más complicada la estructura,
más huecos ocultos crecen dentro.
Cuantas más piezas y más enredadas las conexiones,
más difícil ver de un vistazo dónde está el punto débil.
Una estructura que nadie puede inspeccionar del todo
convierte el punto no inspeccionado en un hueco.
Por eso el buen diseño guarda la simplicidad.
Mantén solo cuanto de verdad hace falta
y recorta lo que se puede dejar fuera.
Cuando es simple, ves de un vistazo
qué bloquea qué, y eso es más seguro.
Agrega o quita piezas en la estructura. Cuanto más compleja, más huecos sin revisar crecen; cuanto más simple, más fácil de inspeccionar de un vistazo.
Recortar piezas encogió los lugares a inspeccionar.
Cuanto más atornillabas, más crecían los huecos en silencio.
La simplicidad no es pereza.
Es más bien el resultado de sopesar hasta el final
qué hace falta de verdad.
Los cuatro principios no corren por separado;
engranan y giran juntos.
Reduce con mínimo privilegio,
apoya con varias capas,
pon el valor por defecto en denegar,
y mantén simple el conjunto.
Ahora reunamos los cuatro principios en un solo lugar.
Resumamos
Reunido en un solo lugar, es esto.
La buena seguridad no viene de una tecnología sino de principios de diseño.
Mínimo privilegio: da solo lo necesario, retíralo al terminar.
Defensa en profundidad: aunque una caiga, la siguiente capa apoya.
Denegar por defecto: bloquea todo salvo lo permitido.
Cuanto más simple más seguro: lo complejo abre huecos.
Los cuatro principios engranan y giran juntos.
Y estos principios duran más que las técnicas individuales.
Así que aun al toparte con una tecnología nueva,
sopesarla primero por los principios te mantiene firme.
Toca los cuatro principios en orden para repasar. (mínimo privilegio -> defensa en profundidad -> denegar por defecto -> cuanto más simple más seguro)
Ahora tienes en la mano los cuatro principios que diseñan la seguridad.
Cuando te encuentres con otras historias de seguridad más adelante,
estos principios servirán de guía.
Se dio esto solo cuánto alguien necesita?
Es esto una sola capa, o varias?
Deja esto entrar lo desconocido, o lo bloquea?
Es esto simple, o complicado sin necesidad?
Los nombres de las tecnologías siguen cambiando,
pero estas preguntas siempre sirven.
Un ojo que sopesa por principios es el poder de ver la seguridad.