我的SQL服务器可能受到攻击?


15

检查我的SQL Server日志,我看到几个这样的条目:

Date: 08-11-2011 11:40:42
Source: Logon
Message: Login failed for user 'sa'. Reason: Password did not match for the login provided. [CLIENT: 56.60.156.50]
Date: 08-11-2011 11:40:42
Source: Logon
Message: Error: 18456. Severity: 14. State: 8.


Date: 08-11-2011 11:40:41
Source: Logon
Message: Login failed for user 'sa'. Reason: Password did not match for the login provided. [CLIENT: 56.60.156.50]
Date: 08-11-2011 11:40:41
Source: Logon
Message: Error: 18456. Severity: 14. State: 8.

等等。这可能是我的SQL Server受到中文攻击吗?!!我在ip-lookup.net上查询了该IP地址,该地址为中文。

怎么办?

  • 阻止防火墙中的IP地址?
  • 删除用户sa?

以及如何最好地保护我的Web服务器?

提前致谢!

Answers:


30

如果您有防火墙,为什么数据库服务器会暴露在互联网上?

  • 除所需的端口外,防火墙应阻止对两台服务器的所有访问。通常,对于Web服务器,这将是80(http)和443(https)。
  • 当(且仅当)外部服务需要访问SQL Server时,允许访问防火墙所需的特定IP地址。这应该通过VPN连接发生,而不是公开暴露1433。
  • 创建一个新的管理员帐户并禁用默认的“ sa”。
  • 最好从使用“混合模式”身份验证切换到Windows帐户。

10

您应该做的第一件事就是将此报告给负责公司网络和系统安全的人员。如果没有这样的人,请将其扔给网络管理员。如果没有这样的人,请立即致电CIO / CTO(更好的是,要求面对面)并说明情况。

这个人应该做的第一件事是阻止IP从防火墙进入。这将为您带来一点时间,但不会花费太多,也许只有几分钟。如果IP映射到WhoIs.net报告的IP范围,请阻止WhoIs提供的整个IP范围。这将阻止该家伙从其ISP请求新IP并获得新IP。也许几分钟。

然后按照马克·史密斯(Mark-Storey Smith)的话做。

然后添加防火墙或从DMZ中移动数据库。如果您已经有防火墙,而数据库不在DMZ中,则需要立即进行取证检查,以查看您和防火墙之间的中间服务器是否受到威胁(很可能已经受到威胁)。将所有管理员密码更改为非常长的复杂密码-sa,Windows管理员,域管理员,本地管理员,全部。然后,检查网络中所有位置的每台服务器,并删除所有您不认识的管理员帐户,或者删除离开公司的前雇员或顾问的任何管理员帐户。然后,病毒和恶意软件会扫描每台服务器上的所有内容。

然后进行第二遍,并再次检查以上所有内容。

祝好运。


2
攻击服务器的人没有坐在计算机前尝试输入另一个密码的可能性非常好。这可能是一个分布式僵尸网络,只是在寻找漏洞。对于您在Internet上公开的每种服务,这种类型的攻击都是常见的。因此,第一步不是阻止单个IP,而是更改管理员密码和用户名。如果这是一个好的密码,那么简单的步骤将为您节省数年而不是数分钟。
Phil


8

除了配置防火墙以阻止未经授权的流量外,别忘了将Windows帐户添加到sysadmin角色并禁用SA帐户!也禁用SQL身份验证。


8

如果没有防火墙阻止从Internet到SQL Server的所有网络访问,则不应在公用Internet上拥有任何服务器。如果您已打开端口1433,还有哪些其他端口需要打开?我的猜测是,您有许多开放给Internet的端口,如果是这种情况,您可能会有人使用您的SQL Server来执行您不希望他们使用的事情。

您需要请专业人员来查看系统并尽快修复安全性。上帝只知道人们是否成功地闯入了这个系统。(是的,我是一名顾问,是的,我可以做工作,不,我不是说您必须雇用我。)

至少您需要阅读有关网络安全和数据库安全的内容(我什至有一本书),并确保系统安全。

此时,您基本上需要遵循的步骤是...

  1. 设置防火墙以阻止除您实际需要的所有入站连接
  2. 对SQL Server进行非常好的病毒扫描。如果您尚未在SQL Server上安装病毒扫描程序,请假定它已被感染并格式化计算机。
  3. 遵循最佳实践设置数据库安全性:强密码,最低权限等。
  4. 对公司的其他所有服务器进行病毒扫描。如果尚未安装病毒扫描程序,则假定它们已被感染并格式化。

问题是,我真的不知道我需要哪些入站连接,而且我的预算不允许我聘请专业人士。---我也将服务器用作邮件服务器,这使我需要pop3,imap和smtp端口。我正在使用FTP上传网页,安装了SQL Server的MSSQL和PLESK(包括HORDE网络邮件)。---这基本上是我的设置。-我已重命名并禁用了SQLs SA acc,并重命名了Windows Administrator acc。
Behrens

我的防火墙设置是:oltm.dk/x/settings.jpg-我的入站规则是:oltm.dk/x/inbound.txt-我的出站规则是:oltm.dk/x/outbound.txt-也许您帮助我检查设置并删除不需要的规则?---列出的规则仅是已启用的规则。未显示所有残疾人(他们是否一直在活动?)
Behrens

@erizias如果您需要设置防火墙的帮助,则可能会在超级用户服务器故障甚至信息安全方面
jcolebrand
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.