Webサーバー間の通信内容を暗号化します。
デフォルトではWebサーバ間の通信は平文で流れるため、ユーザ名やパスワード等を盗聴される恐れがあります。
ここでは、Webサーバーにmod_sslを導入して、Webサーバー間の通信内容を暗号化するようにします。
yumを使ってインストールします。
[root@KURO-BOX ~]# yum -y install mod_ssl
読み込んだプラグイン:fastestmirror
Loading mirror speeds from cached hostfile
updates/metalink | 5.1 kB 00:00
* fedora: ftp.kddilabs.jp
* rpmfusion-free: ucmirror.canterbury.ac.nz
* rpmfusion-free-updates: ucmirror.canterbury.ac.nz
* updates: ftp.kddilabs.jp
rpmfusion-free-updates | 2.8 kB 00:00
updates | 4.5 kB 00:00
updates/primary_db | 5.3 MB 00:01
インストール処理の設定をしています
依存性の解決をしています
--> トランザクションの確認を実行しています
---> パッケージ mod_ssl.ppc 1:2.2.15-1.fc12.2 を更新に設定しました
--> 依存性の処理をしています: libnal.so.1 のパッケージ: 1:mod_ssl-2.2.15-1.fc12.2.ppc
--> 依存性の処理をしています: libdistcache.so.1 のパッケージ: 1:mod_ssl-2.2.15-1.fc12.2.ppc
--> トランザクションの確認を実行しています
---> パッケージ distcache.ppc 0:1.4.5-21 を更新に設定しました
--> 依存性解決を終了しました
依存性を解決しました
================================================================================
パッケージ アーキテクチャ
バージョン リポジトリー 容量
================================================================================
インストールしています:
mod_ssl ppc 1:2.2.15-1.fc12.2 updates 84 k
依存性関連でのインストールをします:
distcache ppc 1.4.5-21 fedora 108 k
トランザクションの要約
================================================================================
インストール 2 パッケージ
アップグレード 0 パッケージ
総ダウンロード容量: 192 k
インストール済み容量: 474 k
パッケージをダウンロードしています:
(1/2): distcache-1.4.5-21.ppc.rpm | 108 kB 00:00
(2/2): mod_ssl-2.2.15-1.fc12.2.ppc.rpm | 84 kB 00:00
--------------------------------------------------------------------------------
合計 147 kB/s | 192 kB 00:01
rpm_check_debug を実行しています
トランザクションのテストを実行しています
トランザクションのテストを成功しました
トランザクションを実行しています
インストールし : distcache-1.4.5-21.ppc 1/2
インストールし : 1:mod_ssl-2.2.15-1.fc12.2.ppc 2/2
インストールしました:
mod_ssl.ppc 1:2.2.15-1.fc12.2
依存性関連をインストールしました:
distcache.ppc 0:1.4.5-21
完了しました!
秘密鍵を作成します。
パスフレーズを入力する必要がありますが、最終的に削除するので何でも良いです。
[root@KURO-BOX ~]# openssl genrsa -des3 1024 > /etc/pki/tls/private/server.key Generating RSA private key, 1024 bit long modulus .......++++++ ....++++++ e is 65537 (0x10001) Enter pass phrase: パスフレーズ入力 Verifying - Enter pass phrase: パスフレーズ入力
秘密鍵からパスワードを削除します。
[root@KURO-BOX ~]# openssl rsa -in /etc/pki/tls/private/server.key -out /etc/pki/tls/private/server.key
Enter pass phrase for /etc/pki/tls/private/server.key: パスフレーズ入力
writing RSA key
アクセス権を変更します。
アクセス権変更 [root@KURO-BOX ~]# chmod 600 /etc/pki/tls/private/server.key アクセス権変更の確認 [root@KURO-BOX ~]# ls -l /etc/pki/tls/private/server.key -rw------- 1 root root 887 2010-06-02 19:27 /etc/pki/tls/private/server.key
公開鍵を作成します。
[root@KURO-BOX ~]# openssl req -new -key /etc/pki/tls/private/server.key -out /etc/pki/tls/certs/server.csr You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [XX]:JP 国名 State or Province Name (full name) []:Kanagawa 都道府県名 Locality Name (eg, city) [Default City]:Yokohama 市区町村名 Organization Name (eg, company) [Default Company Ltd]:Amonution.com サイト名応答(適当でよい) Organizational Unit Name (eg, section) []: 空でよい Common Name (eg, your name or your server's hostname) []:Amonution.com ホスト名 Email Address []:webmaster@Amonution.com 管理者メールアドレス Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: 空でよい An optional company name []: 空でよい
Webサーバー用の公開鍵からサーバー証明書を作成します。
[root@KURO-BOX ~]# openssl x509 -in /etc/pki/tls/certs/server.csr -out /etc/pki/tls/certs/server.crt -req -signkey /etc/pki/tls/private/server.key Signature ok subject=/C=JP/ST=Kanagawa/L=Hiratsuka/O=Amonution.com/CN=Amonution.com/emailAddress=webmaster@Amonution.com Getting Private key
Apache の mod_ssl 用設定ファイルを編集します。
[root@KURO-BOX ~]# vi /etc/httpd/conf.d/ssl.conf 作成した Web サーバー証明書を指定します。 SSLCertificateFile /etc/pki/tls/certs/server.crt Web サーバーの秘密鍵を指定します。 SSLCertificateKeyFile /etc/pki/tls/private/server.key ルートディレクトリを指定します。 DocumentRoot "/var/www/html"
以上でSSL通信が出来るようになります。
Copyright © 1999-2017 Amonution All rights reserved.