Los principios que disenan la seguridad
Di seguridad y es facil 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. Quien recibe que llave, que 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 diseno se suman para hacer la seguridad. Y esas promesas sobreviven a cualquier tecnologia.
Solo lo necesario, minimo privilegio
Antes, en las lecciones del sistema operativo, vimos retirar el acceso.
Ampliemos esa idea al diseno de seguridad.
Cuando concedes acceso a alguien,
da solo cuanto la tarea de verdad necesita.
A quien solo necesita mirar un momento,
no hay razon para darle tambien 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 mas repartes, mas hay que perder.
Elige cuanto acceso dar a una persona. Lo justo mantiene el riesgo pequeno, demasiado hace mas que perder.
Dar lo justo fue lo mas limpio.
El acceso de mas puede verse comodo a diario,
pero en cuanto algo sale mal agranda el dano.
El minimo privilegio no es solo para personas.
Se aplica igual a programas y a maquinas.
Que esta pieza haga solo este unico trabajo.
Que este programa vea solo esta unica carpeta.
Cerca el acceso de forma estrecha asi.
Pero aun con el acceso bien dividido,
llega un dia en que esa unica capa es vulnerada.
Por eso hace falta el siguiente principio.
Aunque una caiga, defensa en profundidad
Ninguna defensa puede prometer que nunca sera 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 detras atrapa.
Lo que antes era romper un solo punto
ahora es romper cada capa.
Cuantas mas capas, mas dificil 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, asi que llegar al final exige pasar cada capa.
Abrir una capa no era el final.
La siguiente capa bloqueo 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 seria saber abrirlas todas.
Las capas son mas firmes cuanto mas difieren sus clases.
Pero para montar varias capas,
debes decidir con claridad
hasta donde dejar entrar y donde empezar a bloquear.
El punto de partida de esa decision es el siguiente principio.
Bloquea lo desconocido, denegar por defecto
Al disenar 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 mas seguro.
Si empiezas dejando entrar todo,
hasta peligros que nunca pensaste entran.
Tendrias 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 automatica.
Si no estas 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 empezo dejando entrar todo,
un invitado imprevisto se filtro en silencio.
El lado que empezo 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 disenar para que un error cueste poco.
Hemos visto tres principios hasta aqui.
Pero intentar honrar cada principio
suele hacer que el diseno crezca complicado.
Eso se vuelve un peligro propio.
El ultimo principio sostiene ese equilibrio.
Lo complejo abre huecos, cuanto mas simple mas seguro
Si, en nombre de honrar los principios,
sigues atornillando mas dispositivos, que pasa?
Cuanto mas complicada la estructura,
mas huecos ocultos crecen dentro.
Cuantas mas piezas y mas enredadas las conexiones,
mas dificil ver de un vistazo donde esta el punto debil.
Una estructura que nadie puede inspeccionar del todo
convierte el punto no inspeccionado en un hueco.
Por eso el buen diseno guarda la simplicidad.
Manten solo cuanto de verdad hace falta
y recorta lo que se puede dejar fuera.
Cuando es simple, ves de un vistazo
que bloquea que, y eso es mas seguro.
Agrega o quita piezas en la estructura. Cuanto mas compleja, mas huecos sin revisar crecen; cuanto mas simple, mas facil de inspeccionar de un vistazo.
Recortar piezas encogio los lugares a inspeccionar.
Cuanto mas atornillabas, mas crecian los huecos en silencio.
La simplicidad no es pereza.
Es mas bien el resultado de sopesar hasta el final
que hace falta de verdad.
Los cuatro principios no corren por separado;
engranan y giran juntos.
Reduce con minimo privilegio,
apoya con varias capas,
pon el valor por defecto en denegar,
y manten 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 tecnologia sino de principios de diseno.
Minimo privilegio: da solo lo necesario, retiralo al terminar.
Defensa en profundidad: aunque una caiga, la siguiente capa apoya.
Denegar por defecto: bloquea todo salvo lo permitido.
Cuanto mas simple mas seguro: lo complejo abre huecos.
Los cuatro principios engranan y giran juntos.
Y estos principios duran mas que las tecnicas individuales.
Asi que aun al toparte con una tecnologia nueva,
sopesarla primero por los principios te mantiene firme.
Toca los cuatro principios en orden para repasar. (minimo privilegio -> defensa en profundidad -> denegar por defecto -> cuanto mas simple mas seguro)
Ahora tienes en la mano los cuatro principios que disenan la seguridad.
Cuando te encuentres con otras historias de seguridad mas adelante,
estos principios serviran de guia.
Se dio esto solo cuanto 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 tecnologias siguen cambiando,
pero estas preguntas siempre sirven.
Un ojo que sopesa por principios es el poder de ver la seguridad.