安全篇 ━━ 网络安全等级保护测评-MYSQL篇

身份鉴别

a)应对登录的用户进行身份标识和鉴别,身份标识具有唯一性,身份鉴别信息具有复杂度要求并定期更换;

测评方法:

  1. 使用如下命令查询账号
select user,host,password from mysql.user// 输出用户列表,查者是否存在相同用户名
  1. 执行如下语句查询是否在空口令用:
select * from mysql.user where length(password)=0 or password is null// 输出结果是否为空
  1. (针对5.6.6之后版本)执行如下语句查看用户口今复杂度相关配置:
show variables like 'validate_password%';

注:MySQL过低版本不能进行密码复杂度配置,则关注当前口令复杂度策略,有些MySQL数据库password字段无效,需要替换为authentication_string

  1. 应对登录的用户进行身份标识和鉴别:MySQL身份鉴别通过username+host+password来进行登录验证,鉴别因素三者不能同时为空;
  2. 实际口令组成情况和更换情况;MySQL口令复杂度策略配置(需使用validate_password插件):
    validate_password_check_user_name:OFF
    validate_password_dictionary_file: 字典文件
    validate_password_length:8 密码长度
    validate_password_mixed_case_count:1 大小写
    validate_password_number_count:1 密码中数据长度
    validate_password_policy:1 or MEDIUM
    validate_password_special_char_count:1 特殊字符
  3. 定期更换:
    看实际口令更换周期,访谈,或查看 user 表中 password_last_changed 字段;

MySQL5.6.6开始,user 表多了一个 password_expired 字段,默认为N,设置为Y后,则通过定时器任务等方式来改密码;
从5.7.4版本开始,MySQL多了一个全局变量 default_password_lifetime,可执行

select global variables like 'default_password_lifetime';

查看,并且user表增加了两个字段:password_lifetimepassword_last_changed,可执行:

select user,host,password,password_last_changed,password_expired from mysql.user;

查看。对于default_password_lifetimepassword_lifetime而言,值为0则代表有效期为永远,单位为天。

b)应具有登录失败处理功能,应配置并启用结束会话、限制非法登录次数和当登录连接超时自动退出等相关措施;

测评方法:

  1. 登录失败:执行
show variables like '%max_connect_errors%';
// 查看max_connect_errors = 100;

show variables like '%timeout%';
//返回值Wait_timeout=28800(秒)。
  1. 登录失败:可以使用插件connection_control和connection_control_failed_login_attempts共同实现。
    使用下列语句查询插件:show plugins;或
select plugin_name,plugin_status from information_schema.plugins where plugin_name like 'connection%'; 

相关参数如下:(事件毫秒)
connection_control_failed_connections_threshold:3
connection_control_min_connection_delay:1000
connection_control_max_connection_delay:108000
前三次失败没延迟,第四次失败1000毫秒延迟,第五次2000直到最大延迟108000

注:MYSQL数据库要配置登录失败处理功能需要安装插件,默认是无此功能,不符合

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

测评方法:
询问核查通过什么管理工具连接数据库,查询此连接工具是否具备远程连接加密措施
注;MySQL自己支持使用ssl协议对连接进行加密,相关参数有have_opensslhave_ssl,执行

show global variables like '%ssl%';

为YES则代表数据库支持SSL连接。
如果某连接使用了SSL,使用status可以查看到,使用SSL需要运行mysql_ssl_rsa_setup

d)应采用口令、密码技术、生物技术等两种或两种以上组合的鉴别技术对用户进行身份鉴别,且其中一种鉴别技术至少应使用密码技术来实现。

测评方法:
询问并核查是否采用双因子登录数据库,且其中一种属于密码技术

注:通常情况下都是用户名+口令,且数据库层面实现双因子登录比较困难,目前好像只有用户名+口令+Ukey可以实现


访问控制

a)应对登录的用户分配账户和权限

测评方法:
执行语句

 select user,host from mysql.user 

