等级保护【数据库MySQL】测评:
详解【数据库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)应限制默认帐户的访问权限,重命名系统默认帐户,修改这些帐户的默认口令;
测评方法及步骤:
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'
b)应根据安全策略设置登录终端的操作超时锁定;
测评方法及步骤:
1)在数据块中show variables;或者查看grep -v "^#"/etc/my.cnf
查看wait_timeout连接的等待时间默认为28800秒(8小时)
c)应限制单个用户对系统资源的最大或最小使用限度;
测评方法及步骤:
1)登录mysql数据库use mysql;select* from user \G;查看所有用户以下参数;
MAX_QUERIES_PER_HOUR用来限制用户每小时运行的查询数量;
MAX_UPDATES_PER_HOUR用来限制用户每小时的修改数据库数据的数量;
MAX_CONNECTIONS_PER_HOUR用来控制用户每小时打开新连接的数量;
MAX_USER_CONNECTIONS限制有多少用户连接MYSQL服务器;
加入群聊
微信群关联的知识星球 群友通讯录免费加入免费共享 安全行业资料、法律法规、等保相关标准、行业标准及建设方案等,为了【天億网络安全】微信群管理,想进群的朋友先加我好友,我拉你们进群,微信二维码如下:
—THE END—
朋友都在看
天億网络安全
【欢迎收藏分享到朋友圈,让更多朋友了解网络安全,分享也是一种美德!】
领取专属 10元无门槛券
私享最新 技术干货