2006-04-18 (Tue)

Debian(Sarge) で apache2 SSL の設定

自署名でローカル用に SSL の環境を構築する。

一般に開放するような場合は、もっとずっとちゃんとやらないといけないので、あんまり参考になりませんというか、そんなに詳しく書いてないというか、全然責任持てないんで、ええ。

まずは apache2 のインストールから。

# aptitude install apache2

SSL サイト用の設定ファイルを作成する。雛形が用意されているので、それをコピーしてから編集すると良い。

# cd /etc/apache2/sites-available
# cp /usr/share/doc/apache2/examples/ssl.conf.gz ssl.gz
# gzip -d ssl.gz

最低限書き換える必要があるのはこのくらい。

--- ssl.conf    2006-04-18 15:28:22.000000000 +0900
+++ ssl   2006-04-18 14:37:45.000000000 +0900
@@ -80,14 +80,14 @@
 ## SSL Virtual Host Context
 ##

-<VirtualHost _default_:443>
+<VirtualHost 192.168.145.128:443>

 #   General setup for the virtual host
 DocumentRoot "/usr/share/apache2/default-site/htdocs"
-ServerName www.example.com:443
+DocumentRoot "/path/to/root"
+ServerName 192.168.145.128:443
 ServerAdmin you@example.com
-ErrorLog /var/log/apache2/error_log
-TransferLog /var/log/apache2/access_log
+ErrorLog /var/log/apache2/error_log.ssl
+TransferLog /var/log/apache2/access_log.ssl

 #   SSL Engine Switch:
 #   Enable/Disable SSL for this virtual host.
@@ -105,7 +105,7 @@
 #   in mind that if you have both an RSA and a DSA certificate you
 #   can configure both in parallel (to also allow the use of DSA
 #   ciphers, etc.)
-SSLCertificateFile /etc/apache2/ssl.crt/server.crt
+SSLCertificateFile /etc/apache2/ssl/apache.pem
 #SSLCertificateFile /etc/apache2/ssl.crt/server-dsa.crt

 #   Server Private Key:
@@ -113,7 +113,7 @@
 #   directive to point at the key file.  Keep in mind that if
 #   you've both a RSA and a DSA private key you can configure
 #   both in parallel (to also allow the use of DSA ciphers, etc.)
-SSLCertificateKeyFile /etc/apache2/ssl.key/server.key
+SSLCertificateKeyFile /etc/apache2/ssl/apache.pem
 #SSLCertificateKeyFile /etc/apache2/ssl.key/server-dsa.key

 #   Server Certificate Chain:

次は証明書の作成。自分しか使わないので、設問は適当で良いでしょ。apache2-ssl-certificate コマンドを実行すると、/etc/apache2/ssl/apache.pem というファイルが作成される。

# cd /etc/apache2
# mkdir ssl
# apache2-ssl-certificate

モジュールとサイト別設定ファイルを有効にする。

# a2enmod ssl
# a2ensite ssl

apache を再起動。

# /etc/rc2.d/S91apache2 force-reload

これでブラウザでアクセスすると SSL のアクセスになる、が、証明書の警告が表示される。盲目的に証明書を自分のブラウザに組み込む前に、その証明書が自分で作ったものかを確認する必要がある。

まずはサーバ上の SSL の指紋を確認しておく。以下のコマンドで確認出来る。

# openssl x509 -sha1 -noout -fingerprint -in /etc/apache2/ssl/apache.pem

それで、ここに現れる Fingerprint と、ブラウザの警告に表示される証明書の内容の Fingerprint(拇印とかフィンガープリントとか?)が一致するか確認して、本当に自分で用意した証明鍵かどうかを確認した方が良い。世の中何が起きるかわからない。そのための SSL なんだから、最初から慎重にしないとね。

以上。

Posted by Kyosuke Takayama at 2006-04-18 (Tue) 15:40 printable version

この記事へのコメント

コメントはお気軽にどうぞ

Cookie に保存しますか?


・スパム対策のため、http:// を含むコメントの投稿は出来ません。
・スパムチェックのため、投稿がすぐに反映されない場合があります。
・メールアドレス入力欄には何も入力しないでください。

トラックバック

トラックバックURL: http://espion.just-size.jp/mt-tb.cgi/568


 
Copyright (C) Kyosuke Takayama, All rights reserved.