SSRF 防护
信息
功能可用范围
自 n8n 2.12.0 起提供 SSRF 防护。
服务端请求伪造(SSRF)攻击会滥用工作流节点,向本不应访问的内部网络资源、云元数据端点或本机服务发出请求。
注意
SSRF 防护是额外的应用层防线。仍应始终在基础设施上配置防火墙、安全组和网络策略等网络层保护,作为主要防线。n8n 的 SSRF 防护在此基础上提供纵深防御。
启用 SSRF 防护
N8N_SSRF_PROTECTION_ENABLED=true
启用后,n8n 会依据配置的允许和阻止范围,验证用户可控节点,例如 HTTP Request 节点的全部出站 HTTP 请求。检查包含重定向目标和 DNS 解析,以防止 DNS 重绑定等绕过方式。
默认阻止的范围
启用 SSRF 防护后,默认阻止以下 IP 范围:
| 范围 | 说明 |
|---|---|
10.0.0.0/8、172.16.0.0/12、192.168.0.0/16 | RFC 1918 私有地址 |
127.0.0.0/8、::1/128 | 环回地址 |
169.254.0.0/16、fe80::/10 | 链路本地地址 |
fc00::/7、fd00::/8 | IPv6 唯一本地地址 |
0.0.0.0/8、192.0.0.0/24、192.0.2.0/24、198.18.0.0/15、198.51.100.0/24、203.0.113.0/24 | 保留或特殊用途地址 |
可以通过 N8N_SSRF_BLOCKED_IP_RANGES=default,100.0.0.0/8 扩展此列表。
允许访问内部服务
工作流需要访问合法内部服务时,请使用允许列表。允许列表优先于阻止列表,顺序为:主机名允许列表 > IP 允许列表 > IP 阻止列表。
按主机名模式允许,支持 *.n8n.internal 等通配符:
N8N_SSRF_ALLOWED_HOSTNAMES=*.n8n.internal,*.company.local
按 IP 范围允许:
N8N_SSRF_ALLOWED_IP_RANGES=10.0.1.0/24,10.0.2.50/32
注意
只将你控制的主机名,例如内部 DNS 区域,加入允许列表。主机名允许列表会绕过 IP 阻止列表检查。
相关资源
- 安全:审计、加固并限制自托管实例。
- SSRF 防护环境变量:完整配置选项列表。
- 配置方式:设置环境变量的更多说明。
本文为社区中文翻译。查看对应英文原文