Me pregunto si mi servidor podría ser vulnerable a ShellShock (o mejor: era vulnerable). La prueba de shell revela que soy vulnerable:
$ export evil='() { :;}; echo vulnerable'; bash -c echo;
vulnerable
No necesito CGI para ninguno de mis sitios web, pero para estar seguro, probé grep -i "cgi" *
en mi carpeta de archivos de configuración de Apache. Desafortunadamente, he descubierto que algunos de mis sitios tienen entradas CGI de todos modos, como esto:
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
Sin embargo, no hay archivos en /usr/lib/cgi-bin
$ ll /usr/lib/cgi-bin/
total 0
Y después de una prueba, obtengo un error HTTP 403:
$ curl -i -X HEAD "http://example.com/cgi-bin/" -A '() { :;}; echo "Warning: Server Vulnerable"'
HTTP/1.1 403 Forbidden
Date: Thu, 25 Sep 2014 22:22:32 GMT
Server: Apache/2.2.14 (Ubuntu)
Vary: Accept-Encoding
Content-Type: text/html; charset=iso-8859-1
¿Puedo concluir de manera segura que mi servidor no es vulnerable a un ataque CGI en este caso? Si no, ¿un comando curl
diferente mostraría la vulnerabilidad? ¿Y sería suficiente eliminar las definiciones /cgi-bin/
de los archivos de configuración de Apache?