如果我发现有人强制我的服务器密码,我该怎么办?

我刚刚检查了我的VPS事件日志,发现有人是蛮力强制我的SQL Server SA密码和Windowspipe理员密码。 (我已经把pipe理员的帐户名更改为别的,但他们使用正确的帐户名!)

有什么我可以做,以防止他们做到这一点? 我的操作系统是Windows Server 2008 R2和SQL Server 2008 R2 Express。

编辑:似乎攻击IP地址不断变化。 所以阻止他们将需要很多努力。

不幸的是,任何暴露在公共互联网上的服务器,这都是一个事实。 总会有一些白痴试图入侵。我的私人服务器每天都会看到几千个无效的login尝试。

您可以在前面放置一个防火墙,并从一个隐蔽的端口进行端口转发到RDP端口。 这不会保护任何东西,但至less有一些交通将会消失。

您可以将日志中最频繁的IP地址报告给相关服务提供商(使用whois查找给定IP地址的服务提供商,Whois响应还会为您提供滥用和垃圾邮件的电子邮件地址)。 过去我已经取得了一些成功。

在Linux机器上,我总是推荐一个名为fail2ban的软件包,它监视ssh日志,然后创build临时防火墙规则来阻止来自这些地址的任何sshstream量。 这通常会阻止袭击死亡的痕迹。 我不知道Windows Server的任何等效包,对不起。

实际上,使其更长(例如30个字符的密码短语)并定期更改。

为什么你的SQL Server也暴露在互联网上呢?

暴力攻击的解决scheme(除了阻止其他答案的访问外)是使其不太可能成功。

  • 复杂的密码(没有常用词,特殊字符,大写/小写混合,在…中至less有8个字符… …的数字是15或更多)。
  • login尝试的计时器。 如果您只允许每15秒或3次尝试/分钟,或者您可以限制它,自动攻击不能垃圾邮件login尝试。
  • 一个locking策略… 3失败的尝试,它locking了一段时间,即一个半小时。 自然,如果是pipe理员帐户,这可能会很麻烦。

我通常只是阻止IP。 对于分布式攻击,取决于地理来源的IP段的临时块。

为什么你首先要让你的数据库服务器访问到任何人 ? 而不是试图有select地阻止,你应该select性地允许 。 在您的防火墙规则中,将您的LAN(显然),公司拥有的任何IP范围(例如其他位置)和您的家庭ISP使用的IP地址列入白名单(例如, 如果您有时需要维护或家中的紧急故障排除;如果不是,则忽略下一段)。

如果您觉得整个ISP的白名单似乎有点过于宽容,那么请贵公司在您的家中使用静态IP地址支付商业级服务费,或者让您的DHCP分配的IP地址不会改变经常和白名单您的当前IP地址。 (然后定期检查是否有变化,并相应地更新白名单。)显然,静态IP地址的解决scheme是最安全和最可靠的。 (如果你向pipe理层解释攻击的频率和涉及的风险,他们可能会意识到每月$ 50便宜得多

这种预防措施可以其他措施一起使用 ,例如:

  • 使用一个模糊的端口
  • 使用fail2ban或syspeace
  • 一个漫长而复杂的密码
  • login尝试之间的延迟