サーバ証明書を更新してみました

こんにちは

自転車と全く関係ないのですが、自分への備忘録として残します。

完全に備忘録と言うかlinuxのLAMPサーバネタなので興味がなければ読み飛ばしてください。

個人的にサーバ証明書(SSL)を取得して使ってます。

放置してたら明日には証明書の期限が切れます(^^;

ssl_000

昨年は、StartSSLという無料の証明書を使ってましたが、更新の仕方が良く分からないと言うか更新の案内が来なかったので

良くわからなくなりました。

その前までは、RapidSSLという安い証明書を取得していました。

RapidSSL自体の大元の発行元である、Geotrustが最近値上げしたらしくあまり安くなくなってしまいました。

最近はLet’s Encryptと言うプロジェクトで無料で発行している所が有りますが、有効期間が3ヶ月と短く、証明書を取得したり更新する為に一旦WEBサーバを停止ないと単純には取得できない(どうも出来る様ですが、調べても微妙にわからない)ので、取得はしてみましたが継続的に運用する自信が無かったです。

もう少し情報が出来きた次の更新で考えたいと思います。

と言う事で、安い証明書はないか調べてみると、GoGetSSLが安そうです。

ssl_001

決済もPayPalが使えそうなので、取得してみます。

取得するSSLは一番安いComodo Positive SSLにしましょう。安いので3年にします。

割引額が半端ないですね(^^;

3yearを選択し右側のBUYSSLを選択します。

ssl_002

購入するComodo PsitiveSSLの3年を確認し、一番上のBusiness Company or Private/IndividualをPrivate customerに変更します。

そしてNextStepを選択。

ssl_003

初めてでアカウントが無いので、Create new accountを選択します。

ssl_004

アカウント情報やパスワードを入力してNextStepを選択します。

ssl_005

決済にPayPalを選択して、Complate Orderを選択します。

PayPalの決済画面が表示されるので、決済します。

ssl_006

ログイン画面が出たので、ログインします。

ssl_007

こんな画面が表示されますので、Imcomplate Orderを選択します。

ssl_008

こんな一覧が表示されるので、Generateを選択します。

ssl_009

こんなページが表示され、CSRが必要になりますが。面倒なので、オンラインで生成します。

Online CSR Generatorを選択します。

ssl_010

Common NameにはSSLを発行するホスト名、それ以外はメールアドレス以外は適当(嘘がない範囲)に入れます。

CSRは年の為、メールでもらいます。Send me CSR and PrivateKeyをチェックします。

で、Generate CSRを選択します。

CSRキーと、Privateキーが画面に表示され、メールでも送信されます。

(セキュリティーのためキャプチャーは控えます)

ssl_011

元の画面でCSRキーをコピペしてから、Validate CSRを選択します。

認証アルゴリズムは今時なのでSHA2を選択します。SHA1は脆弱なのが指摘され、廃止方向なのでやめておきます。

Web Server Softwareはapacheのmod_sslを使うのでOTHERです。IISの場合には選択が有りました。

ssl_010

一覧の中で受信できるメールアドレスを選択してNext Stepを選択します。

取得するSSLのドメインの所有者であることをこれで、確認します。

ssl_012

メールで認証コードと一緒に来るURLにアクセスし、認証コードを入力します。

ssl_015

認証コードを入れてNEXTボタンを押してしばらくすると、メールが何通か届きました。(今回は3分程度)

完了したとか、証明書とか、サイトシールの情報など。。。

で、元の画面を表示するとStatusがactiveになりました。activeになる前は丸いのがクルクル回ってました。

ssl_016

メールで証明書が来たので、インストールします。

サーバに証明書(CRT)を配置します。

2016.kingyo.info.crt

中間証明書をサーバに配置します。

2016.kingyo.info.ca-bundle

プライベートキーをサーバに配置します。

2016.kingyo.info.key

apacheのssl.confファイルの以下の箇所を新しい証明書ファイルに変更します。

SSLCertificateFile /etc/httpd/conf/ssl/2016.kingyo.info.crt
SSLCertificateKeyFile /etc/httpd/conf/ssl/2016.kingyo.info.key
SSLCertificateChainFile /etc/httpd/conf/ssl/2016.kingyo.info.ca-bundle

apacheの設定ファルをチェックします。

service httpd configtest

>Syntax OK

OKなので、WEBサーバを再起動します。

service httpd restart

ブラウザでサイトにアクセスして証明書が更新されたか確認します。

3年延長されました。めでたしめでたし。

ssl_017

ついでに、メールサーバの証明書も更新します。

使ってるメールサーバは今時のではなくqmail+Dovecot(imap)を使ってます。

ルート証明書が必要になるので、サーバに配置します。(2016.AddTrustExternalCARoot.crt)

中間証明書が素直に使えませんので、ガッチャンコして作成します。

cp ./2016.kingyo.info.key ./2016.kingyo.qmail.pem

cat ./2016.kingyo.info.crt >> ./2016.kingyo.qmail.pem

cat ./2016.kingyo.info.ca-bundle >> ./2016.kingyo.qmail.pem

cat ./2016.AddTrustExternalCARoot.crt >> ./2016.kingyo.qmail.pem

qmailの起動スクリプト/etc/init.d/qmail中の証明書の記載(2016.kingyo.qmail.pem)を修正してqmailを再起動します。

service qmail restart

以下のコマンドでsmtpsポートの証明書を確認します。

openssl s_client -connect secure.kingyo.info:465 -showcerts

味方が今ひとつ分かりませんが、証明局が変更になってるし、証明書の内容が一致しているのでOKと判断します。

Certificate chain
0 s:/OU=Domain Control Validated/OU=PositiveSSL/CN=secure.kingyo.info
i:/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO RSA Domain Validation Secure Server CA

IMAPサーバ(dovecot)の方も変更します。

今度は変更前の情報も見てみます。

openssl s_client -connect secure.kingyo.info:993 -showcerts

変更前のstartcomになってます。

Certificate chain
0 s:/C=JP/CN=secure.kingyo.info/emailAddress=postmaster@kingyo.info
i:/C=IL/O=StartCom Ltd./OU=Secure Digital Certificate Signing/CN=StartCom Class 1 Primary Intermediate Server CA

証明書ファイルの指定を変更します。以下のファイルの内容を修正します。

/etc/dovecot/conf.d/10-ssl.conf

以下の2行を変更します。

ssl_cert = </etc/httpd/conf/ssl/2016.kingyo.qmail.pem
ssl_key = </etc/httpd/conf/ssl/2016.kingyo.info.key

dovecotを再起動します。

/etc/init.d/dovecot restart

今度は変更後の情報も見てみます。

openssl s_client -connect secure.kingyo.info:993 -showcerts

COMODOに変わってるのでOKとします。

Certificate chain
0 s:/OU=Domain Control Validated/OU=PositiveSSL/CN=secure.kingyo.info
i:/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO RSA Domain Validation Secure Server CA

ついでにサイトシールを取得してみます。

メールに記載されているURLにアクセスします。

証明書のタイプはPositiveSSL、ページの背景色はWhiteにします。

画像をサーバに設置しろとあるので、左から3つ目の画像をサーバ上で取得します。

wget https://trustlogo.com/images/new-trustlogos/comodo_secure_100x85_white.png

でContinueを選択します。

ssl_018

画像を設置したURLを指定して、VERIFYを選択します。その後Continueボタンを選択します。

ssl_019

そうするとサイトに設置するHTML(JavaScript)が表示されるので、それをサイトに配置します。

<head>タグ内と、<body>タグ内の両方に置く必要があります。コピペでやりました。

ssl_020

で、設置サイトを見るとセキュリティーシールが表示されます。サイトURLはこれ(https://secure.kingyo.info/)

セキュリティーシールをクリックすると。。

ssl_021

こんなページがポップアップで表示されます。

RapidSSLやStartSSLよりサービスが良いですね。

しかしsecure.kingyo.infoで証明書を取得したのに、www.kingyo.infoで保証するのってどうなんでしょうかね。。

www.kingyo.infoが無いので折角なのでサイトを上げて、転送設定でもしておこうかなと思います。

ssl_022

次は3年後です。

この備忘録を見てチャレンジしようと思います。