Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Let's Let's Encrypt
Search
Kohei Ota
January 23, 2018
Technology
1
250
Let's Let's Encrypt
Kohei Ota
January 23, 2018
Tweet
Share
More Decks by Kohei Ota
See All by Kohei Ota
CloudNative Meets WebAssembly: Exploring Wasm's Potential to Replace Containers
inductor
4
3.3k
The Cloud Native Chronicles: 10 Years of Community Growth Inside and Outside Japan
inductor
0
160
Cracking the KubeCon CfP
inductor
2
750
KubeCon Recap -Platform migration at Scale-
inductor
1
1k
コンテナビルド最新事情 2022年度版 / Container Build 2022
inductor
3
560
データベースとストレージのレプリケーション入門 / Intro-of-database-and-storage-replication
inductor
29
6.5k
KubeConのケーススタディから振り返る、Platform for Platforms のあり方と その実践 / Lessons from KubeCon case studies: Platform for Platforms and its practice
inductor
3
930
オンラインの技術カンファレンスを安定稼働させるための取り組み / SRE activity for online conference platform
inductor
1
1.3k
Kubernetesネットワーキング初級者脱出ガイド / Kubernetes networking beginner's guide
inductor
22
7k
Other Decks in Technology
See All in Technology
Cosmos World Foundation Model Platform for Physical AI
takmin
0
280
Context Engineeringの取り組み
nutslove
0
290
Amazon S3 Vectorsを使って資格勉強用AIエージェントを構築してみた
usanchuu
3
440
会社紹介資料 / Sansan Company Profile
sansan33
PRO
15
400k
M&A 後の統合をどう進めるか ─ ナレッジワーク × Poetics が実践した組織とシステムの融合
kworkdev
PRO
1
410
生成AI時代にこそ求められるSRE / SRE for Gen AI era
ymotongpoo
5
2.8k
All About Sansan – for New Global Engineers
sansan33
PRO
1
1.3k
IaaS/SaaS管理における SREの実践 - SRE Kaigi 2026
bbqallstars
4
1.7k
What happened to RubyGems and what can we learn?
mikemcquaid
0
250
10Xにおける品質保証活動の全体像と改善 #no_more_wait_for_test
nihonbuson
PRO
2
200
OCI Database Management サービス詳細
oracle4engineer
PRO
1
7.3k
Deno・Bunの標準機能やElysiaJSを使ったWebSocketサーバー実装 / ラーメン屋を貸し切ってLT会! IoTLT 2026新年会
you
PRO
0
300
Featured
See All Featured
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5.2k
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
180
Designing Powerful Visuals for Engaging Learning
tmiket
0
220
Accessibility Awareness
sabderemane
0
49
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
110
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
250
The Cost Of JavaScript in 2023
addyosmani
55
9.5k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
440
The SEO identity crisis: Don't let AI make you average
varn
0
64
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
0
250
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
280
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
1
430
Transcript
LET’S ENCRYPT ͬͯΈΑ͏ͷձ INDUCTOR@DISCORDΠϯϑϥษڧձ
ςΩετ ຊͷΞδΣϯμ ▸ ࣗݾհ ▸ SSLͷΈʹ͍ͭͯ ▸ Let's Encryptʹ͍ͭͯ ▸
SSLূ໌ॻΛઃஔ͢Δ ▸ αʔόʔͷίϯϑΟάΛ৮ͬͯΈΔ ▸ ϔομͱ͔ͷ֬ೝͷํ
ςΩετ ͓લͩΕͩΑ ▸ Wiki wo yonde kudasai ▸ https://wiki.infra-workshop.tech/user/inductor ▸
σʔληϯλʔͷதͰαʔόʔͱ͔NWͱ͔ΆͪΆͪͯͨ͠ ӡ༻ͷதͷਓΛͬͯͨ ▸ ࠓPHP/Android Javaͱ͔։ൃͯ͠Δ ▸ ࣍ͷࣄͱ͋ΔاۀͷDevOpsܥΠϯϑϥ෦ୂΛ༧ఆ
ςΩετ SSLͷ؆୯ͳ͘͠Έ ▸ ެ։伴ೝূͱڞ௨伴ೝূͷϋΠϒϦου ▸ ࠷ॳͷ伴ަ࣌ͷΈެ։伴Λ͏ ▸ ଓཱ֬ޙΫϥΠΞϯτ͝ͱʹಠཱͷڞ௨伴Ͱ௨৴͢Δ ▸ SSHͰΑ͘ΘΕΔ伴ೝূ
ެ։伴ೝূ ▸ ᷿ͰͷΞΫηϥϨʔγϣϯ ϒʔετͱͳΜͷؔ ͋Γ·ͤΜ
ςΩετ ެ։伴ೝূͱ ▸ ެ։伴ɾൿີ伴ͱݺΕΔ2छྨͷ伴Λͬͯ҉߸Խ௨৴Λߦ͏ํ๏ ▸ ެ։伴ɿΈΜͳʹ͢҉߸ԽΛ͔͚ΔͨΊͷ伴 ▸ ൿີ伴ɿαʔόʔ͚͕ͩ࣋ͭ෮߸Խ༻ͷ伴 ▸ ϦΫΤετ࣌ʹެ։伴Λड͚औͬͨΫϥΠΞϯτ͕ɺใΛެ։伴Ͱ҉߸Խ্ͨ͠Ͱαʔ
όʔʹૹ৴ˠαʔόʔଆൿີ伴ΛͬͯதΛݟΔ ▸ αʔόʔ্ʹ͋Δൿີ伴Ͱ͔͠த͕Θ͔Βͳ͍Αʂͱ͍͏Έ ▸ ϝϦοτɿͲͷϢʔβʔʹରͯ͠ಉ͡ެ։伴ΛͤΔͷͰɺ伴ͷཧָ͕ɻൿີ伴Λαʔ όʔ͔Β౪·Εͳ͍ݶΓ(ཧ্)҆શ ▸ σϝϦοτɿΫϥΠΞϯτଆͱαʔόʔଆͰҟͳΔ伴Λ͏ͨΊॲཧ͕ෳࡶɺ·ͨɺύ ϑΥʔϚϯεѱ͍
ςΩετ ڞ௨伴ೝূͱ ▸ ҉߸Խɾ෮߸Խʹಉ͡伴Λ༻͍Δ҉߸ํࣜ ▸ ΈΜͳͰಉ͡伴Λ͏ͱΈΜͳ͕σʔλΛݟΕ͍ͯͷͰɺ ී௨ΫϥΠΞϯτ͝ͱʹผʑͷ伴Λੜͯ͠ཧ͢Δ ▸ ϝϦοτɿ伴ͷछྨ͕1ͭͳͷͰܭࢉ͕͍ ▸
σϝϦοτɿΫϥΠΞϯτ͕૿͑Δຖʹ伴ͷ͕ଟ͘ͳΔͷ Ͱཧ͕େมɻ·ͨɺڞ௨伴Λ࠷ॳʹ͢ͱ͖ʹใ͕౪· Εͯ͠·͏ͱɺ෮߸͞Εͯ͠·͏ͷͰ͍
ςΩετ վΊͯɺSSLͷ؆୯ͳ͘͠Έ ▸ ެ։伴ೝূͱڞ௨伴ೝূͷϋΠϒϦου ▸ ࠷ॳͷ伴ަ࣌ͷΈެ։伴Λ͏(࠷ॳ͚ͩܭࢉ͕ͪΐ͍ॏ͍) ▸ ଓཱ֬ޙΫϥΠΞϯτ͝ͱʹಠཱͷڞ௨伴Ͱ௨৴͢Δ(͋ͱ·͠) ▸ SSHͰΑ͘ΘΕΔ伴ೝূ
ެ։伴ೝূ ▸ ᷿ͰͷΞΫηϥϨʔγϣϯ ϒʔετͱͳΜͷؔ ͋Γ·ͤΜ
ςΩετ WHAT IS LET’S ENCRYPT? ▸ Let's EncryptmozillaɺAkamaiɺCiscoɺGoogleɺ FacebookͳͲΛΛ͡Ίͱͨ͠େखITاۀͷࢧԉΛड͚ͯ 2014ʹઃ͞ΕͨϓϩδΣΫτͰɺݸਓͰ৴པ͞Εͨ
αʔόূ໌ॻΛແྉͰൃߦ͢Δ͜ͱ͕Ͱ͖Δ͓खܰαʔϏε Ͱ͢ɻ ▸ 2016ͷय़ΑΓਖ਼ࣜʹαʔϏε͕։࢝͠ɺओཁͳ࠷৽OSͰ ͋ΕඞཁͳύοέʔδͷಋೖඇৗʹεϜʔζʹߦ͏͜ ͱ͕Ͱ͖·͢ɻ
ςΩετ ແྉͰূ໌ॻशಘͰ͖Δͬͯʁ ▸ Ұൠతʹɺ৴པࡁΈͷSSLূ໌ॻΛऔಘ͢ΔͨΊʹຊਓ֬ೝ͕ඞཁͰ͢ɻ Let's encryptͰɺݸਓใΛΘͣҎԼ݅ͷͱͰূ໌ॻΛൃߦ͍ͯ͠·͢ɻ ▸ 1. DVূ໌ॻͷΈൃߦͰ͖Δɻ
͜Εɺॴࡏ֬ೝͳͲͷ৹ࠪΛؚΉOVূ໌ॻͳͲൃߦͰ͖ͳ͍͜ͱΛҙຯ͠· ͢ɻ ৴པੑͷ໘Ͱݴ͑ɺݸਓɾݕূ༻ͳͲɺ࠷ݶͷ༻్ʹ͏ͷ͕ݡ໌Ͱ͢ɻ ▸ 2. ূ໌ॻͷ༗ޮظݶ3ϲ݄ͷΈɻ ແྉͰ͋Δ͜ͱɺສ͕ҰͷࣄނͳͲΛ͙ͨΊʹ͜ͷظؒΛઃఆ͍ͯ͠Δͦ ͏Ͱ͢ɻ
ςΩετ ͰɺΊΜͲ͍͘͞ΜͰ͠ΐ͏ʁ ▸ ࠓͷͱ͜ΖϫΠϧυΧʔυʹରԠͯ͠ͳ͍ͷͰαϒυϝΠϯ͝ͱʹशಘ͕ඞཁͰ͢ (ෳαϒυϝΠϯͱ͔·ͱΊͯऔಘ͢ΔΦϓγϣϯ͋Γ·͢) ▸ ϫΠϧυΧʔυࠓͷ2݄ʹରԠ༧ఆͬͯެࣜͰॻ͍ͯ͋Γ·͕͢ɺ ͱͱ1݄͍ͬͯͬͯͨΜͰదʹظ͓͖ͯ͠·͠ΐ͏ ▸ ACMEϓϩτίϧͱ͍͏ূ໌ॻࣗಈൃߦͷϓϩτίϧΛ͏ͷͰɺίϚϯυҰൃͰҰॠͰऔಘ
Ͱ͖·͢ɻ ▸ ༷ΦʔϓϯͳͷͰɺίϚϯυΛࣗͰ࡞Γ͍ͨͬͯਓͰେৎʂ ▸ Apacheͱ͔nginxʹউखʹઃఆΛՃͯ͘͠ΕΔίϚϯυΦϓγϣϯ͋Γ·͕͢ɺݱࡏTLS SNIνϟϨϯδʹ੬ऑੑ͕ݟ͔͍ͭͬͯΔͨΊ࣮࣭͑·ͤΜɻ ▸ 3ϲ݄ͷظݶɺࣗಈߋ৽ʹ͢ΕΑ͍Ͱ͢ɻ
ςΩετ Δ͜ͱ(Ͳ͏ͤͩ͠HTTP/2ͱ͔ͬͱ͜) ▸ αʔόʔΛ༻ҙ͢Δ ▸ DNSͷAϨίʔυΛ͋ͯΔ ▸ certbotͰূ໌ॻΛऔಘ͢Δ ▸ αʔόʔͷઃఆʹॻ͖Ճ͑Δ
▸ ͓ΘΓ