Windows Server关闭135、139、445等端口的正确方法(不使用防火墙或安全策略)
本文详细介绍了如何在 Windows Server 系统中手动关闭135、139、445等高危端口,而不依赖防火墙或IP安全策略。通过修改服务配置、注册表和系统组件,实现真正意义上的端口关闭,确保服务器安全防护更加彻底。

一、为什么要关闭135、139、445端口
在Windows Server系统中,端口135、139、445常被用于远程调用(RPC)、文件共享(SMB)以及网络浏览服务。
这些端口虽然是系统默认启用的,但在生产或外网环境下,极易被黑客扫描、利用,例如“永恒之蓝(EternalBlue)”漏洞就依赖445端口传播。
因此,手动关闭这些端口能有效降低被攻击风险。
二、常见端口作用简析
端口 | 协议 | 作用 |
---|---|---|
135 | TCP | RPC端口,用于远程过程调用服务 |
139 | TCP | NetBIOS会话服务,用于文件共享 |
445 | TCP | SMB直接传输服务,用于共享文件和打印机 |
三、关闭端口的正确方式(非防火墙)
禁用相关系统服务
在命令提示符(管理员权限)下执行以下命令:
sc stop lanmanserver
sc config lanmanserver start= disabled
sc stop lanmanworkstation
sc config lanmanworkstation start= disabled
sc stop RpcSs
sc config RpcSs start= disabled
说明:
-
lanmanserver
:负责文件与打印共享(会关闭139、445端口) -
RpcSs
:远程过程调用服务(会关闭135端口) -
这些命令会直接停止并禁止自动启动服务。
执行完毕后,可通过以下命令验证端口状态:
netstat -na | findstr ":135"
netstat -na | findstr ":139"
netstat -na | findstr ":445"
如果未显示相关端口监听,即表示关闭成功。
修改注册表彻底禁用SMB协议
打开注册表编辑器(regedit
)并导航至:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters
新建或修改以下DWORD值:
SMB1 = 0
SMB2 = 0
保存后重启服务器
禁用NetBIOS over TCP/IP
操作步骤:
-
打开“网络和共享中心”
-
点击“更改适配器设置”
-
右键你的网卡 → 属性 → 双击“Internet协议版本4 (TCP/IPv4)”
-
点击“高级” → “WINS”选项卡
-
选择“禁用NetBIOS over TCP/IP”
-
确认并保存
该操作将关闭139端口的监听。
四、验证端口是否关闭
重启系统后,执行:
netstat -ano | findstr "135"
netstat -ano | findstr "139"
netstat -ano | findstr "445"
若无任何输出,即表示端口已被系统彻底关闭。
五、风险与注意事项
-
关闭这些端口后,文件共享、打印共享、远程调用等功能将不可用。
-
若服务器与域控通信或依赖SMB,请谨慎执行。
-
建议在测试环境中验证无误后再在生产系统执行。
六、总结
通过禁用相关服务、修改注册表和关闭NetBIOS,可以在不依赖防火墙或第三方工具的情况下彻底关闭Windows Server的135、139、445等高危端口,从源头阻断网络攻击入口,提升系统安全性。
分享
你的反应是什么?






