亚马逊AWS官方博客

AWS 等保基础服务:HAQM RDS for MySQL 自查和加固指南(下)

概述

接《AWS 等保基础服务:HAQM RDS for MySQL 自查和加固指南(上)》,继续参考等保三级测评要求,探讨并为客户对 HAQM RDS for MySQL 在进行等保自查时提供整改和加固指南。

HAQM RDS for MySQL 等保三级自查及加固

三.安全审计

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

MySQL 本身主要的日志类型有:错误日志、二进制日志(Bin 日志)、常规日志(General 日志)、慢查询日志等。其中由于常规日志记录了所有执行的 SQL 语句,包括来自客户端的查询和 MySQL 服务器内部的查询,而二进制日志是 MySQL 的重做日志,它以二进制格式记录了所有对数据进行修改的操作(如 INSERT、UPDATE、DELETE 等),可用于数据恢复和复制,因此从安全实践角度建议至少要开启这两种日志。

我们可执行以下查询语句检查 MySQL 中是否启用了 General Log 和 Bin Log:

SHOW VARIABLES LIKE 'general_log%';
SHOW VARIABLES LIKE 'log_bin';

默认情况,MySQL 未启用 General 日志,但启用了 Bin 日志。

此外 HAQM RDS for MySQL 还提供了高级审计功能来审核数据库活动,建议客户可开启高级审计功能对数据库进行更加全面的安全审计,如需启用配置高级审计功能,可参考如下步骤:

(一)创建自定义选项组

  1. 导航到RDS控制台的选项组列表页。创建一个新的选项组。
  2. 自定义选项组的名称、描述,其中使用的引擎以及引擎版本,应与在用的 MySQL 引擎版本保持一致。
  3. 创建完成后,编辑刚创建的选项组,添加选项。
  4. 在选项名称中选择 MARIADB_AUDIT_PLUGIN,该审计插件实现高级审计功能并支持众多选项设置,除 SERVER_AUDIT 外,其他选项可在 MySQL 的 MariaDB 审计插件支持中查询到具体含义及其默认值。其中 SERVER_AUDIT 选项默认设定为“FORCE_PLUS_PERMANENT”,在 HAQM RDS 中该选项能且仅能设置为 FORCE_PLUS_PERMANENT,该值告诉 HAQM RDS 服务加载审计插件并防止它在数据库运行时被删除,保护审计功能的完整性,之后选择立即应用,表示当应用到数据库时将立即应用更改或等到下一个计划的维护时段应用。

(二)HAQM RDS更换选项组

  1. 在数据库列表页,找到 MySQL 数据库实例,点击“修改”按钮。
  2. 在“其他配置”中,修改为我们上一节创建的选项组。然后点击继续。
  3. 然后系统会提示是否修复数据库,勾选立即修改。

(三)验证配置结果

完成上述操作之后到数据库中执行查询语句:

SHOW VARIABLES LIKE 'SERVER_AUDIT_LOGGING';

可以看到参数已经起效。

b)审计记录应包括事件的日期和时间、用户、事件类型、事件是否成功及其他与审计相关的信息

可以通过查看数据库日志内容检查审计记录格式是否满足要求。HAQM RDS for MySQL 日志存储概括来说分为两种类型:一种是如高级审计的日志文件,另一种则是审核日志、错误日志、常规日志、慢查询日志等数据库内部的日志,不同的日志存储类型有不同的查看方式。

对于日志文件,可通过查看和列出数据库日志文件直接在亚马逊云科技控制台查看中。对于数据库内部日志,由于日志驻留在 MySQL 文件系统上,HAQM RDS 不向主机提供对数据库实例的文件系统上的数据库日志的访问权限。出于此原因,可按照将数据库日志发布到 HAQM CloudWatch Logs 将数据库日志导出到 HAQM CloudWatch Logs 并进行查看。

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

如上所述,不同的日志存储类型也对应有不同的保护方案,对于日志文件,该日志文件由 HAQM RDS 服务进行管理,亚马逊云科技将依据亚马逊云科技(宁夏区域)HAQM RDS 服务水平协议以及亚马逊云科技(北京区域)HAQM RDS 服务水平协议对日志文件进行保护,避免受到未预期的删除、修改和覆盖。

对于数据库内部日志,由客户自行负责管理,建议客户可按照将数据库日志发布到 HAQM CloudWatch Logs 按需将数据库内部日志导出到 HAQM CloudWatch Logs 中,实现日志的场外保存,避免删除,并且 HAQM CloudWatch Logs 支持数据保留期设置,可按需设置数据库日志的保留期限,默认情况下,日志数据无限期地存储在 CloudWatch 日志中。

此外,客户也可以将CloudWatch日志数据导出到 HAQM S3,以降低日志的保存成本。更进一步地,客户可以设置独立的审计账号,用于保存审计日志(包括数据库审计日志),给审计管理员设置独立的审计权限,落实最小权限及审计日志的安全性。

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

如果是启用高级审计功能,SERVER_AUDIT 选项默认且仅能设置为“FORCE_PLUS_PERMANENT”,该值告诉 HAQM RDS 服务加载审计插件并防止它在数据库运行时被删除,可保护审计进程的完整性。

对于数据库内部的错误日志、二进制日志(Bin 日志)、常规日志(General 日志)、慢查询日志等,则应结合《AWS 等保基础服务篇:HAQM RDS for MySQL 自查和加固指南(上)》中访问控制部分的管理员权限设计进行判定,查看是否限制仅允许审计管理员可操作审计设置。

四.入侵防范

a)应遵循最小安装的原则,仅安装需要的组件和应用程序

