VPS CloudサーバーでSSLを簡単に実現するコマンドLet's Encryptの設定方法!


Let’s Encrypt is a free, automated, and open certificate authority (CA), run for the public’s benefit.
https://letsencrypt.org/about/
*ドメイン認証の証明書では、運営サーバーでドメインの所有者であることを証明
(ドメイン認証型(DV)は、お問い合わせフォームなどを設置した通信の暗号化を目的としただけの普通のウェブサイトに最適。ECサイトであれば実在証明型(OV)の方が良いと書いているところが多い)


Apache on Ubuntu 16.04 (xenial)の設定

設定

最初にLet's encryptをインストール
(Ubuntu 16.04 (xenial) 用のletsencrypt(Certbot) パッケージは、 apt-get コマンドからインストール可能)

$ sudo apt-get install python-letsencrypt-apache

注意)Ubuntu16.10 Versionからletsencryptの部分がcertbotに変更された。
($ sudo apt-get install python-certbot-apache)
16.04でcertbotはまだ使えず、入力してもエラーが出る。
E: Unable to locate package python-certbot-apache
(後の事を考えると、Apache16.10を使うべきだかが、何故か試験サーバーConohaVPSは最新が16.04, OVHも最新が16.04)

有効化
*サブドメイン設定にServerAlias wwwを設定してれば、以下でwwwも有効化できる。

$ sudo letsencrypt --apache -d website.com -d www.website.com

青色の画面に遷移して、メールアドレスを求められるので、ドメインのメールアドレスを入力。


規約を読めという事なので、規約を読んでAgree


どちらも有効にするか、片方だけ有効にするかという設定
リダイレクトの方が安全性が高いので、Secureを選択


設定完了の通知。これで、SSLのURLになりました。

設定の確認

設定されたかを自分のサーバー側で確認

$ cd /etc/letsencrypt/live
website.com
#ドメインフォルダが存在して、以下のファイルが書きこまれていたらOK
cert.pem  chain.pem  fullchain.pem  privkey.pem
cert.pem       #サーバ証明書
chain.pem      #中間証明書
fullchain.pem  #サーバ証明書+中間証明書
privkey.pem    #サーバ秘密鍵
ついでに以下に設定ファイルが出来た事も確認
$ cd /etc/letsencrypt/renewal/
website.com.conf

設定をオンラインで確認
SSL Test Online:https://www.ssllabs.com/ssltest/index.html

https://www.ssllabs.com/ssltest/analyze.html?d=yourdomain.com&hideResults=on

https://www.ssllabs.com/ssltest/analyze.html?d=website.com&hideResults=on
(Hidden resultパラメーターをOnにしておかないとドメインがトップページに載ってしまう)

letsencryptを削除する

基本的に削除するという状況になりづらいが、削除する時には手順に従って行う。

$ apt-get remove letsencrypt

更にパッケージ以外の不要ファイルをauto removeで消す。

$ sudo apt-get autoremove

sites-enabledのSSLに書き変わった部分を消去(消しても問題ない場所)する。

$ cd etc/apache2/sites-enabled
$ rm website.com-le-ssl.conf

sites-availableを再び設定する場合

$ sudo vim website.com.conf
<VirtualHost*:80>
    ServerAdmin admin@website.com
    ServerName website.com
    ServerAlias www.website.com
    DocumentRoot /var/www/html/website
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
$ sudo a2ensite website.com.conf
$ sudo service apache2 restart


覚えておきたいおまけ
$ apt-get update
$ apt-get autoremove
$ apt-get autoclean

-------------------------------------------
参考
https://www.digitalocean.com/community/tutorials/how-to-secure-apache-wi...
https://certbot.eff.org/#ubuntutyakkety-apache
https://letsencrypt.jp/docs/using.html#apache

カテゴリー: 

関連記事


関連記事