9回目-10.Let's Encryptの無料SSL導入

さくらVPSCentOS 7 2週間無料のお試し期間 9回目

目次一覧

 状態:-  閲覧数:479  投稿日:2018-03-22  更新日:2019-05-21
EPELリポジトリを有効にする / Certbotインストール実行

複数ホストを1証明書で取得 / SSL証明書取得実行

ブラウザ経由でアクセスして動作確認

SSL証明書の更新

EPELリポジトリを有効にする / Certbotインストール実行

 閲覧数:153 投稿日:2018-03-22 更新日:2019-05-21 

EPELリポジトリを有効にする


CertbotはEPEL(Enterprise Linux用のExtra Packages)にパッケージ化されている
・Certbotを使用するには、最初にEPELリポジトリを有効にする必要がある
$ sudo yum install epel-release
読み込んだプラグイン:fastestmirror, langpacks
base                                                                                                                                  | 3.6 kB  00:00:00    
epel/x86_64/metalink                                                                                                                  | 7.2 kB  00:00:00    
epel                                                                                                                                  | 4.7 kB  00:00:00    
extras                                                                                                                                | 3.4 kB  00:00:00    
nginx                                                                                                                                 | 2.9 kB  00:00:00    
remi-safe                                                                                                                             | 2.9 kB  00:00:00    
updates                                                                                                                               | 3.4 kB  00:00:00    
(1/3): epel/x86_64/updateinfo                                                                                                         | 881 kB  00:00:00    
(2/3): epel/x86_64/primary_db                                                                                                         | 6.2 MB  00:00:00    
(3/3): remi-safe/primary_db                                                                                                           | 1.1 MB  00:00:01    
Loading mirror speeds from cached hostfile
* base: ftp.iij.ad.jp
* epel: mirror.dmmlabs.jp
* extras: ftp.iij.ad.jp
* remi-safe: mirrors.thzhost.com
* updates: ftp.iij.ad.jp
パッケージ epel-release-7-11.noarch はインストール済みか最新バージョンです
何もしません


Certbotインストール実行


$ sudo yum install certbot-nginx
//中略
依存性を解決しました

