こんばんは。
今回の話題はタイトルの通りです。
WordPressは無料で使用できるCMSとあって数多くの人が使用していると思いますが、人口が多いということはそれだけセキュリティホールを突いてくる輩も多数存在します。
実際、脆弱性は世の中に無数に溢れていて、有名どころのサイトには数多くのアタックが試行されているものと思います。ここゲーブラにも無数の海外からのアクセスが飛んできていて、個人情報を抱えていたら…と思うと恐ろしいものです。
記事に起こすのが面倒なのでそんなに突っ込んだ話はしませんが、今回の記事を真似すれば、英字のいっぱい並んだ画面や、単色のコンソールっぽい画面を触れる風なことができて、なんだか使いこなしてる感が出ます。何もかも曖昧ですが。
自己肯定感下がった時にサッと補給できるのでお勧め。(私は極度に落ちたときはこんなことで持ち直してます)
脆弱性とは?
そもそも脆弱性って何でしょう?とりあえず、国の説明を見てみましょうか。
脆弱性という言葉に全てが表れていますが、セキュリティ上の欠陥です。どんなに塞いでも塞いでも抜け道は存在するもので、見付ける人がいる限り、永遠になくなりません。
我々はOSSや市販されている製品を使用させていただいている身ですので、やはりこういった既製品の脆弱性には常にアンテナを張っていなければいけません。
脆弱性検索にはJVNがお勧め。使用OSによってはRedhatが提供する脆弱性情報も参考に。
実は色々丸見え!
さて、実際にどんな情報が攻撃者の手掛かりとなり得るのか。
今回は手軽に試せるという点で、Chromeを使用しましょう。
Chromeの拡張機能でもある「Wappalyzer」です。コレはスゴい。
Chromeの開発者ツール、WindowsシリーズのPowerShell等でもこれらの情報は確認可能なのですが、手間をかけず見せてくれるのがこのWappalyzerなのです。
早速、任天堂ホームページを見てみましょう。2023年4月現在は↓のような情報が表示されるはずです。
使用しているサーバ、さらにはどのPaaSかまで見えてしまいます。それぞれNginxとAWSですね。
Nginxは使用バージョンが隠蔽されています。これは隠蔽の設定を施しているのでしょう。
レスポンスヘッダ
ここまで読んでいてWappalyzerはどこから情報を抜いてきているのか興味のある方いませんか?
それが、レスポンスヘッダです。
※厳密にはフォルダ構成などもっと他の情報からも特定していると思われます。
ChromeではF12を押すと開発者ツールが起動します。
上部、ネットワークタブ、フィルタを「すべて」の状態で、画面のリロード(F5等)を行うと何やら文字列がたくさん羅列されていきます。
上から適当に選択し、ヘッダーのレスポンスヘッダーを確認しましょう。
使用サーバがこんなにも簡単に載っているんですね~。この要領でWappalyzerは返却された情報を基に割り出せした内容を我々に見せてくれているのです。自分でレスポンスを解析する必要もないんですね。これは便利。
ちなみに、本題のそれっぽい画面ということで、コマンドプロンプトでもほぼ同様の情報が閲覧可能です。
curl -s -D - https://www.nintendo.co.jp/ -o /dev/null
Server: nginx と出てますね。
何がまずい?
こういった情報がバレてしまうとなにがまずいのか?
例えば、任天堂ホームページで使用されているNginxの脆弱性を先ほどのJVNで検索してみましょう。
Nginxだけでもこれだけの脆弱性が日々発見されていて、Nginx側もその都度対応し修正版をリリースしています。もし、対応されていないバージョンであることが攻撃者側に知られた場合、容易にその脆弱性を利用することが可能になってしまいます。バージョンはそれほど重要な情報なのです。
もし、自身の提供サービスに該当する脆弱性であれば、対応しないと常に危険に晒されてしまうことになります。
予防策は?
バージョンは外部に公開せず、可能な限り最新版のミドルウェア、ソフトウェアを利用しましょう。コレに限る。
WordPressの場合、とにかくまずはWordPressのログイン画面を隠そう!デフォルトの設定ではURLが容易に特定できてしまうので、放置は危険です。ログインこそされないかもしれませんが、諸々の設定もデフォルトなのではと疑われ、確認される可能性があります。
勤務先の自社ホームページがWordPressだったので、まさかな~と思いつつログインページにアクセス出来てしまったことには心底ガッカリしました。
余力があればPHPやDBの使用バージョンも隠そう!海外IPブロックも有効です。
その他、対策は様々ありますが、IPAが公開している有名な教材がありますので、そちらを読んでみてください。
おわり
さて、ウェブサイトのサーバ情報について、簡単な確認方法をみてきましたが、得られた情報を基に攻撃に及んでしまうとハッカーと変わらないので、いわゆる一般的な方法で見られる情報を閲覧する程度に留めておきましょう。くれぐれも大量アクセスをかけたりしてはいけませんよ。
お気軽にコメントをどうぞ!