[ さくらVPS ] Apache に Rapid SSL を導入して Web サイトをセキュアにする

Pocket

普段意識して使用することはあまりないかもしれませんが、Web サイトとパソコンやスマホとの接続は暗号化されていない場合その情報を覗き見られる可能性があります。暗号化されていない接続手順のことを HTTP プロトコルと呼びます。一方、EC サイトなどで住所や名前などを入力してもその情報を暗号化して盗み見られても正しい情報がわからなくする接続手順のことを HTTPS プロトコルと呼びます。

スポンサーリンク

Rapid SSL を CentOS ( Apache ) に導入する

ここでは、HTTPS 対応のために、さくら VPS に Rapid SSL を導入する手順を紹介します。今回 SSL は「 サイフにやさしいSSL証明書 」で購入しました。

導入当時は最も安かったと思いますが、2016年5月現在、さくらでラピッドSSL では、1年だと 1500円、2年で 2700円、3年で 3200円とグンを抜いて安いような気がします。

導入手順の概要は、

  1. SSL証明書の購入
  2. アパッチのコンフィグファイルの編集

となります。

SSL証明書の購入

SSL を購入するには、購入前に購入者自ら csr ファイルを作成しなければなりません。OpenSSL を使っての作成方法を紹介します。cer ファイル(certificate)とは電子証明書であり、自己証明書(ルート証明書)に使用されるものです。

なんのこっちゃですが、作り方は難しくありません。機械的に作成しましょう

なお、Apache ( + ssl ) は導入されているものとします。

参考:OpenSSL をソースコードからセットアップする

csr ファイルの作成例

#
# 秘密鍵の作成(test.key)
#

$ openssl genrsa -des3 2048 > test.key
Generating RSA private key, 2048 bit long modulus
.......................+++
..............................
Enter pass phrase:(パスフレーズを入力)
Verifying - Enter pass phrase:(もう一度パスフレーズを入力)

#
# csrを作成する(test.csr)
#

$ openssl req -new -key test.key -out test.csr -sha1
Enter pass phrase for test.key:
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) []:Toyama
Locality Name (eg, city) [Default City]:Toyama
Organization Name (eg, company) [Default Company Ltd]:(会社名 ex. AKB48-Company)
Organizational Unit Name (eg, section) []:
Common Name (eg, your name or your server's hostname) []:(サーバのホスト名 ex. www.yahoo.co.jp)
Email Address []:

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:

#
# apacheの自動起動時にパスフレーズの手入力を省略するために
# パスフレーズを埋め込んだ秘密鍵ファイル(test_withpass.key)を作成しておく
#

$ openssl rsa < test.key > test_withpass.key
Enter pass phrase:(最初に秘密鍵を作成した時のパスフレーズ)
writing RSA key

作成した csr ファイルで購入手続きを行います。あとは、手順に従って振込みを済ませると、メールでサーバ証明書 ( メール本文に記載されています ) が送られてきます。

SSL の導入には秘密鍵ファイルとメールで送られてくるサーバ証明書と中間証明書をサーバに設置する必要がありますが、 中間証明書に関しては、https://www.slogical.co.jp/ssl/files/chainfile_rapidssl.txt をコピペして使用することになります。このページでは中間証明書のファイル名は server-ca.crt としてあります。

アパッチのコンフィグファイルの編集

アパッチのコンフィグファイルの設定例です。各ファイルパスはそれぞれの環境に応じて変更する必要がありますが、

  • server.crt ( メールで送られてくるサーバ証明書 )
  • server-ca.crt ( 中間証明書 )
  • test_withpass.key ( apache 自動起動用にパスフレーズを埋め込んだ秘密鍵ファイル )

を下記のようにコンフィグファイルに設定します。

vi /usr/local/apache2/conf/extra/httpd-ssl.conf

DocumentRoot "/var/www/html/public"
ServerName www.example.com:443

SSLCertificateFile      "/usr/local/apache2//conf/server.crt"
SSLCertificateKeyFile   "/usr/local/apache2//conf/test_withpass.key"
SSLCertificateChainFile "/usr/local/apache2//conf/server-ca.crt"

コンフィグファイルを編集後、アパッチを再起動して動作確認を行います。http:// ではなく、https:// でサイトに接続します。

スポンサーリンク


Pocket

Leave a Comment

Your email address will not be published. Required fields are marked *