=============================================================================================================================================================
Package                                                 アーキテクチャー           バージョン                             リポジトリー                 容量
=============================================================================================================================================================
インストール中:
python2-certbot-nginx                                   noarch                     0.22.0-1.el7                           epel                         63 k
更新します:
dracut                                                  x86_64                     033-502.el7_4.1                        updates                     321 k
selinux-policy-targeted                                 noarch                     3.13.1-166.el7_4.9                     updates                     6.5 M
systemd                                                 x86_64                     219-42.el7_4.10                        updates                     5.2 M
依存性関連でのインストールをします:
audit-libs-python                                       x86_64                     2.7.6-3.el7                            base                         73 k
certbot                                                 noarch                     0.22.0-1.el7                           epel                         21 k
checkpolicy                                             x86_64                     2.5-4.el7                              base                        290 k
libcgroup                                               x86_64                     0.41-13.el7                            base                         65 k
libsemanage-python                                      x86_64                     2.5-8.el7                              base                        104 k
policycoreutils-python                                  x86_64                     2.5-17.1.el7                           base                        446 k
pyOpenSSL                                               x86_64                     0.13.1-3.el7                           base                        133 k
pyparsing                                               noarch                     1.5.6-9.el7                            base                         94 k
python-IPy                                              noarch                     0.75-6.el7                             base                         32 k
python-backports                                        x86_64                     1.0-8.el7                              base                        5.8 k
python-backports-ssl_match_hostname                     noarch                     3.4.0.2-4.el7                          base                         12 k
python-cffi                                             x86_64                     1.6.0-5.el7                            base                        218 k
python-enum34                                           noarch                     1.0.4-1.el7                            base                         52 k
python-idna                                             noarch                     2.4-1.el7                              base                         94 k
python-ipaddress                                        noarch                     1.0.16-2.el7                           base                         34 k
python-ndg_httpsclient                                  noarch                     0.3.2-1.el7                            epel                         43 k
python-ply                                              noarch                     3.4-11.el7                             base                        123 k
python-pycparser                                        noarch                     2.14-1.el7                             base                        104 k
python-requests                                         noarch                     2.6.0-1.el7_1                          base                         94 k
python-setuptools                                       noarch                     0.9.8-7.el7                            base                        397 k
python-urllib3                                          noarch                     1.10.2-3.el7                           base                        101 k
python-zope-component                                   noarch                     1:4.1.0-3.el7                          epel                        227 k
python-zope-event                                       noarch                     4.0.3-2.el7                            epel                         79 k
python-zope-interface                                   x86_64                     4.0.5-4.el7                            base                        138 k
python2-acme                                            noarch                     0.22.0-1.el7                           epel                        135 k
python2-certbot                                         noarch                     0.22.0-1.el7                           epel                        481 k
python2-configargparse                                  noarch                     0.11.0-1.el7                           epel                         30 k
python2-cryptography                                    x86_64                     1.7.2-1.el7_4.1                        updates                     502 k
python2-future                                          noarch                     0.16.0-6.el7                           epel                        799 k
python2-josepy                                          noarch                     1.0.1-1.el7                            epel                         86 k
python2-mock                                            noarch                     1.0.1-9.el7                            epel                         92 k
python2-parsedatetime                                   noarch                     2.4-5.el7                              epel                         78 k
python2-pyasn1                                          noarch                     0.1.9-7.el7                            base                        100 k
python2-pyrfc3339                                       noarch                     1.0-2.el7                              epel                         13 k
python2-requests                                        noarch                     2.6.0-0.el7                            epel                        2.9 k
python2-six                                             noarch                     1.9.0-0.el7                            epel                        2.9 k
pytz                                                    noarch                     2016.10-2.el7                          base                         46 k
setools-libs                                            x86_64                     3.3.8-1.1.el7                          base                        612 k
依存性関連での更新をします:
audit                                                   x86_64                     2.7.6-3.el7                            base                        242 k
audit-libs                                              x86_64                     2.7.6-3.el7                            base                         96 k
dracut-config-rescue                                    x86_64                     033-502.el7_4.1                        updates                      56 k
dracut-network                                          x86_64                     033-502.el7_4.1                        updates                      98 k
libgudev1                                               x86_64                     219-42.el7_4.10                        updates                      85 k
libselinux                                              x86_64                     2.5-11.el7                             base                        162 k
libselinux-python                                       x86_64                     2.5-11.el7                             base                        234 k
libselinux-utils                                        x86_64                     2.5-11.el7                             base                        151 k
libsemanage                                             x86_64                     2.5-8.el7                              base                        145 k
libsepol                                                x86_64                     2.5-6.el7                              base                        288 k
policycoreutils                                         x86_64                     2.5-17.1.el7                           base                        858 k
selinux-policy                                          noarch                     3.13.1-166.el7_4.9                     updates                     437 k
systemd-libs                                            x86_64                     219-42.el7_4.10                        updates                     378 k
systemd-python                                          x86_64                     219-42.el7_4.10                        updates                     118 k
systemd-sysv                                            x86_64                     219-42.el7_4.10                        updates                      72 k

トランザクションの要約
=============================================================================================================================================================
インストール  1 パッケージ (+38 個の依存関係のパッケージ)
更新          3 パッケージ (+15 個の依存関係のパッケージ)

総ダウンロード容量: 21 M
Is this ok [y/d/N]:

y
//中略
インストール:
 python2-certbot-nginx.noarch 0:0.22.0-1.el7                                                                                                                

