空连接和ipc$(internet process connection)是不同的概念。空连接是在没有信任的情况下与服务器建立的会话,换句话说,它是一个到服务器的匿名访问。ipc$是为了让进程间通信而开放的命名管道,可以通过验证用户名和密码获得相应的权限。有许多的工具必须用到ipc$。
默认共享是为了方便远程管理而开放的共享,包含了所有的逻辑盘(c$,d$,e$......)和系统目录winnt或windows(admin$)。
A、一种办法是把ipc$和默认共享都删除了。但重起后还会有。这就需要改注册表。
1、先把已有的删除
net share ipc$ /del
net share admin$ /del
net share c$ /del
............(有几个删几个)
2、禁止建立空连接
首先运行regedit,找到如下主键[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\LSA]把RestrictAnonymous(DWORD)的键值改为:00000001。
3、禁止自动打开默认共享
对于server版,找到如下主键[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters]把AutoShareServer(DWORD)的键值改为:00000000。
对于pro版,则是[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters]把AutoShareWks(DWORD)的键值改为:00000000。
如果上面所说的主键不存在,就新建一个再改键值。
B、另一种是关闭ipc$和默认共享依赖的服务(不推荐)
net stop lanmanserver
可能会有提示说,XXX服务也会关闭是否继续。因为还有些次要的服务依赖于lanmanserver。一般情况按y继续就可以了。
C、最简单的办法是设置复杂密码,防止通过ipc$穷举密码。但如果你有其他漏洞,ipc$将为进一步入侵提供方便。
D、还有一个办法就是装防火墙,或者端口过滤。