怎样才能保护好SQLServer数据库
本文介绍了如何保护SQL Server数据库。数据库的安全性总是很重要的,相信对大家会有帮助。
1.首先,您需要安装最新的服务包。
要提高服务器的安全性,最有效的方法是升级到SQL Server 2000 Service Pack 3A(SP3A)。此外,您还应该安装所有已发布的安全更新。
2.使用Microsoft Baseline Security Analyzer(mbsa)评估服务器的安全性。
MBSA是一种扫描许多微软产品的不安全配置的工具,包括SQL Server和微软SQL server 2000桌面引擎(MSDE 2000)。它可以在本地运行,也可以通过网络运行。此工具检测SQL Server的安装是否存在以下问题:
(sysadmin固定服务器角色的成员太多。
(2)授予sysadmin以外的其他角色创建CmdExec作业的权限。
(3) 空或简单密码。
(4)脆弱的认证模式。
(5)授予管理员组的权限过多。
(SQL Server数据目录中的访问控制表(ACL)不正确。
(7)在安装文件中使用纯文本sa密码。
(8)授予来宾帐户过多的权限。
(9)在也是域控制器的系统中运行SQL Server。
(10)every one组的配置不正确,无法访问特定的注册表项。
(11)SQL Server服务帐户的配置不正确。
(12)未安装必要的服务包和安全更新。
微软提供MBSA的免费下载。
3。使用Windows身份验证模式
只要有可能,您应该要求使用Windows身份验证模式来连接到SQL Server。它通过限制与Microsoft Windows用户和域用户帐户的连接来保护SQL Server免受大多数Internet工具的攻击。此外,您的服务器还将受益于Windows安全增强机制,如更强的身份验证协议和强制密码复杂性和到期时间。此外,凭据委托(在多台服务器之间桥接凭据的能力)只能在Windows身份验证模式下使用。在客户端,Windows身份验证模式不再需要存储密码。存储密码是使用标准SQL Server登录的应用程序的主要漏洞之一。要在SQL Server的企业管理器中安装Windows身份验证模式,请按照下列步骤操作:
(1)扩展服务器组。
(2)右键单击服务器,然后单击属性。
(3)在安全选项卡的身份验证中,单击仅Windows。
4.隔离您的服务器并定期备份
物理和逻辑隔离构成了SQL Server安全性的基础。数据库所在的机器应该放在一个受物理保护的地方,一个上锁的机房,配备洪水检测、火灾检测和消防系统。数据库应安装在内部网的安全区域,不要直接连接到互联网。定期备份所有数据,并将副本保存在安全的异地位置。
5.分配一个强sa密码
Sa帐户应该始终具有强密码,即使在配置为要求Windows身份验证的服务器上也是如此。这将确保将来重新配置服务器进行混合模式身份验证时,不会出现空白色或脆弱的sa。
要分配sa密码,请按照下列步骤操作:
(1)展开服务器组,然后展开服务器。
(2)展开安全性,然后单击登录。
(3)在详细信息窗格中,右键单击SA,然后单击属性。
(4)在密码框中,输入新密码。
6.限制SQL Server服务的权限
SQL Server 2000和SQL Server代理作为Windows服务运行。每个服务必须与一个Windows帐户相关联,并且安全上下文从该帐户派生。SQL Server允许sa登录用户(有时包括其他用户)访问操作系统功能。这些操作系统调用是由拥有服务器进程的帐户的安全上下文创建的。如果服务器遭到破坏,只要拥有的进程(SQL Server服务帐户)能够访问它,这些操作系统调用就可能被用来攻击其他资源。因此,仅向SQL Server服务授予必要的权限非常重要。
我们建议进行以下设置:
(1) SQL Server引擎/MSSQLServer
如果有指定的实例,它们应该命名为MSSQL$InstanceName。作为具有一般用户权限的Windows域用户帐户运行。不要以本地系统、本地管理员或域管理员帐户运行。
(2) SQL Server代理服务/SQLServerAgent
如果您的环境不需要它,请禁用该服务;否则,请以具有一般用户权限的Windows域用户帐户运行。不要以本地系统、本地管理员或域管理员帐户运行。
重要提示:如果满足以下条件之一,则SQL Server代理将需要本地Windows管理员权限:
SQL server代理使用标准SQL Server身份验证来连接到SQL Server(不推荐);
SQL server代理使用多服务器管理主服务器(MSX)帐户,该帐户使用标准SQL Server身份验证进行连接;
SQL Server代理运行不属于sysadmin固定服务器角色成员的Microsoft ActiveX脚本或CmdExec作业。
如果需要更改与SQL Server服务关联的帐户,请使用SQL Server企业管理器。企业将为SQL Server使用的文件和注册表项设置适当的权限。不要通过使用Microsoft管理控制台(在控制面板中)的“服务”来更改这些帐户,因为这需要手动调制大量的注册表项和NTFS文件系统权限以及Micorsoft Windows用户权限。
帐户信息的更改将在下次服务启动时生效。如果需要更改与SQL Server和SQL Server代理关联的帐户,必须使用企业管理器分别更改这两项服务。
位律师回复
0条评论