mcpField
C
configuring-tls-1-3-for-secure-communications

configuring-tls-1-3-for-secure-communications

github.com/mukul975安全35.2k174 次安装8 周前更新
代码仓库

关于 configuring-tls-1-3-for-secure-communications

面向服务器管理员和开发人员的 TLS 1.3 配置与验证技能,涵盖 nginx、Apache 和 Python。内容包括禁用旧版协议、测试配置及处理 0-RTT 重放风险。

主要功能

  1. 01配置 nginx 与 Apache 的 TLS 1.3
  2. 02在 Python 中使用 ssl 模块
  3. 03使用 openssl 和 testssl.sh 验证
  4. 04设置密钥交换组与密码套件
  5. 05配置 0-RTT 并考虑重放风险

适用场景

  1. 01为 Web 服务器启用 TLS 1.3
  2. 02检查服务是否拒绝 TLS 1.0 和 1.1
  3. 03验证证书链及密码套件配置
  4. 04评估 0-RTT 数据的重放风险

安装

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

$npx skills add https://github.com/mukul975/anthropic-cybersecurity-skills --skill configuring-tls-1-3-for-secure-communications

安装后在 Claude Code 中输入/configuring-tls-1-3-for-secure-communications确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

LICENSE
assets/
template.md
references/
api-reference.md
standards.md
workflows.md
scripts/
agent.py
process.py

详细介绍

为安全通信配置 TLS 1.3

概述

TLS 1.3(RFC 8446)是传输层安全协议的最新版本,在安全性和性能方面相比 TLS 1.2 都有显著提升。它将握手延迟降低至 1-RTT(对于恢复的会话甚至可达 0-RTT),移除了过时的密码套件,并强制要求完美前向保密。本技能涵盖在服务器上配置 TLS 1.3、验证配置以及测试常见错误配置。

何时使用

  • 在您的环境中部署或配置 TLS 1.3 安全通信能力时
  • 建立符合合规要求的安全控制措施时
  • 为该领域构建或改进安全架构时
  • 执行需要此实现的安全评估时

前提条件

  • 熟悉密码学概念和工具
  • 可访问测试或实验环境以安全执行
  • 已安装 Python 3.8+ 及所需依赖项
  • 对任何测试活动拥有适当的授权

目标

  • 在 nginx 和 Apache Web 服务器上配置 TLS 1.3
  • 使用 ssl 模块在 Python 应用程序中实现 TLS 1.3
  • 使用 openssl 和 testssl.sh 验证 TLS 配置
  • 理解 TLS 1.3 密码套件和密钥交换机制
  • 配置 0-RTT 早期数据并采取适当的防护措施
  • 禁用旧版 TLS 版本(1.0、1.1)和弱密码套件

核心概念

TLS 1.3 密码套件
密码套件密钥交换身份验证加密哈希
TLS_AES_256_GCM_SHA384ECDHE/DHE证书AES-256-GCMSHA-384
TLS_AES_128_GCM_SHA256ECDHE/DHE证书AES-128-GCMSHA-256
TLS_CHACHA20_POLY1305_SHA256ECDHE/DHE证书ChaCha20-Poly1305SHA-256
TLS 1.3 相比 1.2 的改进
  • 1-RTT 握手:完整握手在一个往返内完成(TLS 1.2 需要两个)
  • 0-RTT 恢复:恢复的连接可以立即发送数据
  • 无 RSA 密钥交换:仅使用临时 Diffie-Hellman(强制 PFS)
  • 简化的密码套件:移除了 CBC、RC4、3DES、静态 RSA、SHA-1
  • 加密握手:服务器证书在 ServerHello 之后被加密
密钥交换组
  • x25519:Curve25519 ECDH(首选,速度快)
  • secp256r1:NIST P-256 ECDH(广泛支持)
  • secp384r1:NIST P-384 ECDH(更高的安全裕度)
  • x448:Curve448 ECDH(最高安全性)

工作流

  1. 验证 OpenSSL 版本支持 TLS 1.3(1.1.1+)
  2. 生成或获取 TLS 证书和私钥
  3. 配置服务器使用 TLS 1.3 密码套件
  4. 禁用 TLS 1.0 和 1.1(可选保留 1.2 以保持兼容性)
  5. 设置首选密钥交换组
  6. 启用 OCSP 装订以进行证书验证
  7. 使用 openssl s_client 和 testssl.sh 测试配置
  8. 配置 HSTS 头以实现 HTTP 严格传输安全

安全注意事项

  • 0-RTT 数据容易受到重放攻击;限制为幂等请求
  • 如果需要支持旧版客户端,务必包含 TLS 1.2 回退
  • 使用 ECDSA 证书以获得更好的性能(相比 RSA)
  • 启用 OCSP 装订以改善客户端证书验证
  • 设置具有较长 max-age 和 includeSubDomains 的 HSTS 头
  • 监控证书透明度日志

验证标准

  • TLS 1.3 握手成功完成
  • 仅提供经批准的密码套件
  • 强制实施完美前向保密
  • TLS 1.0 和 1.1 被拒绝
  • OCSP 装订功能正常
  • 证书链有效且完整
  • testssl.sh 报告无漏洞

评论

支持 Markdown