nobody 的内网保护配置 (ufw)
利用 ufw 防火墙来禁止 nobody
访问内网信息,防止不可信应用穿透内网(或者,你懂的原因)。
安装 + 基本 ufw 配置我这里就跳过了,直接说如何更改吧。
首先编辑 /etc/ufw/before.rules
对 IPv4 进行配置:
# ...
# End required lines
-A ufw-before-output -o lo -p udp -m udp --dport 53 -j ACCEPT
-A ufw-before-output -o lo -m owner --uid-owner nobody -j REJECT
-A ufw-before-output -d 10.0.0.0/8 -m owner --uid-owner nobody -j REJECT
-A ufw-before-output -d 172.16.0.0/12 -m owner --uid-owner nobody -j REJECT
-A ufw-before-output -d 192.168.0.0/16 -m owner --uid-owner nobody -j REJECT
# ...
# allow all on loopback
中间的那几行就是配置了。首先允许访问本地的 DNS 服务器避免域名解析失败,然后禁止访问预留的私有 IP 段。
IPv6 的配置也差不多,编辑 /etc/ufw/before6.rules
:
# ...
# End required lines
-A ufw6-before-output -o lo -p udp -m udp --dport 53 -j ACCEPT
-A ufw6-before-output -o lo -m owner --uid-owner nobody -j REJECT
-A ufw6-before-output -d fe80::/10 -m owner --uid-owner nobody -j REJECT
# allow all on loopback
# ...
编辑后保存,执行 ufw reload
重载规则生效。