月別アーカイブ
検索

‘Apache2’ タグが付けられた記事

Redmine や Subversion を動かしている 自社サーバ(Vine Linux 5) に SSL通信 を導入した時の作業メモです。

外部向け(このサイト)のWebサーバはホスティングを使っているので、自社サーバの Apache2 は これら Redmine と Subversion だけのために動かしています。

準備

OpenSSL は通常インストールで入っていました。

ただ、Apache2 が標準では SSL に対応していないので、mod_ssl をインストールします。

# apt-get install mod_ssl

証明書の作成

まず、秘密鍵を作成する。

# cd /usr/share/ssl/certs
# make server.key
(パスフレーズ入力)×2回

秘密鍵からパスフレーズを削除する。

# openssl rsa -in server.key -out server.key

公開鍵を作成する。

# make server.csr
Country Name JP
State or Province Name Kumamoto
Locality Name Kumamoto
Organization Name IT Produce Kumamoto
Organization Unit Name IT
Common Name (サーバのURL)
EMail Address (管理者のメールアドレス)
A challenge password なし
An optional company name なし

認証書を作成する。有効期限は1年にしておく。

# openssl x509 -in server.csr -out server.crt -req -signkey server.key -days 365

Apache2 の設定ファイルを書き換える

/etc/apache2/conf/httpd.conf を書き換えます。

    (略)
# Dynamic Shared Object (DSO) Surpport
    (略 : LoadModule が並んでいる後に追加すると分かりやすい)
LoadModule ssl_module modules/mod_ssl.so

(/etc/apache2/conf/httpd.conf に書いてもいいのですが)SSL関連の記述は、/etc/apache2/conf.d/ssl.conf に書きます。

<IfModule mod_ssl.c>
    NameVirtualHost *:443
    Listen 443
    <VirtualHost *:443>
        ServerAdmin noboru@itpk.jp
        DocumentRoot /var/www/html/
        SSLEngine on
        SSLCertificateFile /usr/share/ssl/certs/server.crt
        SSLCertificateKeyFile /usr/share/ssl/certs/server.key
    <Files ~ "\.(cgi|shtml)$">
        SSLOptions +StdEnvVars
    </Files>
    SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown
    </VirtualHost>
</IfModule>

接続確認

信頼できない接続(FireFox)

信頼できない接続(FireFox)

ブラウザで今回設定したサーバにアクセスしてみます。この時に必ずURLを、”https://…”とすること(そうしないと、SSL接続の確認になりません)。

すると、図のような画面が表示されるはずです(ブラウザによって多少は異なる)。

今回使用した証明書は、自分で作って発行したものだからです。

ところで、SSL通信の役割は2つあります。

1つは通信を暗号化することにより安全性を高めること。



証明書エラー(Internet Explorer)

証明書エラー(Internet Explorer)

もう1つは、通信相手が信頼できる相手だと保証することです。

ただ、今回の使用目的の場合は、通信の暗号化だけが目的です。アクセスするのは社員だけなので(自社サーバーであることは確実なので)信頼はしてもらえる、という前提で作っています。

これが仮に、不特定多数の人が機密性の高いデータをやり取りするようなサービスである場合(ショッピングサイトなど)は、きちんとした認証局に間に入って貰う必要があります。



接続する

接続する

そんなこんなで、このサイトに関しては信頼することにして、接続することにします。

「危険性を理解した上で接続するには」の中の「例外を追加…」ボタンを押します。



セキュリティ例外の追加

セキュリティ例外の追加

しばらく(証明書を取得している間は待つことになる)すると「不正な証明書です」など、散々な書かれ方をされますが、今回は信頼できるサイトなので(「表示」ボタンを押せば先程作った証明書であることが分かります)、「セキュリティ例外を承認」を押します。

この時、「次回以降にもこの例外を適用する」にチェックを入れておけば、次回からはこの辺のやりとりはなくなります。