程序开发 > 正文

Sql Server数据库安全设置(八大项)

亮术网 2013-08-22 本网原创

  数据库安全是服务器安全的重要内容,也网站或应用程序正常运行的基础。Sql Server 应用比较广泛,研究的人也多,或许正是因为这个原因,它也常常被选作入侵的对象,所以对它的安全设置一定要做得全面且深入,简单的设置阻止不了水平高的黑客入侵。

  Sql Server安全设置涉及的内容比较多,所以一定要有耐心,如果对这些设置不太熟悉,可能比较费时,不过多设置几次,速度就会慢慢变快,所谓熟能生巧,以下是具体的设置项。

 

  一、修改 xplog70 的名称

  入侵者常利用 xplog70 文件对系统发动入侵,所以要把这些文件改名,具体要改3处,分别如下:

  D:\Program Files\Microsoft SQL Server\MSSQL\Binn

  D:\Program Files\Microsoft SQL Server\MSSQL\Binn\Resources\1033

  D:\Program Files\Microsoft SQL Server\MSSQL\Binn\Resources\2052

 

 

  二、修改或关闭1433端口、隐藏数据库服务器

  有关修改或关闭1433端口、隐藏数据库服务器的方法,在《如何修改和关闭1433端口》一文中有详细介绍,就不再赘述。

 

 

  三、删除有安全隐患的系统存储过程

  exec sp_dropextendedproc 'xp_cmdshell' --删除此项后,将无法远程连接数据库

  exec sp_dropextendedproc 'xp_dirtree' --删除此项后,将无法新建或附加数据库

  exec sp_dropextendedproc 'xp_fixeddrives'--删除此项后,将无法还原数据库

  exec sp_dropextendedproc 'xp_enumgroups'

  exec sp_dropextendedproc 'xp_loginconfig'

 

  exec sp_dropextendedproc 'xp_regaddmultistring'

  exec sp_dropextendedproc 'xp_regdeletekey'

  exec sp_dropextendedproc 'xp_regdeletevalue'

  exec sp_dropextendedproc 'xp_regread'

  exec sp_dropextendedproc 'xp_regremovemultistring'

 

  exec sp_dropextendedproc 'xp_regwrite'

  exec sp_dropextendedproc 'xp_enumerrorlogs'

  exec sp_dropextendedproc 'xp_regenumvalues'

  exec sp_dropextendedproc 'xp_getfiledetails'

 

  exec sp_dropextendedproc 'Sp_OACreate'

  exec sp_dropextendedproc 'Sp_OADestroy'

  exec sp_dropextendedproc 'Sp_OAGetErrorInfo'

  exec sp_dropextendedproc 'Sp_OAGetProperty'

  exec sp_dropextendedproc 'Sp_OAMethod'

  exec sp_dropextendedproc 'Sp_OASetProperty'

  exec sp_dropextendedproc 'Sp_OAStop'

 

  删除的系统存储过程,如果想恢复,用 sp_addextendedproc 命令即可,如:

  exec sp_addextendedproc 'xp_cmdshell', 'xplog70.dll'

 

 

  四、设置复杂的密码并加密连接数据库的字符串

  添加数据库登录用户的时候,要把密码设置复杂一些,如同时使用字母、数字和特殊字符,并且位数也在20以上,这样破解就十分困难。

  登录数据库的用户名和密码要写到配置文件中,所以最好把连接数据库的字符串加密,以防配置文件被窃取影响服务器安全。

 

 

  五、限制连接 Sql Server 服务器的IP

  1、如果网站或应用程序跟 Sql Server 在同一台服务器,直接关闭 1433端口即可,不用再费神设置IPSec策略。

  2、如果网站或应用程序跟 Sql Server 不在同一台服务器,必须得开放 Sql Server 远程连接端口,隐藏 Sql 服务器还是可以用端口扫描工具找到,所以必须限制连接 Sql Server 服务器的IP,可以通过配置系统自带的 IPSec 策略实现,不过不熟悉配置方法容易出问题,最好先演练一下。

 

  提示:

  1)也可以在防火墙中限制对 Sql Server 远程连接端口(1433)访问的IP。

  2)还创建一个触发器来限制对 Sql Server 远程访问的IP。

 

 

  六、审核数据库登录事件

  审核每一次数据库登录事件,看是失败还是成功,设置步骤如下:

  打开“企业管理器(SQL Server Management Studio Express)” → 右键“服务器名(前面有绿色三角)” → 属性 → 安全性 → 选择“登录审核”下面的“失败和成功的登录(全部)” → 确定。

 

  以上6点 Sql Server数据库安全设置为必选项,下面几点为可选项。

 

 

  七、限制对企业管理器的访问

  1、设置 SQL Server 和 Windows 身份验证模式

  企业管理器 → 右键“服务器名(前面有绿色三角)” → 属性 → 安全性 → SQL Server 和 Windows 身份验证模式 → 确定。

 

  2、删除  BUILTIN\Administrators 用户

  企业管理器 → 安全性 → 登录名 →右键 BUILTIN\Administrators → 删除。

 

  3、进入“企业管理器”要密码

  企业管理器 → 右键“服务器名(前面有绿色三角)” → 编辑 SQL Server 注册属性 → 使用 SQL Server 身份验证 → 勾选“总是提示输入登录名和密码” → 确定。

 

 

  八、有条件可以用SSL加密协议

  SQL Server 以明文进行网络传输,这很可能被别人抓取数据包,导致数据泄密。如果有条件,可以用SSL加密协议,当然需要申请证书,需要一些钱。

 

  做好 Sql Server数据库安全还是十分麻烦的,要设置的项很多;但没办法,再麻烦、步骤再多,也要一项项设置,这是服务器安全运行的基础,更是盈利的根本。

本文浓缩标签:sql数据库安全