私たちは多くのウェブサイトをホストするためにCentOS 6にSELinuxを設定しました。
残念ながら、SELinuxは、ウェブサイトがwordpressまたはJoomlaのインストールを更新するためにdownload.wordpress.comなどの(アウトバウンド)サイトにアクセスするのをブロックしています。
私たちはSELinuxを有効にし、これらのサイトがそのような接続を作成できるようにしたいと思います。
私たちが恐れることは私たちがすることです。
# setsebool -P httpd_can_network_connect 1
一部の「開発者」はスパムの送信を開始するPHPスクリプトを生成し、IPがブラックリストに追加されます。
アウトバウンド接続を同時に有効にしてこれらのアウトバウンドの問題を制限する方法はありますか?
ありがとうございます。
ベストアンサー1
SELinuxにアウトバウンド接続を許可するように指示した場合、これを使用して悪意のあるPHPスクリプトをブロックすることはできません。ただし、代わりにiptablesルールを使用できます。
iptables -I OUTPUT -m state --state new -m owner --uid-owner httpd -j REJECT
iptables -I OUTPUT -m state --state new -m owner --uid-owner httpd -p tcp --dport 80 -j ACCEPT
iptables -I OUTPUT -m state --state new -m owner --uid-owner httpd -p tcp --dport 443 -j ACCEPT
service iptables save
これにより、ユーザーはhttpd
ポート80と443にのみ接続できます。他のすべての接続試行は拒否されます。 (「httpd」をapache httpdが実行されているユーザーに変更します。)
iptablesのconlimitモジュールを使用して、許可される並列接続の数を制限することもできます。バラよりhttp://www.cyberciti.biz/faq/iptables-connection-limits-howto/これを行う方法の例です。