セキュリティヘッダー

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

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

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

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

厳密なトランスポートセキュリティ(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を実装: レポートのみモードで開始

3. 十分にテストする: ヘッダーは機能を破損する可能性があります

4. プリロードリストを使用: ブラウザプリロードリストに送信

5. 違反を監視: CSP報告エンドポイントを使用

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

一般的な等級基準

等級一般的な要件
A+すべての重要なヘッダー、HSTSプリロード
AHSTS、CSP、X-Frame-Options、X-Content-Type
Bいくつかのヘッダーが欠落
C/D最小限のセキュリティヘッダー
Fセキュリティヘッダーなし

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

この知識を実践する

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