根据 GB/T 28448-2019 《信息安全技术 网络安全等级保护测评要求》测评对象范

围描述,数据库管理系统无该项要求,无须评估。

 b)应关闭不需要的系统服务、默认共享和高危端口

根据 GB/T 28448-2019 《信息安全技术 网络安全等级保护测评要求》测评对象范

围描述,数据库管理系统无该项要求,无须评估。

 c)应通过设定终端接入方式或网络地址范围对通过网络进行管理的管理终端进行限制

在创建 RDS 时根据实际需求,配置 RDS 是否可公开访问,默认应为不公开访问。

查看数据库安全组,是否对 MySQL 的远程端口访问地址进行限制。

应根据对能远程的地址来源进行限制。

d)应提供数据有效性检验功能,保证通过人机接口输入或通过通信接口输入的内容符合系统设定要求

根据 GB/T 28448-2019 《信息安全技术 网络安全等级保护测评要求》测评对象范

围描述,数据库管理系统无该项要求,无须评估。

 e)应能发现可能存在的已知漏洞,并在经过充分测试评估后,及时修补漏洞

执行下列查询语句检查 MySQL 系统版本:

SELECT VERSION();

查看是否为最新版本。

此外,建议应在 HAQM RDS 控制台启用数据库的自动次要版本升级

 f)应能够检测到对重要节点进行入侵的行为,并在发生严重入侵事件时提供报警

根据 GB/T 28448-2019 《信息安全技术 网络安全等级保护测评要求》测评对象范

围描述,数据库管理系统无该项要求,无须评估。

五.恶意代码防范

a)应采用免受恶意代码攻击的技术措施或主动免疫可信验证机制及时识别入侵和病毒行为,并将其有效阻断

根据 GB/T 28448-2019 《信息安全技术 网络安全等级保护测评要求》测评对象范

围描述,数据库管理系统无该项要求,无须评估。

六.可信验证

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

默认不符合。

七.数据完整性

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

检查数据库使用启用 SSL 协议进行数据加密,我们可执行以下查询语句检查 MySQL 中是否启用 SSL 协议:

show variables like '%have_ssl%';

MySQL 默认启用 SSL 协议加密传输中的数据。

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

检查是否使用 HAQM KMS 密钥服务的密钥对 MySQL 进行加密。默认情况下,HAQM RDS 服务使用 HAQM 托管式密钥对创建的数据库实例进行了加密。

如需检查数据库实例是否配置了加密,可参考加密 HAQM RDS 资源确定是否为数据库实例启用加密部分进行检查。样例内容如下:

需要注意的是,客户只能在创建 HAQM RDS 数据库实例时而不是创建该数据库实例之后加密该数据库实例。如需对已创建完成的数据库实例进行加密,需要借用数据库快照来实现,具体参考步骤如下:

  1. 拍摄数据库快照。
  2. 未加密的 MySQL 实例拍摄的快照也是未加密的,我们需要再对拍摄出来的快照进行复制。
  3. 复制快照时配置 KMS 加密,默认选择托管的 RDS 密钥,用户也可以选择在 KMS 中自建的 Key,然后复制快照。
  4. 最后,再从加密的快照中还原快照恢复数据库实例,恢复后的数据库实例就变成用 KMS 加密的了。

八.数据保密性

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

同上述数据完整性相应内容。

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

同上述数据完整性相应内容。

九.数据备份恢复

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

HAQM RDS 支持且默认对数据库启用自动备份功能,对数据库进行备份。

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

HAQM RDS 支持多可用区数据库实例部署以及多可用区数据库集群部署,每个可用区是一个或多个独立的数据中心,其中包含独立和冗余的电源基础架构、网络和连接的区域。一个区域中的可用区域彼此之间保持一定的距离以防止相关故障蔓延,同时还能满足以使用延迟为个位数毫秒的同步复制,两种多可用区部署均可实现数据库异地实时备份功能。

在多可用区备份基础上,客户还可以使用 HAQM Backup 服务将数据库数据跨区域备份,亚马逊云科技有两个区域,分别是 cn-north-1(北京)区域,以及 cn-northwest-1(宁夏)区域。

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

检查 HAQM RDS 是否采用多可用区数据库实例部署以及多可用区数据库集群部署方案进行部署,确保数据库实例的热冗余。

十.剩余信息保护

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

MySQL 默认满足。

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

MySQL 默认满足。

十一.个人信息保护

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

访谈并查看个人信息相关表,查看数据库中是否仅保存业务所需的个人信息。

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

访谈并查看数据库管理访问控制。

总结

结合《AWS 等保基础服务:HAQM RDS for MySQL 自查和加固指南(上)》,作者依据国家等保三级要求对 HAQM RDS for MySQL 的等保自查和加固进行了完整的讨论和分析,给客户提供 HAQM RDS 进行等保整改和加固指南建议。不过,本文内容仅供提供技术参考,最终等保测评要求及结果仍需以测评机构的实际测评结果为准。

本篇作者

王俊峰

亚马逊云科技专业服务团队安全顾问,负责云安全合规、云安全解决方案等的咨询设计及落地实施,致力于为客户上云提供安全最佳实践,并解决客户上云中碰到的安全需求。

李阳

亚马逊云科技安全解决方案架构师,负责基于亚马逊云科技云原生安全服务的解决方案架构设计、咨询和落地,包括网络安全等级保护解决方案、多账号安全治理解决方案等。加入亚马逊云科技前曾在移动通信 5G 安全技术研究和标准化、国密算法及标准化、云计算安全产品管理(云安全运维审计、云应用身份管理 IDaaS)和解决方案方面有着丰富经验。