询问数据库管理员各个账户的作用与权限,输出结果是否与实际人员相符

注:此项基本上时默认符合,因为至少有个root用户存在

b)应重命名或删除默认账户,修改默认账户的默认口令;

测评方法:
查看root账户是否重命名和修改默认口令

注:默认账户root可以修改,若因为业务原因不方便修改,则应该使用强口令

c)应及时删除或停用多余的、过期的账户,避免共享账户的存在;

测评方法:
查看user表再访谈管理员表中用户与现实是否做到一一对应,且无共用,多余,过期的账户

d)应授予管理用户所需的最小权限,实现管理用户的权限分离;

测评方法:

  1. 先根据用户方实际人员情况核查是否具备不同管理员
  2. 使用命令
select Host,User,File_priv,Shutdown_priv,grant_priv from user;

查看各管理员账户权限设置是否与实际情况对应

注:此项至少要包括系统管理员和审计管理员才能算符合

e)应由授权主体配置访问控制策略,访问控制策略规定主体对客体的访问规则;

测评方法:

  1. 访谈管理员是否制定了访问控制策略
  2. 执行语句:
mysql>selcec * from mysql.user\G //检查用户权限列表
mysql>selcec * from mysql.db\G //检查数据库权限列表
mysql>selcec * from mysql.tables_priv\G //检查用户表权限列表

输出的权限列是是否与管理员制定的访问控制策略及规则一致

  1. 登录不同的用户,验证是否存在越权访问的情形

注:通常情况下是由系统管理员来配置策略,基本上算默认符合

f)访问控制的粒度应达到主体为用户级或进程级,客体为文件、数据库表级;

测评方法:
此项主要检查访问的主体和客体是什么级别的

注:通常情况下数据库层面主体为用户及,客体为数据库表级


安全审计

a)应启用安全审计功能,审计覆盖到每个用户,对重要的用户行为和重要安全事件进行审计;

测评方法:

  1. 执行下列语句:
show variables like 'log_%';
// 查看二进制日志、慢查询日志、错误日志、操作日志是否开启
  1. 核查是否采取第三方工具增强MySQL日志功能。若有,记录第三方审计工具的审计内容,查看是否包括事件的日期和时间、用户、事件类型、事件是否成功及其他与审计相关的信息
show global variables like '%general%';
//值为OFF或0表示未开启
b)审计记录应包括事件的日期和时间、用户、事件类型、事件是否成功及其他与审计相关的信息;

测评方法:

  1. 执行下列语句:
mysql>show master status; //查看当前日志

根据日志存放路径,查看输出的日志内容

  1. 核查是否采取第三方工具增强MySQL日志功能。若有,记录第三方审计工具的审计内容,查看是否包括事件的日期和时间、用户、事件类型、事件是否成功及其他与审计相关的信息

注:只要开启了审计功能,此项默认符合

c)应对审计记录进行保护,定期备份,避免受到未预期的删除、修改或覆盖等;

测评方法:
询问管理员是否对审计记录保护并定期备份,备份在哪里,并且日志记录保存时间是否大于6个月

d)应对审计进程进行保护,防止未经授权的中断。

测评方法:
切换开放状态的账户(非root账户)进行测试,看能否中断审计、日志服务:


可信验证

a)可基于可信根对计算设备的系统引导程序、系统程序、重要配置参数和应用程序等进行可信验证,并在应用程序的关键执行环节进行动态可信验证,在检测到其可信性受到破坏后进行报警,并将验证结果形成审计记录送至安全管理中心。

测评方法:
数据库未涉及可信技术的使用,故不适用


数据完整性

a)应采用校验技术或密码技术保证重要数据在传输过程中的完整性,包括但不限于鉴别数据、重要业务数据、重要审计数据、重要配置数据、重要视频数据和重要个人信息等;

