Historias
Slashboxes
Comentarios
 

Login Barrapunto

Login

[ Crear nueva cuenta ]

Down Kill Up Publicidad

Bitácora de afterburner (13197)

Martes, 14 de Septiembre 2004

Chroot, jailing y sandboxing: Enjaulando el servidor Apache

10:36h.
Apache
No, no voy a hablar de cómo encarcelar a los indios !!

He estado ojeando el tema hace un ratito ya que bueno, nunca está de más revisar lo que uno tiene y contrastarlo con lo que opinan los demás. Así que aprovecho la bitácora para contar un poco de qué va el tema y dejaros enlaces, por si algún lector siente curiosidad :)

El enjaulamiento (chrooting, jailing) es una técnica fundamental cuando queremos asegurar nuestros sistemas. No proporciona más seguridad intrínseca, pero permite enjaular a los atacantes (como veremos después, retenerlos en una porción aislada del sistema). La jaula consiste básicamente en "encerrar" en un directorio de nuestra elección un conjunto de procesos, o un proceso individual, de tal modo que consigamos cegar ese proceso o procesos: a sus ojos, los procesos enjaulados sólo ven la porción del sistema de ficheros contenidos en la jaula. Por tanto sólo se puede ganar acceso a lo que hay en ella, pero nunca a lo que hay fuera.

Los servidores web son tradicionalmente un punto de entrada por excelencia para agresor externos en busca de explotar vulnerabilidades. Así pues, enjaular los procesos correspondientes al servidor web es fundamental. De esta necesidad surgen las técnicas de enjaulado.

En la literatura técnica, es frecuente hablar de enjaulados o si recurrimos a los anglicismos, de chroot jails, o de cajas de arena (sandboxes), que vienen a describir maneras de, siguiendo el símil, contener la arena en una caja y que ésta no se escape: en definitiva, aislar procesos para que los daños que se puedan perpetrar en ellos, no salgan de la jaula o caja de arena. Un confinamiento preventivo.

Uno de los enjaulados estrella es el que se suele aplicar al servidor Apache, ya que es frecuente que ese punto de entrada sea explotado o tratado de explotar, debido a la exposición a la que suele estar sometido.

En líneas generales, la jaula que creamos con ese Apache sometido a la caja de arena, es una réplica del sistema de ficheros (dev, etc, usr, home ...) y cuyo propietario es, habitualmente, el usuario www. Este sistema réplica pende del directorio de enjaulado que hayamos escogido (normalmente chroot), de tal manera que si alguien consigue explotar una vulnerabilidad del servidor web, sólo podrá causar daños relativos al sistema de ficheros interior a la caja de arena, pero nunca al sistema de ficheros exterior a la jaula. Esto es especialmente útil en despliegues de Apache multiusuario, típicos en los proveedores de hospedaje, donde se van replicando los sistemas de fichero tantas veces como haga falta, para cada usuario del sistema, asegurando que el sistema de ficheros principal quede indemne.

Los beneficios son obvios: incrementamos la seguridad en la respuesta ante el indicente. Los inconvenientes son pocos, el enjaulado ha de ser cuidadosamente preparado ya que al igual que un buen enjaulado es muy seguro, una debilidad en su configuración es la llave al sistema para los intrusores. De hecho hay auténticas legiones de individuos cuya especialidad es explotar maliciosamente jaulas mal configuradas. Otro aspecto en contra es que la réplica del sistema de ficheros nos obliga a que en los enjaulados haya que repetir la presencia de los programas asociados al servidor web igualmente: Perl, PHP, SSL, etc, bases de datos, etc.

Enlaces

Si te sonaba a chino este tema, seguro que con éstos enlaces comprendes mejor la filosofía y el despliegue operativo de una jaula de procesos, así como saber algo más acerca de cómo romper jaulas, con el ético fin de reforzar las nuestras, lógicamente ;)

Enjaulamiento de procesos

Apache in a chroot jail

Securing systems with chroot

Smashing The Kernel Stack For Fun And Profit

How to break out of a chroot() jail

Certificados SSL en Apache

Este hilo ha sido archivado. No pueden publicarse nuevos comentarios.
Mostrar opciones Umbral:
Y recuerda: Los comentarios que siguen pertenecen a las personas que los han enviado. No somos responsables de los mismos.