◆ 应用最小权限规则。确保具有管理权限(和用户级别访问权限,实际上)只拥有最小的必要的权限子集来执行他们的工作任务。
◆ 避免将密码硬编码,这就像一场灾难。数据库开发人员喜欢在他们的程序中将密码硬编码,因为这种方式非常简单。不要让他们那么做!使用SQL Server的集成认证模式来约束Windows的安全,或者强迫用户自己到数据库上去认证。如果你听到了下面这句话,“我们没法改变密码或者XYZ被破解了,”那么你可以认为自己看到了一面大红旗在面前飘荡!
◆ 利用角色。SQL Server提供了一些预先定义的用户角色,它们具有一些特定的管理权限。你还可以为你的特定环境需求创建定制的角色。在你的数据库上分配权限给这些角色,然后根据人们工作职责的变化从这些角色中添加和删除用户/群。这有利于非常严格的安全环境,并且允许你对访问权限控制的记录。
我们的安全检查列表:
1. 确认已经安装了NT/2000和SQL Server的最新补丁程序,不用说大家应该已经安装好了,但是我觉得最好还是在这里提醒一下。
2. 评估并且选择一个考虑到最大的安全性但是同时又不影响功能的网络协议。 多协议是明智的选择, 但是它有时不能在异种的环境中使用。
3. 给 "sa" 和 "probe" 帐户设定强壮的密码来加强其安全性。设定一个强壮的密码并将其保存在一个安全的地方。 注意: probe帐户被用来进行性能分析和分发传输。 当在标准的安全模态中用的时候 , 给这个帐户设定高强度的密码能影响某些功能的使用。
4. 使用一个低特权用户作为 SQL 服务器服务的查询操作账户,不要用 LocalSystem 或sa。 这个帐户应该有最小的权利 ( 注意作为一个服务运行的权利是必须的)和应该包含( 但不停止)在妥协的情况下对服务器的攻击。 注意当使用企业管理器做以上设置时 , 文件,注册表和使用者权利上的 ACLs同时被处理。
5. 确定所有的 SQL 服务器数据,而且系统文件是装置在 NTFS 分区,且appropraite ACLs 被应用。 如果万一某人得到对系统的存取操作权限,该层权限可以阻止入侵者破坏数据,避免造成一场大灾难。
6.如果不使用Xp_cmdshell就关掉。 如果使用 SQL 6.5, 至少使用Server Options中的SQLExecutieCmdExec 账户操作限制非sa用户使用XP_cmdshell.
|
您将承担一切因您的行为、言论而直接或间接导致的民事或刑事法律责任
留言板管理人员有权保留或删除其管辖留言中的任意内容 本站提醒:不要进行人身攻击。谢谢配合。 |