このブログのサーバー(さくらの VPS)にラピッド SSL を導入した手順
かなり今更感はありますが常時 SSL 必須の流れを受け、このブログを置いているさくらの VPSサーバにもやっと SSL を導入しました!SSL は値段がお手頃だった「ラピッドSSL」にしました。
サーバーに詳しくなく、いろいろ調べながら導入したので備忘録として導入までの流れをまとめました。
以下主に参考にさせていただいた記事です。大変参考になりました!ありがとうございます。
OpenSSLでサーバーの秘密鍵とCSR作成手順。さくらVPS、CentOS 6+Apache環境 | 株式会社ウィズモ
さくらVPSにSSL通信を導入する手順(バカ向け) | 会計SEの裏紙
さくらVPSでApache+SSL環境の構築(CentOS6.5+Apache+RapidSSL) – Qiita
ちなみにさくらサーバーではSSL導入を代行してくれるサービス「SSLサーバー設定代行 | さくらのSSL」もあるようです。私は途中で apache が再起動しなくなったりしてかなり焦ったので、面倒な方はプロの方に頼んでしまうのもありかもしれませんね。
導入の流れ
SSLを導入するには大まかに以下の3ステップです。
STEP1. CSRと秘密鍵を作成する(CSRは認証局へ提出するもので、公開鍵の情報や組織名や所在地、サイト情報などを入力したデータです。)
↓
STEP2. さくらサーバーへラピッドSSLを申し込み、証明書を発行してもらう
↓
STEP3. サーバーに証明書を設定する
[SSL導入手順 STEP1] CSRと秘密鍵を作成する
CSRはサーバーで作成することもできますし、CSR生成サイトがいくつか公開されているのでそちらからも作成できます。どちらで作成するにしても以下の情報が必要です。(Whois 検索で検索して出てきた情報と同じものを入力します)
Country Name | ISOの2桁の国コード(例:JP) |
---|---|
State Name | 都道府県名 State/Province(例:Tokyo) |
Locality Name | 市町村名 City(例:Shibuya-ku) |
Organizational Name | 組織名 Organization(例:このブログのドメインはお名前.comでWhois情報公開代行してるので、Whois Privacy Protection Service by onamae.com としました) |
Organizational Unit | 組織の部署名ですが、上記と同じで大丈夫です |
Common Name | ドメイン名(例:memocarilog.info) |
CSR生成サイトで秘密鍵とCSRを作成する
生成サイトで作成するのはカンタンで、上記の項目を入力していくだけです。少しググったら以下のようなサイトが出てきました。
サーバから秘密鍵とCSRを作成する
サーバーから作成するには以下の手順です。
サーバーにログインし、以下のコマンドで mod_ssl をインストールします。
yum install mod_ssl
以下のコマンドを入力して秘密鍵とCSRを保存するディレクトリを作ります。
mkdir /etc/httpd/conf/ssl.csr/
上記のディレクトリへ移動します。
cd /etc/httpd/conf/ssl.csr
以下のコマンドを入力します。「server.key」は「任意の文字列.key」でも大丈夫です。
openssl genrsa -des3 -out server.key 2048
途中パスワードを聞かれるのでサーバーのパスワードを入力します。
これで ssl.csr ディレクトリに以下のような秘密鍵ファイルが作成されています。
次はCSRの作成です。以下のコマンドを入力して秘密鍵からCSRファイルを作成します。
openssl req -new -key server.key -out server.csr
コマンドを入力するといろいろ聞かれるので、最初の表の内容(Country Nameなど)をそれぞれ入力します。
最後の方で聞かれる Email Address / A challenge password / An optional company name の3つは何も入力せずエンターで大丈夫です。
これで ssl.csr ディレクトリに以下のような CSR ファイルが作成されています。
[SSL導入手順 STEP2] さくらサーバーへラピッドSSLを申し込み、証明書を発行してもらう
やっとさくらサーバーへSSLの申し込みです。
さくらのSSLへ申し込む
「さくらのSSL」ページからラピットSSL申し込みボタンをクリックします。ログイン画面になるのでログインし、「サービス選択画面へ」をクリックします。プラン選択・お支払いについてなど必要な項目を入力し「同意します」にチェックし「CSRの入力へ進む」をクリックします。
「CSR(証明書情報)の内容確認」画面にうつるので、最初に作成した server.csr の内容をコピペし、中央の矢印をクリックし内容を確認したら「確認画面へ進む」で次の画面へ進みます。
最後にプランの内容やCSRの内容の確認画面に移りますので確認し「この内容で申し込む」ボタンをクリックして申し込み完了です。
完了と同時にさくらから「お申込受付完了のお知らせ」メールが届き、しばらくすると「[さくらインターネット]SSLサーバ証明書 認証ファイルのアップロードについて」というメールが届きます。メールの内容をよく確認し手続きを進めていきます。(詳細は次項)
認証ファイルをアップロードする
会員メニュー にログインし、契約情報 > 契約サービスの確認 へ進むと、SSLの項目が追加されています。右側のボタンより「認証ファイル」をダウンロードし、認証して欲しいサーバーの html ディレクトリの一番上の階層へアップロードします。
認証ファイルをサーバーへアップロードすると自動的にさくら側で検知してくれるようで、アップロード後30分程で「[さくらインターネット]ジオトラスト SSLサーバ証明書発行のお知らせ」というメールがきました。
SSLサーバ証明書と中間CA証明書をダウンロードする
認証ファイルと同じようにメールの内容をよく確認し作業を進めましょう。
会員メニュー にログインし、契約情報 > 契約サービスの確認 へ進み、SSLの項目を見に行きます。先程認証ファイルのダウンロードボタンだった箇所が「サーバ証明書」に変わっているので、このボタンをクリックしSSLサーバ証明書をダウンロードします。
中間CA証明書は先程のメールの中ほどにかかれていますが「中間CA証明書(ラピッドSSL用)ダウンロード(SHA-2)|SSLサーバ証明書 ジオトラスト」から取得できます。(時期によって違う可能性があるのでメールをよくご確認下さい)
[SSL導入手順 STEP3] サーバーへ証明書を設定する
証明書をサーバーへ設置するため、サーバーへsshでログインします。
SSLサーバー証明書・中間CA証明書・秘密鍵・CSRファイルを設置する
以下のコマンドを入力して証明書などを置くディレクトリ ssl を作ります。
mkdir /etc/httpd/conf/ssl/
このディレクトリには、ここまでで取得してきた、SSLサーバー証明書・中間CA証明書・秘密鍵・CSRの4ファイルを置くことになります。
上記のディレクトリへ移動します。
cd /etc/httpd/conf/ssl
以下のコマンドでSSLサーバー証明書の内容を記入するファイルを新規作成します。ファイル名と内容が同じならローカルでファイルを作成して、上記のディレクトリへFTPでアップロードしても大丈夫です(この後作成するファイルもすべて同じく)
vim server.crt
vim が開くので、さくらの管理画面からダウンロードしたSSL証明書 server.crt の内容をコピペし、:wq で保存します。「—–BEGIN (略)—– と —–END (略)—– 」はそのまま貼り付けて大丈夫です(この後作成するファイルもすべて同じく)
以下のコマンドで中間CA証明書の内容を記入するファイルを新規作成します。
vim rapidssl-chain.crt
vim が開くので、さくらからきたメールよりリンクされている中間CA証明書ページの証明書の内容をコピペし、:wq で保存します。
以下のコマンドでCSRの内容を記入するファイルを新規作成します。
vim server.csr
vim が開くので、最初に作成した CSR の内容をコピペし、:wq で保存します。
以下のコマンドでCSRの内容を記入するファイルを新規作成します。
vim server.key
vim が開くので、最初に作成した秘密鍵の内容をコピペし、:wq で保存します。
Apacheの設定ファイルを編集・再起動
以下のコマンドでApacheの設定ファイルを開き編集します。
vim /etc/httpd/conf.d/ssl.conf
以下の箇所を「/(検索したい文字列)」で検索しながら編集していきます。vimは「i」キーで挿入モードへ切り替わります。挿入が終わったらESCボタンで元のモードへ戻れます。
DocumentRoot “/var/www/html” | # を削除しコメントアウトをなくす |
---|---|
ServerName www.example.info:443 | 自分のドメインへ変更 例:ServerName memocarilog.info:443 |
SSLProtocol all -SSLv2 -SSLv3 | 「-SSLv3」を追加 |
SSLCertificateFile /etc/httpd/conf/ssl/server.crt | 先程作成したserver.crtまでのパスへ変更する |
SSLCertificateKeyFile /etc/httpd/conf/ssl/server.key | 先程作成したserver.keyまでのパスへ変更する |
SSLCertificateChainFile /etc/httpd/conf/ssl/rapidssl-chain.crt | 先程作成したrapidssl-chain.crtまでのパスへ変更する |
以上を編集し終わったら :wp で保存し、以下のコマンドで Apache を再起動します。
service httpd restart
成功すると以下のように ok とかえってきます。
httpd を停止中: [ OK ]
httpd を起動中: [ OK ]
ドメインに https:// をつけてアクセスできたら作業終了です!!
No Comments & Tracbacks