前言¶
在 DeepSeek Harness (DSH) 的生态中,数据库安全评估是智能体开发与运维中常见的场景。达梦数据库(DM8)作为国产主流数据库,其安全基线检查往往涉及大量 SQL 查询与配置核对。手动编写评估脚本不仅耗时,且难以统一口径。
dsh-plugin-dm-security 插件旨在解决这一痛点。它通过只读方式对 DM8 实例进行安全扫描,自动生成包含等保对照的评估结论与 HTML 报告,供开发者或运维人员直接使用。
插件介绍¶
这是一个针对达梦 DM8 数据库的只读安全评估插件。插件执行 60 项只读检查,覆盖 13 个安全域,给出六态结论(严重/警告/提示/合规/不适用/未取到),并与等保 2.0(GB/T 22239-2019)控制点进行对照,最终输出零依赖的 HTML 报告。
该插件由 Shiyuedong-Jade 维护,采用 MIT 许可证。
核心功能¶
- 60 项只读检查:覆盖 13 个安全域,包括身份鉴别、认证方式、口令策略、自主访问控制、强制访问控制、安全审计、通信安全、存储加密、资源限制、访问路径、暴露面与代码安全,以及主机侧 OS/SSH 检查。
- 六态结论:对每一项检查给出明确的状态(严重/警告/提示/合规/不适用/未取到),便于快速定位风险。
- 等保 2.0 对照:支持 GB/T 22239-2019 标准,可选择 2/3/4 级对照,给出条款级符合性判定。
- 主机侧检查:额外提供 7 项 OS/SSH 检查(需提供 SSH 账号),包括进程运行账号、目录权限、配置文件监听、明文口令痕迹、审计文件保留周期等。
- 集群支持:支持单实例与共享存储集群(DMDSC)的逐节点评估,并核对节点间配置一致性。
- 零依赖报告:输出单文件 HTML 报告,无外部脚本依赖,双击即可打开。
- 只读设计:所有数据库 SQL 均为查询语句,主机侧仅执行 7 条只读命令,不修改任何配置。
安装与启用¶
1. 安装插件¶
在终端中执行以下命令安装插件:
dsh plugin --profile web add github:Shiyuedong-Jade/DM-security
2. 准备环境¶
插件依赖以下环境:
- Node.js:版本 ≥ 20。
- Java:版本 ≥ 8。首次运行时会自动编译桥接器,结果缓存在工作目录。
- 达梦 JDBC 驱动:
DmJdbcDriver8.jar。插件不随附该驱动,需自行准备。
3. 放置驱动¶
将达梦安装目录下的 JDBC 驱动复制到工作目录:
| 平台 | 路径 |
|---|---|
| Windows | %USERPROFILE%\.dsh\dm-security\drivers\ |
| Linux | ~/.dsh/dm-security/drivers/ |
插件会自动查找该目录下文件名匹配 DmJdbcDriver*.jar 的驱动。
4. 重启¶
安装完成后,重启 dsh web 并刷新页面。
典型用法¶
插件注册了 dm_security_assess 工具,支持三种动作:
| action | 说明 |
|---|---|
assess |
仅在会话中输出文本结论 |
report |
评估并生成 HTML 报告 |
list |
列出检查项目录,不连库 |
基础调用示例¶
使用默认配置或指定参数进行评估:
dm_security_assess action=report host=127.0.0.1 port=5236 user=SYSDBA level=3
连接参数¶
driver:指定连接模式。jdbc连接真实库,demo使用内置样例数据。targets:多节点目标(如 DMDSC),格式为host:port,支持逗号或空格分隔。user/password:数据库账号与口令。建议在设置卡片中配置凭据,避免在命令行中暴露。level:等保对照级别,默认为 3,可选 2 或 4。sshUser/sshPassword:若需执行主机侧检查,需提供 SSH 账号与口令。
主机侧检查示例¶
若需同时检查主机侧安全基线:
dm_security_assess action=report host=127.0.0.1 port=5236 sshUser=dmdba sshPassword=xxx
注意事项¶
- 安全性:插件不保存口令到磁盘,仅记录在会话日志中。明文口令扫描在采集层会进行掩码处理,报告不会出现原文。
- 只读特性:所有 SQL 与主机命令均为只读操作,不会修改数据库或主机的配置文件,适合在评估环境或生产环境直接运行。
- 适用范围:普通版(标准版/企业版)不支持强制访问控制与四权分立,相关项会判为“不适用”。
- 源码更新:插件宿主加载的是
profile目录下的安装副本。修改仓库源码后,需执行dsh plugin --profile web update dsh-plugin-dm-security才能生效。 - 报告输出:报告默认输出到工作目录下的
dm-security-reports,文件名包含时间戳与对照级别。 - 未验证环境:插件未在安全版(mac.* 六态路径)、DM9、Windows 上达梦、ARM 架构(鲲鹏/飞腾)等环境下验证。
结语¶
dsh-plugin-dm-security 为 DSH 生态下的达梦数据库安全评估提供了标准化的只读解决方案。通过六态结论与等保对照,它可以帮助开发者快速识别安全基线问题。如需了解更多细节或查看报告样例,可访问插件目录或 GitHub 仓库。