依存性関連をインストールしました:
 audit-libs-python.x86_64 0:2.7.6-3.el7          certbot.noarch 0:0.22.0-1.el7                                checkpolicy.x86_64 0:2.5-4.el7                
 libcgroup.x86_64 0:0.41-13.el7                  libsemanage-python.x86_64 0:2.5-8.el7                        policycoreutils-python.x86_64 0:2.5-17.1.el7  
 pyOpenSSL.x86_64 0:0.13.1-3.el7                 pyparsing.noarch 0:1.5.6-9.el7                               python-IPy.noarch 0:0.75-6.el7                
 python-backports.x86_64 0:1.0-8.el7             python-backports-ssl_match_hostname.noarch 0:3.4.0.2-4.el7   python-cffi.x86_64 0:1.6.0-5.el7              
 python-enum34.noarch 0:1.0.4-1.el7              python-idna.noarch 0:2.4-1.el7                               python-ipaddress.noarch 0:1.0.16-2.el7        
 python-ndg_httpsclient.noarch 0:0.3.2-1.el7     python-ply.noarch 0:3.4-11.el7                               python-pycparser.noarch 0:2.14-1.el7          
 python-requests.noarch 0:2.6.0-1.el7_1          python-setuptools.noarch 0:0.9.8-7.el7                       python-urllib3.noarch 0:1.10.2-3.el7          
 python-zope-component.noarch 1:4.1.0-3.el7      python-zope-event.noarch 0:4.0.3-2.el7                       python-zope-interface.x86_64 0:4.0.5-4.el7    
 python2-acme.noarch 0:0.22.0-1.el7              python2-certbot.noarch 0:0.22.0-1.el7                        python2-configargparse.noarch 0:0.11.0-1.el7  
 python2-cryptography.x86_64 0:1.7.2-1.el7_4.1   python2-future.noarch 0:0.16.0-6.el7                         python2-josepy.noarch 0:1.0.1-1.el7          
 python2-mock.noarch 0:1.0.1-9.el7               python2-parsedatetime.noarch 0:2.4-5.el7                     python2-pyasn1.noarch 0:0.1.9-7.el7          
 python2-pyrfc3339.noarch 0:1.0-2.el7            python2-requests.noarch 0:2.6.0-0.el7                        python2-six.noarch 0:1.9.0-0.el7              
 pytz.noarch 0:2016.10-2.el7                     setools-libs.x86_64 0:3.3.8-1.1.el7                        

更新:
 dracut.x86_64 0:033-502.el7_4.1              selinux-policy-targeted.noarch 0:3.13.1-166.el7_4.9              systemd.x86_64 0:219-42.el7_4.10            

依存性を更新しました:
 audit.x86_64 0:2.7.6-3.el7                        audit-libs.x86_64 0:2.7.6-3.el7                   dracut-config-rescue.x86_64 0:033-502.el7_4.1          
 dracut-network.x86_64 0:033-502.el7_4.1           libgudev1.x86_64 0:219-42.el7_4.10                libselinux.x86_64 0:2.5-11.el7                        
 libselinux-python.x86_64 0:2.5-11.el7             libselinux-utils.x86_64 0:2.5-11.el7              libsemanage.x86_64 0:2.5-8.el7                        
 libsepol.x86_64 0:2.5-6.el7                       policycoreutils.x86_64 0:2.5-17.1.el7             selinux-policy.noarch 0:3.13.1-166.el7_4.9            
 systemd-libs.x86_64 0:219-42.el7_4.10             systemd-python.x86_64 0:219-42.el7_4.10           systemd-sysv.x86_64 0:219-42.el7_4.10                  

完了しました!


複数ホストを1証明書で取得 / SSL証明書取得実行

 閲覧数:165 投稿日:2018-03-22 更新日:2019-05-21 

複数ホストを1証明書で取得


1: a.example.com
2: b.example.com

SSL証明書取得実行


CertbotがNginx設定ファイルを自動的に編集
$ sudo certbot --nginx
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):


