※本記事にはプロモーションが含まれています。
WordPressサイトを公開すると、検索エンジンだけでなく様々なBotがアクセスしてきます。
以前の記事では、公開直後にBotがアクセスしてくる様子や、最初に確認されるURLについて紹介しました。
今回は、アクセスログを詳しく確認していると見つかった 「/.git/config」へのアクセスを分析してみます。
.git/config は通常、Webサイト上で公開されるべきファイルではありません。
それにもかかわらず、サイト公開から間もないタイミングでアクセスが確認されました。
この記事では、
- 実際のアクセスログ
.git/configとは何か- なぜBotがこのURLを探すのか
- アクセスしてきたIPアドレスの特徴
を解説します。
実際のアクセスログ(/.git/config スキャン)
まずは実際のアクセスログです。
www.vivisec.net 167.172.134.198 - - [22/Feb/2026:18:46:44 +0900]
"GET /.git/config HTTP/2.0" 404 678 "-"
"Mozilla/5.0 (Linux; Android 14; Pixel 8 Pro) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Mobile Safari/537.36"このログから分かるポイントは次の通りです。
アクセスURL
/.git/configHTTPステータス
404User-Agent
Mozilla/5.0 (Linux; Android 14; Pixel 8 Pro).git/config は存在しないため404(Not Found) が返されています。
つまり、これはGitディレクトリの公開ミスを探すスキャンと考えられます。
/.git/configはGitリポジトリの設定ファイル
.git/config はGitリポジトリの設定ファイルです。
Gitで管理されているプロジェクトでは、通常次のような構造になります。
project/
├─ .git/
│ ├─ config
│ ├─ HEAD
│ ├─ objects/
│ └─ refs/
└─ source filesconfig ファイルには次のような情報が含まれます。
[remote "origin"]
url = https://github.com/example/project.gitつまり、このファイルには、
- GitリポジトリのURL
- ブランチ設定
- 開発者の設定
などが含まれています。
なぜBotは /.git/config を探すのか
攻撃者やスキャナーは公開されてしまったGitディレクトリを探しています。
もし .git フォルダが公開されている場合、次のようなアクセスを行うことで、サイトのソースコードを取得できる可能性があります。
例
/.git/config
/.git/HEAD
/.git/index
/.git/objects/これらの情報を組み合わせることで、Gitリポジトリを復元できる場合があります。
つまり、
- ソースコード
- 設定ファイル
- 過去のコミット
などが取得されてしまう可能性があります。
WordPressサイトでのGit公開ミスによるリスク
WordPressサイトでも、.git ディレクトリが公開されていると次のような情報漏えいにつながる可能性があります。
データベース情報の漏えい
Git履歴から
wp-config.phpが取得されると、データベースユーザーやパスワードが漏れる可能性があります。
APIキーや秘密情報の漏えい
開発環境によっては、
.env
config.phpなどに
- APIキー
- メール設定
- 認証トークン
が保存されていることがあります。
Git履歴からそれらが復元されることもあります。
こうしたリスクを早めに把握するためにも、ログを確認できる環境は重要です。
私の場合はレンタルサーバーの管理画面からアクセスログを確認しています。
スキャンしてきたIPアドレスを確認
今回アクセスしてきたIPアドレスはこちらです。
167.172.134.198このIPアドレスはクラウドサーバー(VPS)で使われることが多いレンジです。
攻撃者やスキャナーはよく、VPS、クラウドインフラを利用してインターネット上のサイトを自動スキャンしています。
また、User-Agentを見ると、
Mozilla/5.0 (Linux; Android 14; Pixel 8 Pro)となっています。
一見するとスマートフォンのブラウザのように見えますが、これは実際のブラウザを装ったUser-Agentである可能性があります。
セキュリティスキャンでは、Botだと判別されにくくするために一般的なブラウザのUser-Agentを偽装することも珍しくありません。
WordPressサイトは公開直後からスキャンされる
今回のログで興味深いのは、サイト公開から間もないタイミングでアクセスがあったことです。
WordPressサイトは公開するとすぐに
- 自動スキャナー
- セキュリティBot
- クローラー
などが巡回を始めます。
そのため、サイト公開直後でも、
.git
.env
wp-login.php
xmlrpc.phpなどのURLを確認するアクセスが発生します。
/.git/configスキャンへの対策
/.git/config へのアクセスは、Gitディレクトリの公開ミスを探すスキャンである可能性が高いです。
そのため、以下のような対策を行っておくことが重要です。
① .gitディレクトリを公開しない
本番サーバーには .git フォルダをアップロードしないようにします。
FTPやデプロイツールを使う場合は、.git を除外する設定にしておきましょう。
② .gitへのアクセスを制限する
万が一アップロードされてしまった場合でも、Webサーバー側でアクセス制限をかけることができます。
例(.htaccess)
Require all denied③ 本番環境と開発環境を分離する
開発用のGit管理ディレクトリはローカル環境や非公開サーバーに置き、本番環境には必要なファイルのみを配置するのが基本です。
④ 定期的にアクセスログを確認する
今回のようなスキャンは、アクセスログを見て初めて気づくことが多いです。
まとめ│アクセスログでGitスキャンを確認できる
アクセスログに、
GET /.git/configというリクエストがあった場合、それは Gitディレクトリの公開ミスを探すスキャンである可能性が高いです。
もし .git フォルダが公開されていると、
- ソースコード
- データベース情報
- APIキー
などの重要な情報が漏えいする可能性があります。
WordPressサイトでも、Gitでテーマやプラグインを管理している場合は、本番サーバーに .git ディレクトリを公開してしまわないよう注意が必要です。
普段からアクセスログを確認することで、このようなスキャンの存在に気づけます。
