微软不建议关闭135端口和445端口
关于这几个端口,我跟微软工程师电话沟通过,微软不推荐关闭,建议从防火墙或安全组(尽量用云平台功能,即安全组)采取措施而不是关闭端口,把需要访问这些端口的IP段(内网段)在安全组入站规则放行,个别需要在外网访问这些端口的客户端IP段也放行,其余的客户端IP段全部禁止访问这些端口即可
445端口是域服务需要的,关闭445端口,域业务也就挂了
135端口是RPC协议,要关闭135端口的话,得干预DCOM和RPC,很多底层服务依赖DCOM和RPC,这对系统影响太大了,比如2008R2、2012R2系统关闭135端口后打开计划任务(运行taskschd.msc)报错"找不到远程计算机 The RPC server is unavailable" (≥2016的系统不报错),回滚操作后,计划任务恢复,排查发现是添加Rpcinternet注册表(reg add HKLMSOFTWAREMicrosoftRpcinternet)导致的。
强烈建议不要关闭TCP 135端口,大量的服务需要用到该端口,参考以下文档 https://docs.microsoft.com/zh-CN/troubleshoot/windows-server/networking/service-overview-and-network-port-requirements
如果实在要关闭这些端口,如下
https://blog.csdn.net/u013761036/article/details/71915237
这篇文档关闭135、139、445端口的办法适用所有Windows系统,但是太过繁琐,我翻译成了命令
所有Windows系统通用代码方案如下
用netstat来过滤有没有监听
netstat -ano|findstr :445
netstat -ano|findstr :135
netstat -ano|findstr :139
【关闭135端口】重启生效
reg add "HKLMSOFTWAREMicrosoftOle" /v "EnableDCOM" /t REG_SZ /d "N" /f
reg add "HKLMSOFTWAREMicrosoftRpc" /v "DCOM Protocols" /t reg_multi_sz /d "