自分のメールアドレスを入力
・「$ sudo certbot --nginx」で自分のメールアドレスを入力するのは、初回のみ
・SSL証明書の有効期限が迫ってくると、このメールアドレス宛「Let's Encrypt certificate expiration notice for domain」メールが届く
xxxx3@yahoo.co.jp
Starting new HTTPS connection (1): acme-v01.api.letsencrypt.org

-------------------------------------------------------------------------------
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.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:


Let's Encrypt project をやっている非営利団体にメールアドレスを共有しても良いなら y を入力
・嫌なら n を入力
・共有しても良いけれども、何のために共有するか分からないので
n

Which names would you like to activate HTTPS for?
-------------------------------------------------------------------------------
1: a.example.com
2: b.example.com
-------------------------------------------------------------------------------
Select the appropriate numbers separated by commas and/or spaces, or leave input
blank to select all options shown (Enter 'c' to cancel):


スペースキー入力後、Enter
Obtaining a new certificate
Resetting dropped connection: acme-v01.api.letsencrypt.org
Performing the following challenges:
http-01 challenge for a.example.com
http-01 challenge for b.example.com
Waiting for verification...
Cleaning up challenges
Deployed Certificate to VirtualHost /etc/nginx/conf.d/a.conf for a.example.com
Deployed Certificate to VirtualHost /etc/nginx/conf.d/b.conf for b.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):


httpアクセスがあった場合の処理を聞かれている
・1: httpsにリダイレクトさせない(httpを受け付けない)
・2: すべてhttpsにリダイレクトさせる
・httpでのアクセスを拒否してしまってもいいが、すでにhttpでブックマークされている場合などにアクセスできなくなってしまうので、リダイレクトさせる=2を選択


2
Redirecting all traffic on port 80 to ssl in /etc/nginx/conf.d/a.conf
Redirecting all traffic on port 80 to ssl in /etc/nginx/conf.d/b.conf

-------------------------------------------------------------------------------
Congratulations! You have successfully enabled https://a.example.com and
https://b.example.com

You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=a.example.com
https://www.ssllabs.com/ssltest/analyze.html?d=b.example.com
-------------------------------------------------------------------------------

IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at:
  /etc/letsencrypt/live/a.example.com/fullchain.pem
  Your key file has been saved at:
  /etc/letsencrypt/live/a.example.com/privkey.pem
  Your cert will expire on 2018-05-29. To obtain a new or tweaked
  version of this certificate in the future, simply run certbot again
  with the "certonly" option. To non-interactively renew *all* of
  your certificates, run "certbot renew"
- Your account credentials have been saved in your Certbot
  configuration directory at /etc/letsencrypt. You should make a
  secure backup of this folder now. This configuration directory will
  also contain certificates and private keys obtained by Certbot so
  making regular backups of this folder is ideal.
- 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


ブラウザ経由でアクセスして動作確認

 閲覧数:140 投稿日:2018-03-22 更新日:2019-05-21 

https対応済み


http://a.example.com/
→「https://a.example.com/」へリダイレクトする
a


https://a.example.com/
a


http://b.example.com/
→「https://b.example.com/」へリダイレクトする
b


https://b.example.com/
b


上記以外


デフォルト
・https未対応

http://www.example.com/
hoge


https://www.example.com/
この接続ではプライバシーが保護されません

セキュリティで保護されたページに戻る


http://IPアドレス/
hoge


https://IPアドレス/
この接続ではプライバシーが保護されません

セキュリティで保護されたページに戻る


SSL証明書の更新

 閲覧数:151 投稿日:2018-03-22 更新日:2019-05-21 

「certbot renew」動作確認


$ sudo certbot renew
Saving debug log to /var/log/letsencrypt/letsencrypt.log

-------------------------------------------------------------------------------
Processing /etc/letsencrypt/renewal/a.example.com.conf
-------------------------------------------------------------------------------
Cert not yet due for renewal

-------------------------------------------------------------------------------

The following certs are not due for renewal yet:
 /etc/letsencrypt/live/a.example.com/fullchain.pem (skipped)
