关于135、137、138、139、445端口勘误
摘要:一直以来比较粗暴,认为直接把135、137、138、139、445端口封了就完事。看下每个端口的作用。
135端口
135端口(TCP)就是RPC通信中的桥梁,该端口被攻击者采用了一种DCOM技术,可以直接对其他工作站的DCOM程序进行远程控制。DCOM技术与对方计算机进行通信时,会自动调用目标主机中的RPC服务,而RPC服务将自动询问目标主机中的135端口,并且获取当前有哪些端口可以被用来通信。
简而言之:只要开启了135端口,在知道电脑密码的情况下,就可以调用RPC,远程控制电脑。
137端口
137端口(UDP)主要在局域网中提供本机的计算机名或者ip地址、mac地址。
//第一步:获取192.168.1.4电脑的NBT远程缓存名称表
nbtstat -A 192.168.1.4
//第二步:在192.168.1.4电脑上通过防火墙手动把137端口关掉
//第三步:清除本地电脑的NBT远程缓存名称表缓存
nbtstat -R
//第四步:再次获取192.168.1.4电脑的NBT远程缓存名称表,此时获取不到
nbtstat -A 192.168.1.4
138端口
138端口(UDP)提供NetBIOS的浏览功能。该功能使用的是与137端口计算机名管理不同的运行机制,主要用来显示连接于网络中的电脑一览表。每台电脑在启动时或连接网络时都会利用138端口广播自己的NetBIOS名,将自己的电脑信息发送给同组中的所有电脑。
139端口、445端口
两个端口都是提供局域网中文件或打印机共享服务。不同的是445端口(TCP)基于CIFS(Common Internet File System)协议的SMB v2、139端口(TCP)是基于NBT(Net Bios Over TCP/IP)协议的SMB v1。windwos NT以前采用139端口运行SMB v1,windows NT以后则才采用445端口运行SMB v2。
139端口、445端口两者共存的时候优先使用445端口。
局域网环境下,文件共享如何选择?
方式一
采用SMB v1协议,进行文件共享。此时用到的端口有 137、139端口,没有用到135、138、445端口。
首先在要访问文件共享的电脑的 启用或关闭 Windows 功能 里面安装以下功能:
然后在提供文件共享的服务器上以管理员模式运行以下命令:
Get-SmbServerConfiguration | Select EnableSMB1Protocol, EnableSMB2Protocol
红框中的内容表示服务器支持SMB v1协议。
接着运行下面的命令:
//禁用SMB v2协议,不禁用的话会导致0x80004005找不到网络路径。应该是会和SMB v1起冲突
Set-SmbServerConfiguration -EnableSMB2Protocol $false
运行后可以看到SMB v2协议已经被禁用了。
如果要启用SMB v2协议,则运行下面命令。
Set-SmbServerConfiguration -EnableSMB2Protocol $true
接着就只要按部就班共享文件就行了。此时把445端口关闭了,也能够使用文件共享。
方式二
采用SMB v2协议进行文件共享。此时用到的端口有445端口,没有用到135、137、138、139端口。此时把137、139端口关闭了,也能够使用文件共享。windwos NT以上默认采用445端口。
参考
Configure SMB Security in Windows Server 2012
Windows 10 无法访问共享的解决办法
Windows系统安全|135、137、138、139和445端口
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。