[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[fol] Is it a bad idea to start Apache with SSL by non-root?


こんにちは。

Apache 2 + mod_ssl について相談です。

chroot を使って必要最小限のファイルしか置かないように
しています。

Apache がクラックされた場合を想定して
最初から root 権限を使わずに動作させたいと
考えています。そのための一般ユーザをここでは
httpd (UID=501)という名前にします。

iptables を使ってポート80をポート8000へリダイレクト
することで、 Apache を最初から httpd ユーザ権限で
開始させることはできます。

また、同様にポート443をポート8443へリダイレクトして、
サーバ証明書ファイル等に対して httpd ユーザに対して
読み込み許可を与えることで、同様に httpd ユーザ権限で
開始させることができます。

しかし、最初から root を使わないので Apache が
クラックされたとしても root 権限を奪われることは無いと
思うのですが、その代償として httpd ユーザ権限を
奪われるだけでサーバ証明書ファイル等を読まれてしまいます。

mod_ssl を使う場合はやっぱり root で開始させるべき
なのでしょうか?
httpd.conf の中で root で開始された場合に子プロセスを
一般ユーザ権限で動作させる指定ができるのでその指定を
使うべきでしょうか? root で開始した場合、子プロセスが
クラックされた際に何らかの方法で root 権限で動作している
親プロセスまでクラックされてしまうのではないかと心配です。

一度、 server.key を FIFO にして動作するかどうか
試したのですが、 mod_ssl が「ファイルサイズが 0 である」
というエラーを発生させてしまうのでうまくいきませんでした。
開始スクリプトで root が鍵ファイルの内容を FIFO に書き込んで
httpd ユーザ権限で開始した Apache がその FIFO から読み出す
(1回しか読めないのでクラックされても証明書ファイル等を
読み出せなくする)というのが狙いだったのですが・・・。

よろしくお願いします。

この情報があなたの探していたものかどうか選択してください。
yes/まさにこれだ!   no/違うなぁ   part/一部見つかった   try/これで試してみる

あなたが探していた情報はどのようなことか、ご自由に記入下さい。特に「まさにこれだ!」と言う場合は記入をお願いします。
例:「複数のマシンからCATV経由でipmasqueradeを利用してWebを参照したい場合の設定について」
Follow-Ups: