介绍
主要是没找到一款比较好的数据库基线检查工具
索性自己写了一个 https://github.com/wstart/DB_BaseLine
DB_BASE 使用说明
- 帮助信息 python db_baseline.py -h
DB_BASELINE 检查规范
根据查阅的资料和文档,基线检查主要分为以下四类
-
账号权限
检查各个权限账号是否有过多的不必要的权限,检查数据库的文件的权限,是否只归属数据库账户所有,其他程序是否可读可写, -
网络连接
主要用于检查数据库的端口,对外的开放的程度,连接的安全性等等 -
危险语句
主要检查数据库是否可以运行危险语句 -
配置文件
主要检查数据库的配置文件是否规范合理
DB_BASELINE 编写规范
所有的检测脚本均在script目录里面。
db_baseline_basic是检测类的基类,引用基类,编写对应的数据库的检查基线即可
DB_BASELINE 基础构造
- 连接函数 connect
- 用于检查是否满足运行条件 check
- 基线检查主函数 runtest
- 账号权限基线检查 run_power_test
- 网络连接基线检查 run_netword_test
- 危险语句基线检查 run_exec_test
- 配置文件基线检查 run_config_test
DB_BASELINE 返回值
'Result':{
'DBInfo' : {'Host': 'xxx', 'Port': 'xxx'}, #数据库信息
'VerifyTime': '2018-03-23' ,#检查时间
'Score': 97,#检查得分
'Desc': '几乎没有严重的问题',#处理建议
'Defect':
[
{
'Desc':'默认端口没有修改',#描述
'Level':'低',# 危害等级
'Suggest':'修改默认端口',# 修复建议
}
]
}