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.1k
The Cloud Native Chronicles: 10 Years of Community Growth Inside and Outside Japan
inductor
0
140
Cracking the KubeCon CfP
inductor
2
650
KubeCon Recap -Platform migration at Scale-
inductor
1
1k
コンテナビルド最新事情 2022年度版 / Container Build 2022
inductor
3
540
データベースとストレージのレプリケーション入門 / Intro-of-database-and-storage-replication
inductor
29
6.4k
KubeConのケーススタディから振り返る、Platform for Platforms のあり方と その実践 / Lessons from KubeCon case studies: Platform for Platforms and its practice
inductor
3
890
オンラインの技術カンファレンスを安定稼働させるための取り組み / SRE activity for online conference platform
inductor
1
1.3k
Kubernetesネットワーキング初級者脱出ガイド / Kubernetes networking beginner's guide
inductor
22
6.6k
Other Decks in Technology
See All in Technology
LLMアプリの地上戦開発計画と運用実践 / 2025.10.15 GPU UNITE 2025
smiyawaki0820
1
630
プロポーザルのコツ ~ Kaigi on Rails 2025 初参加で3名の登壇を実現 ~
naro143
1
250
コンテキストエンジニアリング入門〜AI Coding Agent作りで学ぶ文脈設計〜
kworkdev
PRO
3
1.7k
そのWAFのブロック、どう活かす? サービスを守るための実践的多層防御と思考法 / WAF blocks defense decision
kaminashi
0
200
能登半島地震で見えた災害対応の課題と組織変革の重要性
ditccsugii
0
1k
難しいセキュリティ用語をわかりやすくしてみた
yuta3110
0
290
Railsの話をしよう
yahonda
0
160
Codexとも仲良く。CodeRabbit CLIの紹介
moongift
PRO
1
240
LLMプロダクトの信頼性を上げるには?LLM Observabilityによる、対話型音声AIアプリケーションの安定運用
ivry_presentationmaterials
0
370
能登半島災害現場エンジニアクロストーク 【JAWS FESTA 2025 in 金沢】
ditccsugii
0
890
Liquid AI Hackathon Tokyo プレゼン資料
aratako
0
110
Dylib Hijacking on macOS: Dead or Alive?
patrickwardle
0
260
Featured
See All Featured
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.5k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Docker and Python
trallard
46
3.6k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.7k
The Straight Up "How To Draw Better" Workshop
denniskardys
238
140k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
30
2.9k
Writing Fast Ruby
sferik
629
62k
Building a Modern Day E-commerce SEO Strategy
aleyda
44
7.8k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
657
61k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.5k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
The Language of Interfaces
destraynor
162
25k
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Ͱূ໌ॻΛऔಘ͢Δ ▸ αʔόʔͷઃఆʹॻ͖Ճ͑Δ
▸ ͓ΘΓ