热烈祝贺台州朗动科技的站长论坛隆重上线!(2012-05-28)    热烈庆祝伟大的祖国60周年生日 点击进来我们一起为她祝福吧(2009-09-26)    站长论坛禁止发布广告,一经发现立即删除。谢谢各位合作!.(2009-08-08)    热烈祝贺台州网址导航全面升级,全新版本上线!希望各位一如既往地支持台州网址导航的发展.(2009-03-28)    台州站长论坛恭祝各位新年快乐,牛年行大运!(2009-01-24)    台州Link正式更名为台州网址导航,专业做以台州网址为主的网址导航!(2008-05-23)    热烈祝贺台州Link资讯改名为中国站长资讯!希望在以后日子里得到大家的大力支持和帮助!(2008-04-10)    热烈祝贺台州Link论坛改名为台州站长论坛!希望大家继续支持和鼓励!(2008-04-10)    台州站长论坛原[社会琐碎]版块更名为[生活百科]版块!(2007-09-05)    特此通知:新台州站长论坛的数据信息全部升级成功!">特此通知:新台州站长论坛的数据信息全部升级成功!(2007-09-01)    台州站长论坛对未通过验证的会员进行合理的清除,请您谅解(2007-08-30)    台州网址导航|上网导航诚邀世界各地的网站友情链接和友谊联盟,共同引领网站导航、前进!(2007-08-30)    禁止发广告之类的帖,已发现立即删除!(2007-08-30)    希望各位上传与下载有用资源和最新信息(2007-08-30)    热烈祝贺台州站长论坛全面升级成功,全新上线!(2007-08-30)    
便民网址导航,轻松网上冲浪。
台州维博网络专业开发网站门户平台系统
您当前的位置: 首页 » MySQL/MSSQL编程 » 详细分析16条SQL安全戒律

详细分析16条SQL安全戒律

论坛链接
  • 详细分析16条SQL安全戒律
  • 发布时间:2007-11-02 20:58:58    浏览数:6314    发布者:jinlj    设置字体【   
1、登录认证:为了安全起见,如果可以的话把Windows认证模式设置为唯一认证模式
  由于使用了集成安全方式,用户可以信赖操作系统的安全性,不必再维持两个独立的安全模式,这样大大简化了用户的管理工作,还可以使密码不再受到连接字符串的限制。

  2、花上一定时间审计用空密码或者弱密码登录SQL的请求

  使用以下的代码可以对空密码进行检测:

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


  有很多免费工具和商业工具可以用来检测弱密码登录。SQLPing2就是一款可以用来检测弱密码和空密码的免费软件。

  3、勤于检查组和角色成员

  虽然SQL服务器安全模式有很多增强功能,但是它还是增加了一个额外许可层,我们必须监控好该层,以确定没有任何用户被赋予超过他们需要的访问权限,并确定没有任何用户规避了安全系统获得了权限的提升。还有一些幽灵用户,他们在公司内的职位改变了,但SQL服务器的许可结构并没有及时做出调整。确定用组进行对象访问权限的分配,而不是个人。

  4、注意SQL服务器的物理安全

  当你忙于干活的时候,把服务器锁在安全的地方,藏好你的钥匙。要知道如果有人接近了服务器,总会找到方法进入系统。

  5、 多用用户自定义的存储表过程和视图来重写应用程序。

  这样做可以最大限度减少需要直接访问数据表的操作,程序开发人员可以更好地控制数据存取的过程。

  6、启用日志功能,记录所有的用户登录情况。

  可以用以下的代码编写脚本达到这个目的:

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

  7、检查master..Sp_password,看存不存在木马程序代码。

  比较你的产品脚本和全新安装系统的默认脚本之间的区别,并使该代码处于方便使用的状态。

  8、检查master..Sp_helpstartup,看存不存在可疑木马进程。

  确保没有被人在服务器里安装了后门程序。用Sp_unmakestartup移除任何可疑进程。

  9、除非确实需要,否则请禁用SQL邮件功能。

  启用邮件功能会让潜伏的攻击者找到另外一个途径来传播潜在的木马程序和病毒,并让他们很轻易发动一次拒绝服务攻击。虽然邮件功能的存在本身是无害的,但是它很可能会被攻击者所利用。

  10、从数据库移除的游客(Guest)身份用户,避免任何未授权用户的非法操作。

  这原本就是默认设置,不过还是要警惕以防万一某些DBO放松了对访问权的控制。也有存在例外的情况,那就是主数据库和临时数据库(tempdb),因为对它们而言,游客帐户是必需的。

  11、确保所有的SQL服务器数据和系统文件都安装在NTFS分区。

  确认必要的许可已经准备就绪,以防有非法入侵者获得对操作系统的存取操作权限,酿成大灾难。

  12、使用低特权用户而不是LocalSystem或Administrator作为SQL服务器服务的访问操作帐户。

  这个帐户应该只拥有最低权限(最好是本地用户的权限),并应该能够协助阻止服务器受到攻击。请注意,当使用Enterprise Manager或SQL Server Configuration Manager (SQL 2005版) 想要执行这个设置时,对文件、注册表和用户权限的访问控制表都是自动完成的。

  13、设置强密码来保护sa帐户的安全。

  前提是你设置的是SQL Server和Windows安全认证模式。如果可以,请把Windows认证模式设置为唯一的认证模式,这样可以不必担心有人会强行切入你的sa帐户。即便做了这样的设置,你还是要设置一个强密码,以防有人改变你的安全认证模式。

  14、选择你确实需要的那些网络库

  如果SQL服务器只允许本地访问,那何不禁用所有的网络库,并使用共享内存来访问SQL服务器呢?这样做可能会更好。只要把'(local)'作为服务器名就可以了。如果你的SQL服务器需要连接其他主机,那就使用TCP/IP netlib,然后确定是否需要SSL安全协议。

  15、确保你已经安装了最新的操作系统及SQL服务器的Service Packs和Hot-Fixes。

  这个应该不用别人提醒广大用户都会去做的。很简单,只要在你的SQL服务器上运行代码"select @@version",比较连接页面的结果就行了。

  16、把危险存储过程和扩展存储过程设置为只允许系统管理员对其进行存取操作。

  这些进程很多(推荐对下面列表中的进程进行设置),需要花上不少时间才能完成以上设置。切记先不要在产品服务器上执行这些设置,最好先在开发机上做测试,这样你就不用担心会影响到任何系统功能了。
娱乐休闲专区A 影视预告B 音乐咖啡C 英语阶梯D 生活百科
网页编程专区E AMPZF HTMLG CSSH JSI ASPJ PHPK JSPL MySQLM AJAX
Linux技术区 N 系统管理O 服务器架设P 网络/硬件Q 编程序开发R 内核/嵌入
管理中心专区S 发布网址T 版主议事U 事务处理