複数のウェブサーバーにわたるすべての仮想ホストのインベントリ

複数のウェブサーバーにわたるすべての仮想ホストのインベントリ

インフラストラクチャでホストされているすべての Web サイト/Web アプリケーション (約 120 台の Linux VM でホストされている数千のサイト) のインベントリを作成するように指示されました。ほとんどのサイトは Apache (httpd 2.4) で提供されていますが、Apache 2.2、Nginx、Tomcat、その他の Web サーバーも使用されています。これは大規模なタスクなので、必要以上に時間を費やしたくありません。そのため、Web サーバーの構成を解析して構成されているすべての vhost を収集する既存のスクリプト、ツール、Ansible ロールなどを教えていただけないでしょうか。侵入テスト担当者が使用する DirBuster や VHostScan などのファザーがあることは承知していますが、それらの Web サーバーにシェル アクセスがあるため、これは非効率的な (おそらく不正確な) 方法のように思えます。

答え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

関連情報