Tengo que configurar un servidor que sea lo más seguro posible. ¿Qué mejora de seguridad usarías y por qué, SELinux, AppArmor o grsecurity? ¿Me puede dar algunos consejos, sugerencias, pros / contras para esos tres?
HASTA DONDE SE:
- SELinux: más potente pero más complejo
- AppArmor: configuración / gestión más simple que SELinux
- Seguridad: configuración simple debido al entrenamiento automático, más funciones que solo control de acceso
Respuestas:
He investigado mucho en esta área. Incluso he explotado los conjuntos de reglas de AppArmor para MySQL . AppArmor es la forma más débil de separación de procesos. La propiedad que estoy explotando es que todos los procesos tienen privilegios de escritura en algunos de los mismos directorios, como
/tmp/
. Lo bueno de AppArmor es que rompe algunas vulnerabilidades sin interferir en la forma de usuarios / administradores. Sin embargo, AppArmor tiene algunos defectos fundamentales que no se solucionarán pronto.SELinux es muy seguro, también es muy molesto. A diferencia de AppAmoror, las aplicaciones más legítimas no se ejecutarán hasta que SELinux se haya reconfigurado. En la mayoría de los casos, esto da como resultado que el administrador configure incorrectamente SELinux o lo deshabilite todo junto.
grsecurity es un paquete muy grande de herramientas. El que más me gusta es el chroot mejorado de grsecuirty. Esto es aún más seguro que SELinux, aunque se necesita algo de habilidad y tiempo para configurar una cárcel chroot donde SELinux y AppAprmor "simplemente funcionan".
Hay un cuarto sistema, una máquina virtual. Se han encontrado vulnerabilidades en entornos de VM que pueden permitir que un atacante "explote". Sin embargo, una VM tiene una separación aún mayor que un chroot porque en una VM está compartiendo menos recursos entre procesos. Los recursos disponibles para una VM son virtuales y pueden tener poca o ninguna superposición entre otras VM. Esto también se relaciona con la
<buzzword>
" computación en la nube "</buzzword>
. En un entorno de nube, podría tener una separación muy clara entre su base de datos y la aplicación web, lo cual es importante para la seguridad. También es posible que 1 exploit sea el propietario de toda la nube y de todas las máquinas virtuales que se ejecutan en ella.fuente
<buzzword>
etiqueta puedes escribir "mi trasero", todos sabrán a qué te refieres;)Personalmente, usaría SELinux porque terminaría apuntándome a un poco de sabor de RHEL, que tiene esta configuración lista para usar en su mayor parte. También hay un conjunto receptivo de mantenedores en Red Hat y mucha documentación muy buena sobre la configuración de SELinux. Enlaces útiles a continuación.
fuente