3、审计模块安装:系统要求、安装包获取、依赖环境配置

这一章咱们要动手装东西了。审计模块是整个TLS审计的引擎,要是装歪了,后面审计结果就没法看。我呢,帮好几个团队做过部署,踩过的坑不少,今天把经过检验的流程掰开揉碎说给你听。

3.1 系统要求

先聊硬件和OS。审计模块对资源要求不算高,但也不能太寒酸。我见过有人拿1核1G的虚拟机硬跑,结果一直OOM,审计日志直接写崩了。

最低与推荐配置
配置项 最低要求 推荐配置
CPU 2 核 4 核及以上
内存 4 GB 8 GB
磁盘(系统) 20 GB 50 GB (SSD 更佳)
磁盘(审计日志) 100 GB 500 GB (按日活用户数弹性扩)
操作系统 CentOS 7.9 / Ubuntu 20.04 CentOS 8 Stream / Ubuntu 22.04
内核 3.10+ 5.4+

注意:千万别在生产环境用32位系统,审计模块内部依赖的加密库在32位下会出诡异的内存对齐错误。我曾经在某客户现场排查了一整天,最后发现是OS版本太老。

网络方面,审计模块需要和DSPM平台的控制面通信,还要能访问TLS证书颁发者OCSP响应器。所以你部署的那台机器至少要开放以下端口:

  • 443/tcp(出方向)—— 与DSPM平台控制面HTTPS连接
  • 80/tcp(出方向)—— CRL/OCSP检查备用通道
  • 514/udp(入方向)—— 部分客户用syslog推送审计事件,可选
  • 9090/tcp(入方向)—— 审计模块自身的管理API接口(建议绑定内网IP)

3.2 安装包获取

审计模块的安装包不对外公开下载,算是DSPM平台的一个增值组件。你需要先确认你所在的团队或客户已经购买了对应许可。

我个人习惯把安装包统一放在 /opt/dspm/packages/ 下管理,方便后面升级时追溯版本。

获取方式有两种:

  1. 官方制品仓库拉取(推荐):
    wget https://registry.dspm.internal/dspm-tls-audit/3.2.1/dspm-tls-audit-3.2.1-linux-x64.tar.gz \
        --user=你的厂商账号 \
        --password=厂商
    记得保持网络通畅,我遇过客户内网访问不了registry,最后只能走离线包。
  2. 离线方式:从DSPM运维平台手动下载tar包,再用scp拷贝到目标机器。

拿到安装包之后,我建议先做两件事:

  • 用 sha256sum 校验哈希,防止传输过程中被篡改或损坏。
  • 解压前看下包里的 README.md 和 CHANGELOG.md,有些版本会注明特殊依赖或已知问题。
# 校验哈希示例
sha256sum dspm-tls-audit-3.2.1-linux-x64.tar.gz
# 解压
tar -xzf dspm-tls-audit-3.2.1-linux-x64.tar.gz -C /opt/dspm/

3.3 依赖环境配置

嗯,这里很容易出问题。审计模块依赖三个核心环境组件:OpenSSL(1.1.1 或 3.x)、Python 3.8+(脚本辅助)、libpcap(网络抓包审计需要)。

3.3.1 OpenSSL

审计模块底层直接调用OpenSSL的FIPS模块来做证书验证。如果你系统里的OpenSSL版本过低,或者编译时没带上EC曲线支持,审计模块在解析ECDSA证书时会直接报错。

# 检查当前OpenSSL版本
openssl version

# 如果版本低于1.1.1,需要升级(以CentOS 7为例)
sudo yum install -y openssl11 openssl11-devel
# 配置环境变量让审计模块找到新版
export LD_LIBRARY_PATH=/usr/local/lib64:$LD_LIBRARY_PATH

小技巧:我习惯在 /etc/ld.so.conf.d/ 下新建一个 openssl-audit.conf,把OpenSSL动态库路径写进去,然后执行 ldconfig。这样就不用每次都设置环境变量了。

3.3.2 Python 环境

审计模块启动时会调用一个Python脚本来做预检和配置导入。它依赖 cryptography 和 requests 两个库。你想想看,如果网络不通或者pip源没配,这步就会卡住。

# 安装依赖
python3 -m pip install --upgrade pip
python3 -m pip install cryptography requests

# 验证安装
python3 -c "from cryptography import x509; print('ok')"

如果你在内网环境,记得提前把这两个whl包下载好,用 pip install --no-index 离线安装。我曾经在项目上跑了一个小时没装完,才发现是因为pip在境外源上反复超时。

3.3.3 libpcap

这个依赖是可选的——如果你只用证书文件审计,不需要实时抓包,那可以跳过。但要做TLS握手报文深度检测,必须装上。

# Ubuntu / Debian
sudo apt install -y libpcap-dev

# CentOS / RHEL
sudo yum install -y libpcap-devel

注意:libpcap的版本要和内核版本匹配。如果你用的是新内核(5.15+),libpcap最好从源码编译,否则可能会在抓包时遇到“不明原因的数据包丢帧”。

3.4 环境验证清单

依赖都配好后,我习惯跑一个自检脚本,免得启动之后才发现环境有问题。审计模块包里自带一个 check_env.sh,但你也可以按下面步骤手动验证:

检查项 命令 期望输出
OS 版本 cat /etc/os-release CentOS 7.9+ 或 Ubuntu 20.04+
OpenSSL 版本 openssl version 1.1.1 或 3.0.x
Python 版本 python3 --version 3.8 及以上
libpcap 安装 pkg-config --libs libpcap 输出 -lpcap(若不可用则留空)
磁盘空间 df -h /opt/dspm 可用空间 >= 10 GB
网络连通性 curl -I https://registry.dspm.internal HTTP 200 或 302

这六项全部绿灯之后,你就可以放心进行下一步——初始化审计模块了。如果哪一项红了,别硬着头皮往下走,先修好它再说。我吃过这个亏:当时在演示现场第五项磁盘空间不够,结果审计日志写一半写不进去,最后重新清盘重装,丢了不少现场数据。

审计模块安装流程概览 1. 系统检查 CPU/内存/OS/端口 2. 获取安装包 registry拉取/离线包 3. 校验解压 sha256 / tar 4. 安装OpenSSL 1.1.1或3.x 5. Python依赖 cryptography/requests 6. libpcap 可选(抓包审计) 7. 验证 Checklist ✅ 安装完成 可进入初始化配置 核心思路 先检查环境,再获取包。 依赖按序安装,最后验证。

你看,整个流程其实不复杂,就是步骤多,容易漏。我个人习惯把上面那张图打印出来贴在机房里,每完成一步就打个勾。嗯,这样做至少不会在客户现场抓耳挠腮。