Esto está escrito desde la perspectiva de un desarrollador de software y gerente de proyectos, que a menudo necesita tratar con datos confidenciales en aplicaciones que estoy involucrado en la creación.
Defensa en profundidad no es necesariamente en desacuerdo con el principio de simplicidad. La simplicidad es difícil , y no es lo que piensas. La simplicidad no significa necesariamente falta de esfuerzo.
Puede (y en este caso, creo que generalmente significa) no usar mecanismos complejos y locales cuando existen prácticas / herramientas establecidas.
También puede significar mantener sus sistemas simples para reducir el área de la superficie de ataque, o hacer que sean objetivos menos atractivos al no almacenar el tipo de datos que las personas quieren robar.
Existe un verdadero arte, además de ciencia, para encontrar el equilibrio correcto entre simplicidad y funcionalidad, pero en mi experiencia, cuando se trata de simplicidad, la simplicidad en algunos aspectos es una de las claves para la defensa en profundidad.
La esencia de lo que voy a tratar de encontrar aquí es que la cantidad de tiempo que dedicas a defender tu aplicación debe ser proporcional a la sensibilidad de los datos contenidos y al tamaño de la superficie de ataque.
Aquí hay dos formas en que la simplicidad adds para la defensa en profundidad restando algo.
-
Decide con cuidado si debes almacenar datos confidenciales en primer lugar
- Una de las verdades más obvias y cegadoras sobre la protección de datos confidenciales es que si no tiene datos confidenciales, no necesita protegerlos.
- Al desarrollar sistemas / software, lo más básico que puede hacer para aumentar la seguridad relativa de su sistema es hacerlo limitando los datos confidenciales en primer lugar.
- Al decidir no almacenar datos confidenciales innecesarios, lo está simplificando, pero ejerciendo la defensa en profundidad al considerar la defensa como parte de su fase inicial de recopilación de requisitos.
-
Reduciendo el área de superficie de ataque
- Similar a lo anterior, pero esta vez mirando características. Cada control de entrada de un solo usuario: cuadro de texto, lista desplegable, etc., es una "ventana" potencial que, si no está protegida, puede ser un punto de entrada para un atacante. Si no puede validar la entrada o no puede sanear la salida, ese control puede ser vulnerable a cualquier número de ataques conocidos. Como desarrollador, puedo decirle que al crear sitios / formularios grandes y complejos, es fácil perder un control de validación aquí o validar algo incorrectamente allí.
- La empresa puede querer una interfaz elegante que tenga todo tipo de campanas y silbidos, pero el beneficio de tener esa interfaz / característica debe compararse con el costo de asegurarla, y la desventaja de la mayor área de superficie de ataque.
Además, mantener la seguridad simple no significa necesariamente limitar sus defensas a menos defensas. Mantener la seguridad simple significa simplemente no hacerlo más difícil de lo necesario. Las maneras en que puede mantener la seguridad simple y aún tienen defensa en profundidad incluyen:
- Tener valores predeterminados seguros. Establece tus defensas normales. Puedes tener cincuenta capas de defensas, pero si sabes cuál es tu línea de base, aún así lo mantendrás simple simplemente siguiendo la rutina normal.
- Utilizando las mejores prácticas establecidas. Similar a lo anterior, para casi todos los tipos de I.T. actividad, ya existe un conjunto establecido de mejores prácticas. El simple hecho de seguir esos pasos en lugar de idear sus propios esquemas, mantiene las cosas simples.
- Usando herramientas establecidas y confiables. Por supuesto, ninguna herramienta es infalible, pero si está agregando capas de defensa, usar herramientas establecidas en lugar de crear las suyas propias o herramientas menos conocidas y no compatibles hace que las cosas sean más simples a largo plazo. Tendrá mejor documentación, una comunidad de usuarios más amplia para el soporte y una mayor probabilidad de que, cuando haya un problema, se solucione rápidamente.
La defensa en profundidad se trata de capas de seguridad. Mantener cada capa lo más simple posible es la clave para aplicar el principio de simplificación a una estrategia de defensa en profundidad.