Inventario de todos los vhosts en múltiples servidores web

Inventario de todos los vhosts en múltiples servidores web

Se me asignó la tarea de crear un inventario de todos los sitios web/aplicaciones web alojados en nuestra infraestructura (un par de miles de sitios alojados en alrededor de 120 máquinas virtuales Linux). La mayoría de los sitios son atendidos por Apache (httpd 2.4), pero también se utilizan Apache 2.2, Nginx, Tomcat y otros servidores web. Como se trata de una tarea enorme, no quiero dedicarle más tiempo del necesario. Así que me pregunto si alguien puede indicarme un script, una herramienta, una función de Ansible existente o algo así que analice las configuraciones del servidor web para recopilar todos los vhosts configurados. Soy consciente de que hay fuzzers como DirBuster o VHostScan que usan los pentesters, pero como tengo acceso de shell en esos servidores web, esto parece una forma ineficiente (y probablemente inexacta).

Respuesta1

Para Apache httpd puede ejecutar el siguiente comando:

httpd -S

Eso muestra la configuración analizada desde el archivo de configuración (que actualmente solo muestra la configuración del host virtual, pero eso es exactamente lo que parece necesitar).

Eso devuelve algo como:

VirtualHost configuration:
*:80                   is a NameVirtualHost
         default server www.example.com (/etc/httpd/conf.d/www.example.com.conf:19)
         port 80 namevhost www.example.com (/etc/httpd/conf.d/www.example.com.conf:19)
                 alias example.com
                 alias server.example.com
         port 80 namevhost www.example.co.uk(/etc/httpd/conf.d/www.example.co.uk.conf:1)
                 alias example.co.uk

información relacionada