Cloudflareを使用してサーバーのIPアドレスを秘匿している場合でも、DNSの履歴やサブドメインからIPアドレスが見えてしまう場合があります。「CloakQuest3r」はそうした漏えいが起きていないかを一発でチェックしてくれるツールとのことなので、実際に使ってみました。
spyboy-productions/CloakQuest3r: Uncover the true IP address of websites safeguarded by Cloudflare & Others
https://github.com/spyboy-productions/CloakQuest3r
Cloudflareはコンテンツデリバリネットワーク(CDN)やセキュリティサービスを提供する企業で、日本を含む世界中に事業を展開しています。サーバーへのアクセスをCloudflare経由にすることで、コンテンツをキャッシュさせてサーバーの負荷を軽減したり、DDoS攻撃が行われた場合にCloudflareが軽減してくれたりするというメリットがあります。
しかし、サーバーのIPアドレスがどこからか漏れてしまっている場合に元のサーバーへ直接DDoS攻撃が行われるとCloudflareの防衛システムが一切効果を発揮しないことになってしまいます。今回はDebian 11上でCloakQuest3rを使用してそうした「漏れ」が無いかをチェックしていきます。
まずは下記のコマンドで必要なツールをまとめてインストール。
sudo apt update
sudo apt-get install git-all python3 python3-pip -y
続いてCloakQuest3rのリポジトリをクローンします。
git clone https://github.com/spyboy-productions/CloakQuest3r.git
cd CloakQuest3r
下記のコマンドで依存しているライブラリをインストール。
pip3 install -r requirements.txt
これで準備完了です。下記のように「cloakquest3r.py」を実行し、引数で調査したいドメインを指定すればOK。
python3 cloakquest3r.py gigazine.net
現在ドメインに結びついているIPアドレスのほか、ViewdnsによるIPアドレスの履歴が表示されました。間近のIPアドレスはCloudflareのものとなっています。
IPアドレスの履歴は2014年のものから記録されていました。Cloudflareの導入時にそれまで使用していたIPアドレスを引き続き使用している場合、こうした記録でサーバーのIPアドレスがバレてしまうというわけです。
また、CloakQuest3rはサブドメインもチェックしてくれます。IPアドレスの履歴やサブドメインのIPアドレスにサーバーのIPアドレスが表示されてなければ問題ありません。
gigazine.netの結果では長すぎて全体を表示できませんが、CloakQuest3rのページに添付してある出力全体の画像は以下の通りとなっていました。