mcpField
P
performing-ssl-tls-inspection-configuration

performing-ssl-tls-inspection-configuration

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

关于 performing-ssl-tls-inspection-configuration

面向网络安全人员的 SSL/TLS 流量检查配置技能,说明如何部署信任 CA、设置解密策略和例外,并验证配置,同时考虑隐私与合规要求。

主要功能

  1. 01配置出站与入站检查
  2. 02部署内部 CA 证书
  3. 03为证书固定应用设置例外
  4. 04验证解密结果
  5. 05考虑性能、隐私与合规

适用场景

  1. 01配置防火墙或安全 Web 网关的 TLS 检查
  2. 02为终端部署受信任的 CA 证书
  3. 03排查证书固定应用的连接问题
  4. 04制定流量解密的隐私例外

安装

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

$npx skills add https://github.com/mukul975/anthropic-cybersecurity-skills --skill performing-ssl-tls-inspection-configuration

安装后在 Claude Code 中输入/performing-ssl-tls-inspection-configuration确认已加载。

包含的文件

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

LICENSE
references/
api-reference.md
scripts/
agent.py

详细介绍

执行 SSL/TLS 检查配置

概述

SSL/TLS 检查(也称为 SSL 解密、HTTPS 检查或 TLS 中断检查)会拦截客户端与服务器之间的加密流量,以检查明文内容中的恶意软件、数据外泄、策略违规以及命令与控制通信。检查设备充当受信任的中间人,终止来自客户端的 TLS 会话,检查明文内容,并与目标服务器建立新的 TLS 会话。如今超过 95% 的 Web 流量已加密,未部署 TLS 检查的组织将面临巨大的盲区。本技能涵盖在下一代防火墙上的 TLS 检查配置、受信任 CA 证书的部署、证书固定应用的豁免管理,以及确保符合隐私法规。

何时使用

  • 在进行涉及执行 ssl tls 检查配置的安全评估时
  • 在遵循相关安全事件的事件响应流程时
  • 在执行定期安全测试或审计活动时
  • 在通过动手测试验证安全控制时

前提条件

  • 具备 TLS 检查能力的下一代防火墙或安全 Web 网关
  • 用于签发检查证书的内部证书颁发机构(CA)
  • 端点证书管理(GPO、MDM 或手动部署)
  • 针对 TLS 检查范围的隐私与法律审查
  • 了解 PKI、X.509 证书和 TLS 握手

核心概念

SSL/TLS 检查模式
模式方向描述
SSL 正向代理出站拦截客户端到互联网的 HTTPS 连接
SSL 入站检查入站解密发往内部服务器的流量
SSH 代理双向检查 SSH 隧道流量
正向代理流程
Client                  Firewall/Proxy              Web Server
  │                         │                          │
  │──TLS ClientHello──────→│                          │
  │                         │──TLS ClientHello───────→│
  │                         │←─TLS ServerHello────────│
  │                         │  (real server cert)      │
  │                         │                          │
  │                         │  [Validates server cert]  │
  │                         │  [Generates proxy cert   │
  │                         │   signed by internal CA]  │
  │                         │                          │
  │←─TLS ServerHello───────│                          │
  │  (proxy-signed cert)    │                          │
  │                         │                          │
  │──Encrypted data────────→│  [Decrypt, Inspect]      │
  │                         │──Encrypted data────────→│
  │←─Encrypted data─────────│  [Decrypt, Inspect]      │
  │                         │←─Encrypted data─────────│
证书信任链
Enterprise Root CA
  └── Subordinate CA (SSL Inspection)
        └── Dynamically Generated Server Certificates
             (CN matches requested server)

工作流

步骤 1:为 SSL 检查生成内部 CA
# Create private key for SSL Inspection CA
openssl genrsa -aes256 -out ssl-inspect-ca.key 4096

# Create CA certificate (5 year validity)
openssl req -new -x509 -key ssl-inspect-ca.key \
  -sha256 -days 1825 \
  -out ssl-inspect-ca.crt \
  -subj "/C=US/ST=California/O=Corp Inc/OU=Network Security/CN=Corp SSL Inspection CA" \
  -extensions v3_ca \
  -config <(cat <<EOF
[req]
distinguished_name = req_dn
x509_extensions = v3_ca

[req_dn]

[v3_ca]
basicConstraints = critical,CA:TRUE,pathlen:0
keyUsage = critical,digitalSignature,keyCertSign,cRLSign
subjectKeyIdentifier = hash
authorityKeyIdentifier = keyid:always
EOF
)

# Verify certificate
openssl x509 -in ssl-inspect-ca.crt -text -noout
步骤 2:将 CA 证书部署到端点

Windows(组策略):

# Import CA cert to trusted root store via GPO
# Computer Configuration > Policies > Windows Settings >
# Security Settings > Public Key Policies > Trusted Root CAs

