Microsoft SQL Server 2000的安全配置

Microsoft SQL Server是一种广泛使用的数据库,很多电子商务网站,如企业内部信息平台是基于SQL Server,但是数据库的安全并没有更好被人配置起来,大多数管理员认为只要做好网络和操作系统的安全那么所有的应用程序都安全了。大多数系统管理员熟悉数据库和数据库管理员对安全问题有太少,和一些安全公司也忽略了数据库安全,使数据库的安全问题更加严重。数据库系统安全漏洞和不适当的配置通常会导致严重的后果,并且很难找到。数据库应用程序通常具有最高管理员密切相关的操作系统。广泛的SQL Server数据库是属于“端口”类型的数据库,这意味着任何人都可以使用分析工具试图连接到数据库,以便绕过操作系统的安全机制,然后到系统,破坏和窃取数据,甚至破坏整个系统。

在这里,我们主要讨论SQL Server2000数据库安全配置和安全的一些相关问题和使用。

在SQL Server 2000数据库安全配置之前,您必须首先确保操作系统配置,确保您的操作系统在一个安全的状态。然后你使用的操作数据库软件(程序)进行必要的安全审计,如ASP,PHP脚本,这是很多WEB应用程序基于数据库经常出现安全隐患,脚本是一个过滤的问题,需要过滤一些类似;@ /字符,如防止驱逐舰构造恶意SQL语句。然后,安装sp2 SQL Server2000 sp1和最新补丁之后,请。

下载地址:

http://www.microsoft.com/sql/downloads/2000/sp1.asp

http://www.microsoft.com/sql/downloads/2000/sp2.asp

完成以上三个步骤的基础后,我们将讨论SQL服务器的安全配置。

1、使用安全密码策略

我们把密码策略在所有安全配置的第一步,请注意,许多数据库帐户密码太简单,密码过于简单的真理与系统。sa,同时更应注意,不要让噪音的sa帐户密码写在应用程序或脚本。强密码是安全的第一步!

SQL Server2000安装,如果是使用混合模式,您将需要输入sa的密码,除非你确定必须使用空密码。这个版本的改进。

同时形成定期更改密码的好习惯。数据库管理员应定期检查是否有不符合要求的密码帐户。比如使用以下SQL语句:

使用主

从syslogins选择namePassword,密码为空

2、使用安全策略。

因为SQL Server无法改变公司的用户名,也不能删除超级用户,所以,我们必须最强的保护账户,当然,包括使用一个非常强大的密码,最好是不要使用数据库中的应用sa帐户,只有当没有其他方式登录SQL服务器实例(例如,当其他系统管理员不可用或者忘记密码)当使用sa。推荐新创建一个数据库管理员就像sa超级用户管理数据库的权限。安全帐户策略包括不要让管理员权限的帐户。

SQL Server身份验证与Windows身份验证和混合两种身份认证。如果数据库管理员不希望操作系统管理员联系数据库的操作系统登录,账户管理系统可以把账户“BUILTINAdministrators”删除。但结果是一旦sa帐号忘记密码,没有办法恢复。

许多主机使用数据库的应用程序只是用于简单的功能,如查询、修改,请根据实际需要分配的账户,并给只能满足应用要求和必要的权限。例如,只要查询功能,然后使用一个简单的公共账户能够选择。

3、加强数据库日志记录。

审计数据库日志事件“失败和成功”,在实例属性,选择“安全”为所有选定审计水平,使数据库系统和操作系统日志,所有帐户登录事件的细节。如图所示:

请检查SQL服务器日志,检查是否有可疑的登录事件,或使用DOS命令。

Findstr / C:“登录”d:Microsoft SQL ServerMSSQLLOG *。*

4、扩展存储过程管理

存储过程的大手术,在仔细的扩展存储过程调用权限。实际上在大多数应用程序不使用许多系统存储过程,和SQL服务器,存储过程的许多系统是用来适应用户的需求,所以请删除不必要的存储过程中,由于一些系统存储过程可以很容易地用于提高权限或者销毁处理。

如果你不需要有效地扩展存储过程,请删除它。使用SQL语句:

使用主

Sp_dropextendedproc”或“

有效地是最好的捷径,到操作系统是一个大的数据库操作系统的后门。如果你需要的程序,请使用这个语句也可以恢复。

xpsql70 Sp_addextendedproc”或“”。DLL的

如果你不需要请丢弃OLE自动存储过程会导致某些特征管理器不能使用(),这个过程包括以下:

Sp_OACreate Sp_OADestroy Sp_OAGetErrorInfo Sp_OAGetProperty

Sp_OAMethod Sp_OASetProperty Sp_OAStop

删除不需要的注册表访问存储过程,注册表存储过程甚至可以读操作系统,管理员密码如下:

Xp_regaddmultistring Xp_regdeletekey Xp_regdeletevalue Xp_regenumvalues

Xp_regread Xp_regremovemultistring Xp_regwrite

还有一些其他的扩展存储过程,你最好检查你。

治疗的存储过程,请确认,避免造成伤害到数据库或应用程序。

5、使用协议加密

使用SQL Server 2000表格数据流的网络数据交换协议,如果没有加密,所有网络流量是明确的,包括密码、数据库内容,等等,这是一个巨大的安全威胁。可以截获网络中他们所需要的东西,包括数据库帐号和密码。因此,在条件允许的情况下,最好使用SSL加密,当然,你需要一个证书的支持。

6,别让人随便检测你的TCP / IP端口

默认情况下,SQL Server 1433端口监控,很多人说SQL服务器配置该端口,所以别人不能轻易知道使用的端口。不幸的是,微软没有探测到开放端口1434 UDP可以很容易地知道SQL Server使用TCP / IP端口(参见“探索SQL服务器网络连接的安全问题)。

但是微软仍然认为这个问题,毕竟,公共和开放端口会引起不必要的麻烦。在实例属性选择TCP / IP属性。选择隐藏SQL服务器实例。如果它藏起了太阳,而SQL服务器实例将禁止试图列举网络上现有的SQL Server实例广播从客户机的响应。通过这种方式,其他人将无法使用1434来检测你的TCP / IP端口(除非端口扫描)。

7、修改使用TCP / IP端口

请一步配置的基础上,改变原来的默认端口1433。在实例属性,选择TCP / IP网络的配置属性,TCP / IP使用默认端口其他港口。如图所示:

9日,拒绝检测端口1434

由于没有限制1434端口检测,可以检测到一些数据库信息,但也是一个DOS攻击可能让数据库服务器CPU负载增加,所以对于Windows 2000操作系统,IPSec过滤拒绝删除端口1434 UDP通信,可以尽可能地隐藏你的SQL Server。

10、IP网络连接限制

SQL Server 2000数据库系统本身不提供网络连接的安全解决方案,但Windows 2000提供了这种安全机制。使用操作系统的IPSec实现IP数据包的安全。请限制IP连接,确保自己的IP只能访问,也拒绝其他IP端口连接,有效控制来自网络的安全威胁。

关于IPSec的使用请查看http://www.microsoft.com/china/technet/security/ipsecloc.asp


标签:  | 


顶部