如何保护 SQL Server 免受黑客攻击

All*_*ing 9 security sql-server

我遇到了问题,不知道如何处理。我在 Windows 2008 R2 服务器上有一个 SQL Server。此 SQL Server 2005 正用于从位于 Internet 其他位置的另一个 SQL Server 接收数据库订阅。我通过防火墙打开了 sql server 端口,但是在范围内,我输入了其他 SQL Server 的 IP。这样做我希望通过该端口的连接请求不会到达 SQL Server,除非请求来自其他 SQL Server(其 IP 列在防火墙规则的范围内)。但是,当我看到日志时,有数百个“登录失败的用户 sa”条目(它们每过一秒都会出现)。似乎某些黑客正在尝试蛮力猜测用户 sa 密码。但问题是,为什么 Windows 允许这些请求到达 SQL Server,即使它们不是来自防火墙范围中列出的 IP 地址?保护此 SQL Server 的正确方法是什么。除了其他 SQL Server 的 IP,没有其他 IP 需要连接到此 sql server。

编辑 - 更多信息:

我在不同机器的 sql server 端口上运行 telnet。Telnet 会失败,除非它是从防火墙范围中特别提到的机器上运行的。因此,防火墙似乎很好地阻止了 sql server 端口。但是,为什么我会在 SQL Server 日志中看到来自不同 IP 地址的用户“sa”的登录请求失败?黑客是否有可能通过端口 80 进入机器,然后以某种方式尝试连接到 sql server?端口 80 和 443 对所有人开放。除了 sql server 端口(并且仅对一个特定 IP 开放)之外,所有其他端口都已关闭。在 Web 服务器上的 80 端口上没有运行任何可能导致访问者访问 SQL 服务器的内容。实际上,Web 服务器中只有一个 index.html(与 SQL 无关的纯 HTML)文件。这只是一个正在设置以供将来使用的测试服务器。仅在 SQL Server 中测试数据。

编辑:

我打开了防火墙跟踪以包括丢弃和成功连接。它现在正在追踪一切。然后我转到 SQL Server 日志,在那里我看到这些来自中国不同 IP 地址的失败登录尝试。但是防火墙日志中没有这些 IP 地址的条目。这怎么可能?他们可以完全绕过防火墙访问 SQL 服务器吗?如果假设某个防火墙端口是开放的,他们可以通过它进入,防火墙日志应该显示该 IP 地址的条目。我完全不知所措。

mrd*_*nny 12

听起来您的防火墙配置不正确。这是第一步。

通常我不会对我写的书进行皮条客,但在这种情况下,我会破例。它称为保护 SQL Server,它将为您提供一个良好的开端。