Securizar el servidor web contra httpoxy

Introducción

En este artículo vamos aprender a securizar el servidor web contra httpoxy una vulnerabilidad que fue descubierta hace unos meses y que afecta a aplicaciones que corren bajo cgi. Esto quiere decir que servicios web como Apache, Nginx y PHP se ven afectadas. Pero esto no quiere decir que solo sea para esas sino que por ejemplo mod_php también esta siendo afectado.

Lo primero que diremos antes de avanzar es que las versiones que aún están siendo mantenidas han sacado actualizaciones de sus paquetes evitando el CVE-2016-5387, por lo tanto la primera recomendación de todas es actualizar los paquetes de apache/nginx.

Este documento lo centraremos más para aquellos sistemas que no tienen actualizaciones del sistema y aprovecharemos mecanismos del sistema para evitar estos problemas.

Securizar el servidor web contra httpoxy

El primer paso que debemos hacer es de asegurarnos que en los sistemas que tengan Apache tengan activado el módulo header. Por defecto suele venir activado pero por si acaso lo revisamos y en el caso de que no esté lo activaremos. Para ello:

Debian/Ubuntu

a2enmod header

Si está activado el sistema nos lo dirá, sino directamente nos pedirá realizar un reinicio o forzar la configuración.

Centos/RedHat

En sistemas basados en RedHat, tendremos que comprobar que entre sus módulos está cargado header. Suele estar en el httpd.conf (la ruta por defecto es /etc/httpd/conf/httpd.conf). Iremos sobre la parte donde están todas las líneas «LoadModule». Sino está (suele venir comentada) la habilitamos y reiniciamos nuestro Apache.

Para los sistemas que tienen Nginx, esto no hace falta ya que lo controlaremos con una simple línea.

El segundo paso es añadir la siguiente línea:

Apache

<IfModule mod_headers.c>
RequestHeader unset Proxy early
</IfModule>

Nginx

echo 'fastcgi_param HTTP_PROXY "";' >> /etc/nginx/fastcgi_params

Evidentemente después de ambos cambios se tienen que reiniciar tanto nginx como apache.

Comprobando si ya no tenemos dicha vulnerabilidad

Existe una web que te hace este trabajo de manera fácil: https://httpoxy.rehmann.co/

Conclusión

Debemos recordar que lo ideal es tener los sistemas actualizados ya que la mayor parte de estos problemas se suelen solventar así. No obstante siempre la gente suele sacar parches o formas de como evitarlos a través de los sistemas que no podamos actualizar.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *