如何关闭445端口并禁用SMB协议
一、通过Windows防火墙关闭445端口
1. 图形界面操作
- 打开面板→系统和安全→Windows Defender防火墙→高级设置。
- 左侧选择 入站规则,右侧点击 新建规则。
- 规则类型选“端口”,点击“下一步”。
- 协议和端口选择“TCP”,输入特定本地端口:445,点击“下一步”。
- 操作选择“阻止连接”,点击“下一步”。
- 配置文件全选域、专用、公用,点击“下一步”。
- 命名规则如“Block 445 Port”,成设置。
2. 命令行快速关闭
以管理员身份打开命令提示符,输入以下命令并回车:
netsh advfirewall firewall add rule name="Block445" dir=in action=block protocol=TCP localport=445
二、通过册表禁用445端口服务
1. 打开册表编辑器
按下 Win+R,输入 `regedit` 并回车,导航至路径:
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesNetBTParameters
2. 修改册表项
- 右键空白处,新建 DWORD32位值,命名为 `SMBDeviceEnabled`。
- 双击该值,设置 数值数据为00=禁用,1=启用,点击“确定”。
- 重启电脑使设置生效。
三、禁用SMB协议以Windows系统为例
1. 禁用SMBv1协议
以管理员身份打开PowerShell,输入以下命令:
Disable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol
2. 禁用SMBv2/v3协议按需操作
若需彻底禁用SMBv2/v3,在PowerShell中执行:
Set-ItemProperty -Path "HKLM:SYSTEMCurrentControlSetServicesLanmanServerParameters" -Name "SMB2" -Type DWord -Value 0
四、验证操作结果
1. 检查445端口状态
打开命令提示符,输入:
netstat -ano | findstr :445
若结果为空,说明445端口已关闭。
2. 检查SMB协议状态
在PowerShell中输入:
Get-SmbServerConfiguration | Select-Object EnableSMB1Protocol, EnableSMB2Protocol
若显示 `EnableSMB1Protocol=False` 和 `EnableSMB2Protocol=False`,说明协议已禁用。