如果被暴力破解干挂的,.dmp文件里一般有netkvm、tcpip.sys、nonpagedpool、IRQL_NOT_LESS_OR_EQUAL 、BAD_IP_nt等关键词。
2008R2在高并发场景中的性能瓶颈在2012R2中并没有得到明显优化,最终在2016上落地了。
遇到一例典型case,16点出头,系统非常卡,查看CPU、内存、出带宽都不是太高,硬盘监控也无异常,等了1个小时还是卡,17:09在控制台点了重启按钮,等了5分钟,重启失败了,虽然重启失败了,并没有“已关机”,但过了2个小时看的时候发现服务器关机了,于是开了机。对这个关机很困惑,到底是谁干的呢?
过滤16:00~20:00的事件ID为12,13,20,6005,6006的日志,发现机器是17:27:11关机的,这个关机到底是怎么发生的?
从事件ID6006(关机之前都有“事件日志服务已停止”)往前倒,发现从那天下午4点出头就有大量的事件ID4625,意味着当时在遭受暴力破解,然后系统就卡得要死,缓了一个小时没好转过来,不得已17:09在控制台点了重启按钮,5分钟后发现重启失败。实际上这个失败是控制台操作的超时设计。当时系统很卡,控制台下发指令了,但是系统没有回过神来响应指令,大约过了17分钟后,系统才响应了下发的关机指令(重启分2步,先关机、再开机,由于关机阶段超时,开机指令不会再下发),因此出现了一开始说的现象。
4625暴力破解攻击结束后影响了SqlServer,系统缓了1个小时都没缓过神来,不得已17:09点了重启
下发重启指令后过了17分钟才响应
2020/11/19 17:26:52 | 3596 | 5325 | Information | Microsoft-Windows-GroupPolicy/Operational | Microsoft-Windows-GroupPolicy | 组策略从服务控制管理器接收到 preshutdown 通知。 |
---|
为什么暴力破解对SqlServer影响很大?
查了很多资料,暴力破解对nonpagedpool的消耗是很大的,而正好SqlServer的正常工作也非常依赖nonpagedpool,而操作系统的nonpagedpool占内存的比重较低,虽然当时看内存总使用量可能连80%都没有,但被暴力破解后,nonpagedpool可能已经被占满了,即便没有跑其他业务,操作系统本身也得缓至少半个小时左右才能正常响应指令,更何况还有个SqlServer。
暴力破解导致蓝屏的报错码或SqlServer业务配置不当导致系统宕机的dmp文件报错码通常是 IRQL_NOT_LESS_OR_EQUAL。网络世界凶险无比,因此有必要修改默认远程端口号、使用复杂密码生成工具或命令生成的复杂密码。
温馨提醒:2008R2有安全漏洞,微软2020年1月14日已停止安全更新,腾讯云2008R2公共镜像也于今年3月份下线,目前云市场Windows镜像正在整顿安全问题,短期内无法提供服务。出于安全考虑,建议使用≥2016公共镜像,≥2016的系统在高并发场景下的承受力是2008R2/2012R2的2倍。虽然≥2016的Windows系统本身安全性较强,但如果自己设置弱密码,仍然会很容易被暴力破解成功而导致加密勒索等危害。请一定注意设置复杂密码,合理运用安全组只放行需要在外网访问的业务端口,不要放行其他的,放行所有的话虽然方便但安全隐患较大,请根据自己业务合理配置。如能合理配置安全组、下载的东西能杀完毒再用、上传东西之前先杀毒确保没毒再上传、及时安装补丁、不设置弱密码、合理配置业务系统确保业务系统无bug无漏洞,发生安全问题的风险会大大降低。
特别说明:2008R2 远程漏洞修了也没用,不是修了漏洞就不会暴力破解蓝屏了,照样会,只是看强度。不是换了2016、2019系统就万事大吉了,攻击强到一定程度,对nonpagedpool的损耗是很大的,≥2012R2的系统在暴力破解强度很大的时候也会挂,建议及时打补丁。只是相对来说2016、2019撑得更久一些,建议使用高版本系统。另外,建议修改默认远程端口号,安全组最好只放行客户端固定IP(可能会变,注意调整)。
Nonpaged Pool(非分页池)
The kernel and device drivers use nonpaged pool to store data that might be accessed when the system can’t handle page faults. The kernel enters such a state when it executes interrupt service routines (ISRs) and deferred procedure calls (DPCs), which are functions related to hardware interrupts. Page faults are also illegal when the kernel or a device driver acquires a spin lock, which, because they are the only type of lock that can be used within ISRs and DPCs, must be used to protect data structures that are accessed from within ISRs or DPCs and either other ISRs or DPCs or code executing on kernel threads. Failure by a driver to honor these rules results in the most common crash code, IRQL_NOT_LESS_OR_EQUAL.
结合https://cloud.tencent.com/developer/article/1957062 ,更推荐≥2019的系统。