このスレッドは未解決です(解決したらこちらで解決済にしてください)

日時: 2010/03/02 11:46
名前: モノラン
URL:
名前: モノラン
URL:
いつも参考にさせていただいております。
phpからsudoを利用してコマンドを叩いたり作業をしておりますが、セキュリティの関連からiptablesを
有効にしたところ使用できなくなりました。
実際にやっている事は
restart.php(オーナーapache/所有apache/権限766)
exec("sudo /etc/rc.d/init.d/network restart 2>&1")
というような内容になります。
設定自体はlokkitで
SecurityLevel:Enabled
SeLinux:Enforcing
Allow incoming:SSH/WWW/Secure WWW
の設定を行いました。
実際の作業自体はブラウザ上から行いますので、通信自体はポート80で権限はapache権限で動いております。
iptablesで上記のような事をする場合は、どういったプロトコルやルールを追加してやればいいのでしょうか?

日時: 2010/03/02 12:44
名前: stranger
URL: http://ja.528p.com/
名前: stranger
URL: http://ja.528p.com/
>有効にしたところ使用できなくなりました。
どのような状況なのでしょうか
apacheにアクセスできない?
sshでログインできない?
sshでログインできないのであれば
再起動して、kernel起動時に起動オプションにselinux=0またはenforcing=0
を追加して起動させてみる
rootでログインできるのなら
iptablesを止めてみる
service iptables stop
ifconfig -a
を実行して
eth0が起動しているか確認
起動していない場合
手動で
/etc/rc.d/init.d/network restart
phpでsudoが実行できたら、サイトを壊されることを念頭においた方が良いです

日時: 2010/03/02 13:07
名前: モノラン
URL:
名前: モノラン
URL:
stranger 様
ご回答ありがとうございます。
SSHでのアクセスが出来ないという事ではなく、iptableを有効にしたらphpを実行した際にエラーが出るようになりました。
権限がないというエラーが出ますが、iptableを切ると実行出来るよになりますので、iptableをonにする事で何らかの制限がかかっているのではないかと考えております。
phpでsudoを実行出来るのは危険ではある事は認識しておりますが、
開発しているサーバーにおいて限定している点と、権限とコマンドの制御を行う事で
ある程度の保険をかけたいと思っております。

日時: 2010/03/02 15:47
名前: stranger
URL: http://ja.528p.com/
名前: stranger
URL: http://ja.528p.com/
>stranger 様
>
>ご回答ありがとうございます。
>SSHでのアクセスが出来ないという事ではなく、iptableを有効にしたらphpを実行した際にエラーが出るようになりました。
>権限がないというエラーが出ますが、iptableを切ると実行出来るよになりますので、iptableをonにする事で何らかの制限がかかっているのではないかと考えております。
ここのサイトの設定では サーバ自身、ローカルネットでのアクセスは全て許可されていますが?
# 自ホストからのアクセスをすべて許可
iptables -A INPUT -i lo -j ACCEPT
# 内部からのアクセスをすべて許可
iptables -A INPUT -s $LOCALNET -j ACCEPT
※質問を投稿後に自己解決された場合は、原因と行った対処を具体的に書き込み下さるよう、よろしくお願いします。