バリューサーバーで独自ドメインによるSSLを無料でやってみる

TNKソフトウェアのサーバーは今までロリポップのサービスを使用していたのですが、パスワード記入欄があるとエラー扱いにするなど、年々ブラウザのhttpによる無暗号通信に対する厳しさが増していく中、未だに独自SSLがオプションである上に高額なので、契約が切れたのを機にバリューサーバーに乗り換えました。

最近はドメイン認証という最低限の信頼性を得たいだけであれば、無料で取得できる時代になりました。ここでは、TNKソフトウェアがhttpsドメインになるまでの手順を簡単に紹介したいと思います。

  1. サブドメインを設定する
    SSLはサブドメイン単位で有効になります。例えば、この設定だと、「tnksoft.com」と「www.tnksoft.com」はhttpsですが、「sh.tnksoft.com」はhttp通信になります。
  2. CSRを作成する
    SSLにおける証明書を発行する認証局に提出するCSRはバリューサーバーで作成します。これはバリューサーバーのヘルプページの1~4が詳しいのでそちらをご覧ください。プライベートキーはこのあと使うので覚えておくように。
  3. StartComから受け取れるメールアドレスを作成する
    「Let's Encrypt」は無料で証明書を発行しくれることで有名ですが、3ヶ月ごとでの更新が必要であることや、Linuxの知識も多少いるなど、サーバー構築になれてない人には難易度が高いので、私はStartComのサービスを使うことにしました。このサービスではドメイン認証に決められたアドレスしか使えないため、あらかじめ「postmaster@」「hostmaster@」「webmaster@」のいずれかのメールアドレスを開設し、受け取れる状態にしておきます。
  4. StartSslにアクセスする
    右上の「Sign-up」よりユーザー登録を行ったら、拡張子.p12のログイン証明書が発行されるので、これをダブルクリックしてパソコンに導入します。StartComに次回以降ログインするときは、この証明書の有無でチェックされるのですが、私の環境ではGoogle ChromeよりもMicrosoft Edgeの方がスムーズにログインできました。
  5. ドメインの証明をする
    ログインしたらコントロールパネルより「Validations Wizard」をクリックし、選択肢から一番上にある「Domain Validation」にチェックが入ったままで、「Continue」をクリック。続けてドメイン名(サブドメインは含まず)を入力します。指定したメールアドレスに届いたコードを「Verification code」に入力すれば認証は完了です。
  6. 署名の発行を申請する
    「Certificates Wizard」より「Web Server SSL/TLS Certificate」を選び、次のページに進みます。このページでhttpsを有効にしたいサブドメインを一行単位で入力し、CSRの欄にはバリューサーバーで作成した「-----BEGIN CERTIFICATE REQUEST-----」で始まるCSRテキストを入力します。
    リクエストに成功すると、「Issued」として、「Tool Box→Certificate List」より証明書がダウンロードできるようになります。ちなみに、申請は1日に3回までしか発行してくれないので、この点に注意しましょう。
  7. 中間証明書をダウンロードする
    バリューサーバーはApacheで稼働しているので、証明書はApacheServer.zipに含まれているものを利用することになります。ただし、ここに含まれる「1_root_bundle.crt」を使ってしまうと「この署名は安全性が低い」とブラウザで警告が出てしまうので、https://www.startssl.com/root/の「Intermediate CA Certificates」より、より強い暗号を用いた「StartCom Class 1 DV Server CA(pem)」をダウンロードし、代わりに使用します。
  8. 証明書のテキストを記入する
    最後はヘルプページの6~に従い、取得した各種証明書のテキストデータを入力します。「発行された証明書」にはStartSslから入手した「2_***.crt」内のテキストを、「発行された中間証明書」には「sca.server1.crt」内のテキストを入力します。これでインストールが完了すれば、しばらく後に対象のドメインが自動でhttpsになっているはずです。
2016/09/12