Инвентаризация всех виртуальных хостов на нескольких веб-серверах

Инвентаризация всех виртуальных хостов на нескольких веб-серверах

Мне было поручено создать инвентаризацию всех веб-сайтов/веб-приложений, размещенных в нашей инфраструктуре (пара тысяч сайтов, размещенных примерно на 120 виртуальных машинах Linux). Большинство сайтов обслуживаются Apache (httpd 2.4), но также используются Apache 2.2, Nginx, Tomcat и другие веб-серверы. Поскольку это огромная задача, я не хочу тратить на нее больше времени, чем необходимо. Поэтому мне интересно, может ли кто-нибудь указать мне на существующий скрипт, инструмент, роль Ansible или что-то подобное, которое анализирует конфигурации веб-сервера, чтобы собрать все настроенные виртуальные хосты. Я знаю, что есть фаззеры, такие как DirBuster или VHostScan, которые используют пентестеры, но поскольку у меня есть доступ к оболочке на этих веб-серверах, это кажется неэффективным (и, вероятно, неточным) способом.

решение1

Для Apache httpd вы можете выполнить следующую команду:

httpd -S

Здесь показаны настройки, извлеченные из файла конфигурации (в котором в настоящее время отображаются только настройки виртуального хоста, но это именно то, что вам нужно).

Это возвращает что-то вроде:

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

Связанный контент