数据库安全配置答复表
1. 用户注册、修改密码时密码复杂度校验与口令定期更换
答复:
系统已启用密码复杂度校验策略,要求密码长度≥8位,且必须同时包含数字、大小写字母及特殊字符(如 !@#%^&* 等)。
数据库用户密码策略设置如下:
-
最小长度:8位
-
复杂度要求:字母+数字+特殊字符
-
口令有效期:90天定期更换
-
最近密码不可重复使用次数:5次
-
截图:提供数据库
validate_password配置项截图或管理平台账户策略截图
2. 登录失败处理功能
答复:
数据库配置了登录失败处理策略:
-
连续登录失败5次后,账号自动锁定30分钟;
-
锁定策略通过数据库参数或安全网关实现(如使用 MySQL
max_connect_errors或堡垒机账户锁定策略)。 -
截图:提供数据库安全策略配置截图或堡垒机安全策略页面截图
3. 登录超时自动退出功能
答复:
数据库账户连接超时配置如下:
-
空闲连接超时:30分钟自动断开
-
参数示例(MySQL):
wait_timeout = 1800 -
应用层(数据库管理客户端)同样设置会话超时退出机制
-
截图:提供数据库参数配置截图
4. 账户权限划分与三权分立
答复:
数据库账户权限基于“最小权限原则”进行划分:
-
系统管理员(DBA):负责数据库日常维护与性能调优
-
安全管理员:负责账户安全策略、密码管理、权限分配
-
审计管理员:负责安全日志审计与操作留痕核查
三权分立已落实,三个角色分别由不同账户承担,具备独立登录凭证与操作记录。 -
截图:数据库用户列表(含角色说明)
5. 日志存储方式
答复:
数据库日志包括:
-
错误日志(error log):文件形式存储在服务器
/data/mysqlData/mysql-error.log -
慢查询日志(slow log):文件形式
/data/mysqlData/mysql-slow.log -
操作审计日志(general log / audit log):表形式存储在数据库
mysql.general_log中 -
截图:日志目录截图
6. 日志与业务数据备份策略
答复:
日志与业务数据均有定期备份策略:
| 类型 | 备份方式 | 频率 | 保留时长 | 备份位置 | 是否上传审计系统 |
|---|---|---|---|---|---|
| 日志数据 | 全量+增量备份 | 每天 | 保留≥180天 | 本地 /backup/logs/ + 远程NAS | 是(上传至日志审计系统) |
| 业务数据 | 全量备份+增量备份 | 每日增量,每周全量 | 保留≥180天 | 本地 /backup/db/ + 异地容灾机房 | 是 |
- 截图:提供备份脚本或计划任务截图(crontab / 自动化工具)
7. 数据库整体备份与恢复性测试
答复:
系统每周进行一次全量备份(打包整个数据库实例及配置文件),并在每季度进行一次恢复性测试,验证备份数据可完整还原。
-
备份周期:每周全量 + 每日增量
-
恢复性测试频率:每季度一次
-
截图:备份任务日志或恢复测试记录截图
✅ 附加建议:
-
如果使用 MySQL ≥ 8.0,可提供以下命令输出作为证明:
SHOW VARIABLES LIKE 'validate_password%'; SHOW VARIABLES LIKE 'wait_timeout'; SHOW VARIABLES LIKE 'max_connect_errors'; -
如果使用 Oracle / SQL Server / PostgreSQL,可以截图其密码策略和审计配置页面。
-
若配合堡垒机或集中运维系统(如 JumpServer、XSEC、FortiGate),可在答复中注明“安全策略由堡垒机统一管控”。
| 序号 | 截图内容 | 截图来源与命令(示例以 MySQL 为例) | 说明 |
|---|---|---|---|
| 1 | 密码复杂度配置 | sql SHOW VARIABLES LIKE 'validate_password%'; | 显示密码最小长度、复杂度、策略等信息 |
| 2 | 登录失败锁定策略 | (堡垒机或安全网关截图)或数据库安全策略界面 | 显示连续登录失败次数和锁定时长 |
| 3 | 登录超时参数 | sql SHOW VARIABLES LIKE 'wait_timeout'; | 展示数据库空闲连接超时设置 |
| 4 | 数据库账户列表 | sql SELECT user, host FROM mysql.user; | 截图标注系统管理员、安全管理员、审计管理员账户 |
| 5 | 日志存储路径 | sql SHOW VARIABLES LIKE 'log_error';``SHOW VARIABLES LIKE 'slow_query_log_file'; | 展示日志文件路径或目录结构 |
| 6 | 日志文件目录 | Linux 服务器命令:ls -l /data/mysqlData/ | 展示日志文件的存放路径 |
| 7 | 备份脚本/计划任务 | crontab -l 或数据库备份系统界面 | 展示备份执行计划(全量/增量) |
| 8 | 恢复性测试记录 | 截图数据库恢复测试操作日志或测试报告 | 证明已验证可恢复性 |
🧩 示例 1:密码复杂度校验
mysql> SHOW VARIABLES LIKE 'validate_password%';
+--------------------------------------+--------+
| Variable_name | Value |
+--------------------------------------+--------+
| validate_password.check_user_name | OFF |
| validate_password.length | 8 |
| validate_password.mixed_case_count | 1 |
| validate_password.number_count | 1 |
| validate_password.policy | MEDIUM |
| validate_password.special_char_count | 1 |
+--------------------------------------+--------+
📸 → 截图该命令结果窗口,标注“长度≥8、含数字、字母、特殊字符”。
🧩 示例 2:登录超时自动退出
mysql> SHOW VARIABLES LIKE 'wait_timeout';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| wait_timeout | 1800 |
+---------------+-------+
📸 → 标注“1800 秒 = 30 分钟自动断开”。
🧩 示例 3:数据库账户列表
mysql> SELECT user, host FROM mysql.user;
+---------------+-----------+
| user | host |
+---------------+-----------+
| root | localhost |
| audit_admin | % |
| sec_admin | % |
| sys_admin | % |
+---------------+-----------+
📸 → 在截图上标注三权分立账户角色(系统管理员、安全管理员、审计管理员)。
🧩 示例 4:日志存储路径
mysql> SHOW VARIABLES LIKE 'log_error';
+---------------+--------------------------------------+
| Variable_name | Value |
+---------------+--------------------------------------+
| log_error | /data/mysqlData/mysql-error.log |
+---------------+--------------------------------------+
📸 → 展示服务器路径 /data/mysqlData/。
🧩 示例 5:备份任务配置
$ crontab -l
0 2 * * * /data/backup/mysql_backup.sh > /data/backup/logs/backup_$(date +\%F).log 2>&1
📸 → 说明每天凌晨2点执行备份任务。
🧩 示例 6:恢复性测试记录
展示恢复日志或数据库恢复操作:
# mysql -u root -p < /data/backup/full_backup_20251001.sql
# echo "恢复成功 $(date)" >> /data/backup/restore.log
📸 → 截图终端执行结果 + 说明恢复成功日期。