L’interface est localisée ; les présentations et documents des Skills sont traduits automatiquement par IA dans votre langue. Le code, les commandes, chemins et termes techniques restent en version originale, et le document de l’auteur fait foi.
Explorer les Skills
Productivité · SKILL.md

performing-ssl-tls-inspection-configuration

performing-ssl-tls-inspection-configuration

在网络安全设备上配置 SSL/TLS 检查,对 HTTPS 流量进行解密、检查和重加密以用于威胁检测,同时管理证书、豁免项和隐私合规要求。

Independent GitHub snapshot · Automated classification · Original documentation governs

Documentation de la Skill

GitHub

name: performing-ssl-tls-inspection-configuration description: 在网络安全设备上配置 SSL/TLS 检查,对 HTTPS 流量进行解密、检查和重加密以用于威胁检测,同时管理证书、豁免项和隐私合规要求。 domain: cybersecurity subdomain: network-security tags: [ssl-inspection, tls-decryption, https-inspection, certificate-management, proxy, man-in-the-middle, network-security, forward-proxy] version: "1.0" author: mahipal license: Apache-2.0

执行 SSL/TLS 检查配置

概述

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

前置条件

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

核心概念

SSL/TLS 检查模式

模式方向描述
SSL 正向代理出站拦截客户端到互联网的 HTTPS 连接
SSL 入站检查入站解密发往内部服务器的流量
SSH 代理双向检查 SSH 隧道流量

正向代理流程

客户端                  防火墙/代理              Web 服务器
  │                         │                          │
  │──TLS ClientHello──────→│                          │
  │                         │──TLS ClientHello───────→│
  │                         │←─TLS ServerHello────────│
  │                         │  (真实服务器证书)        │
  │                         │                          │
  │                         │  [验证服务器证书]          │
  │                         │  [生成由内部 CA 签名       │
  │                         │   的代理证书]             │
  │                         │                          │
  │←─TLS ServerHello───────│                          │
  │  (代理签名证书)          │                          │
  │                         │                          │
  │──加密数据────────────────→│  [解密、检查]            │
  │                         │──加密数据────────────────→│
  │←─加密数据────────────────│  [解密、检查]             │
  │                         │←─加密数据────────────────│

证书信任链

企业根 CA
  └── 下级 CA(SSL 检查)
        └── 动态生成的服务器证书
             (CN 与请求的服务器匹配)

实施步骤

步骤 1:为 SSL 检查生成内部 CA

# 为 SSL 检查 CA 创建私钥
openssl genrsa -aes256 -out ssl-inspect-ca.key 4096

# 创建 CA 证书(5 年有效期)
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
)

# 验证证书
openssl x509 -in ssl-inspect-ca.crt -text -noout

步骤 2:向终端部署 CA 证书

Windows(组策略):

# 通过 GPO 将 CA 证书导入受信任根存储
# 计算机配置 > 策略 > Windows 设置 >
# 安全设置 > 公钥策略 > 受信任的根证书颁发机构

# 或通过 PowerShell 部署
Import-Certificate -FilePath "\\server\share\ssl-inspect-ca.crt" `
  -CertStoreLocation "Cert:\LocalMachine\Root"

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

macOS(MDM 配置文件或手动):

# 通过命令行安装
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 正向代理

# 将 CA 证书导入防火墙
# Device > Certificate Management > Certificates > Import

# 设置为正向信任 CA
set shared certificate SSL-Inspect-CA forward-trust-certificate yes

# 创建解密配置文件
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

# 最低 TLS 版本
set profiles decryption Corporate-Decrypt ssl-protocol-settings min-version tls1-2
set profiles decryption Corporate-Decrypt ssl-protocol-settings max-version max

# 解密策略 - 解密出站 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 检查中排除:

# 豁免证书固定应用
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

# 豁免隐私敏感类别
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

# 豁免特定高信任域名
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:配置内部服务器的入站检查

# 导入服务器证书和私钥
# Device > Certificate Management > Certificates > Import

# 入站检查策略
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 检查

# 从客户端测试 - 验证证书颁发者是否为内部 CA
openssl s_client -connect www.google.com:443 -servername www.google.com 2>/dev/null | \
  openssl x509 -noout -issuer -subject

# 预期输出(检查激活时):
# issuer= /C=US/O=Corp Inc/OU=Network Security/CN=Corp SSL Inspection CA
# subject= /CN=www.google.com

# 验证浏览器中无证书错误
# 检查防火墙解密日志是否有错误

# 使用 curl 测试
curl -v https://www.example.com 2>&1 | grep "issuer"

# 检查防火墙上的解密统计信息
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 证书轮换

参考资料

Skills enregistrées