近年、WebサイトやAPIを狙った「不正スキャン」は日常的に行われています。特に危険なのは、開発・運用時に利用される機密情報ファイル――たとえば .env や config.yml といった設定ファイルです。これらが外部からアクセス可能な状態になっていると、データベースのパスワードやAPIキー、内部ネットワークの情報まで漏洩する恐れがあります。
この記事では、実際に開発しているWebアプリケーションに対して行われた不正スキャンの攻撃ログを公開します。攻撃者が狙う典型的なパスやファイルの一覧、スキャンの目的と手口、そして防御のための具体的な対策までを解説します。日々の運用におけるセキュリティ意識向上の一助になれば幸いです。
※注意:この記事に書かれているセキュリティ対策は、Webアプリケーション運用において必要な対策のごく一部でしかありません。この内容だけを実施しておけば良いという訳ではありませんのでご注意下さい。
目次
- はじめに –
.env
やconfig.yml
が狙われる理由 - 実際の攻撃ログ公開
- 攻撃者が探すファイル・ディレクトリ一覧
- 不正スキャンの目的と手口
- 防御策とセキュリティ対策
- まとめ – 攻撃は日常的に起きている
1. はじめに – .env
や config.yml
が狙われる理由
WebサイトやWebアプリの開発でよく利用される .env
や config.yml
ファイル。これらはアプリケーションの動作に必要な設定や認証情報(APIキー、データベース接続情報、メールサーバのパスワードなど)を記録しておく重要ファイルです。
しかし、本来は外部からアクセスできないはずのこれらのファイルが、サーバの設定ミスやデプロイ時の不注意によって 公開ディレクトリ直下 に置かれてしまうことがあります。この状態を狙って世界中のボットや攻撃者が 自動スキャン を行い、機密情報を盗もうとしています。
2. 実際の攻撃ログ公開
以下は、実際に不正スキャンでアクセスがあったURL一覧です。いずれも存在していれば危険なファイル・ディレクトリであり、絶対に公開されるべきではありません。
1. 典型的な機密ディレクトリ / ファイル
https://example.com/.env
https://example.com/.aws/credentials
https://example.com/.ssh/
https://example.com/.git
https://example.com/.svn
https://example.com/_vti_pvt
https://example.com/server-status
https://example.com/wp-admin/setup-config.php
https://example.com/phpinfo
https://example.com/phpinfo.php
https://example.com/info.php
https://example.com/systeminfo.php
https://example.com/serverinfo.php
2. 危険拡張子・バックアップ系
https://example.com/db_backup.sql
https://example.com/archive.zip
https://example.com/full_backup.tar.gz
3. 設定ファイル系
https://example.com/docker-compose.yml
https://example.com/docker-compose.yaml
https://example.com/config.json
https://example.com/config.yaml
https://example.com/config.yml
https://example.com/config.xml
https://example.com/config.php
https://example.com/settings.json
https://example.com/settings.yaml
https://example.com/settings.yml
https://example.com/application.properties
https://example.com/application.yaml
https://example.com/application.yml
3. 攻撃者が探すファイル・ディレクトリ一覧
攻撃者は自動化されたツールを使い、上記のような「典型的な危険ファイル」を一括でチェックします。特に以下が狙われやすい傾向があります。
- バックアップファイル(.sql / .zip / .tar.gz)
完全なデータベースやファイル群が流出する恐れ - 環境変数ファイル(.env)
DB 接続情報や API キーが記載されていることが多い - バージョン管理ディレクトリ(.git / .svn)
ソースコード全体を入手される危険 - 設定ファイル(config.yml / docker-compose.yml など)
内部構成や機密情報がそのまま記載されている
4. 不正スキャンの目的と手口
不正スキャンの最終目的は、機密情報の収集と悪用 です。具体的な手口としては以下が一般的です。
- 自動化スクリプトによる一斉スキャン
数百万単位のIPアドレスに対して、典型的なファイルパスを順番にアクセス。 - 脆弱性検索エンジンの活用
Shodan や Censys のようなサービスを使い、公開された危険ファイルの存在を事前に特定。 - 取得した情報の悪用
- データベースに不正接続して情報を窃取
- APIキーを使って第三者のクラウドサービスを不正利用
- 盗んだ認証情報をダークウェブで売買
5. 防御策とセキュリティ対策
- 不要なファイルはそもそもサーバーに置かない
- 機密ファイルはドキュメントルート外に配置
.env
や設定ファイルへのアクセスをサーバー設定で禁止- WAF(Web Application Firewall)の導入
- 定期的な脆弱性スキャンの実施
- バックアップは暗号化して保管し、公開ディレクトリに置かない
6. まとめ – 攻撃は日常的に起きている
.env
や config.yml
を狙うスキャンは、特別な攻撃ではなく 日常的に発生している自動化攻撃 です。
「自分のサイトは狙われない」 という思い込みは危険で、公開から数時間以内に攻撃が始まるケースも珍しくありません。
最後に、今すぐできる簡易チェックリストを掲載します。
.env
や設定ファイルが公開ディレクトリに存在しないか確認- バックアップや古い設定ファイルを削除
- サーバのアクセス制御設定を見直し
- WAFや監視ツールで不正アクセスを検知
攻撃の第一歩は「無防備なファイル」を探すこと。まずはそれらを外部から見えない場所に置き、日常的な監視体制を整えることが、最も確実な防御になります。