Al abordar problemas de seguridad del servidor, es una excelente idea tener en cuenta los siguientes principios generales de seguridad de la información:
- Simplicidad: los mecanismos de seguridad (y los sistemas de información en general) deben ser lo más simples posible. La complejidad está en la raíz de muchos problemas de seguridad.
- A prueba de fallas: si ocurre una falla, el sistema debe fallar de manera segura, es decir, los controles y configuraciones de seguridad permanecen vigentes y se aplican. Por lo general, es mejor perder funcionalidad que seguridad.
- Mediación completa: en lugar de proporcionar acceso directo a la información, se deben emplear mediadores que hagan cumplir la política de acceso. Los ejemplos comunes de mediadores incluyen permisos de sistemas de archivos, servidores proxy, firewalls y puertas de enlace de correo.
- Diseño abierto : la seguridad del sistema no debe depender del secreto de la implementación o sus componentes.
- Separación de privilegios: las funciones, en la medida de lo posible, deben estar separadas y proporcionar la mayor granularidad posible. El concepto puede aplicarse tanto a sistemas como a operadores y usuarios. En el caso de los sistemas, las funciones como leer, editar, escribir y ejecutar deben estar separadas. En el caso de los operadores y usuarios del sistema, los roles deben estar lo más separados posible. Por ejemplo, si los recursos lo permiten, la función del administrador del sistema debe ser independiente de la del administrador de la base de datos.
- Mínimo privilegio: este principio dicta que a cada tarea, proceso o usuario se le otorgan los derechos mínimos necesarios para realizar su trabajo. Al aplicar este principio de manera consistente, si una tarea, un proceso o un usuario se ven comprometidos, el alcance del daño se limita a los recursos limitados disponibles para la entidad comprometida.
- Aceptabilidad psicológica: los usuarios deben comprender la necesidad de la seguridad. Esto se puede proporcionar a través de la formación y la educación. Además, los mecanismos de seguridad implementados deben presentar a los usuarios opciones sensatas que les brinden la usabilidad que requieren en el día a día. Si los usuarios encuentran que los mecanismos de seguridad son demasiado engorrosos, pueden idear formas de evitarlos o comprometerlos. El objetivo no es debilitar la seguridad para que sea comprensible y aceptable, sino capacitar y educar a los usuarios y diseñar mecanismos y políticas de seguridad que sean utilizables y efectivos.
- Mecanismo menos común: al proporcionar una función para el sistema, es mejor que un solo proceso o servicio obtenga alguna función sin otorgar esa misma función a otras partes del sistema. La capacidad del proceso del servidor web para acceder a una base de datos de back-end, por ejemplo, no debería permitir que otras aplicaciones del sistema accedan a la base de datos de back-end.
- Defensa en profundidad: las organizaciones deben comprender que, por lo general, un único mecanismo de seguridad es insuficiente. Los mecanismos de seguridad (defensas) deben estar en capas para que el compromiso de un solo mecanismo de seguridad sea insuficiente para comprometer un host o una red. No existe una “bala de plata” para la seguridad del sistema de información.
- Factor de trabajo: las organizaciones deben comprender lo que se necesitaría para romper las funciones de seguridad del sistema o de la red. La cantidad de trabajo necesaria para que un atacante rompa el sistema o la red debe exceder el valor que el atacante obtendría de un compromiso exitoso.
- Compromise Recording: se deben mantener registros y bitácoras para que, si ocurre un compromiso, la organización disponga de pruebas del ataque. Esta información puede ayudar a proteger la red y el host después del compromiso y ayudar a identificar los métodos y las vulnerabilidades utilizadas por el atacante. Esta información se puede utilizar para proteger mejor el host o la red en el futuro. Además, estos registros y bitácoras pueden ayudar a las organizaciones a identificar y procesar a los atacantes.