玄箱HGにFedoraを入れて自宅サーバを構築(Fedora12) - Amonution

Webサーバー間 通信内容暗号化(mod_ssl)

概要

Webサーバー間の通信内容を暗号化します。
デフォルトではWebサーバ間の通信は平文で流れるため、ユーザ名やパスワード等を盗聴される恐れがあります。
ここでは、Webサーバーにmod_sslを導入して、Webサーバー間の通信内容を暗号化するようにします。

mod_sslのインストール

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通信が出来るようになります。

スポンサード リンク

TOPに戻る / メニューに戻る
Copyright © 1999-2011 Amonution  All rights reserved.
Address