No renewals were attempted.



作業開始


毎週火曜の3時にrenewを起動
・その後Nginx再起動
$ sudo vi /etc/cron.d/letsencrypt
0 3 * * 2 root /usr/bin/certbot renew && systemctl restart nginx


確認


cron.d/*ファイル確認
$ ls -la /etc/cron.d/letsencrypt
-rw-r--r-- 1 root root 65  3月 22 23:48 /etc/cron.d/letsencrypt


所有者
・rootであることを確認

permission
・所有者以外に書き込み権限(w)がないことを確認
・644

r
・readのr

w
・writeのw

cron
・起動確認
$ service crond status
Redirecting to /bin/systemctl status  crond.service
● crond.service - Command Scheduler
  Loaded: loaded (/usr/lib/systemd/system/crond.service; enabled; vendor preset: enabled)
  Active: active (running) since 木 2018-03-22 23:37:34 JST; 11min ago
Main PID: 5766 (crond)
  CGroup: /system.slice/crond.service
          └─5766 /usr/sbin/crond -n

3月 22 23:37:34 ◇◇.vs.sakura.ne.jp systemd[1]: Started Command Scheduler.
3月 22 23:37:34 ◇◇.vs.sakura.ne.jp systemd[1]: Starting Command Scheduler...
3月 22 23:37:34 ◇◇.vs.sakura.ne.jp crond[5766]: (CRON) INFO (RANDOM_DELAY will be scaled with factor 22% if used.)
3月 22 23:37:34 ◇◇.vs.sakura.ne.jp crond[5766]: (CRON) INFO (running with inotify support)
3月 22 23:37:34 ◇◇.vs.sakura.ne.jp crond[5766]: (CRON) INFO (@reboot jobs will be run at computer's startup.)



9回目-9.Nginxでバーチャルホスト設定

9回目-11.新規サブドメイン追加 + Let's Encryptの無料SSL導入



週間人気ページランキング / 9-14 → 9-20
順位 ページタイトル抜粋 アクセス数
1 PHPのmb_send_mail関数でメール送信できない | メール処理システム 29
2 Nginx設定。エラーログレベル | Nginx(Webサーバ) 21
3 Python 3.5 アンインストール / yum remove | Python(プログラミング言語) 11
4 FFmpeg 2.8.15 を yum インストール | ソフトウェアスイート 10
5 PHP実行ユーザ設定 / CentOS6 / Apache | PHP(プログラミング言語) 9
6 PHP Version 7.1.2 php-mecabエクステンション対応 / PHP 7.0.14 からのアップグレード  | MeCab(形態素解析) 8
6 ソースからビルドしたPython 2.7.3 アンインストール失敗 | Python(プログラミング言語) 8
7 touch コマンド / viコマンド。新規ファイル作成時の違い | Linuxコマンド 7
7 さくらVPS0 7
8 9回目-13.MySQL5.7.21設定 | CentOS 7 2週間無料のお試し期間 9回目(さくらVPS) 6
8 「設定ファイルに、暗号化 (blowfish_secret) 用の非公開パスフレーズの設定を必要とするようになりました。」対応 6
9 PHPファイルでchmodエラー | PHP(プログラミング言語) 5
9 設定 2019/1/22 / 一般ユーザがmailコマンドでメール送信 / 管理者がmailコマンドでメール送信 5
10 Postfix | メール処理システム 4
10 CentOSでcpコマンド動作確認するためには、Control + T ではなく、 -v オプションを使用 | cp(Linuxコマンド) 4
10 499 (Request has been forbidden by antivirus) | HTTP(通信プロトコル) 4
10 tar | Linuxコマンド 4
10 Python 3.6 インストール / make altinstall | Python(プログラミング言語) 4
10 「CentOS6」から「CentOS7」への移行 | CentOS 7 (CentOS) 4
10 echo と cat の違い 4
2021/9/21 1:01 更新