文档详情

MySQL数据库安全配置.doc

发布:2017-02-07约3.48千字共7页下载文档
文本预览下载声明
MySQL数据库安全配置规范 2010年11月 概述 适用范围 本规范适用于中国电信通信网、业务系统和支撑系统的MySQL 数据库。本规范明确了MySQL数据库安全配置方面的基本要求。 安全配置要求 账号 编号:1 要求内容 以普通帐户安全运行mysqld,禁止mysql以root帐号权限运行,攻击者可能通过mysql获得系统root超级用户权限,完全控制系统。 操作指南: 1、参考配置操作 可以通过在/etc/f中设置: [mysql.server] user=mysql 2、补充操作说明 检查方法: 1、判定条件 禁止以root账号运行mysqld; 2、检测操作 检查进程属主和运行参数是否包含--user=mysql类似语句: # ps –ef | grepmysqld #grep -i user /etc/f 编号:2 要求内容 应按照用户分配账号,避免不同用户间共享账号 操作指南 1.参考配置操作 //创建用户 mysql mysql insert into mysql.user(Host,User,Password,ssl_cipher,x509_issuer,x509_sub ject) values(localhost,pppadmin,password(passwd),,,); 这样就创建了一个名为:phplamp 密码为:1234 的用户。 然后登录一下。 mysqlexit; @mysql -u phplamp -p @输入密码 mysql登录成功 2.补充操作说明 检测方法 1.判定条件 不用名称的用户可以连接数据库 2.检测操作 使用不同用户连接数据库 编号:3 要求内容 应删除或锁定与数据库运行、维护等工作无关的账号 操作指南 1.参考配置操作 DROP USER语句用于删除一个或多个MySQL账户。要使用DROP USER,必须拥有mysql数据库的全局CREATE USER权限或DELETE权限。账户名称的用户和主机部分与用户表记录的User和Host列值相对应。 使用DROP USER,您可以取消一个账户和其权限,操作如下: DROP USER user; 该语句可以删除来自所有授权表的帐户权限记录。 2.补充操作说明 要点: DROP USER不能自动关闭任何打开的用户对话。而且,如果用户有打开的对话,此时取消用户,则命令不会生效,直到用户对话被关闭后才生效。一旦对话被关闭,用户也被取消,此用户再次试图登录时将会失败。 检测方法 检侧操作: mysql 查看所有用户的语句 输入指令select user(); 依次检查所列出的账户是否为必要账户,删除无用户或过期账户。 口令 编号:1 要求内容 检查帐户默认密码和弱密码 操作指南 1.参考配置操作 修改帐户弱密码 如要修改密码,执行如下命令: mysql update user set password=password(test!p3) where user=root; mysql flush privileges; 2.补充操作说明 检测方法 1.判定条件 密码长度至少8位,并包括数字、小写字母、大写字母和特殊符号4类中至少3类。 2.检测操作 检查本地密码:(注意,管理帐号root默认是空密码) mysql use mysql; mysql select Host,User,Password,Select_priv,Grant_priv from user; 权限设置 编号:1 要求内容 在数据库权限配置能力内,根据用户的业务需要,配置其所需的最小权限。 操作指南 参考配置操作 合理设置用户权限 补充操作说明 检测方法 1 判定条件 确保数据库没有不必要的或危险的授权 2 检测操作 查看数据库授权情况: mysql use mysql; mysql select * from user; mysqlselect * from db; mysqlselect * from host; mysqlselect * from tables_priv; mysqlselect * from columns_priv; 回收不必要的或危险的授权,可以执行revoke命令: mysql help revoke Name: REVOKE Description: Syntax: REVOKE priv_type [(column_list)] [, priv_type [(column_list)]] ... ON [object_type] { * | *.*
显示全部
相似文档