我们将为您讲一个有趣的故事,讲述“第三方”如何试图干扰客户的工作以及如何解决此问题。
一切如何开始
一切始于10月31日上午,即当月的最后一天,当时许多人迫切需要设法解决紧迫而重要的问题。
将其服务的多个客户端虚拟机保存在我们云中的合作伙伴之一报告说,从9:10到9:20,乌克兰站点上运行的多个Windows服务器一次不接受与远程访问服务的连接。 ,用户无法访问其台式机,但是几分钟后问题似乎得以解决。
我们提高了通信渠道的统计信息,但未发现任何流量突发或故障。 查看有关计算资源负载的统计信息-没有异常。 那是什么?
然后,另一个在我们的云中放置了数百台服务器的合作伙伴报告了一些客户指出的相同问题,结果证明这些服务器通常都可用(它们对ping测试和其他请求正确响应),但是服务这些服务器上的远程访问要么接受新连接,然后拒绝它们,这又是不同站点上服务器的问题,这些站点的流量来自不同的数据传输通道。
让我们看一下这种流量。 带有建立连接请求的数据包到达服务器:
xx:xx:xx.xxxxxx IP xxx.xxx.xxx.xxx.58355 > 192.168.xxx.xxx.3389: Flags [S], seq 467744439, win 64240, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0
服务器收到此数据包,但连接拒绝:
xx:xx:xx.xxxxxx IP 192.168.xxx.xxx.3389 > xxx.xxx.xxx.xxx.58355: Flags [R.], seq 0, ack 467744440, win 0, length 0
这意味着该问题显然根本不是由基础架构中的某些故障引起的,而是由其他原因引起的。 也许所有用户在许可远程桌面时都遇到问题? 也许某些恶意软件设法渗透到了他们的系统中,但是今天它已经像几年前的
XData和
Petya一样被激活
了 ?
当他们进行整理时,他们收到了更多其他客户和合作伙伴的类似请求。
在这些机器上会发生什么?
事件日志中充满了有关尝试查找密码的消息:

通常,此类尝试将记录在所有使用标准端口(3389)进行远程访问服务并且允许从任何位置进行访问的服务器上。 互联网上到处都是漫游器,它们会不断扫描所有可用的连接点并尝试查找密码(因此,我们强烈建议您使用复杂的密码而不是“ 123”)。 但是,那天的尝试强度很高。
怎么办
建议客户端花费大量时间来更改大量最终用户的设置以切换到另一个端口? 这不是一个好主意,客户不会满意。 建议只允许通过VPN访问? 急忙慌张地建立不从其发起的IPSec连接-也许,这种幸福也不会对客户端微笑。 尽管我必须说,这在任何情况下都是慈善事务,但我们始终建议您将服务器隐藏在专用网络上,并准备好进行设置;对于那些喜欢整理的人,我们将独立分享有关在站点间或道路模式下在我们的云中设置IPSec / L2TP的说明-warrior,如果有人想在自己的Windows服务器上提高VPN服务,他们总是准备分享有关如何提高标准RAS或OpenVPN的技巧。 但是,无论我们多么酷,这都不是在客户中开展教育工作的最佳时机,因为有必要尽快消除对用户的压力。
我们实施的解决方案如下。 我们通过以下方式对通过的流量进行分析:监视所有尝试建立与端口3389的TCP连接的尝试,并从中选择在150秒内尝试与网络上16个以上不同服务器建立连接的地址-这些是攻击的来源(当然,如果客户或合作伙伴之一确实需要与来自相同来源的这么多服务器建立连接,则可以始终将这些来源添加到“白名单”中。此外,如果在这150个C类网络中 秒,检测到超过32个地址,则有可能将整个网络都屏蔽掉。将阻塞设置为3天,如果在这段时间内没有对此来源进行攻击,则该来源会自动从黑名单中删除。被阻止来源的列表每300秒更新一次。
可在以下地址找到此列表:
https :
//secure.tucha.ua/global-filter/banned/rdp_ddos ,您可以在此基础上构建自己的ACL。
我们已经准备好共享这种系统的源代码,没有什么超级复杂的(这些简单的脚本实际上是在几个小时内“膝上”编写的),并且可以对其进行修改和使用,不仅可以防止这种攻击,还可以识别并阻止任何网络扫描尝试:
点击此链接。此外,我们对监视系统的设置进行了一些更改,该监视系统现在密切监视云中虚拟服务器的控制组对建立RDP连接的尝试的反应:如果响应没有持续一秒钟,那么这是一个值得关注的场合。
事实证明该解决方案非常有效:客户,合作伙伴以及监控系统都不再抱怨。 “黑名单”通常包括新地址和整个网络,这表明攻击仍在继续,但不再影响我们客户的工作。
实地不是战士
今天,我们了解到其他运营商也面临类似的问题。 仍然有人认为是Microsoft对远程访问服务代码进行了一些更改(如果您还记得,我们在第一天就怀疑了同一件事,但是我们很快拒绝了此版本),并承诺将尽一切可能使之成为可能。尽快找到解决方案。 有人只是忽略了问题,并建议客户保护自己(更改连接端口,将服务器隐藏在专用网络上,等等)。 在第一天,我们不仅解决了这个问题,而且还为我们计划开发的更具全局性的威胁检测系统奠定了基础。

特别感谢客户和合作伙伴,他们没有保持沉默,也没有坐在河岸上,因为有一天敌人的尸体会漂浮在河上,并立即将我们的注意力转移到问题上,这使我们有机会在同一天消除它。