web-dev-qa-db-ja.com

特定のID(root、Apache、nobody)の発信接続をブロックする

CentOS5および6Linuxのiptablesを使用して、rootApache、または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]
8

名前の代わりに数値のUIDを使用してみてください。例えば:

-A OUTPUT -m owner --uid-owner 400 -j DROP

の代わりに

-A OUTPUT -m owner --uid-owner Apache -j DROP

次のように入力すると、UIDを見つけることができます

id user
8
Goez