wba*_*bad 3 networking linux nginx iptables
我在 127.0.0.1:9000 上使用 tcp 套接字将 nginx 连接到 php5-cgi。但是我想确保不能对这个 IP 发出外部请求,这样攻击者就不能混淆 IP 并绕过 nginx 用 php 做讨厌的事情。
现在我想知道是否真的可以进行这种利用,如果可以,我该如何使用 iptables 来避免它?
您可以创建防火墙规则来阻止此流量,但启用反向路径过滤要容易得多。
(root)$ echo 1 > /proc/sys/net/ipv4/conf/eth0/rp_filter
Run Code Online (Sandbox Code Playgroud)
反向路径过滤使用路由表过滤掉传入数据包上的欺骗地址。
通过将以下内容添加到 /etc/systcl.conf,您可以在所有接口上默认启用此功能:
net.ipv4.conf.default.rp_filter=1
net.ipv4.conf.all.rp_filter=1
Run Code Online (Sandbox Code Playgroud)
更多信息:http : //www.slashroot.in/linux-kernel-rpfilter-settings-reverse-path-filtering
然而...
正如 MadHatter 已经提到的,这对于 127.0.0.1/8 来说是完全没有必要的。(如果需要,您可以使用 记录这些数据包net.ipv4.conf.all.log_martians = 1
)。