在CentOS 5和6 Linux中使用iptables-如何防止以root,apache或nobody运行的进程启动传出连接?
在CentOS 5 Linux上,我尝试将这些行放入/ etc / sysconfig / iptables中:
-A OUTPUT -m owner --uid-owner root -j DROP
-A OUTPUT -m owner --uid-owner apache -j DROP
-A OUTPUT -m owner --uid-owner nobody -j DROP
但不幸的是得到错误:
# sudo service iptables restart
iptables: Flushing firewall rules: [ OK ]
iptables: Setting chains to policy ACCEPT: filter [ OK ]
iptables: Unloading modules: [ OK ]
iptables: Applying firewall rules: iptables-restore v1.4.7: owner: Bad value for "--uid-owner" option: "apache"
Error occurred at line: 27
Try `iptables-restore -h' or 'iptables-restore --help' for more information.
[FAILED]
您不能使用iptables做到这一点。iptables仅检查ip数据包,并且那里没有有关uid / gid的信息。iptables的只能由源/目标字段,港口禁止数据包,...
—
Goez
我知道OpenBSD的pf可以做到。而且Linux iptables中似乎也有-m所有者。所以也许你错了?
—
亚历山大·法伯
如果我检查我的联机帮助页,-m代表match(模块)而不是所有者,则可能是该进程的所有者的模块,不确定。
—
Goez 2012年
以我的理解,“-m owner”对iptables说:“请加载'owner'模块,这样我们就可以做事情”
—
Alexander Farber
刚刚检查,确实有一个所有者模块。以前从未听说过。但这适用于数字ID,因此他将不得不更改其规则
—
-Goez,