更新时间:2025-04-10 GMT+08:00
分享

RDS for SQL Server安全最佳实践

SQL Server数据库凭借其强大的事务处理能力、丰富的功能以及对企业级应用的广泛支持,在行业内享有良好的声誉,已经成为众多企业首选的关系数据库之一。RDS for SQL Server是一种基于云计算平台的即开即用、稳定可靠、弹性伸缩、便捷管理的在线云数据库服务,旨在为企业提供更高效、更安全的数据管理解决方案。

为加强RDS for SQL Server数据库安全性,本文将从以下几个维度给出建议,您可以根据业务需要在本指导的基础上进行安全配置。

使用高可用实例

RDS for SQL Server数据库集群版或主备版实例能够在主节点发生异常时自动进行故障切换,将备用节点提升为主节点,从而确保系统的高可用性和持续服务,最大限度地减少停机时间和数据丢失。

开启备份功能

创建RDS for SQL Server实例时,默认开启自动备份策略,默认自动备份保留7天,可根据业务需要调整备份保留时长。RDS for SQL Server实例支持自动备份手动备份。您可以定期对数据库进行备份,当数据库故障或数据损坏时,可以通过备份文件恢复数据库,从而保证数据可靠性,具体操作请参见数据恢复

避免绑定EIP直接通过公网访问实例

避免RDS for SQL Server部署在公网或者DMZ,应该将RDS for SQL Server部署在华为云内部网络,使用路由器或者防火墙技术把RDS for SQL Server保护起来,避免直接绑定EIP从公网访问数据库实例,防止未授权的访问及DDos攻击。建议解绑弹性公网IP,如果您的业务必须绑定EIP,请务必设置安全组规则限制访问数据库的源IP。

避免使用默认端口

RDS for SQL Server的默认端口号为1433,此端口会更容易受到恶意攻击。建议您为数据库实例修改端口

定期重置数据库账号密码

定期重置密码是提高系统和应用程序安全性的重要措施之一,不仅可以降低密码泄露的风险,还可以帮助用户满足合规要求,减少内部威胁,提高用户的安全意识。通过实施这一策略,可以显著提升账户整体安全水平,保护敏感数据和系统免受潜在的安全威胁。具体操作请参见重置数据库账号密码

定期检查并删除业务不再使用的角色

对于每个查询出来的角色,检查是否必须存在。任何未知的角色都需要被审视,确保每个角色都是正常使用的,否则删除这些角色。

确保数据库账号的最低权限

RDS for SQL Server支持“基于角色”的方法授予账号对数据和命令的访问权限。建议管理员结合业务需要,遵从最低授权原则,创建合适的数据库账号,对账号进行授权。如果发现存在不符合该角色的账号权限,请结合业务需要,对账号权限进行更新或者删除数据库账号。RDS for SQL Server的内置账号用于给数据库实例提供完善的后台运维管理服务,禁止用户使用和删除。

避免依赖sysadmin权限

RDS for SQL Server的sysadmin权限为最高权限,此权限使用不当会造成RDS for SQL Server安全运维失效,从而导致数据被损坏、无法恢复数据、无法进行主备倒换等问题。

避免使用sysadmin权限是提高RDS for SQL Server安全性和稳定性的重要措施。通过实施最小权限原则、细化权限管理和增强审计与监控,可以显著降低安全风险,保护数据和系统的安全,有助于提高整体的安全管理水平。

开启强制加密

强制加密可以确保客户端与RDS for SQL Server之间的所有数据传输都经过加密。这样可以有效防止数据在传输过程中被窃听或篡改,增加了数据的隐私性和安全性。一旦开启强制加密连接,所有客户端都将自动使用加密方式与RDS for SQL Server通信,无需针对每个客户端单独配置,使得安全管理更加简便统一。

使用TDE功能

RDS for SQL Server的TDE功能通过自动加密数据文件和备份文件,提供了高效的数据静态保护,并且加密过程对应用程序透明,满足合规性要求。但是使用TDE功能可能会对性能和存储空间产生一定影响。

RDS for SQL Server实例开启TDE后,数据文件已经被加密,不需要经过磁盘加密进行二次加密。相比较磁盘加密,推荐使用TDE加密,磁盘加密会对数据库性能和操作系统的性能造成一定影响。

设置最大并行度

通过设置参数“max degree of parallelism”的值,可以调整RDS for SQL Server的最大并行度,优化查询性能和资源利用率。该参数设置过大会导致锁阻塞,设置过小会导致资源利用不充分,建议结合业务使用量和实例规格来设置。一般推荐初始设置为数据库实例的CPU核数的一半或根据实际负载进行微调。具体操作请参见修改RDS for SQL Server实例参数

更新数据库版本到最新版本

使用较老的版本可能存在安全风险,运行最新版本的软件可以避免受到某些攻击。目前微软官方已经不再维护2016以下的版本,建议升级至2017或更高的版本。如果业务需要,可通过升级版本将RDS for SQL Server实例升级到更高的版本。

使用DBSS全量审计

审计日志可以捕获审计员通常需要或满足法规要求的详细记录。例如,RDS for SQL Server默认开启DDL审计内容,可以跟踪服务器设置修改、数据库和表的结构更改。另外,建议使用DBSS全量审计获取到全量的审计日志,该审计日志包括DML审计内容,并且能够保存180天或更长时间。

相关文档