防止 X-Forwarded-使用 ELB 和 Node 进行欺骗

问题描述 投票:0回答:2

我正在分析基于弹性负载均衡器的公共路由堆栈,该负载均衡器打开 PM2 公开的端口,PM2 使用 koa 模块启动节点应用程序。目前,IP 已被记录,这仅取决于

X-Forwarded-For
标头。如果使用
curl
手动创建此标头,则应用程序会将其写入 IP 地址。

是否有一种简单的方法可以防止欺骗此标头或设置AWS的ELB,以便它忽略手动插入的标头,或者是否有比欺骗标头更好的方法来获取访问者的真实IP地址?

node.js amazon-web-services amazon-elb pm2 spoofing
2个回答
13
投票

根据doc

如果来自客户端的请求已包含 X-Forwarded-For 标头,Elastic Load Balancing 会将客户端的 IP 地址附加到标头值的末尾。在这种情况下,列表中的最后一个 IP 地址是客户端的 IP 地址。

所以最后一个IP始终是真实IP。


0
投票

来自文档

...负载均衡器将客户端 IP 地址附加到现有标头并将标头传递到您的服务器。 X-Forwarded-For 请求标头可能包含多个以逗号分隔的 IP 地址。最左边的地址是首次发出请求的客户端 IP。其后是链中的任何后续代理标识符。

第一个IP是正确的客户端IP。

© www.soinside.com 2019 - 2024. All rights reserved.