セキュアwebの設定方法


osCommerceをインストールしてしまった結果、SSL機能がないとセキュリティ面で問題が発生するこで

SSLを導入することにしました。

ここでは、プピュラーなopensslとmodsslの設定について説明します。

OpenSSL0.98をopenssl-0.9.8k.tar.gzよりダウンロードします。

ApacheSSLをapach_1.3.41.tar.gzよりダウンロードします。





◆セキュアWebの設定は以下の順序で行ないます。

  1. 前準備

  2. open_sslのインストール

  3. apache_sslのインストール

  4. クライアント証明書リクエストの発行

  5. 証明書発行に必要な CSR の作成

  6. 電子証明書の作成

  7. httpd.confの編集

  8. SSLの起動と停止編集

  9. SSLの動作確認




◆前準備
セキュアWeb環境を構築するには「perl」と「gcc」が必要です。。

  1. perlの確認は以下のコマンドで確認してください。

    # perl -v ←でperlがインストールされていることを確認。

  2. gccの確認は以下のコマンドで確認してください。

    # gcc -v ←でgccがインストールされていることを確認。

トップへ戻る

◆open_sslのインストール
#/usr/local/src
/usr/local/src# tar zxvf openssl-0.9.8k.tar.gz ← openssl-0.9.8k.tar.gzを解凍をする
/usr/local/src #cd openssl-0.9.6
/usr/local/src/openssl-0.9.6# ./config
/usr/local/src/openssl-0.9.6# make
/usr/local/src/openssl-0.9.6# make test
/usr/local/src/openssl-0.9.6# su
/usr/local/src/openssl-0.9.6# make install

トップへ戻る

◆apache_sslのインストール
# killall httpd     ←でApacheを終了させる。
# rm -r /var/lib/Apache  ←Apacheをディレクトリ毎削除をしました
# /usr/local/src
/usr/local/src# tar zxvf apach_1.3.41.tar.gz←解凍をする
/usr/local/src#  mv apache_1.3.41+ssl_1.60.tar.gz ./apache_1.3.41/
/usr/local/src# cd apache-1.3.41
/usr/local/src/apache_1.3.41#tar zxvf apache_1.3.41+ssl_1.60.tar.gz←Apachesslを解凍
/usr/local/src/apache_1.3.41# patch -p1 < SSLpatch←patchコマンドでApache-SSLを適用する。
/usr/local/src/apache_1.3.41# ./configure --prefix=/var/lib/Apache --enable-rule=SHARED_CORE \ 
> --with-layout=Apache --enable-module=so --enable-module=status --enable-module=info \
> --enable-module=rewrite --enable-module=usertrack
/usr/local/src/apache_1.3.41# make
/usr/local/src/apache_1.3.41# su
/usr/local/src/apache_1.3.41# make install

トップへ戻る

◆クライアント証明書リクエストの発行
# openssl genrsa -des 1024 > /usr/local/ssl/private/pri.pem
Enter Press Phrase:    ←パスワードを入力します。
Verfiying Enter Press Phrase:    ←同じパスワードを入力します。

ここで作成されたファイルの内容が表示されます。

----------END RSA PRIVATE KEY-------     ←メッセージを確認します。

# chmod 600 /usr/local/ssl/private/pri.pem

トップへ戻る

◆証明書発行に必要な CSR の作成
# # openssl req -new -days 365 -key /usr/local/ssl/private/pri.pem -out /usr/local/ssl/csr.pem
Enter pass phrase for /usr/local/ssl/private/pri.pem ←クライアント証明書リクエストの発行で入力したパスワードを入れます。

Country Name (2 letter code) [AU]:  ←JPと入力します。
State of Province Name (full name) [Some-state]: ←TOKYOと入力しました。
Localiity Name (eg, city) []:   ←KITA-KUと入力しました。
Organization Name(eg, company)[Internet Widgits Pty Ltd]: ←組織名(会社名など)です。hero-island,corpと入力しました。
Organization Unit Name (eg, section)[]: ←部門名などです。hero-islandと入力しました。
Common Name (eg, your name or your server's hostname)[]: ←サーバの名称などです。www.hero-island.ne.jpと入力しました。
Email Address []:←管理者のメールアドレスを入力します。

Please enter following 'extra' attributes
to be sent with your certificate request
A challenge password[]:  ←パスワードを入力します。
An optional company name: ←別会社名があれば入力します。私の場合は空enterです。

トップへ戻る

◆電子証明書の作成
通常では、この CSR を使って認証局に認証の依頼をしますが, ここでは自分で電子証明書を作成します。
# openssl x509 -in /usr/local/ssl/csr.pem -out /usr/local/ssl/certs/httpsd.pem -req -signkey /usr/local/ssl/private/pri.pem -days 365
Enter pass phrase for /usr/local/ssl/private/pri.pem ←クライアント証明書リクエストの発行で入力したパスワードを入れます。
Signature ok が上の方に表示されています。

トップへ戻る

◆httpd.confの編集
サーバの鍵ファイル(ca.key)と証明書ファイル(ca.der)が準備できたら、いよいよApacheのhttpd.confの設定です。
httpd.confの基本的な設定については、Apacheの設定で説明していますので、ここではSSLの部分のみを説明します。
# cd /var/lib/apache/conf
/var/lib/apache/conf/# cp httpsd.conf httpd.conf←httpsd.confをhttpd.comfにcopyします
/var/lib/apache/conf/# vi httpd.conf← vi コマンドでhttpd.comfを開きます。

以下のようにhttpd.confを設定します。

Port 443     ←Port80を443に変更します。
Listen 443   ←以下の赤字部分を追加します。
Listen 80
ServerType standalone
SSLCacheServerPort logs/gcache_port
SSLCacheServerPath bin/gcache
SSLSessionCacheTimeout 300
SSLCertificateKeyFile /usr/local/ssl/private/pri.pem
SSLCertificateFile /usr/local/ssl/certs/httpsd.pem
SSLVerifyClient 0
SSLVerifyDepth 10
SSLFakeBasicAuth

< VirtualHost _default_:80 >      ←VirtualHostの部分を以下のように書き換えます。
Port 80
SSLDisable
< /VirtualHost >
< VirtualHost _default_:443 >
Port 443
SSLCertificateKeyFile /usr/local/ssl/private/pri.pem
SSLCertificateFile /usr/local/ssl/certs/httpsd.pem
SSLVerifyClient 0
SSLVerifyDepth 10
SSLFakeBasicAuth
DocumentRoot /var/lib/apache/htdocs
< /VirtualHost >

トップへ戻る

◆SSLの起動と停止
Apacheの起動と停止は以下のコマンドで行います。
# /var/lib/apache/bin/httpsdctl start      ←起動する場合

# /var/lib/apache/bin/httpsdctl stop       ←停止する場合

トップへ戻る

◆動作確認
クライアントPCのブラウザーを立ち上げて以下の動作確認を行います。
http://localhost
https://localhost


上記のような画面が表示されます。正規の認証機関に提出した場合は表示されません。
また、ブラウザーの右下にも以下のような「鍵」が表示されます。

トップへ戻る

前ページへ戻る


ご質問・お問い合わせ - 免責事項
Copyright (C) 1998 hero-island. All Rights Reserved.