SSL 通信暗号化機能を導入する
SSL 通信暗号化パッケージをインストールする
SSL 通信暗号化パッケージ (mod_ssl) は、yum コマンドを使用してインストールしますので、パッケージ管理の設定が完了していることを確認して下さい。
[ Fedora 7 ]
[root@web ~]# yum install mod_ssl
サーバー秘密鍵の作成について
サーバー証明書を作成する際に必要なサーバー秘密鍵を作成します。
[ Fedora 7 ]
サーバー秘密鍵の保存先ディレクトリに移動する
[root@web ~]# cd /etc/pki/tls/certs/
サーバー秘密鍵を作成する
[root@web certs]# make server.key
umask 77 ; ¥ /usr/bin/openssl genrsa -des3 1024 > server.key Generating RSA private key, 1024 bit long modulus .............++++++ ......................................................++++++ e is 65537 (0x10001) Enter pass phrase:サーバー秘密鍵のパスワードを入力する Verifying - Enter pass phrase:サーバー秘密鍵のパスワードを再入力する
サーバー秘密鍵からパスワードを削除する
[root@web certs]# openssl rsa -in server.key -out server.key
Enter pass phrase for server.key:サーバー秘密鍵のパスワードを入力する writing RSA key
サーバー公開鍵の作成について
サーバー証明書を作成する際に必要なサーバー公開鍵を作成します。 また、サーバー公開鍵を作成する際に必要な情報を下記に示します。
[ Fedora 7 ]
サーバー公開鍵の保存先ディレクトリに移動する
[root@web ~]# cd /etc/pki/tls/certs/
サーバー公開鍵を作成する
[root@web certs]# make server.csr
umask 77 ; ¥ /usr/bin/openssl req -utf8 -new -key server.key -out 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]:Saitama サーバーを設置する都市名 Locality Name (eg, city) [Newbury]:Saitama サーバーを設置する組織名 Organization Name (eg, company) [My Company Ltd]:[ Enter ] サーバーを設置する組織の部門名 Organizational Unit Name (eg, section) []:[ Enter ] サーバー名 (FQDN) Common Name (eg, your name or your server's hostname) []:web.i2kt.com サーバーの管理者メールアドレス Email Address []:webmaster@i2kt.com Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []:[ Enter ] An optional company name []:[ Enter ]
サーバー証明書の作成について
サーバー秘密鍵、サーバー公開鍵を使用してサーバー証明書を作成します。
[ Fedora 7 ]
サーバー証明書の保存先ディレクトリに移動する
[root@web ~]# cd /etc/pki/tls/certs/
サーバー証明書を作成する
[root@web certs]# openssl x509 -in server.csr -out server.pem -req -signkey server.key -days 365
サーバー公開鍵、サーバー秘密鍵、サーバー証明書のアクセス権限を参照モード (所有者のみ) に変更する
[root@web certs]# chmod 400 server.*
[root@web certs]# ls -la server.*
-r-------- 1 root root 733 2007-09-28 16:36 server.csr [ サーバー公開鍵 ] -r-------- 1 root root 887 2007-09-28 16:11 server.key [ サーバー秘密鍵 ] -r-------- 1 root root 1013 2007-09-28 16:53 server.pem [ サーバー証明書 ]
SSL 通信暗号化機能の設定について (ウェブサーバーの設定)
ウェブサーバーの SSL 通信暗号化機能に関するオプション設定は、/etc/httpd/conf.d/ssl.conf ファイルを編集します。
[ Fedora 7 ]
[root@web ~]# vi /etc/httpd/conf.d/ssl.conf
# Server Certificate: # Point SSLCertificateFile at a PEM encoded certificate. If # the certificate is encrypted, then you will be prompted for a # pass phrase. Note that a kill -HUP will prompt again. A new # certificate can be generated using the genkey(1) command. サーバー証明書ファイルの格納先を指定 SSLCertificateFile /etc/pki/tls/certs/server.pem # Server Private Key: # If the key is not combined with the certificate, use this # directive to point at the key file. Keep in mind that if # you've both a RSA and a DSA private key you can configure # both in parallel (to also allow the use of DSA ciphers, etc.) サーバー秘密鍵ファイルの格納先を指定 SSLCertificateKeyFile /etc/pki/tls/certs/server.key
ウェブサーバーを再起動する
SSL 通信暗号化機能の設定を反映するため、ウェブサーバーを再起動します。
[ Fedora 7 ]
[root@web ~]# /etc/rc.d/init.d/httpd start
httpd を停止中: [ OK ] httpd を起動中: [ OK ]