MASWE-0051: 未受保护的开放端口
概述¶
未正确保护开放网络端口的应用程序容易受到未经授权的访问和潜在的漏洞利用。当应用程序在网络端口上监听并接受传入连接,但没有足够的安全措施时,就会出现此弱点,从而允许其他应用程序或攻击者连接并与其交互。
影响¶
- 未经授权的访问:攻击者可以连接到开放端口,获取应用程序功能或敏感数据的访问权限。
- 数据泄露:如果未强制执行适当的身份验证和加密,敏感信息可能会通过未受保护的端口暴露。
- 远程代码执行:开放端口的利用可能导致在设备上执行任意代码。
- 拒绝服务:攻击者可能会使开放端口过载,导致应用程序或设备无响应。
- 隐私泄露:用户数据和应用程序状态可能遭到泄露,导致隐私侵犯和不符合法规要求。
引入方式¶
- 绑定到所有网络接口:将应用程序配置为绑定到所有可用的网络接口(例如,使用通配符地址),使其可以通过不受信任的网络访问。
- 不安全的环回地址使用:错误配置应用程序以在环回地址上监听,但没有适当的访问限制。
- 缺乏访问控制:未能为通过开放端口暴露的服务实施身份验证和授权机制。
- 调试服务保持启用:在生产版本中保留开发或调试网络服务处于活动状态。
- 防火墙设置错误:未设置适当的防火墙规则,允许未经授权的入站连接到开放端口。
缓解措施¶
- 限制网络绑定:将应用程序配置为仅绑定到特定、必要的网络接口,避免使用
INADDR_ANY
等通配符地址。 - 实施强访问控制:对通过开放端口暴露的任何服务强制执行身份验证和授权,以确保只有授权实体才能连接。
- 在生产环境中禁用调试服务:确保在生产版本中禁用或移除所有开发和调试网络服务。
- 适当配置防火墙:设置防火墙规则以限制对开放端口的访问,只允许来自受信任源的连接。