Inventário de todos os vhosts em vários servidores web

Inventário de todos os vhosts em vários servidores web

Recebi a tarefa de criar um inventário de todos os sites/webapps hospedados em nossa infraestrutura (alguns milhares de sites hospedados em cerca de 120 VMs Linux). A maioria dos sites é servida pelo Apache (httpd 2.4), mas também são usados ​​Apache 2.2, Nginx, Tomcat e outros servidores web. Como esta é uma tarefa enorme, não quero gastar mais tempo do que o necessário. Então, estou me perguntando se alguém pode me indicar um script, ferramenta, função Ansible existente ou algo parecido que analise as configurações do servidor web para reunir todos os vhosts configurados. Estou ciente de que existem fuzzers como DirBuster ou VHostScan que os pentesters usam, mas como tenho acesso shell nesses servidores da web, isso parece um caminho ineficiente (e provavelmente impreciso).

Responder1

Para Apache httpd você pode executar o seguinte comando:

httpd -S

Isso mostra as configurações analisadas no arquivo de configuração (que atualmente mostra apenas as configurações do virtualhost, mas é exatamente isso que você parece precisar).

Isso retorna 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

informação relacionada