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.