X-Powerd-By ヘッダーってご存じですか?おそらくほとんどの方が知らないと思います。(私もそうでした)
私がその存在を知ったきっかけは、WordPressのサイトにログインしたら、”重要なセキュリティリスクがある”という旨の警告メッセージ(次の画像)が表示されていたことです。
いろいろチェックして検証してみてた結果、X-Powerd-By ヘッダーを非表示にすることでそのメッセージが削除されたことから、それが原因だったと考えられます。
ですので、今回はWordPressサイトで、簡単にX-Powerd-By ヘッダーを非表示にする方法を紹介します。
目次
X-Powered-Byヘッダーとは?
X-Powered-Byヘッダーとは、ウェブサーバーが送信するHTTPレスポンスヘッダーの一つです。
言い換えるなら、WEBサーバーがブラウザに送る情報であり、このヘッダーは、ウェブサイトを動かしているソフトウェアやフレームワークの情報を含んでいます。
例えば、WordPressサイトの場合、以下のようなヘッダーが表示されることがあります。
X-Powered-By: PHP/7.4.1
これは、サイトがPHP version 7.4.1で動作していることを示しています。
もし、ASP.NETで制作されていれば「ASP.NET」と表示されるようです。
つまり、ちょっと詳しい人が調べれば、その調べたサイトのPHPのバージョンがわかるということです。
WordPressサイトの場合は、PHP情報程度ですが、コーディング等や他ソフトにより制作したサイトは、”どんなソフトを使っていて、どのバージョンで作成されたのか?”という情報までわかってしまうようです。
なぜX-Powered-Byヘッダーを非表示にすべきなのか?
X-Powered-Byヘッダーを非表示にすることには、いくつかの重要な理由があります。
セキュリティの向上
使用しているソフトウェアのバージョンを隠すことで、潜在的な攻撃者がシステムの脆弱性を特定しにくくなります。
先ほども紹介しましたが、利用ソフトのバージョンが表示されるということは、もし、そのバージョンが脆弱性が確認されてるバージョンであれば、そこを狙って攻撃されるリスクがあるのです。
ですから、悪意ある人やマルウェアに狙われないように、こちら側の情報を隠すことは、セキュリティ面で効果が期待できます。
競合他社との差別化
独自のテクノロジーを使用しているように見せることで、サイトの独自性を高めることができます。って、とあるAIが教えてくれました。
・・・が、ほとんどのケースで、競合他社がどんなシステムでサイトを作っていようが関係ないですし、お客さんの立場で見ると、どうでもいいことなので、それで”差別化”はムリです。
プロフェッショナルな印象
不要な技術情報を隠すことで、よりクリーンでプロフェッショナルな印象を与えられます。
これもAIが提案してくれたことですが、そもそも、そういう情報をチェックする人ってごく一部ですから、これも”可能性がある”という程度の期待効果ですね。
SEOへの潜在的な影響
一部の専門家は、これらのヘッダーを隠すことがSEOにわずかながらプラスの影響を与える可能性があると考えています。
これは、サイトの安全性が高まれば、信頼性のあるサイトとして評価されやすくなるので、間接的にSEO効果がある、というものです。
ということで、X-Powerd-byヘッダーの非表示は、セキュリティの強化のための対応が主であり、SEO効果としては、後からじわじわでてくるかも!?という程度の者です。
どちらにしてもセキュリティ面での強化になるので、やった方がよいです。
WordPressでX-Powered-Byヘッダーを非表示にする方法
WordPressでX-Powered-Byヘッダーを非表示にするには、主に2つの方法があります。初心者の方には方法1をお勧めします。
方法1: Really Simple Securityプラグインを使用する
Really Simple Security(旧名Really Simple SSL・・だったと思います。)は、WordPressサイトのセキュリティを強化するための優れたプラグインです。
もともと私が導入したときは、Really Simple SSLという名称で、WordPressのサイトを自動でSSL化する、必須プラグインでしたが、いつの間にか、セキュリティ面をサポートするプラグインに進化していました。
実はこのプラグインを使えば、X-Powered-Byヘッダーの非表示化も簡単に行えます。
前提:Really Simple Securityプラグインを追加していること
もし、まだこのプラグインを利用していないのであれば、プラグインを追加&有効化する必要があります。
※尚、私としてはWordPressの必須プラグインの1つと考えていますが、プラグインによっては、利用しているテーマとの相性や他のプラグインとの相性があるため、場合によって不具合が生じる可能性もあるので、必ず事前にバックアップをとってから、プラグインの追加を行ってください。
プラグイン追加の手順は次のとおりです。
1.WordPressの管理画面から「プラグイン」→「新規追加」を選択
2.検索欄に「Really Simple Security」と入力し、プラグインを検索し「今すぐインストール」をクリックし、その後「有効化」をクリック
これで、Really Simple Securityプラグインの追加&有効化が完了です。
この後に、いろいろな設定を求められますが、指示に従って設定してください。
X-Powered by ヘッダーを非表示にする設定方法
1.左側のメニューから「セキュリティ」をクリックし、次に「設定」をクリック
2.メニューの「堅牢化」をクリックし、「Unset X-Powered-By header」をオン設定(次図の表示)にし、この設定を保存するために「Save」ボタンをクリック
この設定により、X-Powered-Byヘッダーを含む複数のシステム情報が自動的に非表示になります。
ちなみに、この設定を行ったあと、冒頭の警告メッセージも消えました。
Really Simple Securityプラグインを導入していれば、誰でも簡単に非表示設定できるので、オススメの方法です。
方法2: コーディングで対処する(上級者向け)
PHP.iniファイルを編集するか、.htaccessファイルに直接記述することでも、X-Powered-Byヘッダーを非表示にできます。
ただし、この方法は上級者向けで、間違えるとサイトが正常に動作しなくなる可能性があります。必ず、バックアップをとってから行うようにしてください。上級者向けなので自己責任でお願いします。
PHP.iniファイルの編集:
expose_php = Off
.htaccessファイルへの追記
<IfModule mod_headers.c>
Header unset X-Powered-By
</IfModule>
注意: これらの方法を試す前に、必ずサイトのバックアップを取っておいてください。
正直、詳しくない人がコーディングで対処するのは、トラブル防止のためにもお勧めしません。
ここの部分だけを見れば「簡単じゃん!」と思うかもしれませんが、実際にはこの設定画面の前後でFTP接続して、ちょっとした設定が必要なケースが多いです。(利用しているサーバー等によって操作方法が違うため省略しています。)
ですので、その辺の操作方法などに詳しくないなら、簡単に誰でも設定できるプラグインを利用する方法をお勧めします。
まとめ
X-Powered-Byヘッダーを非表示にすることは、WordPressサイトのセキュリティと性能を向上させるための小さな、しかし重要なステップです。
初心者の方には、Really Simple Securityプラグインの使用をお勧めします。
なぜなら、簡単かつ安全にX-Powered-byヘッダーを非表示にできるだけでなく、他の重要なセキュリティ設定も行えるからです。
ウェブサイトのセキュリティは常に進化し続けています。定期的に設定を見直し、最新のセキュリティ対策を適用するようにしましょう。