Freebsd: separar el servicio de apache y www-data (htdocs) con jails, ¿vale la pena?

4

¿Vale la pena separar los servicios www-data y apache entre sí, en las cárceles?

Actualmente tengo esta configuración:

Freebsd 9

1x IP pública (las cárceles están en ip's privadas, nat'ed)

2 dominios separados, administrados por 1 persona cada uno.

  • Jail1: servicio de apache
  • Jail2: servicio de mysql + archivos de base de datos

He estado pensando en agregar:

  • Jail3: www-data (htdocs) con un montaje nullfs en la cárcel 1 (apache), solo lectura. Esta cárcel solo será accesible a través de ssh, a través de un puerto filtrado.

La idea es separar el contenido disponible y el servicio público de apache. En caso de que alguien pueda acceder a la cárcel de apache, no podrá cargar o modificar el contenido, ya que se encuentran en una cárcel completamente diferente.

Creo que separar el inicio de sesión ssh y el servicio apache agrega una capa adicional de seguridad. Alguien que quisiera enviar sus archivos por ssh no podría interrumpir el servicio de apache. Tampoco le daría a un atacante la capacidad de manipular el apache.

Sin embargo, no estoy seguro de si vale la pena. Tal vez chmod da la misma seguridad que la anterior? ¿Cómo protegerías tu servidor web cuando tienes apache, mysql, freebsd y jails?

    
pregunta connery 03.06.2012 - 11:51
fuente

2 respuestas

3

Tampoco sé si vale la pena.

Creo que realizar copias de seguridad periódicas de su contenido web puede ofrecerle algunos de los beneficios de eliminar el contenido web del servidor Apache, y las copias de seguridad pueden ser más fáciles de implementar. Las copias de seguridad no impiden que un servidor Apache comprometido modifique el contenido de la web, pero le brinda una forma de revertir a un estado sin compromisos si debe comprometerse.

En última instancia, solo usted puede decidir si vale la pena el esfuerzo, pero mi opinión es que no vale la pena separar el contenido web por separado. No ayudará con los tipos de vulnerabilidades más comunes. En estos días, las vulnerabilidades en el servidor Apache son relativamente raras. En su lugar, el caso más común son las vulnerabilidades en la aplicación web (por ejemplo, en el código PHP / Ruby / Java), y eliminar el contenido web no ayuda con ese tipo de vulnerabilidades. Por lo tanto, creo que recomendaría que centre sus esfuerzos de fortalecimiento en las defensas y mitigaciones que ayudan con las vulnerabilidades de la capa de aplicación en sus aplicaciones web.

    
respondido por el D.W. 04.06.2012 - 05:12
fuente
2

Separar MySQL y tu aplicación web es muy importante. Esto se puede hacer incorrectamente. Por ejemplo, en Ubuntu 10.04 fue posible omitir el aislamiento del proceso de AppArmor, usar into outfile de mysql para crear un archivo php en / tmp y luego usar un Archivo local incluye vulnerabilidad para ejecutarlo . Una cárcel chroot no debe ser vulnerable a este problema.

Sin embargo, la mayoría de los ataques no son tan complejos. La mayoría de las veces, los atacantes usan bots para comprometer tantas máquinas como sea posible. A veces, estos robots buscan el archivo index.html o index.php y agregan un iframe a estas páginas para intentar comprometer los navegadores. Para evitar esto, chowé la raíz web como otro usuario, la raíz funcionaría y luego haría un chmod 550 -r WEBROOT . Asegúrate de que apache esté en el grupo.

Sin embargo, una jaula chroot y el cambio de permisos de archivos no previene vulnerabilidades comunes como la inyección de sql o xss. Es posible desfigurar la página de inicio de un sitio web utilizando XSS almacenado . Para resolver estos problemas, primero probaría su aplicación utilizando un escáner de aplicaciones web. Herramientas de código abierto como wapiti y skipfish , trabajo para una empresa que proporciona un servicio gratuito de análisis de vulnerabilidades . Las herramientas automatizadas no pueden detectar todo, pero es mejor que nada. Después de que la aplicación haya sido probada, recomiendo usar un Firewall de aplicaciones web de código abierto como mod_security .

    
respondido por el rook 03.06.2012 - 19:57
fuente

Lea otras preguntas en las etiquetas