跳到主要内容

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/16RFC 1918 私有地址
127.0.0.0/8、::1/128环回地址
169.254.0.0/16、fe80::/10链路本地地址
fc00::/7、fd00::/8IPv6 唯一本地地址
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 阻止列表检查。

相关资源 ​

本文为社区中文翻译。查看对应英文原文