安全计算环境-(五)系统管理软件-5
MySQL
对MySQL服务器的等级测评主要涉及四个方面的内容,分别是身份鉴别、访问控制、安全审计、入侵防范。
控制点
1.
身份鉴别为确保服务器的安全,必须对服务器中的每个用户或与之相连的服务器设备进行有效的标识与鉴别。只有通过鉴别的用户,才能被赋予相应的权限,进入服务器操作系统,并在规定的权限范围内进行操作。
a)
安全要求:应对登录的用户进行身份标识和鉴别,身份标识具有唯一性,身份鉴别信息具有复杂度要求并定期更换。
要求解读:应检查MySQL是否采用了身份鉴别技术;核查用户身份是否具有唯一性,以及用户身份鉴别信息是否具有不易被冒用的特点;检查数据库的口令配置策略。例如,口令足够长(至少8位)、口令复杂(如口令字符应包括大小写字母、数字和特殊字符)、口令定期更新、对口令的替换有一定要求。
检查方法
1.登录MySQL数据库,执行“mysql -u root -p”命令,查看是否提示输入口令以鉴别用户身份。
2.使用如下命令查询账号,在输出的用户列表中查看是否存在相同的用户名。
select user,host FROM mysql.user
3.执行如下语句,查询是否存在空口令用户(输出结果是否为空)。
select * from mysql.user where length(password)=0 or password is null
4.执行如下语句,查看用户口令复杂度的相关配置。
show variables like 'validate%'
show VARIABLES like "%password%"
期望结果
1.用户登录数据库时,采用“用户名+口令”的方式对其进行身份鉴别。
2.user表中不存在相同的用户名。
3.不存在空口令用户。
4.有如下配置信息。
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
b)
安全要求:应具有登录失败处理功能,应配置并启用结束会话、限制非法登录次数和当登录连接超时自动退出等相关措施。
要求解读:数据库系统应配置鉴别失败处理功能,非法登录次数限制,对超过限制值的登录终止鉴别会话或临时禁用账号,当网络登录连接超时时自动退出。
检查方法
1.询问管理员,了解是否采取已配置数据库登录失败处理功能。
2.执行“show variables like ‘%max_connect_errors%’”命令或核查my.cnf文件中是否有如下参数设置。
max_connect_errors =100
3.执行“show variables like '%timeout%’”命令,查看返回值。
期望结果
1.MySQL数据库采用了第三方管理软件,且第三方管理软件设置了登录失败锁定次数。
2.MySQL数据库管理系统本地配置了参数 max_connect_errors=100、Wait_timeout=28800。如果MySQL服务器连续收到来自同一主机的请求,且这些连续的请求全都没有成功建立连接就断开了,那么当这些连续的请求的累计值大于max_connect_errors的值时,MySQL服务器就会阻止这台主机的所有后续请求。如果一个连接的空闲超过8个小时(默认值28800秒),MySQL就会自动断开这个连接。
c)
安全要求:当进行远程管理时,应采取必要措施防止鉴别信息在网络传输过程中被窃听。
要求解读:为防止包括鉴别信息等在内的敏感信息在网络传输过程中被窃听,应限制远程管理。如果使用远程访问,要确保只有获得了权限的主机才可以访问服务器(一般通过TCP-Wrappers、IPTABLES或其它火墙软件或硬件实现)。
检查方法
1.核查是否采用加密等安全方式对系统进行远程管理。
2.执行如下命令,查看是否支持SSL的连接特性(若执行结果为disabled,则说明此功能没有被激活),或者使用\s参数查看是否启用了SSL。
mysql>show variables like ‘%have_ssl%’
3.如果采用本地管理方式,则此项不适用。
期望结果
1.如果远程管理数据库,则已启用SSL连接特性。
2.用户远程管理数据库时,客户端和服务器的连接不通过(或者不跨越)不可信任的网络,采取SSH隧道加密连接远程管理通信。
3.对于本地管理,此项不适用。
d)
安全要求:应采用口令、密码技术、生物技术等两种或两种以上组合的鉴别技术对用户进行身份鉴别,且其中一种鉴别技术至少应使用密码技术来实现。
要求解读:采用组合的鉴别技术对用户进行身份鉴定是防止欺骗的有效方法。在这里,两种或两种以上组合的鉴别技术是指同时使用不同种类的(至少两种)鉴别技术,且其中一种鉴别技术至少应使用密码技术来实现。
检查方法
询问系统管理员,了解系统是否采用由口令、数字证书、生物技术等中的两种或两种以上组合的鉴别技术对用户身份进行鉴别,并核查其中一种鉴别技术是否使用密码技术来实现。
期望结果
至少采用了两种鉴别技术,其中之一为口令或生物技术,另外一种为基于密码技术的鉴别技术(例如使用基于国密算法的数字证书或数字令牌)。