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