ウェブサーバーのセキュリティ強化:Header unset X-Powered-By 等の設定方法

投稿日:2024.07.24.
更新日:2025.04.12.

ホームページ制作

セキュリティ

運用

株式会社TREVOの月額制ホームページ制作サービス
PR

板浪 雅樹
執筆・編集 板浪 雅樹

2005年から WEB 業界一筋。500サイト超を手がける SEO・WordPress のエキスパート。「公開後こそ本番」を掲げ、データ分析とユーザー視点で成果を引き出す運用を提案。

2005年に制作会社へ入社後、プログラマーからキャリアをスタート。サーバー構築・データベース設計で培った技術を強みに、WordPress テーマ/プラグイン開発やサイト移行の難案件を多数担当してきました。
2010年以降は SEO エンジニアとしても活動領域を拡大。コンテンツ設計・内部リンク最適化・高速化チューニングにより、競合の激しいビッグキーワードで上位獲得を実現してきました。
現在は TREVO のウェブディレクターとして、要件定義から運用改善まで一気通貫でリード。AI ライティングや GA4/Looker Studio を活用したレポーティング手法を開発し、「数字で説明できるサイト運用」をポリシーにクライアントの ROI 最大化を支援しています。
趣味/強み:筋トレとランニングで日々の集中力をキープ。複雑な課題を“仕組み”で解決するのが得意。
モットー:「サイトは資産。改善を止めた瞬間から価値は目減りする」

執筆記事:記事一覧ページ
SNS:x(旧 Twitter)@TREVO_WEB

ウェブサイトのセキュリティは、ユーザーのプライバシーとデータを保護するために非常に重要です。今回は、Header unset X-Powered-By 等のHTTPヘッダー設定によるセキュリティ強化方法について詳しく解説します。

コンテンツのアップデートと再利用について

HTTPヘッダーの役割とは?

HTTPヘッダーは、クライアント(ブラウザ)とサーバー間の通信において、リクエストやレスポンスに関する追加情報を提供するためのものです。これには、サーバーの情報、コンテンツの種類、キャッシュの指示などが含まれます。しかし、一部のヘッダー情報は攻撃者にとって有益な手がかりとなり、悪用される可能性があります。

X-Powered-By ヘッダーのリスク

X-Powered-By ヘッダーは、サーバーが使用している技術(例えば、PHPやASP.NETなど)を示します。この情報が公開されることで、攻撃者は特定の技術に関連する既知の脆弱性をターゲットにすることができます。したがって、このヘッダーを非表示にすることがセキュリティ強化に繋がります。

Header unset X-Powered-By の設定方法

Apacheサーバーの場合

Apacheサーバーを使用している場合、以下の設定を追加することで、X-Powered-By ヘッダーを非表示にできます。設定は、通常 httpd.conf や apache2.conf などのメイン設定ファイル、もしくは .htaccess ファイルに記述します。

httpd.confやapache2.confの場合

<IfModule mod_headers.c>
    Header unset X-Powered-By
</IfModule>

.htaccessの場合

<IfModule mod_headers.c>
    Header unset X-Powered-By
</IfModule>

Nginxサーバーの場合

Nginxを使用している場合は、nginx.conf ファイルに以下の設定を追加します。

server {
    ...
    more_clear_headers 'X-Powered-By';
    ...
}

この設定を適用するためには、ngx_http_headers_more_module モジュールが必要です。

Content Security Policy (CSP)

CSPは、クロスサイトスクリプティング(XSS)攻撃を防ぐためのものです。スクリプトやリソースの読み込みを制御することで、不正なスクリプトの実行を防ぎます。

Apacheの場合

<IfModule mod_headers.c>
    Header set Content-Security-Policy "default-src 'self'; script-src 'self' https://www.googletagmanager.com https://www.google-analytics.com; connect-src 'self' https://www.google-analytics.com; img-src 'self' https://www.google-analytics.com; style-src 'self' 'unsafe-inline';"
</IfModule>

Nginxの場合

server {
    ...
    add_header Content-Security-Policy "default-src 'self'; script-src 'self' https://www.googletagmanager.com https://www.google-analytics.com; connect-src 'self' https://www.google-analytics.com; img-src 'self' https://www.google-analytics.com; style-src 'self' 'unsafe-inline';";
    ...
}

X-Frame-Options

クリックジャッキング攻撃を防ぐために、ページがフレーム内に表示されることを制限します。

Apacheの場合

<IfModule mod_headers.c>
    Header set X-Frame-Options "SAMEORIGIN"
</IfModule>

Nginxの場合

server {
    ...
    add_header X-Frame-Options "SAMEORIGIN";
    ...
}

X-Content-Type-Options

ブラウザがMIMEタイプを検出するのを防ぎ、指定されたコンテンツタイプでのみファイルを扱うように強制します。

Apacheの場合

<IfModule mod_headers.c>
    Header set X-Content-Type-Options "nosniff"
</IfModule>

Nginxの場合

server {
    ...
    add_header X-Content-Type-Options "nosniff";
    ...
}

Referrer-Policy

リファラー情報の送信範囲を制御し、プライバシーを保護します。

Apacheの場合

<IfModule mod_headers.c>
    Header set Referrer-Policy "no-referrer-when-downgrade"
</IfModule>

Nginxの場合

server {
    ...
    add_header Referrer-Policy "no-referrer-when-downgrade";
    ...
}

サーバー設定のテストと検証

設定を変更した後は、必ずテスト環境で検証し、意図した通りにヘッダーが適用されていることを確認してください。以下のコマンドで、サーバーのレスポンスヘッダーを確認できます。

curl -I https://example.com

まとめ

ウェブサーバーのセキュリティを強化するために、不要なHTTPヘッダーを非表示にすることは非常に重要です。Header unset X-Powered-By を含む各種セキュリティヘッダーの設定を適切に行い、攻撃者に情報を提供しないようにすることで、ウェブサイトの安全性を大幅に向上させることができます。今すぐ実践し、安心してウェブサイトを運営しましょう。

このように設定することで、ウェブサイトのセキュリティを強化し、悪意のある攻撃から保護することができます。近々「ウェブサイトのセキュリティーと悪意のある攻撃について学ぼう」という連載をスタートする予定です。さらに詳細なセキュリティ対策について掘り下げていきますので、お楽しみに!

関連記事

大阪のホームページ制作会社TREVOでは、最短2日で仮サイトを公開できるスピード対応や、SEO対策に強いオリジナルデザインの制作サービスを提供しています。

関連の記事

CONTACT

ホームページ制作・Web制作に関するご質問やご相談は、
下記フォームよりお問い合わせください。

無料のお見積りや初回のご相談も承っておりますので、「まだ検討中」「ちょっと話を聞いてみたい」といった段階でも大歓迎です。
現状のホームページ診断も無料で実施中です。

0120-83-8567
平日9:00~18:00まで 定休日:土 日 祝