1. SQLServer安全性现状分析
随着SQLServer 数据库存储的资料日趋重要以及数据存储量的增加,SQLServer 数据库的安全性保障成为公司管理者们所关注的问题。据统计分析2019年全球约有44.7%的服务器使用SQL Server,其中不乏诸如高德、微软等知名企业使用该数据库管理系统来存储用户数据和重要资产。但是,增加了数据库安全性保障并非是一件容易的事情,SQLServer 多发的漏洞和攻击事件表明了这一点。
1.1 SQLServer漏洞分析
SQLServer 数据库自身存在许多漏洞,黑客可以从中钻空隙获取数据或伤害数据库。其中,最危险和最常见的漏洞是SQL注入。黑客通过精制代码攻击服务器SQLServer实例,采用注入技术从而泄露机密、篡改或破坏数据。由于这种攻击技术涉及到SP、表等多个方面,因此它很难检测和防范。
1.2 SQLServer攻击方式
除了漏洞,SQLServer 还可以通过口令破解、网络攻击、蠕虫感染等方式被攻击。IT 经理可以通过更改默认密码和认证方式、导入安全文件或更新组策略来保护其 SQLServer 数据库。
2.SQLServer 安全性保护方法
为了增强SQLServer 数据库的安全性保障,您可以采取以下安全性措施:
2.1 防止SQL注入
黑客最常用的攻击技术是SQL注入,为了防止这种攻击,管理员可以利用SQLServer中应用程序安全特性和内存优化表来加强安全性保障。SQLServer 中的透明数据加密(TDE)措施可以加密数据并保护高敏感的数据不受注入攻击。
--添加内存优化表
CREATE TABLE XXX (a int PRIMARY KEY NONCLUSTERED HASH WITH (BUCKET_COUNT=100000), b int)
WITH (MEMORY_OPTIMIZED=ON)
GO
2.2 提高口令和身份认证的安全性保障
管理员可以更改SQLServer默认密码、使用Windows认证方式和绑定IP来防止口令破解、网络攻击等方式,就可以有效地保护SQLServer安全。
--修改默认密码
ALTER LOGIN sa WITH PASSWORD = 'abc@123'
GO
2.3 开启SQLServer 安全机能
SQLServer提供的安全机能包括外部验证、数据加密、访问控制、日志审计和模拟安全配置。管理员可以通过设置访问控制手段如防火墙、口令安全策略、认证模式等方法,开启SQLServer安全机能以保护服务器安全。
2.4 定期备份及检查
为了保护SQLServer 数据库的完整性,管理员需要定期备份数据库,以防止数据丢失。另外,监控SQLServer 以便早发现网络攻击和漏洞。可以通过安装启用SQLServer日志审计、检查系统事件、异常收集、启用服务器安全验证日志等方法,监视SQLServer 数据库是否存在未经授权的访问和其他异常事件。
3. 如何提高SQLServer安全性
想要提高SQLServer的安全性保障,管理员需要根据企业实际情况和需求来选择适合的安全措施。以下是一些关键的安全保护方案。
3.1 数据库加密
数据加密是一种保护SQLServer 的有效手段。它可以加密数据库中敏感的数据,即使算法被攻击者获取,他们也无法解密其中的资料,保护数据不被人为获取。
--使用AES 128位加密算法来加密列
ALTER TABLE info ADD COLUMN temp_cipher varbinary(max) NULL;
CREATE SYMMETRIC KEY mySYMMETRIC KEY WITH ALGORITHM = AES_128 encryption BY certificate myCERTIFICATE;
UPDATE info SET temp_cipher = EncryptByKey(Key_GUID('mySYMMETRIC_KEY'), CONVERT(Varbinary(max), temp));
3.2 使用身份验证策略技术
对于口令破解等攻击方式,企业可以使用认证策略技术。例如,可以强制口令长度、复杂性强度、口令锁定、用户登录验证等措施,保证每个用户的身份认证都是严格的,防止身份欺诈。
--创建登录帐号并设定密码策略
CREATE LOGIN Users WITH PASSWORD = 'password'
GO
ALTER LOGIN Users WITH PASSWORD = '123456'
GO
--设置密码策略
ALTER LOGIN Users WITH CHECK_POLICY=ON;
GO
3.3 使用安全配置工具
安全配置工具可以帮助管理员通过最佳实践、自定义措施来检测、预防和解决SQLServer各种安全问题,防止数据库被攻击者获取。
结论
在21世纪,安全问题越来越成为了数据库管理人员越来越为关注的问题。SQLServer 安全保障措施的提升,一方面可以防止未经授权的访问,确保资源和数据的完整性;另一方面,提高了SQLServer安全性也提高了企业的信誉度和影响力。因此,管理员们需要采用适当的措施,以保护SQLServer 安全性。