it-swarm-es.tech

¿Qué usar para endurecer la caja de Linux? ¿Apparmor, SELinux, grsecurity, SMACK, chroot?

Estoy pensando en volver a Linux como máquina de escritorio. Me gustaría hacerlo más seguro. Y pruebe algunas técnicas de refuerzo, especialmente porque planeo tener mi propio servidor.

  • ¿Cuál sería una buena y sensata estrategia de endurecimiento? ¿Qué herramientas debo utilizar: Apparmor, SELinux, SMACK, chroot?
  • ¿Debo usar solo una herramienta, p. Ej. ¿Aparmor o una combinación de los anteriores?
  • ¿Qué ventajas/desventajas tienen estas herramientas? ¿Hay otros?
  • ¿Cuáles tienen una relación sana entre configuración y seguridad (mejora)?
  • ¿Cuál preferiría usar en un entorno de escritorio? Cuál en un entorno de servidor.

Muchas preguntas.

20
jottr

Se suele pensar que AppArmour es más simple que SELinux. SELinux es bastante complejo y puede usarse incluso en aplicaciones militares, mientras que AppArmour tiende a ser más simple. SELinux opera a nivel de i-nodo (es decir, las restricciones se aplican de la misma manera que los permisos ACL o UNIX, por otro lado) mientras que AppArmour se aplica a nivel de ruta (es decir, usted especifica el acceso en función de la ruta, por lo que cuando la ruta cambia, es posible que no se aplique ). AppArmour también puede proteger subprocesos (como mod_php solamente) pero de alguna manera soy escéptico sobre su uso real. AppArmour parece encontrar su camino hacia el núcleo principal (está en -mm IIRC).

No sé mucho sobre SMACK pero parece un SELinux simplificado de la descripción. También existe RSBAC si desea verlo.

chroot tiene un alcance de uso limitado y no creo que sea de mucha utilidad en un entorno de escritorio (se puede usar para separar demonios del acceso a todo el sistema, como el demonio DNS).

Por supuesto, vale la pena aplicar un endurecimiento 'genérico' como PaX, -fstack-protector, etc. Puede usar Chroot cuando su distribución lo admita, también lo hace AppArmour/SELinux. Supongo que SELinux es más adecuado para áreas de alta seguridad (tiene un control mucho mejor sobre el sistema) y AppArmour es mejor para un endurecimiento simple.

En general, no me molestaría en endurecer mucho el escritorio genérico, excepto apagar los servicios no utilizados, actualizar regularmente, etc. a menos que trabaje en un área de alta seguridad. Si quieres asegurar de todos modos, usaría lo que tu distribución es compatible. Muchos de ellos, para ser efectivos, necesitan el soporte de la aplicación (para e.x. herramientas de compilación para admitir atributos, reglas escritas), por lo que aconsejaría usar lo que su distribución admite.

9
Maciej Piechotka

Utilice GRSecurity + PAX. Todo lo demás es solo una mierda de marketing y/o se basa principalmente en el trabajo del equipo PAX. El principal desarrollador de PAX, pipacs, acaba de ganar un premio a su trayectoria en Black Hat 2011/PWNIE:

Su trabajo técnico ha tenido un impacto enorme en la seguridad: sus ideas son fundamentales para las mejoras de seguridad en los principales sistemas operativos en los últimos años, y sus ideas han moldeado indirectamente la mayoría de las técnicas modernas de ataque de corrupción de memoria. Ningún atacante puede ser tomado en serio hoy en día si no se ocupa de los inventos defensivos iniciados por nuestro ganador.

Así que obtenga grsecurity + pax si realmente quiere una caja segura. GRsec le brinda control RBAC sobre su máquina, muchas protecciones basadas en sistemas de archivos (chroot), PaX cierra la mayoría de los posibles vectores de ataque que usan los piratas informáticos. También puede probar su caja con paxtest, para ver qué tipo de protecciones y vulnerabilidades tiene su caja.

Podría haber impactos en el rendimiento. Lea la ayuda :).

3
Jauzsika