Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
EN
Uploaded by
良季 高橋
PDF, PPTX
511 views
さくらのクラウドDNS経由でワイルドカード証明書を後からインストールしたcertbotで取得する方法
#さくらのマイクロコミュニティ (CLI/APIユーザの会) vol.2 発表資料
Engineering
◦
Read more
0
Save
Share
Embed
Embed presentation
Download
Download as PDF, PPTX
1
/ 32
2
/ 32
3
/ 32
4
/ 32
5
/ 32
6
/ 32
7
/ 32
8
/ 32
9
/ 32
10
/ 32
11
/ 32
12
/ 32
13
/ 32
14
/ 32
15
/ 32
16
/ 32
17
/ 32
18
/ 32
19
/ 32
Most read
20
/ 32
21
/ 32
22
/ 32
23
/ 32
24
/ 32
25
/ 32
26
/ 32
27
/ 32
28
/ 32
29
/ 32
30
/ 32
Most read
31
/ 32
32
/ 32
Most read
More Related Content
PDF
Operation Bridgeguard 2006
by
Bradley Yates
PDF
Concentracio nminerales
by
RamonMenaEscalante
PPTX
20160830 Fukuoka.php vol18
by
Takayuki Gondoh
PDF
Docker hands on nifty sakura jul19
by
Masahito Zembutsu
PDF
Wp sslandroot certificate
by
Yoshida Yuri
PPTX
Let's Encryptについて話す【勉強会資料】
by
株式会社キャッチアップ
PDF
脆弱性事例に学ぶセキュアコーディング「SSL/TLS証明書検証」編 (KOF2014)
by
JPCERT Coordination Center
PDF
UnboundとDNSSEC(OSC2011 Tokyo/Spring)
by
Takashi Takizawa
Operation Bridgeguard 2006
by
Bradley Yates
Concentracio nminerales
by
RamonMenaEscalante
20160830 Fukuoka.php vol18
by
Takayuki Gondoh
Docker hands on nifty sakura jul19
by
Masahito Zembutsu
Wp sslandroot certificate
by
Yoshida Yuri
Let's Encryptについて話す【勉強会資料】
by
株式会社キャッチアップ
脆弱性事例に学ぶセキュアコーディング「SSL/TLS証明書検証」編 (KOF2014)
by
JPCERT Coordination Center
UnboundとDNSSEC(OSC2011 Tokyo/Spring)
by
Takashi Takizawa
Featured
PDF
2024 Trend Updates: What Really Works In SEO & Content Marketing
by
Search Engine Journal
PDF
Storytelling For The Web: Integrate Storytelling in your Design Process
by
Chiara Aliotta
PDF
Artificial Intelligence, Data and Competition – SCHREPEL – June 2024 OECD dis...
by
OECD Directorate for Financial and Enterprise Affairs
PDF
How to Leverage AI to Boost Employee Wellness - Lydia Di Francesco - SocialHR...
by
SocialHRCamp
PDF
2024 State of Marketing Report – by Hubspot
by
Marius Sescu
PDF
Everything You Need To Know About ChatGPT
by
Expeed Software
PDF
Product Design Trends in 2024 | Teenage Engineerings
by
Pixeldarts
PDF
How Race, Age and Gender Shape Attitudes Towards Mental Health
by
ThinkNow
PDF
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
by
marketingartwork
PDF
Skeleton Culture Code
by
Skeleton Technologies
PDF
PEPSICO Presentation to CAGNY Conference Feb 2024
by
Neil Kimberley
PDF
Content Methodology: A Best Practices Report (Webinar)
by
contently
PPTX
How to Prepare For a Successful Job Search for 2024
by
Albert Qian
PDF
Social Media Marketing Trends 2024 // The Global Indie Insights
by
Kurio // The Social Media Age(ncy)
PDF
Trends In Paid Search: Navigating The Digital Landscape In 2024
by
Search Engine Journal
PDF
5 Public speaking tips from TED - Visualized summary
by
SpeakerHub
PDF
ChatGPT and the Future of Work - Clark Boyd
by
Clark Boyd
PDF
Getting into the tech field. what next
by
Tessa Mero
PDF
Google's Just Not That Into You: Understanding Core Updates & Search Intent
by
Lily Ray
PDF
How to have difficult conversations
by
Rajiv Jayarajah, MAppComm, ACC
2024 Trend Updates: What Really Works In SEO & Content Marketing
by
Search Engine Journal
Storytelling For The Web: Integrate Storytelling in your Design Process
by
Chiara Aliotta
Artificial Intelligence, Data and Competition – SCHREPEL – June 2024 OECD dis...
by
OECD Directorate for Financial and Enterprise Affairs
How to Leverage AI to Boost Employee Wellness - Lydia Di Francesco - SocialHR...
by
SocialHRCamp
2024 State of Marketing Report – by Hubspot
by
Marius Sescu
Everything You Need To Know About ChatGPT
by
Expeed Software
Product Design Trends in 2024 | Teenage Engineerings
by
Pixeldarts
How Race, Age and Gender Shape Attitudes Towards Mental Health
by
ThinkNow
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
by
marketingartwork
Skeleton Culture Code
by
Skeleton Technologies
PEPSICO Presentation to CAGNY Conference Feb 2024
by
Neil Kimberley
Content Methodology: A Best Practices Report (Webinar)
by
contently
How to Prepare For a Successful Job Search for 2024
by
Albert Qian
Social Media Marketing Trends 2024 // The Global Indie Insights
by
Kurio // The Social Media Age(ncy)
Trends In Paid Search: Navigating The Digital Landscape In 2024
by
Search Engine Journal
5 Public speaking tips from TED - Visualized summary
by
SpeakerHub
ChatGPT and the Future of Work - Clark Boyd
by
Clark Boyd
Getting into the tech field. what next
by
Tessa Mero
Google's Just Not That Into You: Understanding Core Updates & Search Intent
by
Lily Ray
How to have difficult conversations
by
Rajiv Jayarajah, MAppComm, ACC
さくらのクラウドDNS経由でワイルドカード証明書を後からインストールしたcertbotで取得する方法
1.
1 さくらのクラウドDNS経由でワイルドカード証明書を 後からインストールしたCERTBOTで取得する方法 株式会社シーポイントラボ 高橋 良季
2.
自己紹介 • 高橋 良季
(たかはし よしき) • 株式会社シーポイントラボ 所属 • 静岡県浜松市のシステム開発会社 (主にWebアプリとスマホアプリを開発) • Webエンジニア • Linuxまわり • PHP • Javascript • etc… • どちらかというとバックエンドが好き 2
3.
目次 §1 SSL証明書高すぎ問題と Let’s
Encrypt §2 さくらのクラウドDNSを使って ワイルドカード証明書を”後から”取得する方法 §3 苦労した点・所感 3 以前弊社のブログに掲載した内容をもとにご説明します。 ※ 記事公開当時の情報を含みます。
4.
§1 SSL証明書高すぎ問題と Let’s Encrypt 4
5.
かつて、SSL証明書は高嶺の花だった… (特に学生時代の僕にとっては) • 大学生時代に、勉強も兼ねて自宅サーバーを作って 公開していた。 • Webサーバーやネットワークの設定方法など、非常に 勉強になった。 ここまではよかった… 5
6.
やっぱりSSLが欲しくなる。 • サイトへのコメント投稿や自宅サーバーへの ダッシュボードのログインなど、SSL化しておかないと 不安な部分が出てきた • 当時、すでにChromeを始めとしてSSL化への流れが あった。(徐々にSSLの扱いが厳しくなり始めていた) 6
7.
よし、SSLを取ろう…!!! • 安くても年額2万以上する • 最初はお試してやりたかったのに、年額2万はキツイ… •
サブドメインごとに取得しないといけない 趣味でやるには敷居が高すぎた。 7
8.
とりあえず”自己証明書(オレオレ証明書)”で我慢 • とにかくSSL通信は行いたかったので、自己認証局で SSL証明書を発行 • OSに証明書を信頼させることで、自分の環境ではSSL にすることができた •
外からサイトを見に来てくれる人には正式なSSLとして 認識されない • スマホへのSSL証明書登録が面倒だった (証明書の形式を変換する作業など) 8 しかし…
9.
貧乏学生の救世主、StartSSL (※ 個人の目線) • イスラエルの企業が運営していたSSL認証局 •
無料でSSL証明書を取得できるサービスを提供していた ※ ワイルドカード証明書は有料 ※ 間違えて証明書を取得した場合は、失効手続き(有料) が必要 9
10.
貧乏学生の救世主、StartSSL (※ 個人の目線) 使い勝手こそあまり良くはなかったものの、無料で SSL証明書を取得できる唯一と言ってもいいサービスだった。 10
11.
2015年 Let’s Encrypt
のベータ版がサービスイン! • 自分の所有しているドメインなら複数のSSL証明書が無 料で取得できる • ただし有効期限は約3ヶ月(取得から90日間) • 自動でLet’s EncryptのSSL証明書を更新、デプロイしてく れる”letsencrypt-auto”ツール(後のcertbot-auto)が用意 されていた • GoogleやCisco、Mozillaなど、信頼できる企業が運営の バックに ついている 11
12.
StartSSL と Let’s
Encrypt の比較 料金 有効期限 ワイルドカード 自動更新 ツールの提供 StartSSL 無料 ※ただし再取得 目的を含む失効 処理は有料 1年 非対応 なし Let’s Encrypt 再取得含めて 無料 ※ただし取得要 求APIのレート リミットあり 90日 非対応 あり 12
13.
2018年1月、Let’s Encrypt がついに ワイルドカード証明書発行に対応!!! 13
14.
StartSSL と Let’s
Encrypt の比較 料金 有効期限 ワイルドカード 自動更新 ツールの提供 StartSSL 無料 ※ただし再取得 目的を含む失効 処理は有料 1年 非対応 なし Let’s Encrypt 再取得含めて 無料 ※ただし取得要 求APIのレート リミットあり 90日 非対応 対応!!! あり 14
15.
StartSSL と Let’s
Encrypt の比較 料金 有効期限 ワイルドカード 自動更新 ツールの提供 StartSSL 無料 ※ただし再取得 目的を含む失効 処理は有料 1年 非対応 なし Let’s Encrypt 再取得含めて 無料 ※ただし取得要 求APIのレート リミットあり 90日 非対応 対応!!! あり 15 無料でワイルドカード 証明書を取得できる サービスに
16.
16 • 無料で使える • 何個でもSSL証明書を発行できる(レートリミットあり) •
ワイルドカード証明書も取れる • 90日しか有効期限がないとはいえ、自動で更新して デプロイ&Webサーバー再起動までしてくれる Let’s Encrypt最高!!!🤤 自分のサイトのSSLをすべてLet’s Encryptへ移行させました Let’s Encrypt のメリット
17.
§2 さくらのクラウドDNSを使って ワイルドカード証明書を”後から”取得 する方法 17
18.
さくらのクラウドでは… 18 インスタンス立ち上げ時に ”スタートアップスクリプト”から “Let’s Encrypt” を選択すると自動でCertbotとさくらの クラウドDNSとを連携させた状態で インストールできる コレ!
19.
では、後からSSLが欲しくなった場合は どうすればいい? 19 • ワイルドカードでない証明書を取得するとき ⇒ Webサーバーで対応できるので、Apacheプラグイン やNginxプラグインを使用すればOK •
ワイルドカード証明書を取得するとき ⇒ DNS認証が必須になる ⇒ SSL証明書取得・更新時にDNSをCertbotから操作す る手段が必要
20.
Certbotとは? 20 • Let’s EncryptでSSL証明書申請・取得時に使用する、 自動ドメイン認証・SSL証明書デプロイツール •
手続き方法はすべて”ACMEプロトコル”として 公開されている • X.509証明書のドメイン検証、インストール、および管理を自動 化するための標準プロトコル(IETF RFC 8555) • Let’s Encrypt以外でも自動認証を導入することができる 仕組みになっている。
21.
CertbotからDNSをコントロールするには? 21 スクリプト、もしくはプラグインを使って、更新時に自動で DNSのTXTレコードを書き換える。
22.
例: MyDNS 22 • SSL更新時にスクリプトを走らせる”manual-auth-hook” でLet’sEncryptからの検証前にDNSの値を書き換える スクリプトを動かす •
リクエストの例 (github.com/disco-v8/DirectEdit から引用) 詳細は引用元をご覧ください。 certbot-auto certonly --manual ¥ --preferred-challenges=dns ¥ --manual-auth-hook /your/domain/directory/DirectEdit- master/txtregist.php ¥ --manual-cleanup-hook /your/domain/directory/DirectEdit- master/txtdelete.php ¥ -d yourdomain -d *.yourdomain ¥ --server https://acme-v02.api.letsencrypt.org/directory ¥ --agree-tos -m yourmailaddr ¥ --manual-public-ip-logging-ok
23.
さくらのクラウド DNSの場合… 23 さくらのクラウド用Certbotプラグイン “certbot-dns-sakuracloud" を使用 • Python
Package Index 上にプラグインが公開されている ⇒ pipコマンドから入手可能 pip install certbot-dns-sakuracloud
24.
⚠️ 注意点 24 certbot-auto を使用している場合、Certbotがpyenvを 使ってインストールされているため、
pip install する 前にCertbotのpyenvの環境に入る必要がある # certbotディレクトリへ移動 cd /opt/eff.org/certbot/venv # certbotのpyenvに入る source bin/activate # certbot-dns-sakuracloudのインストール pip install certbot-dns-sakuracloud # pyenvから抜ける deactivate ※ certbotディレクトリのパスは各環境に合わせてください。
25.
さくらのクラウド アクセストークンの設定 25 • 適当な場所に
“.sakura” ファイルを作成し、アクセス トークンを書き込み • 下記の内容で .sakura ファイルを適当な場所に作成 例: ~/.sakura • 上記で作成した .sakura ファイルのパーミッションを変更 参考: さくらのクラウド APIキーの取得方法 さくらのクラウドDNS + Let’s Encrypt でワイルドカード証明書する! – Qiita sudo chmod 600 ~/.sakura dns_sakuracloud_api_token = 'アクセストークン' dns_sakuracloud_api_secret = 'アクセストークンシークレット'
26.
SSL証明書取得 26 • 次のコマンドの例に従って、SSL証明書を取得 sudo certbot-auto
certonly ¥ --dns-sakuracloud # さくらのクラウドDNSプラグインの使用を指定 ¥ --dns-sakuracloud-credentials ~/.sakura # APIトークンを記述したファイルのパスを指定 ¥ -d example.com -d *.example.com # SSLを取得したいドメインを指定 ¥ -m mail@example.com # Let‘s Encryptから通知を受けるメールアドレスを指定 ¥ --agree-tos ¥ # 規約に同意 ¥ --manual-public-ip-logging-ok # グローバルIPアドレスのロギングを許可 ¥ --preferred-challenges dns-01 # DNS-01認証を使用(ワイルドカード証明書は必須) ¥ --server https://acme-v02.api.letsencrypt.org/directory # 認証サーバーURL ¥ --renew-hook “SSL証明書更新時に実行したいコマンド“ # 例: systemctl restart nginx ※ うまくいかないときは改行を消して実行してください。 認証に成功すると、証明書が発行されます!!!
27.
SSL証明書の保存場所 27 • 取得したSSL証明書は以下のパスに保存される • 中間証明書を含む証明書(公開鍵) /etc/letsencrypt/live/証明書を申請したドメイン名/fullchain.pem •
証明書(公開鍵) /etc/letsencrypt/live/証明書を申請したドメイン名/cert.pem • 中間証明書 /etc/letsencrypt/live/証明書を申請したドメイン名/chain.pem • 証明書の秘密鍵 /etc/letsencrypt/live/証明書を申請したドメイン名/privkey.pem あとは各サーバソフトに合わせて上記の証明書を設定すればOKです!
28.
自動更新設定 28 • 取得時に指定したオプションは /etc/letsencrypt/renewal/ 配下に記録される • certbotのrenewサブコマンドを1日に1度実行するように 設定すると、更新が必要な時のみ自動で更新してくれる ⇒
cronなどに定期実行を設定しておく 設定例(毎日午前3時にSSLのチェックと更新を行わせる設定): 0 3 * * * /usr/local/bin/certbot-auto renew >> /var/log/letsencrypt/ssl-renew.log 2>&1
29.
補足(2021年3月時点) 29 • 現在、certbot-autoは非推奨となっており、新たにセット アップする場合は使用ができない。 ⇒各ディストリが提供する”certbot”コマンドを使用する。 sudo apt
update sudo apt install certbot あとは”certbot-auto”コマンドを”certbot”コマンドに置き換えれば同じ手順でOKです。 例(Ubuntu 20.04 LTSの場合): • Certbotのインストール # ubuntuのリポジトリで公開されているので使用します。 sudo apt install python3-certbot-dns-sakuracloud • certbot-dns-sakuracloud のインストール
30.
苦労した点・所感 30 • Cron経由の更新がうまくいかず、試行錯誤した • 自分はPHPメインで今まで触ってきていたので、Pythonの扱いになれず、pyenvの 入り方がわからなくて手間取った。(これを機にpythonを触れるようにしたい…) •
ワイルドカード証明書の手動取得の時はDNSの設定画面とターミナルを両方 開きながら操作する必要があったので大変だった (認証タイムアウト、DNSの設定ミス誘発etc...) • プラグインを使うと更新時もDNS認証を自動でやってくれるので、 トラブルが起きない限りメンテナンスフリーなのは嬉しい! • ワイルドカード証明書が無料で使えるのはやっぱりうれしい! • ACMEプロトコルがもっと多くの認証局で普及したらいいなと感じた • 今後もどんどんLet’s Encryptを活用していきたいと思っている
31.
引用元・参考サイト 31 • Let’s Encrypt
公式サイト • Let's Encrypt 総合ポータル • さくらのクラウドDNS + Let’s Encrypt でワイルドカード証明書する! – Qiita • 【Let’s Encrypt】さくらのクラウドのDNSで「DNS-01 Challenge」を使ってみた – TeraDas • 無料でHTTPS化できる「Let’s Encrypt」をやってみた ※install.sh付き – Qiita • さくらのクラウドDNS + Let’s Encrypt でワイルドカード証明書する! – Qiita • Certbotプラグインをインストールする方法は? – QAStack • ACMEプロトコルとは何ですか?
32.
ありがとうございました!!! 32
Download