测评方法:
若数据库只涉及鉴别信息,则按照身份鉴别c项来写,其他数据绝大多数情况考虑不适用由应用层面负责

b)应采用校验技术或密码技术保证重要数据在存储过程中的完整性,包括但不限于鉴别数据、重要业务数据、重要审计数据、重要配置数据、重要视频数据和重要个人信息等。

测评方法:
如果数据保密性满足要求则完整性也满足要求,可以根据数据保密性b)来写


数据保密性

a)应采用密码技术保证重要数据在传输过程中的保密性,包括但不限于鉴别数据、重要业务数据和重要个人信息等;

测评方法:
数据库只涉及了身份鉴别,看身份鉴别c项

b)应采用密码技术保证重要数据在存储过程中的保密性,包括但不限于鉴别数据、重要业务数据和重要个人信息等。

测评方法:
主要查看鉴别信息根据数据库采用了什么加密方式,至于其他重要数据根据现场查看情况来定


数据备份恢复

a)应提供重要数据的本地数据备份与恢复功能;

测评方法:
主要询问管理员是否对数据库进行本地备份,并且是否做过恢复性测试

b)应提供异地实时备份功能,利用通信网络将重要数据实时备份至备份场地;

测评方法:
主要询问管理员是否做了异地实时备份,具体备份在哪里,保存时间

注:此项要注意实时,往往业主做了异地备份,但不是实时,也只能算部分符合

c)应提供重要数据处理系统的热冗余,保证系统的高可用性。

测评方法:
询问管理员是否对数据库采用热冗余方式部署

注:需要注意一定要是重要数据存在的数据库,可根据现场具体情况和业务判断


剩余信息保护

a)应保证鉴别信息所在的存储空间被释放或重新分配前得到完全清除;

测评方法:
mysql数据库自身能够保证鉴别信息所在的存储空间被释放或重新分配前得到完全清除

b)应保证存有敏感数据的存储空间被释放或重新分配前得到完全清除

测评方法:
mysql数据库自身能够保证存有敏感数据的存储空间被释放或重新分配前得到完全清除


个人信息保护

a)应仅采集和保存业务必需的用户个人信息;

测评方法:
数据库不涉及对个人信息的采集,此项在应用层面进行判定

b)应禁止未授权访问和非法使用用户个人信息。

测评方法:
数据库不涉及对个人信息的采集,此项在应用层面进行判定

在这里插入图片描述


参考:网络安全等级保护测评-MYSQL篇

  • 3
    点赞
  • 79
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
经过对IT等级保护2.0的评测,结果显示该等级保护体系具有较高的可靠性和有效性。 首先,IT等级保护2.0在安全管理和风险评估方面表现突出。它提供了一套完善的安全管理制度,能够对信息系统进行全面的安全控制和监管。同时,该等级保护体系还能够准确评估信息系统所可能面临的风险,并为企业制定相的防护策略提供了依据。 其次,IT等级保护2.0在技术要求方面也有相当的成果。它要求企业采取一系列的技术手段和措施来增强信息系统的安全性,例如网络安全设备的配置、安全软件的使用、数据加密等。这些技术要求有效的提升了企业信息系统的安全性和抗攻击能力。 此外,IT等级保护2.0在培训和管理方面也具备了优势。它要求企业加强员工的安全意识和技能培训,并建立健全的安全管理机制。这些举措能够提高员工对安全问题的认知,加强安全合规意识,从而有效预防信息系统的风险和威胁。 尽管IT等级保护2.0在信息系统安全方面取得了显著成绩,但仍需进一步完善。例如,需要将其与国际标准和最佳实践进行对接,以提高其在全球范围内的通用性和适性。同时,还需要进一步提高评估标准的科学性和精确性,确保评估结果更加公正、准确。 综上所述,IT等级保护2.0在安全管理、技术要求和培训管理等方面的评测结果显示其具备较高的可靠性和有效性。然而,仍需进一步完善和提升,以适快速变化的信息安全环境。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值