数据库服务器的安全策略数据库服务器所面临的主要威胁是:SQL注入网络窃听未经授权的服务器访问密码破解SQL注入实施SQL注入攻击时,攻击者会充分利用应用程序的输入验证和数据访问代码中的漏洞,使用Web应用程序的安全上下文在数据库中随意运行命令。SELECT*fromUsersWHERElogin=''or'1'='1'ANDpassword=''or'1'='1'SQL注入SQL注入所利用的漏洞包括:安全性差的Web应用程序输入验证不安全、以动态方式构建的SQL命令应用程序登录数据库所使用的权限过高权限脆弱,无法对应用程序登录数据库施加限制网络窃听大多数应用程序的部署体系结构都包括从数据库服务器中物理分离出数据访问代码。因此,必须防止网络窃听者窃取诸如应用程序特定数据或数据库登录凭据等敏感数据。可加大网络窃听可能性的漏洞包括:不安全的通信渠道使用SQL而非Windows身份验证使用不带服务器证书的SQL身份验证未经授权的服务器访问应仅限特定客户端计算机可以直接访问数据库服务器,以防止未经授权的服务器访问。使数据库服务器易遭未经授权的服务器访问的漏洞包括:未在外围防火墙封锁SQLServer端口缺少IPSec或TCP/IP筛选策略攻击经过身份验证的用户和无用户名及密码的用户都可遭受直接连接攻击。例如:使用查询分析器(Isqlw.exe)或等效的命令行程序(Osql.exe)等工具建立到SQLServer的直接连接并发出命令。如果攻击者向侦听端口发送精心构建的数据包,诸如软件版本等服务器信息便会泄漏。密码破解常见的第一种攻击方式是尝试破解众所周知的帐户名称。导致密码破解的常见漏洞为:弱密码或空密码包含日常用语的密码攻击常见的密码破解攻击包括:字典攻击手动猜测密码对策要防范这些攻击,请:为SQLServer登录帐户创建符合复杂性要求的密码。避免使用包含字典中的常见词的密码。数据库服务器安全类别步骤1:修补程序和更新程序不及时安装最新的修补程序和更新程序为攻击者提供了充分利用已知漏洞实施攻击的机会。步骤2:服务要减少受攻击面并确保不受未发现的服务漏洞的影响,请禁用任何非必需的服务。运行那些仍使用最低权限帐户的服务。步骤3:协议防止使用不必要的协议可减少受攻击面。如果其他协议并非必需,请将它们全部禁用。步骤4:帐户请为用于运行和连接到数据库的帐户设置最低权限。本步骤的任务:保证数据库服务帐户的安全。删除或禁用不使用的帐户。禁用Windows来宾帐户。重命名管理员帐户。强制执行强密码策略。限制远程登录。禁用空会话(匿名登录)。步骤5:文件和目录除利用ACL保证操作系统文件的安全外,还要强化NTFS权限来限制对SQLServer程序文件、数据文件、日志文件以及系统级工具的访问。此外,还应只允许SQLServer服务帐户访问其所需的内容。步骤6:共享取消所有不使用的共享,并强化对任何必需共享的NTFS权限。默认情况下,所有用户对新创建的文件共享均具有完全控制权限。应强化这些默认权限,以确保只有经授权的用户才能访问共享所展露的文件。本步骤的任务:取消不必要的共享。限制对必需共享的访问。步骤7:端口默认情况下,SQLServer会侦听TCP端口1433,并将UDP端口1434用于客户端与服务器间的协商。应结合使用防火墙和IPSec策略来限制对这些端口的访问,从而将攻击者可利用的攻击途径降至最低水平。本步骤的任务:限制对SQLServer端口的访问。配置命名实例来侦听同一端口。配置防火墙来支持DTC通信。步骤8:注册表安装SQLServer时会产生大量注册表项和子项,其中存放有重要的系统配置设置。因此,保证这些设置的安全,以防止攻击者通过更改它们来损害SQLServer安装的安全,就显得很重要。步骤9:审核和日志尽管在辨别入侵者和进行中的攻击行为及诊断攻击痕迹方面审核是必不可少的工具,但它并不能防止发生系统攻击。本步骤的任务:记录所有失败的Windows登录尝试。记录文件系统中所有失败的操作。启用SQLServer登录审核。步骤10:SQLServer安全机制需使用企业管理器“SQLServer属性”对话框的“安全性”选项卡进行配置。这些设置的应用对象是单一SQLServer实例中的所有数据库。步骤11:SQLServer登录、用户及角色请利用以下建议来改进数据库中的授权设置:使用强sa(系统管理员)密码。删除SQL来宾用户帐户。删除BUILTIN\Administrators服务器登录不为公共角色授予权限。谢谢界面设计控件对齐控件之间保留统一间距每一个网页标明标题,不要使用弹出窗口(windows.open)非提交数据不能选择按钮样式,应选择链接样式。