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/ 下管理,方便后面升级时追溯版本。
获取方式有两种:
- 官方制品仓库拉取(推荐):
记得保持网络通畅,我遇过客户内网访问不了registry,最后只能走离线包。wget https://registry.dspm.internal/dspm-tls-audit/3.2.1/dspm-tls-audit-3.2.1-linux-x64.tar.gz \ --user=你的厂商账号 \ --password=厂商 - 离线方式:从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 |
这六项全部绿灯之后,你就可以放心进行下一步——初始化审计模块了。如果哪一项红了,别硬着头皮往下走,先修好它再说。我吃过这个亏:当时在演示现场第五项磁盘空间不够,结果审计日志写一半写不进去,最后重新清盘重装,丢了不少现场数据。
你看,整个流程其实不复杂,就是步骤多,容易漏。我个人习惯把上面那张图打印出来贴在机房里,每完成一步就打个勾。嗯,这样做至少不会在客户现场抓耳挠腮。