- 締切済み
[【Apache】apachectl stop,,sslstartだとパスフレーズを聞かれるのにapachectl restartだと聞かれない
CentOS4.4、Apache/2.0.63 mod_ssl/2.0.63 でApacheを運用しています。 なお、レンタルサーバのVPSでやってます。 なお、SSLの認証局は、ベリサインなどではなく、いわゆる「オレオレ認証」というか、自分のサーバを認証局にしています で、いつも、apacheを再起動するとき、 [root@www ~]$ apachectl stop [root@www ~]$ apachectl startssl Apache/2.0.63 mod_ssl/2.0.63 (Pass Phrase Dialog) Some of your private key files are encrypted for security reasons. In order to read them you have to provide the pass phrases. Server example.com:443 (RSA) Enter pass phrase: OK: Pass Phrase Dialog successful. [root@www ~]$ というように、「pass phrase」をきかれます。 これは、これでOKというか、こうあるべきなのですが・・・・ 「apachectl restart」 とやってみたら、 [root@www ~]$ apachectl restart [root@www ~]$ というように、「pass phrase」をきかれずに、再起動してしまいました。で、SSLも有効になっています。 これだとセキュリテイ的にまずいので、この状態を回避したいのですが、どうすればいいでしょうか? よろしくお願いいたします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- yambejp
- ベストアンサー率51% (3827/7415)
ごめんなさSSL関連はほぼ素人同然なので、無難なところだけ・・・ 前回も書きましたが、apachectlはシェルスクリプトなので 手でなおしてください。 restartのところをコメントアウトして、 stopしてからstartするような仕組みにかえるだけでよいでしょう。 >これらのプロセスのUSERが503という変な?ものになっている apacheの実行権限はセキュリティ上rootではおこなわず httpd.confにおけるUserおよびGroupで指定したユーザーでの 実行になります。 これは万が一未知のセキュリティホールでデーモンがのっとられたときに root権限をとられないようにするための方策で、他のメインどころの デーモンはみな同じような仕組みを採用しているはずです。 >OSを再起動するとApacheは自動では再起動しません 自動起動する処理もあるようですよ。 apache ssl 自動起動 あたりで検索してみてはいかがでしょうか?
- yambejp
- ベストアンサー率51% (3827/7415)
apachectl自体単なるシェルスクリプトですから restartの項目をはずすか、書き換えてしまえばよいのでは? ただセキュリティ的にまずい・・・というのがよくわかりません。 SSL有効で再起動されるならセキュリティ的にあまりまずくもない ように思えます。 ぎゃくに誰でも任意に起動・終了・再起動ができるのであれば SSL以前にまずいので、ユーザー権限をみなおすべきでしょう。
お礼
ご回答ありがとうございます。 >ただセキュリティ的にまずい・・・というのがよくわかりません 趣味的に・・・ちょっと追求してみようかと思いまして^^; >ぎゃくに誰でも任意に起動・終了・再起動ができるのであれば さすがにこれはない…と思ってたら、ugo全てに実行権限がついてました レンタルサーバのデフォルトなんですが…これって特殊ですよね?VPSだからなのかな? >apachectl自体単なるシェルスクリプトですから >restartの項目をはずすか、書き換えてしまえばよいのでは? これに関連して、追加の状況説明をさせてください (1ー1) 「apachectl restart」⇒パスフレーズを聞かれずに再起動し、SSLも有効 は、最初の質問で述べましたが、 これは、apacheが起動しているときだけでした apacheが起動していないときに「apachectl restart」を行うと、パスフレーズを聞かれます (1-2) (1ー1)で述べたように、apacheが起動していないときに「apachectl restart」を行うと、パスフレーズを聞かれますが、 これでapache起動に成功しても・・・ ●以下のように、「-DSSL」がつかずに実行されています [root@www conf]$ ps aux | grep httpd root 32639 8.5 0.9 20284 7096 ? Ss 23:28 0:00 /usr/sbin/httpd -k restart 503 32640 0.0 0.4 20284 3500 ? S 23:28 0:00 /usr/sbin/httpd -k restart root 32648 0.0 0.0 2848 484 pts/0 S+ 23:28 0:00 grep httpd [root@www conf]$ ●でも、「-DSSL」がついてないのに、httpsでアクセスすると正常に表示されます なぜでしょうか?お教えいただければ幸いです。 以下、長いので、補足へ続きます。。。
補足
(2) [root@www conf]$ ps aux | grep httpd root 6113 2.4 0.9 21300 7096 ? Ss 23:34 0:00 /usr/sbin/httpd -DSSL -k start 503 6114 0.0 0.5 21452 4616 ? S 23:34 0:00 /usr/sbin/httpd -DSSL -k start 503 6118 0.0 0.5 21300 4028 ? S 23:34 0:00 /usr/sbin/httpd -DSSL -k start 503 6121 0.0 0.4 21300 3500 ? S 23:34 0:00 /usr/sbin/httpd -DSSL -k start 503 6122 0.0 0.4 21300 3492 ? S 23:34 0:00 /usr/sbin/httpd -DSSL -k start root 6142 0.0 0.0 2936 484 pts/0 S+ 23:34 0:00 grep httpd [root@www conf]$ apachectl stop [root@www conf]$ apachectl sslstart Apache/2.0.63 mod_ssl/2.0.63 (Pass Phrase Dialog) Some of your private key files are encrypted for security reasons. In order to read them you have to provide the pass phrases. Server example.com:443 (RSA) Enter pass phrase: OK: Pass Phrase Dialog successful. [root@www conf]$ ps aux | grep httpd root 7735 2.6 0.9 20416 7096 ? Ss 23:35 0:00 /usr/sbin/httpd -DSSL -k start 503 7736 0.0 0.5 20568 4616 ? S 23:35 0:00 /usr/sbin/httpd -DSSL -k start 503 7737 0.0 0.5 20416 4028 ? S 23:35 0:00 /usr/sbin/httpd -DSSL -k start 503 7738 0.0 0.4 20416 3500 ? S 23:35 0:00 /usr/sbin/httpd -DSSL -k start root 7742 0.0 0.0 2744 484 pts/0 S+ 23:35 0:00 grep httpd [root@www conf]$ apachectl restart [root@www conf]$ ps aux | grep httpd root 7735 0.2 0.9 20416 7776 ? Ss 23:35 0:00 /usr/sbin/httpd -DSSL -k start 503 9574 0.0 0.4 20416 3528 ? S 23:37 0:00 /usr/sbin/httpd -DSSL -k start root 9587 0.0 0.0 2832 484 pts/0 S+ 23:37 0:00 grep httpd [root@www conf]$ のように、 ⇒apachectl sslstart だと親プロセスも子プロセスも両方ともすべてリセットされている ⇒apachectl restart だと親プロセスはリセットされない。子プロセスだけがすべてリセットされている といった状況です この(1)と(2)の挙動は、いったいどうなっているのでしょうか? お教えいただければ幸いです --- なお、さらに【追加質問】させてください (A) [root@www conf]$ ps aux | grep httpd root 22233 0.0 0.9 20456 7764 ? Ss 22:08 0:00 /usr/sbin/httpd -DSSL -k start 503 25851 0.0 0.5 20592 4716 ? S 22:11 0:00 /usr/sbin/httpd -DSSL -k start 503 25879 0.0 0.6 20592 4732 ? S 22:11 0:00 /usr/sbin/httpd -DSSL -k start root 13681 0.0 0.0 2456 484 pts/0 S+ 22:31 0:00 grep httpd [root@www conf]$ において、 ●なぜこれらのプロセスのUSERが503という変な?ものになっているのでしょうか? (B) 認証鍵をつくるまえは、OSを再起動するとApacheも自動で再起動するようになっていました ですが、認証鍵をつくったあとは、OSを再起動するとApacheは自動では再起動しません これを改善するにはどうすればいいのでしょうか? 以上、よろしくお願いいたします。