iptables / pf规则仅允许XY应用程序/用户使用?


8

我认为没有iptables / pf解决方案只能在例如:出站tcp端口80,eth0上允许XY应用程序。因此,如果我有一个用户ID:“ 500”,那么如何阻止端口80 / outbound / tcp / eth0上提到的其他通讯?(例如:仅privoxy正在使用eth0上的端口80)

额外:virtualbox也使用端口80?当访客操作系统上的浏览器访问网站时。如何将其删除?-设置普通用户将有太多漏洞


诚然,将这个问题分成2个(或更多)问题可能会更容易... bsd的东西与linux的东西将有所不同...然后在许多方面,您还会遇到一个虚拟的盒子问题。我个人认为“如何通过iptables仅允许应用程序/用户XY”和“如何通过pf仅允许应用程序/用户XY”是很好的问题。
xenoterracide 2011年

Answers:


8

这是iptables允许uid通过特定端口进行特定操作的命令。

iptables -A OUTPUT -p tcp -m tcp --dport 80 -m owner --uid-owner username -j ACCEPT 

从手册页

[!] --uid-owner userid [-userid]如果数据包套接字的文件结构(如果有)由给定用户拥有,则匹配。您也可以指定数字UID或UID范围。

我相信它运行自己的内核...因此,您可能要--uid-owner在主机OS上使用virtualbox,但是--uid-owner在虚拟机上也要有一个所有者规则。

注意它--gid-owner也存在,这可能也很有用,您可以创建一个组browsersgid您的浏览器应用程序,以便它与一个有效的组一起运行,browser然后仅将您要浏览的用户放入该组中...完美的解决方案...但是大多数用户不会尝试以该组身份运行任何其他应用程序,因此通常将出站限制在该应用程序中,我相信。我还没有尝试过,所以我并不是100%会如我所描述的那样工作。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.