1、2.1.3删除无关帐号*6第3章口令83.1口令安全83.1.1不使用默认密码和弱密码83.2授权83.2.1分配用户最小权限*8第4章日志104.1日志审计104.1.1配置日志功能*10第5章其他125.1其他配置125.1.1安装了最新的安全补丁*125.1.2如果不需要,应禁止远程访问*125.1.3可信IP地址访问控制*135.1.4连接数设置14第6章评审与修订15第1章 概述1.1 目的本文档旨在指导数据库管理人员进行Mysql数据库系统的安全配置。1.2 适用范围本配置标准的使用者包括:数据库管理员、应用管理员、网络安全管理员。1.3 适用版本Mysql数据库系统。1.4 实施
2、1.5 例外条款第2章 帐号2.1 帐号安全2.1.1 禁止Mysql以管理员帐号权限运行安全基线项目名称数据库管理系统Mysql远程登录安全基线要求项安全基线编号SBL-Mysql-02-01-01 安全基线项说明 以普通帐户安全运行mysqld,禁止mysql以管理员帐号权限运行。 检测操作步骤1、参考配置操作Unix下可以通过在/etc/f中设置:mysql.serveruser=mysql2、补充操作说明基线符合性判定依据1、判定条件各种操作系统下以管理员权限运行。Unix下禁止以root帐号运行mysqld;2、检测操作检查进程属主和运行参数是否包含-user=mysql类似语句:#
3、 ps ef | grepmysqld#grep -i user /etc/f备注2.1.2 避免不同用户间共享帐号*数据库管理系统Mysql用户属性控制策略安全基线要求项SBL-Mysql-02-01-02 应按照用户分配帐号,避免不同用户间共享帐号1参考配置操作/创建用户 mysql mysql insert into mysql.user(Host,User,Password,ssl_cipher,x509_issuer,x509_sub ject) values(localhost,pppadmin,password(passwd),);这样就创建了一个名为:phplamp 密码为:1
4、234 的用户。然后登录一下。exit;mysql -u phplamp -p 输入密码 登录成功 2补充操作说明1.判定条件不用名称的用户可以连接数据库2.检测操作使用不同用户连接数据库手工检查2.1.3 删除无关帐号*数据库管理系统Mysql帐号管理安全基线要求项SBL-Mysql-02-01-03 应删除或锁定与数据库运行、维护等工作无关的帐号DROP USER语句用于删除一个或多个MySQL账户。要使用DROP USER,必须拥有mysql数据库的全局CREATE USER权限或DELETE权限。账户名称的用户和主机部分与用户表记录的User和Host列值相对应。使用DROP USER
5、,您可以取消一个账户和其权限,操作如下:DROP USER user;该语句可以删除来自所有授权表的帐户权限记录。要点:DROP USER不能自动关闭任何打开的用户对话。而且,如果用户有打开的对话,此时取消用户,则命令不会生效,直到用户对话被关闭后才生效。一旦对话被关闭,用户也被取消,此用户再次试图登录时将会失败。检测操作:mysql 查看所有用户的语句 输入指令select user();依次检查所列出的账户是否为必要账户,删除无用户或过期账户。注:无关的帐号主要指测试帐户、共享帐号、长期不用帐号(半年以上不用)等第3章 口令3.1 口令安全3.1.1 不使用默认密码和弱密码数据库管理系统M
6、ysql账户口令安全基线要求项SBL-Mysql-03-01-01 检查帐户默认密码和弱密码, 口令长度至少8位,并包括数字、小写字母、大写字母和特殊符号四类中至少两类。且5次以内不得设置相同的口令。密码应至少每90天进行更换。修改帐户弱密码如要修改密码,执行如下命令: update user set password=password(test!p3) where user=root; flush privileges;密码长度至少8位,并包括数字、小写字母、大写字母和特殊符号4类中至少2类。检查本地密码:(注意,管理帐号root默认是空密码) use mysql; select Host,
7、User,Password,Select_priv,Grant_priv from user;3.2 授权3.2.1 分配用户最小权限*数据库管理系统Mysql权限分配策略安全基线要求项SBL-Mysql-03-02-01 在数据库权限配置能力内,根据用户的业务需要,配置其所需的最小权限。1、 参考配置操作合理设置用户权限,撤销危险授权。2、 补充操作说明1 判定条件确保数据库没有不必要的或危险的授权2 检测操作查看数据库授权情况: select * from user;select * from db;select * from host;select * from tables_priv;
8、select * from columns_priv;回收不必要的或危险的授权,可以执行revoke命令: help revokeName: REVOKEDescription:Syntax:REVOKEpriv_type (column_list) , priv_type (column_list) . ON object_type * | *.* | db_name.* | db_name.tbl_name | tbl_name | db_name.routine_name FROM user , user .第4章 日志4.1 日志审计4.1.1 配置日志功能*数据库管理系统Mysql配
9、置日志功能安全基线要求项SBL-Mysql-04-01-01 数据库应配置日志功能,mysql有以下几种日志: 错误日志: -log-err 查询日志: -log (可选) 慢查询日志: -log-slow-queries (可选) 更新日志: -log-update 二进制日志: -log-bin 在mysql的安装目录下,打开my.ini,在后面加上上面的参数,保存后重启mysql服务就行了。例如:#Enter a name for the binary log. Otherwise a default name will be used. #log-bin= #Enter a name
10、for the query log file. Otherwise a default name will be used. #log= #Enter a name for the error log file. Otherwise a default name will be used. log-error= #Enter a name for the update log file. Otherwise a default name will be used. #log-update= 上面只开启了错误日志,要开其他的日志就把前面的“#”去掉1、 补充操作说明show variables
11、like log_%查看所有的log命令 2、 show variables like log_bin查看具体的log命令启用审核记录对数据库的操作,便于日后检查。打开/etc/f文件,查看是否包含如下设置:mysqldlog = filename第5章 其他5.1 其他配置5.1.1 安装了最新的安全补丁*数据库管理系统Mysql补丁安全基线要求项SBL-Mysql-05-01-01 系统安装了最新的安全补丁 (注:在保证业务及网络安全的前提下,经过兼容性测试后)下载并安装最新mysql安全补丁,安全警报和补丁下载网址是确保数据库为企业版,并且安装了最新安全补丁。如果是不安全的社区版,建议替换为企业版(收费)使用如下命令查看当前补丁版本: SELECT VERSION()根据应用场景的不同,如部署场景需开启此功能,则强制要求此项。5.1.2 如果不需要,应禁止远程访问*
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1