跳转到主要内容
SEO Title
data security :Five SQL Server Best Practices

你一直在电视新闻,印刷杂志和在线文章中听到它......一个新的漏洞,一个新的攻击,一个新的威胁,一个新的漏洞。
但是,您是否知道超过97%的数据泄露是由于SQL注入的帮助或完成的?
这意味着您的数据的最大漏洞不是来自新的和未知的,而是来自于未能遵循数据库安全性中经过验证的最佳实践。
那么,什么是SQL以及为什么它容易受到攻击?
简而言之,SQL Server是一种关系数据库管理系统(RDBMS),它依赖结构化查询语言(SQL)与应用程序交换数据。最大的SQL提供商是微软,它目前提供六个版本,这是今年的最新版本。 SQL Server的主要功能是在应用程序之间存储,接收和共享数据。这些应用程序可以通过云虚拟连接到服务器,也可以通过内部共享计算机网络连接。
2013年,Target直接了解到,当一个巨大的漏洞影响了超过4000万的客户及其借记卡和信用卡信息时,有害的SQL Server做法是多么糟糕。可悲的是,Target只是数百个每年遭受破坏的数据库之一。
为了使您和您的公司免受同样代价高昂的破坏,您应立即实施以下五种最佳实践:(1)在SQL本身之外进行身份验证,(2)删除不必要的用户,(3)限制权限,(4)监视失败登录尝试; (5)禁用未使用的功能或浏览器服务。我们来看看每一个。


1.在SQL本身之外进行身份验证


SQL Server的本机身份验证(称为“混合模式”)会带来巨大的安全风险,尤其是其对暴力攻击的脆弱性。今天,黑客暴力通过帐户强制执行可以每秒生成数百万个密码。不幸的是,SQL Server本身没有配备登录限制;因此,黑客可以在不被锁定的情况下尝试数百万个密码。而且,当SQL Server处理身份验证凭据(用户名和密码)时,不存在识别攻击的方法。因此,第一个最佳实践是在混合模式下避免SQL Server身份验证,并使用Windows身份验证连接到SQL Server。
Windows身份验证提供了以下主要优势:与SQL Server身份验证(Microsoft不提供支持)相比,Microsoft直接支持它,它可以防止和识别强力尝试,并将组织的帐户管理集中到Active Directory中。


2.删除不必要的用户


在数据库中,不应该同等地向所有用户授予访问权限,而是将其限制为与其工作相关的必要用户。将此视为“需要知道”的公式。数据库备份文件夹也是如此,其中应该向需要访问权限的用户授予权限。在用户级采用宽松,一刀切的访问规则会导致数据处理不当,删除关键文件以及滥用敏感信息。此外,删除离开公司的用户,对于消除心怀不满的员工的恶意活动至关重要。


3.限制权限


安装或运行SQL Server时,您将在三个系统定义的帐户之间进行默认选择:本地系统,网络服务和本地服务。这些帐户定义了您要运行的服务的权限(即权限)。而不是选择这三个系统定义的帐户之一,创建一个具有最小权限的本地域帐户。识别权限可能很困难,因此您应该根据员工需求再次限制权限,而不是为每个帐户做出假设。由于某些服务需要某些权限,因此您可能需要为每个服务创建单独的帐户。此外,只应为SQL Server帐户管理员提供数据,备份目录和读/写活动的完全授权。

4.监控登录失败


与我们的第一个最佳实践密切相关 - 在SQL本身之外进行身份验证 - 这个最佳实践也是关于防止暴力攻击。为此,您必须能够通过在Windows SQL Server身份验证中启用登录监控来审核失败的登录。启用后,失败并成功登录将记录在SQL Server错误日志中。有了这些信息,您可以根据正常的数据库行为创建更准确的用户和权限规则。通过扩展,您还可以识别异常行为并在威胁发生时对其进行响应。


5.禁用浏览器服务和未使用的功能


我们的最后一个最佳做法是使用SQL Server配置管理器禁用未使用的服务,或者如果您使用的是2008或更高版本的SQL Server,则通过基于策略的管理功能。应禁用XP_CMDSHELL,OLE AUTOMATION,OPENROWSET和OPENDATASET等功能,以减少表面区域攻击。
此外,SQL Server支持四种类型的协议:共享内存,命名管道,TCP / IP和VIA。为了进一步降低安全风险和损害,您应该只使用这些协议中的最低限度。与用户和权限一样,这意味着禁用未使用的所有功能或服务以及将协议保持在最低限度。
超越基本SQL最佳实践


刚才提到的五个实践将为您提供保护SQL Server安全的途径。除了基础知识之外,还需要其他最佳实践。

  • 其中一种额外做法是禁用SA帐户以防止攻击者使用默认管理员帐户
  • 您可能想要选择的另一种做法是强制执行复杂的密码和密码更改策略;
  • 实施密码短语而不是密码会使您不那么容易受到攻击,实际上员工可以更容易地跟踪。
  • 最后,请始终记住使用Windows身份验证模式并避免创建SQL Server登录;
  • 相反,使用Active Directory来控制对组的访问权限。


但是,您是否知道超过97%的数据泄露是由于SQL注入的帮助或完成的?虽然数据库安全性无法处理所有形式的SQL注入,但应该考虑使用最先进的Web应用程序防火墙(WAF)来防止SQL注入。
 

原文:https://www.imperva.com/blog/five-sql-best-practices/

本文:http://pub.intelligentx.net/five-sql-server-best-practices

讨论:请加入知识星球或者小红圈【首席架构师圈】