服务端记录请求IP

服务端记录请求者IP的几种方案:

背景:

  • 需求1——审计日志需要真实IP:
    安全审计要求记录访问服务的最终用户或设备的真实来源IP地址。这对于追踪恶意活动、排查问题、满足合规性要求至关重要。

  • 需求2——风控需要真正IP:
    一些活动、风险管理都是需要对客户的真实IP进行筛选甄别。


解决方案介绍:

方案 说明
通过HTTP头记录(主要是X-Forwarded-For) 代理服务器(如Nginx)在转发HTTP请求时,通过 X-Forwarded-For 头部记录客户端的IP地址。缺点:HTTP头是应用层数据,在传输过程中极易被篡改或伪造。攻击者可以随意构造。
Proxy Protocol 协议 代理服务器在建立TCP连接后、发送应用层数据(如HTTP请求)之前,先发送一个特殊的、纯文本的协议头部。安全性更高:信息在连接建立之初传递,不依赖于可能被篡改的应用层头,更难伪造。
加密 TCP Option 利用TCP协议头中的“选项(Options)”字段,将客户端的原始连接信息以加密形式嵌入其中。 高安全性:由于信息被加密且位于TCP选项字段,非常隐蔽,难以被中间设备篡改或窃听。

如果在多代理链场景下,是否会丢失之前的记录,完全取决于每一层代理的配置方式。
这个场景下的策略:

策略层级 具体做法 核心目的
后端代码 实现“从右向左取第一个非信任IP”的解析逻辑 防御:避免被伪造的头部欺骗
内部网络 在可控的边界入口重置 X-Forwarded-For 头 清洗:丢弃不可信区域的所有IP信息,建立自己的可信记录起点
业务层面 结合会话、设备指纹等多因素辅助安全审计 补充:在IP不可靠时,作为身份验证和风控的备选
posted on 2025-07-24 14:43  Mysticbinary  阅读(196)  评论(0)    收藏  举报