SSLによるSecureWWWサーバの構築(SuSE編)


ここでは、SuSE 標準の Apache を SSL 対応にします。 基本的には、RedHat と変わりありませんが、一箇所だけ分かりにくいところがあります。

なお、Apache のインストールは、こちらを参考に済ませて置いてください。

■SSL の有効化

SuSE の Apache では SSL がデフォルトで動作するかと思いましたが、conf ファイルの設定だけでは駄目で YaST から起動スクリプトの設定をする必要がありました。おやじは、かなりハマリまりました。下記のような warning が Apache の error_log に出ていたので、SSLSessionCache 関係がおかしいと思いいろいろ調べましたが駄目でした。

 [warn] Init: Session Cache is not configured [hint: SSLSessionCache]

いろいろ調べた結果、Apache の起動オプションが指定されていないということが判明し、それを有効にして解決しました。昔を思いだしたらRedHat の時もはまって、自分でスクリプトに追加してました。SuSE の場合、設定は以下のように YaST で行います。

  1. YaST コントロールセンタを起動し、「システム」の「/etc/sysconfig エディター」を起動する。

  2. 「設定のオプション」 で 「Network」 -> 「WWW」 -> 「Apache2」 と開き、「APACHE_SERVER_FLAGS」を選択して「設定」欄に「 -D SSL」と入力し 「完了」 ボタンを押す。

  3. 変更された変数が表示されるので、確認し 「了解」 ボタンを押す。

■SSL 関係の設定

SuSE の Apache では、 SSL 関係の設定は実際はどこでもいいでしょうが、一応 /etc/apache2/vhosts.d ディレクトリ配下に置くことになっていますので、これに従いました。このディレクトリ内に vhost_ssl.template というファイルがありますので、これをベースに設定していきます。なお、SSL 関係ではその他にlisten.conf と ssl_global.conf が関係しますが、isten.conf にはデフォルトの 443 番ポートを SSL で liste するよう設定されている他、 ssl_global.conf も変更するような項目はないので、特に変更は不要です。

◆ vhost_ssl.conf の設定

前述の vhost_ssl.template から vhost_ssl.conf を作成し、これを編集していきます。名前は何でも構いませんが、「.conf」という拡張子のファイルのみが Include されるようになっているので、拡張子は「.conf」にしてください。

# cp /etc/apache2/vhosts.d/vhost_ssl.template /etc/apache2/vhosts.d/vhost_ssl.conf

なお、その他の設定は、SSLが無いときと全く同一ですので、こちらを参考にしてください。

おやじが、設定を変更した項目は以下のとおりです。ここでは、単純に通常のポート (80番) でサービスしているドキュメントを、そのまま SSL でアクセスできるイメージで設定していきます。おやじは、実際にはバーチャルホストを動作させているので、若干設定が違いますが、基本的には大きな差異はありません。(青字は削除、赤字は追加、緑字は変更したものです。)

 
以上で、https://www.aconus.com/~oyaji/ と SSL でのアクセスが可能となります。アクセス時に SSL の alert が出るのは、他の自己認証サイトをアクセスした時と同じです。
クライアント側のこの警告に対する対策については、Internet Exploler と Netscape Navigator で異なります。こちらを参照願います。
 

■クライアント認証関係の設定

クライアント認証は、サーバ全体やバーチャルサーバ、ディレクトリ単位で行うことができますが、ここではバーチャルサーバで行うことを前提とし、上記の vhost_ssl.conf に追加設定していきます。

◆ vhost_ssl.conf の設定

  上記設定に、下記を追加設定します。特定ディレクトリだけを対象にするなら、下記の2項目の SSLVerifyClient/SSLVerifyDepth を対象とするディレクトリディレクティブ内に記述すればよい。



Top Pageへ