基于RDS保护数据安全

数据安全对业务系统至关重要,数据泄漏或损坏可能会造成重大的财产损失,同时也会对品牌的社会形象产生重大影响。本最佳实践主要解决使用RDS过程中需要考虑的安全性问题,从帐号安全、访问控制、备份恢复、可用性等方面介绍RDS的推荐用法及注意事项。

一、帐号安全

每个RDS实例可创建若干个数据库。管理控制台提供数据库的帐号管理,包括创建、绑定数据库、变更权限、修改密码等功能。目前帐号是库级别,不支持对表或视图等权限的管理。每个帐号可管理一个或多个数据库,通过“帐号绑定数据库”配置。对帐号管理有以下原则:
1.     根据业务角色和管理角色建立对应的帐号,按“最小权限原则”分配相应数据库和对数据库的读写权限。
a)      给每个帐号分配尽量少的数据库
b)      只读满足业务要求的,禁止分配为更高权限
2.     不同安全级别的数据存储到不同的数据库中,并只有必要的帐号才能访问。
3.     管理员和程序使用不同的帐号。
4.     高强度密码和定期更改帐号密码。

二、访问控制

RDS提供的访问控制机制有
1.     IP白名单:只有明确设定的IP,才具有对RDS的访问权限。白名单生效时间小于2分钟。
2.     内外网访问模式,并可随时切换:内网访问模式下,只允许来自内网的访问,外网的任何访问将会被拒绝,反之亦然。切换访问模式的生效时间小于3分钟。

RDS访问控制的一些最佳实践点包括:
1.     设置专用的管理服务器,由其完成各种日常管理功能,同时起到跳板机的作用,例如应用升级、数据备份、后台管理等。
a)      为了管理的方便性和成本考虑,最好是Windows系统。因为只是管理服务器,没有大负荷的计算和存储,所以选择最低的硬件配置参数即可。如果选择Linux系统,需要自行安装Linux图形环境和管理工具,或安装Web方式的管理工具;
b)      如果因成本等原因不能部署专用管理服务器,并且安全性要求不高,也可以将某台业务服务器同时作为管理服务器。
2.     白名单设置为仅允许必要的业务服务器(和管理服务器)访问。
3.     开启内网访问模式,禁用外网访问模式。这种方式带来的附加好处是RDS无公网流量,能够节省费用。
4.     访问路径是是管理服务器要先通过业务服务器,最后才能访问RDS,如下图。管理服务器对业务服务器安全管理更多细节,请参见基于《安全组实现访问控制策略》 。
5.     因为默认phpMyAdmin的公用性和白名单IP地址过多,如果对安全性要求特别高,建议自行在业务/管理服务器上安装phpMyAdmin或其它管理工具,而不是直接使用默认提供的phpMyAdmin。

RDS访问控制的一些最佳实践点

三、备份恢复

RDS采用主从热备架构,支持即时备份和自动周期备份,即时备份和周期备份都在OSS上保留7天,也可下载到本地备份。用户需要根据业务特点选择备份频率和开始时间,周期备份设置界面如下图:

周期备份设置界面

其它更多细节请参见《备份与恢复,解决后顾之忧》 。

四、可用性

正式购买的RDS全部是“专享”类型,对实例之间的进行了有效的资源隔离,并保证良好的CPU、磁盘和网络性能。另外,RDS还提供了报警、监控、优化顾问等功能帮助提高可用性,并可在管理控制台配置和查看。

  • 主要报警项目有:实例锁定、磁盘空间、IOPS、连接数报警

实例锁定、磁盘空间、IOPS、连接数报警

  • 主要性能监控项目有:磁盘空间、连接数、CPU/内存利用率、IOPS、网络流量、读写次数等

磁盘空间、连接数、CPU/内存利用率、IOPS、网络流量、读写次数等

  • 主要优化顾问项目有:慢日志、主键检查等

慢日志、主键检查等

五、其它

除以上最佳实践点,RDS还具有如下安全防护功能:
1.可查看最近一个月的管理控制台操作日志。
2.安全和运维保障:RDS 集群处于多层防火墙的保护之下,可以有效地防御各种恶意攻击,提供超高流量的防DDoS攻击,流量清洗;及时修复各种数据库安全漏洞服务,保证数据的安全。

基于RDS保护数据安全:等您发表观点呢!

发表评论


快捷键:Ctrl+Enter