`
izuoyan
  • 浏览: 8948311 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

十大绝招保护SQL Server数据库安全

阅读更多
1. 安装最新的服务包

  为了提高服务器安全性,最有效的一个方法就是升级到SQL Server 2000 Service Pack 3a (SP3a)。另外,您还应该安装所有已发布的安全更新。

  2. 使用Microsoft基线安全性分析器(MBSA)来评估服务器的安全性

  MBSA 是一个扫描多种Microsoft产品的不安全配置的工具,包括SQL Server和Microsoft SQL Server 2000 Desktop Engine(MSDE 2000)。它可以在本地运行,也可以通过网络运行。该工具针对下面问题对SQL Server安装进行检测:

  1) 过多的sysadmin固定服务器角色成员。

  2) 授予sysadmin以外的其他角色创建CmdExec作业的权利。

  3) 空的或简单的密码。

  4) 脆弱的身份验证模式。

  5) 授予管理员组过多的权利。

  6) SQL Server数据目录中不正确的访问控制表(ACL)。

  7) 安装文件中使用纯文本的sa密码。

  8) 授予guest帐户过多的权利。

  9) 在同时是域控制器的系统中运行SQL Server。

  10) 所有人(Everyone)组的不正确配置,提供对特定注册表键的访问。

  11) SQL Server 服务帐户的不正确配置。

  12) 没有安装必要的服务包和安全更新。

  Microsoft 提供 MBSA 的免费下载。

  3. 使用Windows身份验证模式

  在任何可能的时候,您都应该对指向SQL Server的连接要求Windows身份验证模式。它通过限制对Microsoft Windows用户和域用户帐户的连接,保护SQL Server免受大部分Internet工具的侵害,而且,您的服务器也将从Windows安全增强机制中获益,例如更强的身份验证协议以及强制的密码复杂性和过期时间。另外,凭证委派(在多台服务器间桥接凭证的能力)也只能在Windows身份验证模式中使用。在客户端,Windows身份验证模式不再需要存储密码。存储密码是使用标准SQL Server登录的应用程序的主要漏洞之一。要在SQL Server的Enterprise Manager安装Windows身份验证模式,请按下列步骤操作:

  1)展开服务器组。

  2)右键点击服务器,然后点击属性。

  3)在安全性选项卡的身份验证中,点击仅限Windows。

  4. 隔离您的服务器,并定期备份

  物理和逻辑上的隔离组成了SQL Server安全性的基础。驻留数据库的机器应该处于一个从物理形式上受到保护的地方,最好是一个上锁的机房,配备有洪水检测以及火灾检测及消防系统。数据库应该安装在企业内部网的安全区域中,不要直接连接到Internet。定期备份所有数据,并将副本保存在安全的站点外地点。

  5. 分配一个强健的sa密码

  sa帐户应该总拥有一个强健的密码,即使在配置为要求 Windows 身份验证的服务器上也该如此。这将保证在以后服务器被重新配置为混合模式身份验证时,不会出现空白或脆弱的sa。

  要分配sa密码,请按下列步骤操作:

  1) 展开服务器组,然后展开服务器。

  2) 展开安全性,然后点击登录。

  3) 在细节窗格中,右键点击SA,然后点击属性。

  4) 在密码方框中,输入新的密码。

  6. 限制 SQL Server服务的权限

  SQL Server 2000和SQL Server Agent是作为Windows服务运行的。每个服务必须与一个Windows帐户相关联,并从这个帐户中衍生出安全性上下文。SQL Server允许sa登录的用户(有时也包括其他用户)来访问操作系统特性。这些操作系统调用是由拥有服务器进程的帐户的安全性上下文来创建的。如果服务器被攻破了,那么这些操作系统调用可能被利用来向其他资源进行攻击,只要所拥有的过程(SQL Server服务帐户)可以对其进行访问。因此,为SQL Server服务仅授予必要的权限是十分重要的。

  我们推荐您采用下列设置:

  1) SQL Server Engine/MSSQLServer

  如果拥有指定实例,那么它们应该被命名为MSSQL$InstanceName。作为具有一般用户权限的Windows域用户帐户运行。不要作为本地系统、本地管理员或域管理员帐户来运行。

  2) SQL Server Agent Service/SQLServerAgent

  如果您的环境中不需要,请禁用该服务;否则请作为具有一般用户权限的Windows域用户帐户运行。不要作为本地系统、本地管理员或域管理员帐户来运行。

  重点: 如果下列条件之一成立,那么SQL Server Agent将需要本地Windows管理员权限:

SQL Server Agent使用标准的SQL Server身份验证连接到SQL Server(不推荐);

SQL Server Agent使用多服务器管理主服务器(MSX)帐户,而该帐户使用标准SQL Server身份验证进行连接;

SQL Server Agent运行非sysadmin固定服务器角色成员所拥有的Microsoft ActiveX脚本或 CmdExec作业。

  如果您需要更改与SQL Server服务相关联的帐户,请使用 SQL Server Enterprise Manager。Enterprise Manager将为SQL Server所使用的文件和注册表键设置合适的权限。不要使用Microsoft管理控制台的“服务”(在控制面板中)来更改这些帐户,因为这样需要手动地调制大量的注册表键和NTFS文件系统权限以及Micorsoft Windows用户权限。

  帐户信息的更改将在下一次服务启动时生效。如果您需要更改与SQL Server以及SQL Server Agent相关联的帐户,那么您必须使用Enterprise Manager分别对两个服务进行更改。

  7. 在防火墙上禁用SQL Server端口

  SQL Server的默认安装将监视TCP端口1433以及UDP端口1434。配置您的防火墙来过滤掉到达这些端口的数据包。而且,还应该在防火墙上阻止与指定实例相关联的其他端口。

  8. 使用最安全的文件系统

  NTFS是最适合安装SQL Server的文件系统。它比FAT文件系统更稳定且更容易恢复。而且它还包括一些安全选项,例如文件和目录ACL以及文件加密(EFS)。在安装过程中,如果侦测到 NTFS,SQL Server将在注册表键和文件上设置合适的ACL。不应该去更改这些权限。

  通过EFS,数据库文件将在运行SQL Server的帐户身份下进行加密。只有这个帐户才能解密这些文件。如果您需要更改运行SQL Server的帐户,那么您必须首先在旧帐户下解密这些文件,然后在新帐户下重新进行加密。

  9. 删除或保护旧的安装文件

  SQL Server安装文件可能包含由纯文本或简单加密的凭证和其他在安装过程中记录的敏感配置信息。这些日志文件的保存位置取决于所安装的SQL Server版本。在SQL Server 2000中,下列文件可能受到影响:默认安装时:\Program Files\Microsoft SQL Server\MSSQL\Install文件夹中,以及指定实例的:\Program Files\Microsoft SQL Server\ MSSQL$\Install文件夹中的sqlstp.log, sqlsp.log和setup.iss。

  如果当前的系统是从SQL Server 7.0安装升级而来的,那么还应该检查下列文件:%Windir% 文件夹中的setup.iss以及Windows Temp文件夹中的sqlsp.log。

  Microsoft发布了一个免费的实用工具Killpwd,它将从您的系统中找到并删除这些密码。

  10. 审核指向SQL Server的连接

  SQL Server可以记录事件信息,用于系统管理员的审查。至少您应该记录失败的SQL Server连接尝试,并定期地查看这个日志。在可能的情况下,不要将这些日志和数据文件保存在同一个硬盘上。

  要在SQL Server的Enterprise Manager中审核失败连接,请按下列步骤操作:

 11) 展开服务器组。

  2) 右键点击服务器,然后点击属性。

  3) 在安全性选项卡的审核等级中,点击失败。

  4) 要使这个设置生效,您必须停止并重新启动服务器。

分享到:
评论

相关推荐

    (更新至2022年)城镇男性就业人员调查周平均工作时间.xls

    数据来源:中国人口与就业统计NJ-2023版

    各地区技工院校综合情况(2022年).xls

    数据来源:中国劳动统计NJ-2023版

    基于matlab实现样本熵算法,可用于提取生理信号的特征参数

    基于matlab实现样本熵算法,可用于提取生理信号的特征参数,运算速度较快,m=1或2;r=0.1_std(data)~0.25_std(data)最佳。.rar

    蜂网-SCM车销访销业务.pptx

    蜂网_SCM车销访销业务.pptx

    数据更新至2020年国民经济主要指标一览表.xls

    数据来源:中国电力统计NJ-2021版

    图书借阅管理系统设计与实现及论大学生写作能力.docx

    图书借阅管理系统设计与实现及论大学生写作能力.docx

    node-v10.19.0-linux-armv6l.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    商品零售价格分类指数(2022年)(上年=100).xls

    数据来源:中国劳动统计NJ-2023版

    数据更新至2020年电网建设 本年开工规模.xls

    数据来源:中国电力统计NJ-2021版

    基于数据服务的信息需求管理系统设计与实现.docx

    基于数据服务的信息需求管理系统设计与实现.docx

    基于matlab实现的多个无人机的群飞行仿真 多个无人机的群飞行仿真.rar

    基于matlab实现的多个无人机的群飞行仿真 多个无人机的群飞行仿真.rar

    #-001-mysql-快递管理系统ssm(毕设和论文)

    随着物流行业信息化的深入使得物流过程中货物的状态和变化透明化,现代信息化的接入使得物流成本和费用的更容易被掌握,从而增强了信息的准确性。与此同时动态信息能够被及时掌握,根据实际情况做出快速而有效的反应,实现物流运作的动态决策。信息的及时、全面的获取与加工,供需双方可以充分的信息共享与沟通,使得物流服务更准确、从而提高客户的满意度;同时顾客可以有更多自我服务功能,可以随意定义自己的定制的物流服务;另外在提供物流服务的同时,可以为顾客提供信息、资金等双赢的增值服务。 该系统用spring mvc和MySQL实现了快递管理系统。快递管理系统有着很好的应用前景,随着计算机技术和网络技术的发展,它的功能将会得到不断的发展和完善。本系统可以根据实际应用的具体情况,适当加以修改,以便更好应用。本系统操作简单,灵活性好,系统安全性高,运行稳定。本文详细介绍了快递管理系统开发和设计的全过程。

    各地区分行业其他单位就业人员和工资总额(2022年).xls

    数据来源:中国劳动统计NJ-2023版

    node-v11.14.0-darwin-x64.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    基于VB实现的医疗纠纷检索系统设计(源代码+系统).zip

    【作品名称】:基于VB实现的医疗纠纷检索系统设计(源代码+系统) 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。

    数据更新至2020年分布式太阳能发电情况.xls

    数据来源:中国电力统计NJ-2021版

    node-v11.3.0-linux-arm64.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    农村居民分地区人均可支配收入来源(2022年).xls

    数据来源:中国劳动统计NJ-2023版

    tensorflow-rocm-2.13.1.600-cp39-cp39-manylinux2014-x86-64.whl

    cnn

    node-v10.14.1-linux-arm64.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

Global site tag (gtag.js) - Google Analytics