Inventarisierung aller virtuellen Hosts auf mehreren Webservern

Inventarisierung aller virtuellen Hosts auf mehreren Webservern

Ich wurde beauftragt, ein Inventar aller Websites/Webanwendungen zu erstellen, die auf unserer Infrastruktur gehostet werden (einige Tausend Websites, die auf etwa 120 Linux-VMs gehostet werden). Die meisten Websites werden von Apache (httpd 2.4) bereitgestellt, aber es werden auch Apache 2.2, Nginx, Tomcat und andere Webserver verwendet. Da dies eine gewaltige Aufgabe ist, möchte ich nicht mehr Zeit als nötig darauf verwenden. Daher frage ich mich, ob mir jemand ein vorhandenes Skript, Tool, eine Ansible-Rolle oder etwas Ähnliches zeigen kann, das die Webserverkonfigurationen analysiert, um alle konfigurierten virtuellen Hosts zu erfassen. Ich weiß, dass es Fuzzer wie DirBuster oder VHostScan gibt, die Pentester verwenden, aber da ich Shell-Zugriff auf diese Webserver habe, scheint mir dies ein ineffizienter (und wahrscheinlich ungenauer) Weg zu sein.

Antwort1

Für Apache httpd können Sie den folgenden Befehl ausführen:

httpd -S

Dadurch werden die Einstellungen angezeigt, wie sie aus der Konfigurationsdatei analysiert wurden (die derzeit nur die Virtualhost-Einstellungen anzeigt, aber genau das scheint Sie zu benötigen).

Das Ergebnis ist etwa folgendes:

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

verwandte Informationen