Mysql测评和加固

身份鉴别

a)应对数据库系统的用户进行身份标识和鉴别;

1)查看mysql授权主机有那些,是否采用强口令登陆。

mysql -u root (验证root是否需要口令才能登录)

mysql -uroot@localhost  (验证root在本地登录是否需要口令)

2)查看是否存在空口令用户;

b)数据库系统管理用户身份标识应具有不易被冒用的特点,口令应有复杂度要求并定期更换;

1)mysql本身无法设置密码策略,只能通过第三方软件或公司密码策略制度进行设置并执行。询问管理员是否采用第三方软件或有公司密码策略制度;

c)应启用登录失败处理功能,可采取结束会话、限制非法登录次数和自动退出等措施;

1)如果mysql数据库系统没有部署堡垒主机,则该项不符合;

d)当对服务器进行远程管理时,应采取必要措施,防治鉴别信息在网络传输过程中被窃听;

1)在数据库中输入show variables; 查看“have_openssl”参数,若为YES则表明使MySQL支持SSL加密协议;

e)应为数据库系统的不同用户分配不同的用户名,确保用户名具有唯一性;

1)查看mysql数据库中的所有用户

SELECT DISTINCTCONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;
mysql>use mysql
select user, host from user;

f)应采用两种或两种以上组合的鉴别技术对管理用户进行身份鉴别;

1)询问数据库管理员,MySQL使用了哪些类别的身份鉴别方式,是否采用除用户名密码之外的其他类型身份鉴别方式。并当场进行登录的验证;

访问控制

a)应启用访问控制功能,依据安全策略控制用户对资源的访问;

1)一旦连接到了服务器,一个用户可以使用两种类型的请求:

管理请求(shutdown,reload,等)数据库相关的请求(insert,delete,等)。先查看USER表中用户的权限,在查看DB或者HOST表中的权限,以此为对照判断数据库是否进行了访问控制;

b)应根据管理用户的角色分配权限,实现管理用户的权限分离,仅授予管理用户所需的最小权限;

1)登录使用root登录mysql数据库mysql-u root -> 查看数据库show databases; ->选择库 use mysql;-> 查看库中的表 show tables; -> 查看某用户权限show grant for root@localhost  \G;  或者select* from user;

c)应实现操作系统和数据库系统特权用户的权限分离;

1)询问管理员是否由不同员工分别担任操作系统管理员与数据库管理员。

d)应限制默认帐户的访问权限,重命名系统默认帐户,修改这些帐户的默认口令;

1)查看mysql数据库默认的用户名是否更改,root@localhost;root@127.0.0.1;root@ns.abc.com;

2)是否限制默认账户权限;

e)应及时删除多余的、过期的帐户,避免共享帐户的存在;

1)show databases; 查看是否有测试数据库;

2)查询当前使用的数据库:select database();

3)查询当前用户:select user();

4)查看所有用户:

SELECT DISTINCTCONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;

f)应对重要信息资源设置敏感标记;

1) 询问数据库管理员,是否对重要的信息资源采用一定的技术手段设置敏感标记,以及是否对重要信息资源设置敏感标记,询问敏感标记的怎样进行分级;

g)应依据安全策略严格控制用户对有敏感标记重要信息资源的操作;

1) 询问数据库管理员,对重要信息资源如何划分敏感标记分类,如何设定访问权限实施访问控制,对不同敏感程度的信息资源的访问控制如何区分;

安全审计

a)审计范围应覆盖到服务器和重要客户端上的每个数据库用户;

mysql数据库默认没有安装审计插件,需要修改源代码或者下载审计插件:mysql-audit。如果安装完成后audit.so和audit.cnf文件中设置参数。

或者开启General_log,查看日志文件即可;

b)审计内容应包括重要用户行为、系统资源的异常使用和重要系统命令的使用等系统内重要的安全相关事件;

查看日志文件包括重要用户行为、系统资源的异常使用和重要系统命令的使用等系统内重要的安全相关事件;

c)审计记录应包括事件的日期、时间、类型、主体标识、客体标识和结果等;

审计内容包括了重要的用户行为,系统资源的异常使用,和重要系统命令的使用等系统内重要的安全相关事件;

d)应能根据记录数据进行分析,并生产审计报表;

1) 询问数据库管理员是否定期对审计数据生成分析报表,或者第三方数据库审计系统是否提供自动生成审核事件的自动生成报表的功能,可查看生成的报表记录。可生成报表时此项满足;

e)应保护审计进程,避免受到未预期的中断;

1)以非授权用户登录数据库系统,试图改变审计配置选项,查看是否成功;

2)询问管理员,是否有其他对审核日志文件的保护方式,并在条件允许的情况下尝试进行验证;

3)查看是否定期对日志文件进行备份和转移;

f)应保护审计记录,避免受到未预期的删除、修改或覆盖等;

1)以普通用户进入数据库系统,查看能否对日志进行非授权操作,询问第三方软件是如何保护数据不被篡改的;

资源控制

a)应通过设定终端接入方式、网络地址范围等条件限制终端登录;

1)限制方式   :grantall on . to '用户名'@'IP地址'identified by '远程登录密码'

2)无限制方式:grant all on . to'%'@'localhost' identified by 'password'

3)查看所有用户,如果当中出现user1@192.168.22.44和user1@localhost,意味着user1这个用户既可以本地登录,也可通过IP为192.168.22.44的客户端登录。表明该数据库限制终端登录;

4)如果只存在user1@192.168.22.44表明该用户无法在本地登录;

b)应根据安全策略设置登录终端的操作超时锁定;

1)在数据块中show variables;或者查看grep -v "^#"/etc/my.cnf

查看wait_timeout连接的等待时间默认为28800秒(8小时)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值