当前位置:首页 > 探索

远程漏洞应该关闭那个端口

445端口,远程应该关了它。漏洞别犹豫。关闭

2017年5月12日,端口英国一名22岁的远程应该安全研究员Marcus Hutchins在Twitter上发了一句话,大意是漏洞他无意中注册了一个域名,结果把WannaCry勒索病毒的关闭传播给掐断了。这个域名对应的端口端口就是445。WannaCry在一天之内感染了150个国家的远程应该20多万台机器,英国国家医疗服务体系瘫痪,漏洞手术取消,关闭救护车改道。端口病毒传播靠的远程应该是NSA泄露的"永恒之蓝"漏洞,攻击的漏洞就是Windows系统的SMB服务,默认监听445端口。关闭

很多人不知道445端口平时在干什么。简单说,它是Windows用来做文件共享和打印机共享的。你在办公室能访问同事电脑上的共享文件夹,靠的就是它。问题是,这个端口从Windows 2000时代就被反复爆出远程代码执行漏洞,MS08-067、MS17-010,一个比一个狠。微软每次发补丁,攻击者就找下一个绕过方式。打补丁的速度永远追不上漏洞被发现的速度。

我自己的习惯是,拿到任何一台Windows机器,第一件事就是检查445。命令很简单:netstat -an | findstr :445。如果显示LISTENING,而你又不在一个严格隔离的内网环境里,那这台机器就是活靶子。别跟我说什么防火墙规则,很多家用路由器默认放行局域网内的445流量,一旦有一台机器中招,横向移动的速度比你反应快得多。

2019年,我帮一个朋友处理过一台被挖矿病毒感染的服务器。攻击入口就是445。那台机器跑的是Windows Server 2008 R2,补丁停留在2016年。病毒进来之后,先关掉了Windows Defender,然后下载了一个XMRig矿工。CPU占用飙到100%,风扇响得像吹风机。朋友说"我就开了个共享给同事传文件"。传文件的方式有一万种,为什么非要用SMB?

关闭445的方法不复杂。如果是单机,直接在防火墙里加一条入站规则,阻止TCP和UDP的445端口。命令行也行:netsh advfirewall firewall add rule name="Block445" dir=in action=block protocol=TCP localport=445。如果是服务器,还得检查一下有没有依赖SMB的服务,比如某些备份软件或者域控。域控环境里445不能随便关,但至少要在边界防火墙上做严格限制,别让外部流量进来。

有人会说,我关了445,共享打印机用不了怎么办。用IPPS或者直接换网络打印服务器。文件共享可以用SFTP、Nextcloud、甚至微信传文件——虽然微信也不安全,但至少不会因为一个端口把整台机器交出去。安全从来都是取舍,问题是你要不要为了省事把门敞开。

还有一个端口常被忽略:139。它是NetBIOS会话服务,老版本的Windows文件共享走这个。139和445经常成对出现,关了一个另一个还在监听。两个一起关。命令类似,把端口号换成139就行。

我见过太多人觉得"我这是内网,没事"。内网不等于安全。钓鱼邮件、恶意U盘、供应链攻击,任何一个入口都能让攻击者进入内网,然后445就是他们最爱的跳板。WannaCry的教训够深刻了,但每年还是有大量机器因为445被攻破。不是技术太难,是太多人懒得改默认配置。

所以回到标题的问题:远程漏洞应该关闭哪个端口?445,以及它的老搭档139。现在就去查你的机器。

分享到: