mcpField
S
security-headers-configuration

security-headers-configuration

github.com/secondsky安全240446 次安装5 周前更新
代码仓库

关于 security-headers-configuration

用于配置 HTTP 响应头以防范浏览器攻击的安全技能,提供 Express 和 Nginx 示例,以及检查清单和验证工具。

主要功能

  1. 01HSTS 配置指南
  2. 02内容安全策略设置
  3. 03防点击劫持与 MIME 嗅探
  4. 04Express Helmet 示例
  5. 05Nginx 响应头配置
  6. 06响应头验证检查清单

适用场景

  1. 01为 Express 添加浏览器安全响应头
  2. 02在 Nginx 配置响应头
  3. 03审查内容安全策略
  4. 04更改后检查响应头设置

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/secondsky/claude-skills --skill security-headers-configuration

安装后在 Claude Code 中输入/security-headers-configuration确认已加载。

附带文件references/python-apache.md

详细介绍

安全标头配置

实施 HTTP 安全标头,防御常见的浏览器攻击。

必要标头

标头用途值
HSTS强制使用 HTTPSmax-age=31536000; includeSubDomains
CSP限制资源default-src 'self'
X-Frame-Options防止点击劫持DENY
X-Content-Type-Options防止 MIME 嗅探nosniff

Express 实现

const helmet = require('helmet');

app.use(helmet());

// Custom CSP
app.use(helmet.contentSecurityPolicy({
  directives: {
    defaultSrc: ["'self'"],
    scriptSrc: ["'self'", "'unsafe-inline'"],
    styleSrc: ["'self'", "'unsafe-inline'"],
    imgSrc: ["'self'", "data:", "https:"],
    connectSrc: ["'self'", "https://api.example.com"],
    fontSrc: ["'self'", "https://fonts.gstatic.com"],
    frameAncestors: ["'none'"]
  }
}));

Nginx 配置

add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" always;
add_header X-Frame-Options "DENY" always;
add_header X-Content-Type-Options "nosniff" always;
add_header X-XSS-Protection "1; mode=block" always;
add_header Referrer-Policy "strict-origin-when-cross-origin" always;
add_header Permissions-Policy "geolocation=(), microphone=(), camera=()" always;
add_header Content-Security-Policy "default-src 'self'; script-src 'self'" always;

验证工具

安全标头检查清单

  • 启用 HSTS,并设置较长的 max-age
  • 配置并测试 CSP
  • 将 X-Frame-Options 设置为 DENY
  • 将 X-Content-Type-Options 设置为 nosniff
  • 配置 Referrer-Policy
  • 使用 Permissions-Policy 禁用未使用的功能

其他实现

请参阅 references/python-apache.md,了解:

  • Python Flask 安全标头中间件
  • Flask-Talisman 库配置
  • Apache .htaccess 配置
  • 标头测试脚本

常见错误

  • 长期将 CSP 设置为仅报告模式
  • 使用限制过于宽松的策略
  • 更改后忘记测试
  • 未将所有子域名纳入 HSTS

评论

支持 Markdown