Webサーバー間の通信内容を暗号化します。
デフォルトではWebサーバ間の通信は平文で流れるため、ユーザ名やパスワード等を盗聴される恐れがあります。
ここでは、Webサーバーにmod_sslを導入して、Webサーバー間の通信内容を暗号化するようにします。
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通信が出来るようになります。
Copyright © 1999-2017 Amonution All rights reserved.