NAT端口映射协议

NAT端口映射协议(英語:NAT Port Mapping Protocol,缩写NAT-PMP)是一个能自动建立网络地址转换(NAT)设置和端口映射配置而无需用户介入的网络协议。该协议能自动测定NAT网关的外部IPv4地址,并为应用程序提供与对等端交流通信的方法。NAT-PMP于2005年由蘋果公司推出,为更常见的ISO标准互联网网关设备协议(被许多NAT路由器实现)的一个替代品[1]。该协议由互联网工程任务组(IETF)在RFC 6886中发布。

NAT-PMP使用用户数据报协议(UDP),在5351端口运行。该协议没有内置的身份验证机制,因为转发一个端口通常不允许任何活动,也不能用STUN方法实现。NAT-PMP相比STUN的好处是它不需要STUN服务器,并且NAT-PMP映射有一个已知的过期时间,应用可以避免低效地发送保活数据包。

NAT-PMP是端口控制协议英语Port Control Protocol(PCP)的前身。

安全隐患

2014年10月,Rapid7安全研究员Jon Hart公布,因厂商对NAT-PMP协议设计不当,估计公网上有1200万台网络设备受到NAT-PMP漏洞的影响。NAT-PMP协议的规范中特别指明,NAT网关不能接受来自外网的地址映射请求,但一些厂商的设计并未遵守此规定。黑客可能对这些设备进行恶意的端口映射,进行流量反弹、代理等攻击。[2]

参见

参考资料

  1. ^ AirPort Utility 6.x: 设定基站或 AirPort Time Capsule 的 NAT 选项. Apple 支持. 2013-11-11 [2018-05-26]. (原始内容存档于2015-02-14). 
  2. ^ NAT-PMP协议漏洞将1200万路由器置于风险之中. freebuf. 2014-10-27 [2018-05-26]. (原始内容存档于2018-07-09). 

外部链接