下载文档 ↓

DBVIGIL / DOCUMENTATION

社区预览版使用手册

版本 0.2.0-preview.1 · Anolis OS 8.x / 23.x · x86_64 / aarch64

产品定位

DBVigil 通过被动抓取数据库网络流量,关联会话、SQL、响应状态、影响行数、结果集及 SQL 语义信息,并提供资产、策略、告警、会话轨迹和证据详情页面。

社区预览版适合功能体验、协议兼容验证和小规模试点,不代表合规认证或商用 SLA。当前主要试用 MySQL 和 PostgreSQL 明文协议;Oracle、达梦为协议预览。

部署前准备

服务器要求

  • Anolis OS 大版本和 CPU 架构必须与安装包文件名一致。
  • 最低 2 核 CPU、4 GB 内存、40 GB 可用磁盘。
  • 建议 4 核 CPU、8 GB 内存、100 GB 以上独立数据盘。
  • 安装需要 root 权限;默认 Web 端口为 8080。

流量接入

推荐将数据库服务器所在交换机端口的双向流量镜像到 DBVigil 采集网卡。必须同时看到客户端到数据库和数据库到客户端两个方向。云环境可使用虚拟网络流量镜像。

ip -br link
ip route show default
sudo tcpdump -ni eth0 'tcp port 3306 or tcp port 5432 or tcp port 1521 or tcp port 5236' -c 10

如果 tcpdump 看不到双向数据库流量,DBVigil 也无法完成协议解码。

安装

把安装包和对应的 .sha256 文件放在同一目录:

sha256sum -c dbvigil-0.2.0-preview.1-anolis8-x86_64.tar.gz.sha256
tar -xzf dbvigil-0.2.0-preview.1-anolis8-x86_64.tar.gz
cd dbvigil-0.2.0-preview.1-anolis8-x86_64
sudo ./install.sh --offline

安装器默认使用默认路由网卡,并自动创建 PostgreSQL 数据库、运行迁移、注册 systemd 服务、生成数据库密码和初始管理员密码。

指定镜像网卡

sudo ./install.sh --offline --interface ens192

自定义密码时,密码长度必须为 12 至 128 个字符。凭据保存在 /etc/dbvigil/dbvigil.env,权限为 0640

首次使用

浏览器访问 http://服务器IP:8080/,使用安装器输出的 admin 密码登录,并立即在系统设置中修改密码。

  1. 在“资产管理”确认数据库地址、端口和类型。
  2. 在“会话审计”确认客户端、数据库、账号和连接时间。
  3. 在“SQL 审计”确认 SQL、操作类型、响应状态和影响行数。
  4. 在 SQL 详情核对结果列名、返回行和语义对象。
  5. 从“告警调查”回溯到会话、SQL 和证据详情。

抓包导入、语义解析和告警处理是异步任务,页面通常会有几十秒延迟。

配置

/etc/dbvigil/dbvigil.env数据库、Web、目录和容量参数
/etc/dbvigil/decoder.conf采集网卡、BPF 过滤条件和解码输出

修改采集网卡或端口后重启采集服务:

sudo systemctl restart dbvigil-capture
sudo journalctl -u dbvigil-capture -n 50 --no-pager

默认监听 MySQL 3306/3506、PostgreSQL 5432、Oracle 1521/1522、达梦 5236。只保留实际使用的端口可以降低采集开销。

服务与目录

sudo dbvigil-healthcheck
sudo systemctl status dbvigil-capture dbvigil-web \
  dbvigil-semantic-worker dbvigil-alert-worker --no-pager
sudo systemctl list-timers 'dbvigil-*'
/opt/dbvigil/current当前程序
/etc/dbvigil配置
/var/lib/dbvigil解码输出与归档
/var/log/dbvigil日志

容量清理

容量清理服务默认安装但不启用,避免未确认保留策略时自动删除审计记录。确认合规要求和备份后再启用:

sudo systemctl enable --now dbvigil-storage-pressure.timer

默认策略为磁盘使用率达到 85% 时清理最旧完整日期,停止于 80%,至少保留最近 7 天,每次最多处理 3 天。

安全建议

  • 仅向管理网开放 8080,不要将管理页面直接暴露到公网。
  • 正式试点应通过 Nginx 等反向代理启用 HTTPS。
  • 首次登录立即修改管理员密码,并为每位用户创建独立账号。
  • 结果集可能包含敏感数据,应限制审计员权限并设置保留周期。
  • 定期异机备份 PostgreSQL、配置和证据密钥。
  • 在获得网络及数据所有者授权后再采集数据库流量。

验证与排障

页面没有数据

sudo tcpdump -ni eth0 'tcp port 3306 or tcp port 5432' -c 20
sudo journalctl -u dbvigil-capture -n 100 --no-pager
sudo journalctl -u dbvigil-import -n 100 --no-pager
ls -lh /var/lib/dbvigil/out

重点确认网卡、端口、双向镜像和 TLS 状态。容器、NAT 或代理场景下,页面地址可能显示转换后的端点。

健康检查失败

sudo dbvigil-healthcheck
df -h /
df -i /
sudo systemctl --failed

解码字段不完整时,请保留脱敏后的 PCAP、数据库版本、客户端/驱动版本、实际 SQL 和期望结果,再提交给技术支持。

升级、备份与卸载

升级前先备份数据库和配置:

sudo -u postgres pg_dump -Fc dbvigil > dbvigil-backup.dump
sudo tar -czf dbvigil-config-backup.tar.gz /etc/dbvigil

解压新版后重新运行 install.sh。安装器会保留配置和数据库,并切换当前 release。

sudo dbvigil-uninstall          # 保留配置和数据
sudo dbvigil-uninstall --purge  # 永久删除全部数据
注意:--purge 不可恢复,执行前必须完成备份。

已知限制

  • 安装包不能跨 Anolis 大版本或 CPU 架构使用。
  • TLS 加密负载在没有会话密钥时无法解码。
  • 丢包、乱序、截断报文及客户端版本差异可能造成字段缺失。
  • Oracle 和达梦仍处于兼容性扩展阶段,应使用业务样本验证。
  • 当前为单机部署,不提供高可用、集中多节点管理或合规认证承诺。