Let’s Encrypt を使って無料のssl証明書をゲットする

LINEで送る
Pocket

SSL の証明書を買おうとすると、安いサイトでは数千円、高いところでは数万もするものもあります。
企業で買うには、そんなに値が張るものではありませんが、個人で運用しているサイトや
試しに立てたサーバなどに利用するには、少し躊躇してしまう金額です。
そこで、openssl コマンドを使って、自ら証明書を作成する手順が今まで誌面やサイトで紹介されてきました。
しかし、これは俗に「オレオレ証明書」と呼ばれる証明書で、ウェブブラウザで参照すると
信頼性を検証できないという警告が表示されてしまいます。
これは、ウェブブラウザが知っている認証機関でない証明書機関が発行した証明書であるため、
通信に割り込んだ盗聴者が偽造したものと区別出来ないため警告を出しているのです。
まさに俺が作った、俺の為の証明書なのです。

Let’s Encrypt とは

Let’s Encrypt は、Mozilla, Cisco, Akamai などのメンバーが、HTTPSの普及を行っている、米国カリフォルニア州の公益法人 ISRG(Internet Security Research Group)に
より運営されているサービスで、このサービスを利用する事によりウェブブラウザが知っている認証機関の証明書を
無料で取得する事が出来るのです。
ボードメンバーには、Mozilla, Cisco, Akamai などの大手団体、企業の社員が含まれているため、
ネットユーザは、このサービスに好意を持って使用し急速に利用が広がっています。

Let’s Encrypt 関連のパッケージをインストール

前は、Let’s Encrypt サイトの git レポジトリからツールをダウンロードして
インストールを行っていましたが、今は、CentOS のアドオンパッケージを公開している
Epel のツールがリリースされているので、それを利用する方が簡単です。

$ sudo yum -y install epel-release
Nginx の場合
$ sudo yum -y install certbot python2-certbot-nginx
Apache の場合
$ sudo yum -y install certbot python2-certbot-apache
合計                                                                                                                                   3.2 MB/s | 4.0 MB  00:00:01     
file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 から鍵を取得中です。
Importing GPG key 0x352C64E5:
 Userid     : "Fedora EPEL (7) <epel@fedoraproject.org>"
 Fingerprint: 91e9 7d7c 4a5e 96f1 7f3e 888f 6a2f aea2 352c 64e5
 Package    : epel-release-7-9.noarch (@extras)
 From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
上記の処理を行います。よろしいでしょうか? [y/N]y

SSL証明書のインストール

Nginx の場合
$ sudo certbot run --nginx -d www.example.com   <- ドメイン名を入力
Apache の場合
$ sudo certbot run --apache -d www.example.com   <- ドメイン名を入力
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator nginx, Installer nginx
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): taro@example.com    <- メールアドレスを入力
Starting new HTTPS connection (1): acme-v01.api.letsencrypt.org

-------------------------------------------------------------------------------
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.1.1-August-1-2016.pdf. You must agree
in order to register with the ACME server at
https://acme-v01.api.letsencrypt.org/directory
-------------------------------------------------------------------------------
(A)gree/(C)ancel: a   <- 同意します。


-------------------------------------------------------------------------------
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about EFF and
our work to encrypt the web, protect its users and defend digital rights.
-------------------------------------------------------------------------------
(Y)es/(N)o: yes    <- メールアドレスを入力
tarting new HTTPS connection (1): supporters.eff.org
Obtaining a new certificate
Performing the following challenges:
tls-sni-01 challenge for www.example.com
nginx: [error] invalid PID number "" in "/var/run/nginx.pid"
Waiting for verification...
Cleaning up challenges
Deployed Certificate to VirtualHost /etc/nginx/conf.d/wordpress.conf for set(['www.example.com'])

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
-------------------------------------------------------------------------------
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
-------------------------------------------------------------------------------
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2     <- http のアクセスを https に変換するかの設定です

SSL証明書の更新

SSL証明書の期限は3ヶ月なので、定期的に更新が必要です。
以下のコマンドで更新が行えますが、

SSL証明書の更新
$ sudo certbot renew --force-renewal
クーロンに登録
$ sudo crontab -e
30 05 1 * * certbot renew --force-renewal
LINEで送る
Pocket

  • このエントリーをはてなブックマークに追加

コメントを残す

*

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください