iptables 似乎不想阻止用户。
我使用重新制作的 10.04 live 和 Firestarter 作为防火墙。除了更新、升级和为我的管理员用户 dev 添加此 iptable 行之外,我没有对发行版进行任何根本性更改:
sudo iptables -A OUTPUT -p all -m owner --uid-owner dev -j DROP
Run Code Online (Sandbox Code Playgroud)
我已经允许我的管理员 dev 作为另一个用户使用 Firefox:
gksudo -u browserUser /usr/bin/firefox
注意:这样做的目的是停止向管理员帐户开放浏览器脚本,而是使用没有权限的干净帐户作为代理。
现在,我测试一下 iptables 是否被阻塞,以防管理员不小心尝试连接而不使用其他用户。所以我直接尝试 Midori 浏览器:
/usr/bin/midori
Run Code Online (Sandbox Code Playgroud)
Midori 启动并连接到互联网。我很困惑。我的 iptables 条目似乎不起作用。
我添加了我重新制作的同一行:
sudo iptables -A OUTPUT -p all -m owner --uid-owner dev -j DROP
Run Code Online (Sandbox Code Playgroud)
我仍然没有被阻止。所以,我尝试重置表格:
sudo /etc/init.d/networking restart
Run Code Online (Sandbox Code Playgroud)
我得到输出:
* Reconfiguring network interfaces...
Ignoring unknown interface wlan0=wlan0.
Run Code Online (Sandbox Code Playgroud)
我再次尝试用 Midori 浏览器连接,我的 iptable 规则仍然被忽略。
发生了什么?
iptables 中的规则顺序至关重要。如果数据包匹配较早的规则,则不会进行进一步处理。
您将 ( -A ) 规则附加到 OUTPUT 链的末尾,因此,我猜测数据包已被较早的规则接受。
如果您将规则放在首位,使用-I OUTPUT 1,它将起作用。
sudo iptables -I OUTPUT 1 -p all -m owner --uid-owner dev -j DROP
Run Code Online (Sandbox Code Playgroud)
由于您使用 2 个工具 firestarter 和 iptables 来管理防火墙规则,因此您的用户案例更加复杂。我建议您使用其中之一,但不要同时使用两者。
如果您想查看规则集,请使用
sudo iptables -L -v -n
Run Code Online (Sandbox Code Playgroud)
如果您想使用 iptables 来管理您的防火墙,请参阅
https://help.ubuntu.com/community/IptablesHowTo
| 归档时间: |
|
| 查看次数: |
2454 次 |
| 最近记录: |