[问题]路由器开启 UPnP 后会有安全隐患吗?开启 UPnP后还需要开启 NAT 吗?

Web、Mail、Ftp、DNS、Proxy、VPN、Samba、LDAP 等基础网络服务
回复
jimmin
论坛版主
帖子: 2138
注册时间: 2006-09-24 4:37
送出感谢: 0
接收感谢: 1 次

[问题]路由器开启 UPnP 后会有安全隐患吗?开启 UPnP后还需要开启 NAT 吗?

#1

帖子 jimmin » 2007-01-28 9:50

1.路由器开启 UPnP 后会有安全隐患吗?
2.开启 UPnP后还需要开启 NAT 吗?

下面是我在网上找的 UPnP 的介绍,好像是说 Windows 下用 UPnP 很危险,不知道在Linux下怎么样?
UPNP的全称是Universal Plug and Play。UPnP规范基于TCP/IP协议和针对设备彼此间通讯而制订的新的Internet协议。事实上,UPNP的制定正是希望未来所有联入 Internet中的设备能够不受网关阻碍的相互通信。比如用MSN Messager传输文件将更加快捷方便了
先我们需要进入路由器的Web控制界面中打开路由器的UPNP功能。在浏览器中输入路由器的地址,进入路由器的管理页面之后,找到UPNP功能,并将其设置为Enable。

然后我们便可以进入Windows XP的设置。在Windows XP中,UPNP支持模块并不是默认安装的,因此我们需要按照以下步骤对其进行手动安装:

在“添加或删除程序”对话框中,点击“添加/删除Windows组件”。在“Windows组件向导”中,点击“网络服务”,点击“详细”,然后选择“通用即插即用”复选框。重新启动之后,Windows XP提示找到新硬件,进入网上邻居后你会发现路由器,说明UNNP功能就打开了。现今市场上几乎所有的宽带路由器都提供UPNP功能的支持,通过我们的合理配置,可以让我们在点对点文件传输等方面获得更好的体验和更快的速度。(GSF)
关于UPnP隐藏的安全缺缺陷:

这次发现的安全缺陷共有两个,其中第一个缺陷是对缓冲区(Buffer)的使用没有进行检查和限制。外部的攻击者,可以通过这里取得整个系统的控制特权!由于UPnp功能必须使用计算机的端口来进行工作,取得控制权的攻击者,还有可能利用这些端口,达到攻击者的目的。这个缺陷导致的后果很严重,不论那个版本的windows 系统,只要运行UPnP,就都存在这个危险!但严格地说,这并不完全是UPnP技术本身的问题,更多的是程序设计的疏忽。

第二个缺陷就与UPnP的工作机理有关系了!

该缺陷存在于UPnP工作时的“设备发现”阶段。发现设备可以分为两种情况:如果某个具备UPnP功能的计算机引导成功并连接到网络上,就会立刻向网络发出“广播”,向网络上的UPnP设备通知自己已经准备就绪,在程序设计这一级别上看,该广播内容就是一个M-SEARCH(消息)指示。该广播将被“声音所及”范围之内的所有设备所“听到”。并向该计算机反馈自己的有关信息,以备随后进行控制之用。

相类似,如果某个设备刚刚连接到网络上,也会向网络发出“通知”,表示自己准备就绪,可以接受来自网络的控制,在程序设计这一级别上看,该通知就是一个 NOTIFY(消息)指示。也将被“声音所及”范围之内的所有计算机接受。计算机将 “感知”该设备已经向自己“报到”。实际上,NOTIFY(消息)指示也不是单单发送给计算机听的,别的网络设备也可以听到。

就是在上述的一播一听之间,出现了问题!

如果某个黑客向某个用户系统发送一个NOTIFY(消息)指示,该用户系统就会收到这个NOTIFY(消息)指示并在其指示下,连接到一个特定服务器上,接着向相应的服务器请求下载服务―――下载将要执行的服务内容。服务器当然会响应这个请求。UPnP服务系统将解释这个设备的描述部分,请求发送更多的文件,服务器又需要响应这些请求。这样,就构成一个“请求――响应”的循环,大量占用系统资源,造成UPnP系统服务速度变慢甚至停止。所以,这个缺陷将导致“拒绝服务”攻击称为可能!

结束语

UpnP正在向我们一步步走近,现在已经是足声可闻了。不久的将来,必然对我们的工作和生活产生巨大影响。也蕴含着无限商机。尽管现在存在问题,也难保以后就不会再出现新的问题,但这既然体现了人的需求意向,就会有巨大的生命力,暂时的挫折不会使得它停下前进的脚步!
头像
ct
帖子: 2201
注册时间: 2005-04-06 21:15
来自: 安徽黄山
送出感谢: 0
接收感谢: 0
联系:

#2

帖子 ct » 2007-01-29 3:28

upnp,自动端口映射.
启用了NAT后,内网机器无法被外网访问,所以需要把内网机器的端口映射到NAT主机上,这样外网的机器就可以通过这个端口访问内网,NAT或者防火墙隔了这么一下,才需要端口映射开个口子.
回复

回到 “服务器基础应用”