セキュリティヘッダー

プロトコル & 標準
ブラウザーの動作を制御してウェブサイトセキュリティを向上させる HTTP 応答ヘッダー。
← 用語集に戻る

セキュリティヘッダーとは

セキュリティヘッダーは、ウェブサイトのコンテンツを扱う際のブラウザーの動作を指示するHTTPレスポンスヘッダーです。一般的なウェブ脆弱性への防御を強化し、クロスサイトスクリプティング(XSS)、クリックジャッキング、コンテンツインジェクション、プロトコルのダウングレード攻撃などを防ぎます。適切に設定したセキュリティヘッダーは、多層防御のセキュリティ戦略に不可欠です。

必須のセキュリティヘッダー

Strict-Transport-Security(HSTS)

HTTPS接続を強制します。

Strict-Transport-Security: max-age=31536000; includeSubDomains; preload

Content-Security-Policy(CSP)

リソースの読み込みを制御します。

Content-Security-Policy: default-src 'self'; script-src 'self' trusted.com; style-src 'self' 'unsafe-inline'

X-Frame-Options(フレーム埋め込み制御)

クリックジャッキングを防ぎます。

X-Frame-Options: DENY

X-Frame-Options: SAMEORIGIN

X-Content-Type-Options(コンテンツ種別保護)

MIMEスニッフィングを防ぎます。

X-Content-Type-Options: nosniff

追加のセキュリティヘッダー

ヘッダー目的
X-XSS-ProtectionXSSフィルター(レガシー)1; mode=block
Referrer-Policyリファラー情報を制御strict-origin-when-cross-origin
Permissions-Policy機能を制限geolocation=(), camera=()
Cross-Origin-Opener-Policyプロセスを分離same-origin
Cross-Origin-Embedder-Policyリソースを分離require-corp
各ヘッダーは、ブラウザーの挙動や読み込めるリソースを指定し、異なる攻撃面を補います。

実装例

Nginx設定

add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;

add_header X-Frame-Options "SAMEORIGIN" always;

add_header X-Content-Type-Options "nosniff" always;

add_header Content-Security-Policy "default-src 'self'" always;

Apache設定

Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains"

Header always set X-Frame-Options "SAMEORIGIN"

Header always set X-Content-Type-Options "nosniff"

セキュリティヘッダーとドメインの健全性

ドメインにヘッダーが重要な理由

セキュリティヘッダーのテスト

実装を確認するツール:

ベストプラクティス

1. HSTSから始める: HTTPSの強制に不可欠

2. CSPを段階的に導入する: report-onlyモードから始める

3. 十分にテストする: ヘッダーによって機能が壊れる場合がある

4. プリロードリストを使う: ブラウザーのプリロードリストへ申請する

5. 違反を監視する: CSPのレポートエンドポイントを使う

6. 定期的に監査する: セキュリティ要件は変化する

一般的な評価基準

評価一般的な要件
A+重要なヘッダーすべて、HSTSプリロード
AHSTS、CSP、X-Frame-Options、X-Content-Type
B一部のヘッダーが不足
C/D最小限のセキュリティヘッダー
Fセキュリティヘッダーなし

セキュリティヘッダーはウェブアプリケーションセキュリティの重要な層です。サーバー側のセキュリティ対策を補完し、ブラウザーが強制する保護を提供します。

この知識を実践する

DomScan の API を使用してドメインの可用性、状態などを確認します。