sslを更新しようかと考えていてユーザーデータや課金データを扱うサイトではないので無料のSSLを試してみようかと Lets Encrypt https://letsencrypt.org を利用してみることにしました。
SSLの種類?無料で大丈夫?
SSLの認証の種類には
- ドメイン認証
- 組織認証
- EV
があり、
ドメイン認証は、ドメインを持っていることだけの認証、
組織認証は、組織が実在していることの認証、
EVは所在地の認証も行います。EVではブラウザのアドレスバーに組織名が表示されます。銀行や金融関連などを利用する時はフィッシング詐欺を避けるためアドレスバーの組織名も確認してみてください。
通信の暗号化のみを利用する場合は、ドメイン認証。ショッピングサイトなどサイトの信頼性・実在をユーザーに見せて安心感を持ってもらうには組織認証を利用するという使い分けになるかと思います。とりあえず、暗号化のみで問題ないサイトについてはドメイン認証のみの無料SSLを利用してみようと思います。
Let’s Encrypt https://letsencrypt.org は無料で、寄付で運用されているため状況によっては、いつまで利用できるかはわかりません。難しい状況になったら有料のSSLに切り替えます。
例えば有料のSSLでも https://www.ssls.com/ などでは、一番安いドメイン認証 2年契約で1年あたり3.77USDとなっています。1年契約では 5.88USD (2019/09現在)。いくつかのサイトを運営するには問題ない金額かと思います。信頼性重視のサイトでは国内に窓口のある組織認証を利用した方が良いでしょうね
certbotで簡単設定・自動更新!
https://certbot.eff.org/instructions こちらから、httpdのソフトウェアとサーバーを選択するとそのままコマンドの説明が表示されます!そのままでほぼ問題なく
certbot install
# wget https://dl.eff.org/certbot-auto --no-check-certificate
# sudo mv certbot-auto /usr/local/bin/certbot-auto
# sudo chown root /usr/local/bin/certbot-auto
# sudo chmod 0755 /usr/local/bin/certbot-auto
centos6 は python3 をインストールしておく必要があります。 そして –no-bootstrap を付けて実行
# sudo /usr/local/bin/certbot-auto certonly --nginx --no-bootstrap
Saving debug log to /var/log/letsencrypt/letsencrypt.log Plugins selected: Authenticator nginx, Installer nginx Which names would you like to activate HTTPS for? - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1: groundroad.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Select the appropriate numbers separated by commas and/or spaces, or leave input blank to select all options shown (Enter 'c' to cancel): 1 Obtaining a new certificate IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/bbtune.com/fullchain.pem Your key file has been saved at: /etc/letsencrypt/live/bbtune.com/privkey.pem Your cert will expire on 2019-12-14. To obtain a new or tweaked version of this certificate in the future, simply run certbot-auto again. To non-interactively renew *all* of your certificates, run "certbot-auto renew" - If you like Certbot, please consider supporting our work by: Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate Donating to EFF: https://eff.org/donate-le
以下のファイルが生成されます。
# ls /etc/letsencrypt/live/groundroad.com/
README cert.pem chain.pem fullchain.pem privkey.pem
こちらをnginxのconfigに反映させます。 sslの部分だけですがこのような形になります。
server { #
ssl on;
listen 443;
server_name groundroad.com;
ssl_certificate /etc/letsencrypt/live/groundroad.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/groundroad.com/privkey.pem;
}
nginxを再起動すると無事SSLが有効になりました。
certbot 更新設定
/usr/local/bin/certbot-auto renew をcronに設定します。 証明書は90日間有効なので90日以内に更新します。 renewは60日経過しないと実行されないので毎日実行していても問題ありません。 とても簡単に設定できました。
ちなみにさくらのレンタルサーバーはletsencryptの無料SSLを簡単に利用できるようです。 独自のSSLのところもあるようですのでいろいろチェックしてみてください。
コメント