CentOS 5および6 Linuxのiptablesで、root、apache、または誰も実行していないプロセスが発信接続を開始しないようにするにはどうすればよいですか?
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所有者がいるようです。それであなたは間違っているのでしょうか?
—
Alexander Farber
マンページを確認すると、-mは一致(モジュール)を表し、所有者を表すものではありません。プロセスの所有者用のモジュールが存在する可能性があります。
—
Goez
私の理解では、「-m所有者は」iptablesのに言う:「私たちは物事を行うことができますので、 『所有者』モジュールをロードしてください」
—
アレクサンダー・ファーバー
チェックしたばかりですが、実際には所有者モジュールがあります。これまで聞いたことがない。しかし、これは数値IDで機能するため、ルールを変更する必要があります
—
Goez