# Or deploy via PowerShell
Import-Certificate -FilePath "\\server\share\ssl-inspect-ca.crt" `
  -CertStoreLocation "Cert:\LocalMachine\Root"

# Verify deployment
Get-ChildItem Cert:\LocalMachine\Root | Where-Object {
    $_.Subject -like "*SSL Inspection CA*"
}

macOS(MDM 描述文件或手动):

# Install via command line
sudo security add-trusted-cert -d -r trustRoot \
  -k /Library/Keychains/System.keychain ssl-inspect-ca.crt

Linux:

# Ubuntu/Debian
sudo cp ssl-inspect-ca.crt /usr/local/share/ca-certificates/
sudo update-ca-certificates

# RHEL/CentOS
sudo cp ssl-inspect-ca.crt /etc/pki/ca-trust/source/anchors/
sudo update-ca-trust
步骤 3:配置 Palo Alto SSL 正向代理
# Import CA certificate to firewall
# Device > Certificate Management > Certificates > Import

# Set as Forward Trust CA
set shared certificate SSL-Inspect-CA forward-trust-certificate yes

# Create Decryption Profile
set profiles decryption Corporate-Decrypt ssl-forward-proxy block-expired-certificate yes
set profiles decryption Corporate-Decrypt ssl-forward-proxy block-untrusted-issuer yes
set profiles decryption Corporate-Decrypt ssl-forward-proxy block-unknown-cert yes
set profiles decryption Corporate-Decrypt ssl-forward-proxy restrict-cert-exts yes
set profiles decryption Corporate-Decrypt ssl-forward-proxy strip-alpn no

# Minimum TLS version
set profiles decryption Corporate-Decrypt ssl-protocol-settings min-version tls1-2
set profiles decryption Corporate-Decrypt ssl-protocol-settings max-version max

# Decryption policy - decrypt outbound HTTPS
set rulebase decryption rules Decrypt-Outbound from Trust to Untrust
set rulebase decryption rules Decrypt-Outbound source any
set rulebase decryption rules Decrypt-Outbound destination any
set rulebase decryption rules Decrypt-Outbound service any
set rulebase decryption rules Decrypt-Outbound action decrypt
set rulebase decryption rules Decrypt-Outbound type ssl-forward-proxy
set rulebase decryption rules Decrypt-Outbound profile Corporate-Decrypt
步骤 4:配置豁免

某些应用和类别必须排除在 TLS 检查之外:

# Exempt certificate-pinned applications
set rulebase decryption rules No-Decrypt-Pinned from Trust to Untrust
set rulebase decryption rules No-Decrypt-Pinned application [ apple-update microsoft-update dropbox-base ]
set rulebase decryption rules No-Decrypt-Pinned action no-decrypt

# Exempt privacy-sensitive categories
set rulebase decryption rules No-Decrypt-Privacy from Trust to Untrust
set rulebase decryption rules No-Decrypt-Privacy category [ health-and-medicine financial-services ]
set rulebase decryption rules No-Decrypt-Privacy action no-decrypt

# Exempt specific high-trust domains
set rulebase decryption rules No-Decrypt-Trusted from Trust to Untrust
set rulebase decryption rules No-Decrypt-Trusted destination [ bank-of-america.com chase.com healthcare.gov ]
set rulebase decryption rules No-Decrypt-Trusted action no-decrypt
步骤 5:为内部服务器配置入站检查
# Import server certificate and private key
# Device > Certificate Management > Certificates > Import

# Inbound inspection policy
set rulebase decryption rules Inspect-WebServers from Untrust to DMZ
set rulebase decryption rules Inspect-WebServers destination [ 10.0.20.10 10.0.20.11 ]
set rulebase decryption rules Inspect-WebServers service service-https
set rulebase decryption rules Inspect-WebServers action decrypt
set rulebase decryption rules Inspect-WebServers type ssl-inbound-inspection
set rulebase decryption rules Inspect-WebServers profile Corporate-Decrypt
步骤 6:验证 SSL 检查
# Test from client - verify certificate issuer is internal CA
openssl s_client -connect www.google.com:443 -servername www.google.com 2>/dev/null | \
  openssl x509 -noout -issuer -subject

# Expected output (with inspection active):
# issuer= /C=US/O=Corp Inc/OU=Network Security/CN=Corp SSL Inspection CA
# subject= /CN=www.google.com

# Verify no certificate errors in browser
# Check firewall decryption logs for errors

# Test with curl
curl -v https://www.example.com 2>&1 | grep "issuer"

# Check decryption statistics on firewall
show system setting ssl-decrypt memory
show system setting ssl-decrypt certificate-cache
show counter global filter category ssl

性能考量

因素影响缓解措施
CPU 开销每个会话增加 50-80%硬件 SSL 加速、专用解密设备
吞吐量下降通常 40-60%按峰值加密流量为解密硬件选型
延迟增加增加 1-5ms将检查设备部署在靠近用户的位置
TLS 1.3 0-RTT无法检查 0-RTT 数据阻止 0-RTT 或接受风险
证书固定检查失败添加到豁免列表
QUIC/HTTP3绕过传统代理阻止 QUIC,强制使用 HTTP/2

合规与隐私

  • 员工告知 - 告知用户网络流量会受到检查
  • 隐私豁免 - 排除医疗、金融和受法律特权保护的流量
  • 数据处理 - 检查后的明文不得被不必要地记录或存储
  • GDPR 合规 - 记录处理加密个人数据的合法依据
  • 证书固定 - 为使用 HPKP 或内置固定的应用维护豁免列表

最佳实践

  • 从日志记录开始 - 先以仅检测模式部署,以识别使用证书固定的应用程序
  • 维护豁免列表 - 保留一份需要绕过解密的应用程序精选列表
  • 阻止 QUIC - 阻止 UDP/443,以强制 HTTP/2 通过 TLS 检查
  • 监控证书错误 - 在防火墙日志中跟踪解密错误
  • 最低 TLS 1.2 - 强制最低版本为 TLS 1.2;阻止 SSLv3 和 TLS 1.0/1.1
  • 密钥保护 - 在生产环境中将检查 CA 私钥存储在 HSM 中
  • 定期轮换 CA - 在到期前规划 CA 证书轮换

参考资料

评论

支持 Markdown