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

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

概要

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

mod_sslのインストール

yumを使ってインストールします。

[root@KURO-F7 ~]# yum -y install mod_ssl
fedora                    100% |=========================| 2.1 kB    00:00
updates                   100% |=========================| 2.3 kB    00:00
primary.sqlite.bz2        100% |=========================| 978 kB    00:00
Setting up Install Process
Parsing package install arguments
Resolving Dependencies
--> Running transaction check
---> Package mod_ssl.ppc 1:2.2.6-3 set to be updated
--> Processing Dependency: libdistcache.so.1 for package: mod_ssl
--> Processing Dependency: libnal.so.1 for package: mod_ssl
--> Running transaction check
---> Package distcache.ppc 0:1.4.5-15 set to be updated
--> Finished Dependency Resolution

Dependencies Resolved

=============================================================================
 Package                 Arch       Version          Repository        Size
=============================================================================
Installing:
 mod_ssl                 ppc        1:2.2.6-3        fedora             92 k
Installing for dependencies:
 distcache               ppc        1.4.5-15         fedora            135 k

Transaction Summary
=============================================================================
Install      2 Package(s)
Update       0 Package(s)
Remove       0 Package(s)

Total download size: 227 k
Downloading Packages:
(1/2): mod_ssl-2.2.6-3.pp 100% |=========================|  92 kB    00:00
(2/2): distcache-1.4.5-15 100% |=========================| 135 kB    00:00
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing: distcache                    ######################### [1/2]
  Installing: mod_ssl                      ######################### [2/2]

Installed: mod_ssl.ppc 1:2.2.6-3
Dependency Installed: distcache.ppc 0:1.4.5-15
Complete!

秘密鍵を作成します。
パスフレーズを入力する必要がありますが、最終的に削除するので何でも良いです。

[root@KURO-F7 ~]# 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-F7 ~]# 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-F7 ~]# chmod 600 /etc/pki/tls/private/server.key

アクセス権変更の確認
[root@KURO-F7 ~]# ls -l /etc/pki/tls/private/server.key
-rw------- 1 root root 887 2007-12-11 07:27 /etc/pki/tls/private/server.key

公開鍵を作成します。

[root@KURO-F7 ~]# 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) [GB]:JP	国名
State or Province Name (full name) [Berkshire]:Kanagawa	都道府県名
Locality Name (eg, city) [Newbury]:Yokohama	市区町村名
Organization Name (eg, company) [My 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-F7 ~]# openssl x509 -in /etc/pki/tls/certs/server.csr -out /etc/pki/tls/certs/server.crt -req -signkey /etc/pki/tls/private/server.key -days 365
Signature ok
subject=/C=JP/ST=Kanagawa/L=Yokohama/O=Amonution.com/CN=Amonution.com/emailAddress=webmaster@Amonution.com
Getting Private key

Apache の mod_ssl 用設定ファイルを編集します。

[root@KURO-F7 ~]# 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