SQL安全注意事项列表

上一篇 / 下一篇  2011-04-12 13:22:07 / 个人分类:转载

导读:使用集成化安全模式,OS安全性可以大大地简化管理工作,管理员不需要再同时管理两个独立的安全模型。这样还可以使连接字符串中不包含密码。SQL安全是数据库管理员最为重要的工作之一,下文中总结的注意事项希望大家在以后的工作中都能够足够重视。

  1) 花点时间去审计SQL登录密码的有效性以及密码安全性。

  使用以下代码检查无效密码:

Use master
Select name,
Password
from syslogins
where password is null
order by name

  检查密码安全性的强弱有很多免费和付费工具,SQLPing2就是一个免费的工具,可以用来检查密码的有效性和安全性。

  2)经常检查群组和角色成员身份

  虽然SQLServer安全性模式有很多改进,但是它也同时增加了一层额外的权限,我们必须对此进行监督,确保每个成员的权限符合其成员身份。还有的情况就是用户在企业里的身份已经发生改变,但是SQL Server的权限结构还没有做出相应的调整。

  3)保证SQL Server的物理安全性

  把SQL Server锁在门后,如果你正在使用它,就把钥匙锁藏起来。因为坐在server前的人总有会钻空子的。

  4)重写应用程序,使用能够更好地定义用户的存储程序和视图

  这样做可以尽量减少提供直接访问表格权限的需要。程序开发员能够更好控制数据存取的情况。

  5)启用记录所有用户登录事件

  你可以通过以下代码完成这一点:

  xp_instance_regwrite N'HKEY_LOCAL_MACHINE', N'SOFTWARE\Microsoft\MSSQLServer\MSSQLServer',N'AuditLevel', REG_DWORD,3

  6)检查master..Sp_password中是否含有trojan代码

  把你的生成脚本与全新安装程序的过程默认脚本进行对比。把这些代码保存在方便查阅的地方。

7)检查master..Sp_helpstartup中是否含有trojan程序

  确保这里没有后门程序。使用Sp_unmakestartup来清楚所有流氓程序。

  8)除非绝对有必要的情况,否则禁用SQL Mail功能

  开放这个功能无疑给黑客另一个传播木马、病毒或者给攻击服务器使其不能提供服务的途径。这个功能本身并没有任何害处,但是它能够被黑客所利用。

  9)清除数据库里的访客用户,确保没有未授权用户滥用数据库

  这个是默认设置,但是要警惕一些dbo在权限控制上出现松懈的情况。唯一的例外情况是当主数据库和tempdb数据库需要作为访客帐户登录时。

  10)确保所有SQL Server数据和系统文件都安装在NTFS分区里

  如果有人需要访问OS,确保需要有必要的权限设置,防止出现重大问题。

  11)需要使用SQL Server服务时使用低权限的用户帐号,而不要使用LocalSystem或管理员帐号。

  这个帐号应该设置为最小权限(最好是本地用户),而且应能够在出现漏洞的情况下抑制服务器受到攻击。注意如果使用Enterprise Manager或SQL Server Configuration Manager (SQL 2005)来做改动的话,文件、注册和用户权利的SCLs都会自动完成。

  12)设置安全性强的密码来保证“sa”帐户的安全

  适用于使用SQL Server和Windows安全模式的情况。尽可能使用Windows Only模式,这样你就不用担心有人会强制使用“sa”帐户。当然,就算做到这一步,最好还是设置一个安全性强的密码,因为难免不会出现有人改变系统模式的情况。

  13)只选择企业必需的网络连接库

  如果企业的SQL Server只是本地使用,为什么不禁用所有的网络连接库,只使用共享内存来访问SQL Server呢?只用'(local)'作为服务器名称。如果你的SQL Server需要连接其他服务器,使用TCP/IP netlib,然后决定是否需要SSL。

  14)确保使用最新版的操作系统和SQL Server 服务包/热补丁

  毫无疑问,这是安全事项里不可能会缺少这一项。只要在你的SQL Server里执行"select @@version"。


TAG:

 

评分:0

我来说两句

Open Toolbar