performing-ssl-tls-inspection-configuration

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

9 stars

Best use case

performing-ssl-tls-inspection-configuration is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

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

Teams using performing-ssl-tls-inspection-configuration should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/performing-ssl-tls-inspection-configuration/SKILL.md --create-dirs "https://raw.githubusercontent.com/killvxk/cybersecurity-skills-zh/main/skills/performing-ssl-tls-inspection-configuration/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/performing-ssl-tls-inspection-configuration/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How performing-ssl-tls-inspection-configuration Compares

Feature / Agentperforming-ssl-tls-inspection-configurationStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

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

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# 执行 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

```bash
# 为 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(组策略):**

```powershell
# 通过 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 配置文件或手动):**

```bash
# 通过命令行安装
sudo security add-trusted-cert -d -r trustRoot \
  -k /Library/Keychains/System.keychain ssl-inspect-ca.crt
```

**Linux:**

```bash
# 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 检查

```bash
# 从客户端测试 - 验证证书颁发者是否为内部 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 证书轮换

## 参考资料

- Palo Alto SSL 解密:https://docs.paloaltonetworks.com/network-security/decryption
- Cisco SSL/TLS 代理:https://www.cisco.com/c/en/us/td/docs/routers/sdwan/configuration/security/ios-xe-17/security-book-xe/m-ssl-proxy.html
- NIST SP 800-52 Rev 2 - TLS 配置:https://csrc.nist.gov/publications/detail/sp/800-52/rev-2/final
- US-CERT HTTPS 检查告警:https://www.cisa.gov/news-events/alerts/2017/03/13/https-interception-weakens-tls-security

Related Skills

testing-cors-misconfiguration

9
from killvxk/cybersecurity-skills-zh

在安全评估期间,识别和利用跨源资源共享(CORS)错误配置,这些配置允许未经授权的跨域数据访问和凭证窃取。

remediating-s3-bucket-misconfiguration

9
from killvxk/cybersecurity-skills-zh

本技能提供识别和修复 Amazon S3 存储桶错误配置(这些错误配置会将敏感数据暴露给未授权访问)的分步操作流程。涵盖在账户和存储桶级别启用 S3 阻止公开访问(Block Public Access)、审计存储桶策略和 ACL、强制加密、配置访问日志记录,以及使用 AWS Config 和 Lambda 部署自动化修复措施。

performing-yara-rule-development-for-detection

9
from killvxk/cybersecurity-skills-zh

通过识别可执行文件中的唯一字节模式、字符串和行为指标,开发精准的 YARA 恶意软件检测规则,同时将误报率降至最低。

performing-wireless-security-assessment-with-kismet

9
from killvxk/cybersecurity-skills-zh

使用 Kismet 通过被动射频监控进行无线网络安全评估,检测流氓接入点(Rogue AP)、隐藏 SSID、弱加密和未授权客户端。

performing-wireless-network-penetration-test

9
from killvxk/cybersecurity-skills-zh

执行无线网络渗透测试,通过捕获握手包、破解 WPA2/WPA3 密钥、检测流氓接入点以及使用 Aircrack-ng 和相关工具测试无线网络分段,评估 WiFi 安全性。

performing-windows-artifact-analysis-with-eric-zimmerman-tools

9
from killvxk/cybersecurity-skills-zh

使用 Eric Zimmerman 的开源 EZ Tools 套件(包括 KAPE、MFTECmd、PECmd、LECmd、JLECmd 和 Timeline Explorer)执行全面的 Windows 取证制品分析,解析注册表 hive、预取文件、事件日志和文件系统元数据。

performing-wifi-password-cracking-with-aircrack

9
from killvxk/cybersecurity-skills-zh

在授权无线安全评估中捕获 WPA/WPA2 握手包,并使用 aircrack-ng、hashcat 和字典攻击进行离线密码破解, 以评估密码短语强度和无线网络安全状况。

performing-web-cache-poisoning-attack

9
from killvxk/cybersecurity-skills-zh

在授权安全测试期间,通过未纳入缓存键的头部和参数毒化缓存响应,利用 Web 缓存机制向其他用户投递恶意内容。

performing-web-cache-deception-attack

9
from killvxk/cybersecurity-skills-zh

通过利用 CDN 缓存层与源服务器之间的路径规范化差异,执行 Web 缓存欺骗攻击,从而缓存并获取敏感的已认证内容。

performing-web-application-vulnerability-triage

9
from killvxk/cybersecurity-skills-zh

使用 OWASP 风险评级方法论对 DAST/SAST 扫描器的 Web 应用程序漏洞发现进行分类,区分真阳性和假阳性,并确定修复优先级。

performing-web-application-scanning-with-nikto

9
from killvxk/cybersecurity-skills-zh

Nikto 是一款开源 Web 服务器和 Web 应用程序扫描器,可针对超过 7,000 个潜在危险文件/程序进行测试,检查超过 1,250 个服务器的过期版本,并识别超过 270 个服务器的版本特定问题。

performing-web-application-penetration-test

9
from killvxk/cybersecurity-skills-zh

遵循 OWASP Web 安全测试指南(WSTG)方法论,对 Web 应用程序执行系统化安全测试,识别认证、授权、 输入验证、会话管理和业务逻辑中的漏洞。测试人员以 Burp Suite 作为主要拦截代理,结合手动测试技术 发现自动化扫描器遗漏的缺陷。适用于 Web 应用渗透测试、OWASP 测试、应用安全评估或 Web 漏洞测试等请求场景。