MySQL、MariaDB等保测评指南
MySQL现场测评使用命令适用于MariaDB数据库。
目前已知连接数据库方式:
部署在windows上一般都是使用工具连接,不细说;主要说下部署在Linux上的。
一、使用工具连接
二、连接到本机上的mysql
1、找到MySQL安装目录
2、键入命令mysql -u用户名 -p
三、连接到远程主机上的mysql
mysql -h主机地址 -u用户名 -p用户密码
四、连接容器中的数据库,以docker为例
1、显示容器:docker ps
2、进入数据库镜像:
docker exec -it 数据库镜像ID/容器名称 /bin/bash
或
docker exec -it 数据库镜像ID/容器名称 bash
3、键入命令mysql -u用户名 -p,登录数据库
五、连接云上RDS数据库,以阿里云为例
1、利用连接工具,通过云控制台提供的访问链接连接数据库
2、通过阿里云DMS控制台连接数据库
系统版本查看
1、MySQL命令提示符中
SELECT version();
2、cmd中
msyql -V
或
mysql --help
3、云上RDS
数据库实例基本信息中可以查看
一、身份鉴别
a.应对登录的用户进行身份标识和鉴别,身份标识具有唯一性,身份鉴别信息具有复杂度要求并定期更换;
一、 应核查用户在登录时是否采用身份鉴别措施;
询问数据库登录方式,一般都是用户名/口令。
二、应核查用户列表确认用户身份标识是否具有唯一性;
1、mysql数据库用户身份标识由:用户名+host组成, 查看mysql.user表
SELECT Host,User FROM mysql.user;
2、云上RDS,数据库中无mysql.user表,用户身份标识为用户名,通过云控制台数据库实例账号管理中查看用户名是否唯一
三、应核查用户配置信息或测试验证是否不存在空口令用户;
1、查看mysql.user表中password字段是否为空
SELECT Host,User,Password FROM mysql.user;
2、云上RDS默认符合
四、应核查用户鉴别信息是否具有复杂度要求并定期更换。
1、常规数据库需要安装认证插件,才能对口令进行校验,MySQ对应插件库文件为authentiction_pam,MariaDB对应插件库文件为simple_password_check。核查是否安装口令复杂度校验模块。
SHOW VARIABLES LIKE '%password%';
mysql数据库参数如下:
参数 | 参数解释 |
---|---|
validate_password_length | 口令长度 |
validate_password_mixed_case_count | 大小写字母长度 |
validate_password_number_count | 数值长度 |
validate_password_policy | 安全策略 |
validate_password_special_char_count | 特殊字符长度 |
validate_password_dictionary_file | 密码策略文件 |
mariaDB |
mariaDB数据库参数如下:
参数 | 解释 |
---|---|
simple_password_check_minimal_length | 长度 |
simple_password_check_other_characters | 特殊字符 |
simple_password_check_letters_same_case | 字母 |
simple_password_check_digits | 数字 |
备注:
1、validate_password_policy解释:
validate_password_policy 参数值,默认为MEDIUM策略。
LOW(0)策略:表示只检查长度。
MEDIUM(1)策略:表示检查长度、数字、大小写字母、特殊字符。
STRONG(2)策略:表示检查长度、数字、大小写字母、特殊字符,同时实行密码策略文件中的内容。
2、validate_password_dictionary_file值STRONG,为需要执行密码策略文件。
3、可以通过SQL语句设置,也可通过配置my.cnf文件配置。
4、authentiction_pam、simple_password_check文件名后缀因平台而异(例如,对于Unix和类Unix系统为.so,对于Windows为.dll)
2、云上RDS默认符合。
3、核查口令有效期,90天更换一次
SHOW VARIABLES LIKE 'default_password_lifetime%';
b.应具有登录失败处理功能,应配置并启用结束会话、限制非法登录次数和当登录连接超时自动退出等相关措施;
一、应核查是否配置并启用了登录失败处理功能;
二、应核查是否配置并启用了限制非法登录功能,非法登录达到一定次数后采取特定动作,如账户锁定等;
三、应核查是否配置并启用了登录连接超时及自动推出功能。
c.当进行远程管理时,应采取必要措施防止鉴别信息在网络传输过程中被窃听
应核查是否采用加密等安全方式对系统进行远程管理,防止鉴别信息在网络传输过程中被窃听。
d. 应采用口令、密码技术、生物技术等两种或两种以上组合的鉴别技术对用户进行身份鉴别, 且其中一种鉴别技术至少应使用密码技术来实现。
一、应核查是否采用动态口令、数字证书、生物技术和设备指纹等两种或两种以上组合的鉴别技术对用户身份进行鉴别;
二、应核查其中一种鉴别技术是否使用密码技术来实现。
该项应询问管理员或在测评过程中发现,除了输入口令登录还有什么方式能够进行身份鉴别,这个方法有没有采用密码技术。
二、访问控制
a. 应对登录的用户分配账户和权限;
一、应核查是否为用户分配了账户和权限及相关设置情况;
二、应核查是否已禁用或限制匿名、默认账户的访问权限;
b. 应重命名或删除默认账户,修改默认账户的默认口令;
一、应核查是否已经重命名默认账户或默认账户已被删除;
二、应核查是否已修改默认账户的默认口令;
c. 应及时删除或停用多余的、过期的账户,避免共享账户的存在;
一、应核查是否不存在多余或过期账户,管理员用户与账户之间是否一一对应;
二、应测试验证多余的、过期的账户是否被删除或停用;
d. 应授予管理用户所需的最小权限,实现管理用户的权限分离;
一、应核查是否进行角色划分;
二、应核查管理用户的权限是否已进行分离;
三、应核查管理用户权限是否为其工作任务所需的最小权限。
e.应由授权主体配置访问控制策略,访问控制策略规定主体对客体的访问规则;
一、应核查是否由授权主体(如管理用户)负责配置访问控制策略;
二、应核查授权主体是否依据安全策略配置了主体对客体的访问规则;
三、应测试验证用户是否有可越权访问情形。
f.访问控制的粒度应达到主体为用户级或进程级,客体为文件、数据库表级;
一、应核查访问控制策略的控制粒度是否达到主体为用户级别或进程级,客体为文件、数据库表、记录或字段级。
g.应对重要主体和客体设置安全标记,并控制主体对有安全标记信息资源的访问。
一、应核查是否对主体、客体设置了安全标记;
二、应测试验证是否依据主体、客体安全标记控制主体对客体访问的强制访问控制策略。
三、安全审计
a. 应启用安全审计功能,审计覆盖到每个用户,对重要的用户行为和重要安全事件进行审计;
一、应核查是否开启了安全审计功能;
二、应核查安全审计范围是否覆盖到每个用户;
三、应核查是否对重要的用户行为和重要安全事件进行审计。
b. 审计记录应包括事件的日期和时间、用户、事件类型、事件是否成功及其他与审计相关的信息;
一、应核查审计记录信息是否包括事件的日期和时间、用户、事件类型、事件是否成功及其他与审计相关的信息。
c.应对审计记录进行保护,定期备份,避免受到未预期的删除、修改或覆盖等;
一、应核查是否采取了保护措施对审计记录进行保护;
二、应核查是否采取技术措施对审计记录进行定期备份,并核查其备份策略。
d.应对审计进程进行保护,防止未经授权的中断。
一、应测试验证通过非审计管理员的其他账户来中断审计进程,验证审计进程是否受到保护。
四、入侵防范
a.应遵循最小安装的原则,仅安装需要的组件和应用程序;
不适用
b.应关闭不需要的系统服务、默认共享和高危端口;
不适用
c. 应通过设定终端接入方式或网络地址范围对通过网络进行管理的管理终端进行限制;
一、应核查配置文件或参数是否对终端接入范围进行限制。
e.应能发现可能存在的已知漏洞,并在经过充分测试评估后,及时修补漏洞;
一、应通过漏洞扫描、渗透测试等方式核查是否不存在高风险漏洞;
二、应核查是否在经过充分测试评估后及时修补漏洞。
三、访谈补丁升级机制,查看补丁安装情况
f. 应能够检测到对重要节点进行入侵的行为,并在发生严重入侵事件时提供报警;
不适用
五、恶意代码防范
a.应采用免受恶意代码攻击的技术措施或主动免疫可信验证机制及时识别入侵和病毒行为,并将其有效阻断。
不适用
六、可信验证
a.可基于可信根对计算设备的系统引导程序、系统程序、重要配置参数和应用程序等进行可信验证, 并在应用程序的关键执行环节进行动态可信验证,在检测到其可信性受到破坏后进行报警,并将验证 结果形成审计记录送至安全管理中心。
不适用
七、 数据完整性
a.应采用校验技术或密码技术保证重要数据在传输过程中的完整性,包括但不限于鉴别数据、重要业务数据、重要审计数据、重要配置数据、重要视频数据和重要个人信息等;
一、应核查系统设计文档,鉴别数据、重要业务数据、重要审计数据、重要配置数据、重要视频数据和重要个人信息等在传输过程中是否采用了校验技术和密码技术保证完整性;
二、应测试验证在传输过程中对鉴别数据、重要业务数据、重要审计数据、重要配置数据、重要视频数据和重要个人信息等进行篡改、是否能否检测到数据在传输过程中的完整性收到破坏并能够及时恢复。
b.应采用校验技术或密码技术保证重要数据在存储过程中的完整性,包括但不限于鉴别数据、重要业务数据、重要审计数据、重要配置数据、重要视频数据和重要个人信息等。
八、数据保密性
a. 应采用密码技术保证重要数据在传输过程中的保密性,包括但不限于鉴别数据、重要业务数据和重要个人信息等;
一、应核查系统设计文档,鉴别数据、重要业务数据和重要个人信息等在传输过程中是否采用密码技术保证保密性;
二、应通过嗅探等方式抓取传输过程中的数据包,鉴别数据、重要业务数据和重要个人信息等在传输过程中是否进行了加密处理。
b.应采用密码技术保证重要数据在存储过程中的保密性,包括但不限于鉴别数据、重要业务数据和重要个人信息等。
九、数据备份恢复
a.应提供重要数据的本地数据备份与恢复功能;
一、应核查是否安装备份策略进行本地备份;
二、应核查备份策略设置是否合理、配置是否正确;
三、应核查备份结果是否与备份策略一致;
四、应核查近期恢复测试记录是否能够进行正常的数据恢复。
b.应提供异地实时备份功能,利用通信网络将重要数据实时备份至备份场地;
一、应核查是否提供异地实时备份功能,并通过网络将重要配置数据、重要业务数据实时备份至备份场地。
c.应提供重要数据处理系统的热冗余,保证系统的高可用性。
不适用