可能对我的 SQL 服务器进行攻击?

Mic*_*ens 15 sql-server-2008 sql-server

检查我的 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.
Run Code Online (Sandbox Code Playgroud)

等等..这可能是中国人对我的 SQL Server 的攻击吗???!我在 ip-lookup.net 上查找了 IP 地址,它说它是中文的。

怎么办?

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

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

提前致谢!

Mar*_*ith 30

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

  • 除了所需的端口外,防火墙应阻止对两个服务器的所有访问。通常,这将是 80 (http) 和 443 (https) 到 Web 服务器。
  • 如果(且仅当)外部服务需要访问 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 管理员、域管理员、本地管理员,所有这些。然后检查网络上任何地方的每台服务器,并删除您不认识的任何管理员帐户,或任何已离开公司的前雇员或顾问的帐户。然后病毒和恶意软件扫描每台服务器上的所有内容。

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

祝你好运。

  • 攻击服务器的人很可能不会坐在他的电脑前尝试一个又一个的密码。这可能是一个正在寻找漏洞的分布式僵尸网络。这种类型的攻击对于您在 Internet 上公开的每种服务都很常见。所以第一步不是封锁单个IP,而是更改管理员密码和用户名。如果这是一个好的密码,那么这个简单的步骤将为您赢得数年而不是数分钟。 (2认同)

小智 8

阻止所有不是来自您的 Web 服务器的数据库连接。真的。


dat*_*god 8

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


mrd*_*nny 8

如果没有防火墙阻止从 Internet 到 SQL Server 的所有网络访问,则不应在公共 Internet 上拥有任何服务器。如果您打开了 1433 端口,那么还有哪些其他端口可以打开?我的猜测是,您有很多对 Internet 开放的端口,如果是这种情况,您可能有人将您的 SQL Server 用于您不希望他们使用的东西。

您需要请专业人员来查看系统并尽快修复您的安全问题。天知道人们有没有成功闯入系统。(是的,我是一名顾问,是的,我可以完成这项工作,不,我并不是说您必须雇用我。)

至少你需要阅读网络安全和数据库安全(我什至有一关于这个主题的)并确保你的系统安全。

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

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