security-headers-configuration について
Web開発者向けに、HTTPセキュリティヘッダーの設定方法を案内するスキルです。複数のサーバー環境とヘッダーのテストを扱います。
主な機能
- 01HTTPセキュリティヘッダーの設定
- 02CSPやHSTSなどの防御策
- 03Node.js、Nginx、Flask、Apacheのガイド
- 04ヘッダーテストの手順
活用シーン
- 01新しいWebアプリのデプロイ
- 02セキュリティ監査の指摘事項への対応
- 03静的サイトやAPIの保護強化
- 04セキュリティヘッダーの定期テスト
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ aj-geddes/ useful-ai-prompts --skill security-headers-configurationインストール後、Claude Code で/security-headers-configurationを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/apache-htaccess-configuration.mdnginx-security-headers-configuration.mdnodejsexpress-security-headers.mdpython-flask-security-headers.mdsecurity-headers-testing-script.mdscripts/security-checklist.sh詳細
セキュリティヘッダーの設定
目次
概要
包括的な HTTP セキュリティヘッダーを実装し、XSS、クリックジャッキング、MIME スニッフィング、その他のブラウザベースの攻撃からウェブアプリケーションを保護します。
使用する場面
- 新しいウェブアプリケーションのデプロイ
- セキュリティ監査での指摘事項への対応
- コンプライアンス要件
- ブラウザセキュリティの強化
- API セキュリティ
- 静的サイトの保護
クイックスタート
最小限の動作例:
// security-headers.js
const helmet = require("helmet");
function configureSecurityHeaders(app) {
// Comprehensive Helmet configuration
app.use(
helmet({
// Content Security Policy
contentSecurityPolicy: {
directives: {
defaultSrc: ["'self'"],
scriptSrc: [
"'self'",
"'unsafe-inline'", // Remove in production
"https://cdn.example.com",
"https://www.google-analytics.com",
],
styleSrc: [
"'self'",
"'unsafe-inline'",
"https://fonts.googleapis.com",
],
fontSrc: ["'self'", "https://fonts.gstatic.com"],
imgSrc: ["'self'", "data:", "https:", "blob:"],
connectSrc: ["'self'", "https://api.example.com"],
// ... (see reference guides for full implementation)
リファレンスガイド
詳細な実装については、references/ ディレクトリを参照してください。
| ガイド | 内容 |
|---|---|
| Node.js/Express セキュリティヘッダー | Node.js/Express セキュリティヘッダー |
| Nginx セキュリティヘッダーの設定 | Nginx セキュリティヘッダーの設定 |
| Python Flask セキュリティヘッダー | Python Flask セキュリティヘッダー |
| Apache .htaccess の設定 | Apache .htaccess の設定 |
| セキュリティヘッダーのテストスクリプト | セキュリティヘッダーのテストスクリプト |
ベストプラクティス
✅ 実施する
- 常に HTTPS を使用する
- 厳格な CSP を実装する
- HSTS を有効にし、preload を設定する
- X-Frame-Options でフレーミングをブロックする
- MIME スニッフィングを防止する
- CSP 違反を報告する
- ヘッダーを定期的にテストする
- セキュリティスキャナーを使用する
❌ 実施しない
- CSP で unsafe-inline を許可する
- サブドメインで HSTS を省略する
- CSP 違反を無視する
- 過度に許可的なポリシーを使用する
- 変更のテストを忘れる
コメント
Markdown 対応