• 締切済み

SSL利用時にApache起動時のパスワードを聞かれず起動する方法のセキュリティについて

Apache & mod_ssl を利用してSSLを使用しています。 秘密鍵に署名する?方法 http://mm.apache.jp/pipermail/apache-users/2001-April/000074.html と、 SSLPassPhraseDialog ディレクティブを使ってパスワードを答えるスクリプトを実行する方法 があると思います。 どちらを採用すべきでしょうか? またそのセキュリティー上の理由は? お願いいたします。

みんなの回答

  • entree
  • ベストアンサー率55% (405/735)
回答No.2

> では、起動のたびにパスワードを入力する以外に、どのようにしたらセキュアな運用ができるのでしょうか? サーバに侵入されないことです。キーペアファイルはサーバの中で使われるだけであって、通常の運用をしていれば外に公開されることは一切ありません。従って、サーバに侵入しない限り、第3者がキーペアファイルの内容を知ることはできないのです。 そもそも、パスワード (正確には 3DES による暗号化) はキーペアファイルの内容を読み取られないようにするために設定するものなので、起動のたびにパスワードを入力する以外にセキュアにする方法は、 1. 必要なポートを以外を閉じること 2. Telnet 等、セキュアでないアクセス手段を設定しないこと 3. Apache 等へのセキュリティパッチの適用もしくはバージョンアップを適切に行うこと となります。

ac_2000
質問者

お礼

そうなりますか・・・。 では、一般的に商用の公開Webサーバなどはどのように運用されているのでしょう? それなりのAPを運用していれば、サーバが勝手に再起動を起こしてしまうというのは避けられないことですよね。(と言ってしまうとダメ設計者みたいですけど、現実問題として) それなりの規模であれば、いちいち再起動のたびにパスワードを入れてられませんし。 セキュリティを犠牲にして質問の2つの方法どちらかを採用しているということでしょうね。

  • entree
  • ベストアンサー率55% (405/735)
回答No.1

キーペアファイルは通常 3DES で暗号化されています。PEM 形式ファイルの中を見てみれば分かると思いますが、 > DEK-Info: DES-EDE3-CBC,AD59B0C4B12B0862 と言うような記述があると思います。 この暗号を解くためのものがパスワードであるわけですから、そのパスワードが見える場所においてあるのであれば、暗号化されていないのと同じ事になってしまいます。 リンク先にある 「Apache+SSLの自動起動」より > # openssl rsa -in /www/key/key.man -out /www/key/key-nosugn.pem は暗号化されたパスワードの暗号を解いて暗号化されていないようにするためのコマンドです。 暗号化されていても解読手順が明確なケースと、暗号化されていないケース。結局セキュリティレベル的には変わらないことになります。 ちなみに、3DES による暗号化されたキーペアファイルを作成するには、 $ openssl genrsa -des3 -out sample.pem 1024 としますが、最初から暗号化されていないキーペアファイルを作成するには以下のようにします。 $ openssl genrsa -out sample.pem 1024 案外知らない方が多いようですが・・・。

ac_2000
質問者

お礼

セキュリティ上同レベルであるということがよく分かりました。ありがとうございます。 では、起動のたびにパスワードを入力する以外に、どのようにしたらセキュアな運用ができるのでしょうか? ご存知の方がおりましたら、教えて下さい。 宜しくお願い致します。

関連するQ&A