【セキュリティ】Heiki’s Boardで謎の404エラーが多発?攻撃者が無作為にアクセスを試みるファイルとは【さいほうへいき】

技術系

どうもおはようございます、ピッツァとかいう書き方は四文字もスペースを占有するんだよねと悲観しているさいほうへいきです!

僕が掲示板サービスHeiki’s Boardの運営を初めてからけっこう経ちますね。

【2秒でできる】YouTube宣伝掲示板『Heiki's Board』作ってみた!【さいほうへいき】
どうもこんにちは、最近真鍮を鋳ることで疑似魔道具『三十七の夜告雲オーフルレイン・インタラクター』を構築したさいほうへいきです。ちなみに鳴らすとキャベツを空から一個降らせる能力があるようです。今回は僕、なんと新たなるChallengeに手を染...

で、最近ふとCloudflareでの統計をざっくり眺めていたところ、存在しないファイルへのアクセスが大量にあることが分かりました。

どうやらそれらはサーバーの情報などを奪取しようとしている悪意あるアクセスだったようで、今回の記事ではアクセス数が特に多かったいくつかを紹介していきます!

Webサイト運営の参考になるかもしれない知識なので、ある程度押さえておいてもいいんじゃないでしょうか。

ないファイルへの404アクセスが多い?

まあそのままですが、存在しないし、昔も存在していなかったファイルへのアクセスが非常に多かったです。当然それらは全部404が返っているわけで、今回は404レスポンスが発されたアドレスだけを抽出して確認しました。

ざっといくつかを見てみたところ、つぎのようになっていました。

  • /robots.txt
  • /.env
  • /.env.backup
  • /.git/config
  • /.env.production
  • /.env.dist
  • /.env.prod
  • /phpinfo.php
  • /api/.env

このうちrobots.txtはクローリングの制御などアクセスする理由があるのですが、.envを初めとするいろいろなページは真っ当に生きてたらアクセスする必要がありませんね?

つまり、これにアクセスしようとしている奴らは真っ当に生きていない悪者ということなのじゃ(思想)

まあ実際にこれらのファイルはサービスのAPIキーとか環境設定とかが書き込まれるファイルで、通常はそれらを除外してからページを公開します。
ただ僕のようなうっかりさんが除外し忘れると、それらの情報を攻撃者が閲覧できてしまうというわけ。

なので、おそらく『貴重な情報がありそうなアドレス』への攻撃を無差別に試してみているボットがあるんだろう、と予想できますね。

各ファイルの役割

robots.txt

robots.txtは基本的には検索エンジンへのクローリングの制御を行うためのテキストです。

たとえばGoogleに管理者用の操作ページなどが載ってしまうと困りますよね。そんな感じで、エンジンへ『このページは検索結果に乗せないでね〜』ということを伝えるための指示ファイルがrobots.txtです。

まあ悪質なクローラーやボットの場合は従ってくれるかは分からないので、アクセス遮断などの自衛ももちろん必要ですけども。

最近は他にもAI学習のデータを収集するためのボットもクローリングをよくやっているため、『機械学習のためにここのデータを収集しないでね〜』と伝える用途などもあったりします。

.envなど

ピリオドから名前が始まるファイルは隠しファイルというものです。外部の人間に見られてはまずいような設定などが書き込まれていることもありますが、特別な設定をしないとこれらも普通に外部から見られてしまいます。

この.envもその例に漏れず、サイトの動作などに必要な環境変数を記述するためのファイルです。

具体的な例としては、外部サービスのAPIキーやデータベースのパスワードなどなど。

ここで他にもいくつか挙げていた.env.backupや.env.distなども同様です。

.git/config

GitHubというサービスにおけるリポジトリや認証情報などが書かれている可能性があるファイルです。

他にもけっこういろいろとあれやこれやを制御するための設定ファイルなのですが、どの道漏洩すると非常にまずいことになりかねません。

phpinfo.php

インストールされているPHPのバージョン情報などを表示するページです。

ちょうど最近、PHPの脆弱性に起因する大規模な騒動がありましたよね。使用しているPHPのバージョンが判明すると、攻撃者もどの手段で攻撃すればいいかがよく分かってしまうため、攻撃にさらされるリスクが大きく上がります。

ちなみに僕のサイトではPHPは利用していないです。少なくとも僕が管轄してる部分は。

対策等

今回はそもそものファイルがほぼないために404となって攻撃を弾き返す形になっていましたが、実際にファイルが存在している環境下でサイトをホストする時は、それらを適切に管理する必要があります。

たとえば.htaccessなどで適切に権限を管理して重要なファイルは403を返す、そもそも公開ディレクトリから重要な情報は外しておく、などですね。

また、他にも404の履歴を閲覧していると、WordPress関連や一般的に設定が置かれそうなJSONなどへのアクセスもありました。うーんこの。

404にアクセスしているのは誰?

さっきから悪意ある攻撃者がうんたらかんたらと言っていましたが、実際のところ悪意ある攻撃者っていうのはどんな人なんでしょうか?

Cloudflareでのログではそこまで詳細な情報を得られるわけではないのですが、アクセス元の国やユーザー情報などを見ることができます。

その結果、最も404アクセス数が多かった接続元の国はベルギーでした! 次点でドイツ、オランダ、アメリカ、韓国といった感じ。

もちろんVPNなどを利用して偽装を行っている可能性は十分にありえますから、すぐにベルギーのハッカーがなんたらと決めることは駄目ですけどね。実際、多くの著名なVPNサービスはベルギーにもサーバーを保有していますし。

また、ユーザーエージェントという情報から分析できるところでは、OSはWindows 10やMacOS Xを利用していたり、ブラウザはChromeがダントツ、といったところ。
ただしこちらも偽装が容易にできることには注意が必要です。

なお、いずれのランキングにも上位に『不明』が食い込んでいます。どのOSでもブラウザでもない……というか、そもそもブラウザを利用しない、つまりプログラムによってあちこちを漁りまわるボットもけっこう多そうです。

まとめ

というわけで、今回は僕のサイトにおける404のログから、世界の悪意あるボットについて軽く触れていきました!

Cloudflareのログではこれ以外にもけっこういろいろ面白いことが分かるので、サイトを運営している人はぜひ一度眺めてみてください。勉強にもなりますよ。

では、次回の記事でもまたお会いしましょう!

さいほうへいきでした。

【プログラム】いろんなプログラミング言語で見かけるメジャーな変数型まとめ【C#/Java/Python】
どうもごきげんよう、虫になった夢を見たと思っていたら『変身』を読んでいただけだったさいほうへいきです!今回はこの比較的まともな技術記事から実に一ヶ月ぶりの技術系記事です。今回のテーマはデータ型! そのうち特に、どの言語にもあるような基本的な...
【インターネッツ】Cloudflareが使用する1xxx番台のエラーをざっくり解説【ステータスコード】
どうもこんにちは、危機管理能力がかなり足りないことを指摘され、腹いせにコカコーラを飲み尽くしたさいほうへいきです!ところでMotchiyって誰ですか?最近は僕が運営しているWebサイトでけっこうCloudflareのいろいろな機能を利用する...

コメント

タイトルとURLをコピーしました