我遇到了问题,无法弄清楚如何处理它.我在
Windows 2008 R2服务器上有一个sql Server.此sql Server 2005用于从位于Internet上其他位置的另一个sql Server接收数据库订阅.我通过防火墙打开了sql server端口,但是在范围内,我已经输入了其他sql Server的IP.这样做我希望通过该端口的连接请求不会到达sql Server,除非请求来自其他sql Server(其IP列在防火墙规则的范围内).但是,当我看到日志时,有数百个“登录失败的用户sa”条目(并且它们每次传递第二个).看来有些黑客正试图用蛮力来猜测用户密码.但问题是,为什么Windows让这些请求到达sql Server,即使它们不是来自防火墙范围中列出的IP地址?保护此sql Server的正确方法是什么.没有其他IP比其他sql Server的IP需要连接到此sql Server.
编辑 – 更多信息:
我在不同机器的sql server端口上运行telnet.除非从防火墙范围中特别提到的计算机运行,否则Telnet会失败.所以看起来防火墙正在阻止sql server port.但那么为什么我在sql Server日志中看到来自不同IP地址的用户“sa”的登录请求失败?是否有可能黑客通过端口80进入机器,然后以某种方式尝试连接到sql服务器? 80号和443号港口向所有人开放.所有其他端口都关闭,但sql server端口除外(并且只对一个特定IP打开).端口80上的Web服务器上没有任何运行可能导致访问者访问sql服务器.实际上,Web服务器中只有一个index.html(纯HTML与sql没有连接)文件.这只是为将来使用而设置的测试服务器.仅测试sql Server中的数据.
编辑:
我打开了防火墙跟踪,包括丢弃和成功连接.它现在正在追踪一切.然后我转到sql Server日志,在那里我看到来自中国不同IP地址的失败登录尝试.但是防火墙日志中没有这些IP地址的条目.这怎么可能?他们可以完全绕过防火墙到sql服务器吗?如果假设某些防火墙端口已打开并且可以通过,则防火墙日志应显示该IP地址的条目.我完全失去了.
解决方法
听起来您的防火墙配置不正确.这是第一步.
通常情况下,我不会写一本我写过的书,但在这种情况下,我会做一个例外.它被称为Securing SQL Server,它会给你一个良好的开端.