jueves, 1 de diciembre de 2011

Parches de un defecto de Apache permite el acceso a la red interna

IDG News Service - un defecto aún parcheado descubierto en el servidor Apache HTTP permite a un atacante acceder a recursos protegidos en redes internas si algunas reglas de reescritura no están definidos correctamente.

La vulnerabilidad afecta a las instalaciones de Apache que funcionan en modo proxy inverso, un tipo de configuración que se usa para carga balanceo, caché y otras operaciones que involucran la distribución de recursos en varios servidores.

A fin de configurar Apache HTTPD para ejecutarse como un proxy inverso, los administradores del servidor utilizan módulos especializados como mod_proxy y mod_rewrite.

Investigadores de seguridad de Qualys advierten que si no se configuran correctamente ciertas reglas, los atacantes pueden engañar a servidores realizar solicitudes no autorizadas para acceder a los recursos internos.

El problema no es nuevo y se abordó una vulnerabilidad que permitía ataques similares en octubre. Sin embargo, mientras revisa el parche pues, investigador de Qualys Prutha Parikh realizado que puede ser soslayado debido a un fallo en el procedimiento de extracción de esquema URI (identificador uniforme de recurso). El esquema es la parte URI que viene antes de los dos puntos ":" carácter, como http, ftp o archivo.

Una regla de reescritura y proxy relativamente común es "^(.*) http://internal_host$1", que redirige la solicitud a la internal_host de la máquina. Sin embargo, si se utiliza, por ejemplo, el servidor recibe una solicitud de "host::port" (con dos puntos), el "host:" parte es despojado y el resto se anexa al http://internal_host para reenviarlo internamente.

El problema es que en este caso, la parte restante ": puerto", por lo tanto, transformando la solicitud reenviada en http://internal_host:port, un comportamiento imprevisto que puede resultar en la exposición de un recurso protegido.

A fin de mitigar el servidor problema los administradores deben agregar una barra diagonal antes $1 en la reescritura de la regla, la forma correcta es "^(.*) http://internal_host/$1", dijo Parikh.

Los desarrolladores de Apache son conscientes del problema y están debatiendo actualmente el mejor método para arreglarlo. Una posibilidad sería fortalecer el parche anterior en el código de servidor para rechazar dichas solicitudes, sin embargo, no hay ninguna certeza que omitir otros métodos no ser descubierta.

"Podríamos tratar de mejorar esa corrección, pero creo que sería más fácil cambiar los ganchos translate_name en mod_proxy y mod_rewrite para hacer cumplir el requisito en el lugar"adecuado"," dijo el ingeniero de software senior de Red Hat Joe Orton en la lista de correo de Apache dev. Orton propuso una revisión que actualmente está siendo revisada por los otros desarrolladores.

Reimpreso con permiso de IDG.net. Historia copyright 2010 International Data Group. Todos los derechos reservados.

No hay comentarios:

Publicar un comentario