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
社内の全環境をhttpsにした話
Search
Morix
October 28, 2017
Technology
0
1.6k
社内の全環境をhttpsにした話
Created by Shota Omori(@morix1500)
2017-10-28 Rakuten Technology Conference LT
Morix
October 28, 2017
Tweet
Share
More Decks by Morix
See All by Morix
[EC2からKubernetes]楽天ラクマのコンテナ化の歩み
morix1500
10
3.9k
AWS EKSでClusterAutoscalerを使うときはNodeGroupの分け方に気をつけろ!
morix1500
0
630
FirebaseとNetlifyを使ってサーバーレスでサービスを作った話
morix1500
2
2.7k
オーバーロードで学んだチームマネジメント / Team management learned through overlord
morix1500
1
1.9k
転職をする前にやっておきたいこと / What you want to do before you change your career
morix1500
0
3.7k
自分を強くするためにやってきたこと
morix1500
7
2.3k
個人事業主になりたい!どうやって?調べてみよう!
morix1500
1
390
負荷試験入門
morix1500
0
1.1k
PWAを使ったら嫁に怒られなくなった話
morix1500
1
1.5k
Other Decks in Technology
See All in Technology
より快適なエラーログ監視を目指して
leveragestech
4
1.4k
LINEヤフーのフロントエンド組織・体制の紹介
lycorp_recruit_jp
1
1.2k
四国のあのイベントの〇〇システムを45日間で構築した話 / cloudohenro2024_tachibana
biatunky
0
330
「自動テストのプラクティスを効果的に学ぶためのカードゲーム」 ( #sqip2024 )
teyamagu
PRO
2
180
o1のAPIで実験してみたが 制限きつすぎて辛かった話
pharma_x_tech
0
120
Functional TypeScript
naoya
11
4.8k
リアルお遍路+SORACOM IoT
ozk009
1
130
AIで変わるテスト自動化:最新ツールの多様なアプローチ/ 20240910 Takahiro Kaneyama
shift_evolve
0
210
Next.js のページ遷移を全力で止める
ypresto
3
1.6k
言葉は感情の近似値である。その感情と言葉の誤差を最小化しよう ~コミュニケーションにおけるアナログ/デジタル変換の課題に立ち向かう~
nktamago
0
190
どこよりも遅めなWinActor Ver.7.5.0 新機能紹介
tamai_63
0
200
社内の学びの場・コミュニティ形成とエンジニア同士のリレーションシップ構築/devreljapan2024
nishiuma
3
280
Featured
See All Featured
Java REST API Framework Comparison - PWX 2021
mraible
PRO
27
7.4k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
23
1.7k
Six Lessons from altMBA
skipperchong
26
3.3k
How to name files
jennybc
75
98k
BBQ
matthewcrist
83
9.2k
The Invisible Customer
myddelton
119
13k
We Have a Design System, Now What?
morganepeng
48
7.1k
Unsuck your backbone
ammeep
667
57k
VelocityConf: Rendering Performance Case Studies
addyosmani
322
23k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
28
1.6k
For a Future-Friendly Web
brad_frost
174
9.3k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
131
32k
Transcript
社内の全環境をhttpsにした話 2017.10.28 Rakuten Technology Conference @morix1500
じこしょうかい ・大森翔太(@morix1500) ・株式会社モブキャスト ・インフラエンジニア ・技術ブログやってます! https://blog.haramishio.xyz/
あじぇんだ ・Let's Encryptについて ・社内の全環境をhttpsにしたはなし
みなさん、 https対応してますか?
高まるhttps対応の波 引用元: https://transparencyreport.google.com/https/overview?hl=ja
httpsじゃないとサービス提供できない時代に ・AppleのATS(App Transport Security) ⇒ そもそも通信ができなくなる ・Chrome62からhttpページで警告が出るように ⇒ サイトの信頼性が下がる
でも… ・証明書って金かかるじゃん? ・なんか発行とかだるそう ・うーんどうしよう
None
Let's Encryptとは ・無料で発行できるSSL証明書 ・httpsの普及を目的として作られた ・名だたるスポンサーたち ⇒ Mozilla/Akamai/Cisco/Chrome etc...
Let's Encryptの特徴 ・無料 ・発行/更新が自動で行える ・証明書の有効期限は3ヶ月
証明書の発行の仕方(例) # 発行 $ certbot certonly --webroot -w /var/www/html -d
example.jp # 更新 $ certbot renew
全開発環境の https対応と運用の 自動化を行った!
要件 ・開発環境なのでWebサーバーは外部からアクセス不可 ・1プロジェクトにつき20個くらいドメインある ・そのプロジェクトは何個もある ・プロジェクトごとにネットワーク(アカウント)が分かれている
採用した方法(アーキテクチャ) Jenkins S3 Route53 EC2 1.証明書リクエスト 2.ワンタイムトークン登録 3.ワンタイムトークン確認 4.証明書発行 5.証明書配置
6.証明書ダウンロード
実装 ・LEクライアント lego(https://github.com/xenolf/lego) ・LE認証方式 DNS-01: 対象ドメインのサブドメインに指定の文字列をTXTレコードに登録しそれ で認証を行うこと
LEの制限 ・同一ドメインの証明書発行は1週間に20個まで! ・下記はすべて同一ドメイン example.com sand.example.com api1.sand.example.com api2.sand.example.com
サブドメインがたくさんある場合は ・SANs(Subject Alternative Names)を使用する 1つの証明書で複数のドメインが対応できる example.com.crt -> example.com -> sand.example.com
-> api1.sand.example.com -> api2.sand.example.com 1つの証明書が いろんなドメインで使 いまわせる!
この仕組みの限界ドメイン数 ・SANsの上限は100ドメインまで ・週に20個まで証明書発行が可能 ・証明書の期限が3ヶ月 ・100 * 20 * 12(week) =
24,000ドメインまで行ける!
この仕組みのいいところ ・DNS認証なのでサーバーのIP制限を気にしなくていい ・発行と更新が同じ仕組みなので、 クライアントは証明書をダウンロードするだけでいい ・Jenkinsに発行/更新を集約しているので 更新スケジュールをコントロールしやすい
まとめ ・証明書はLet’s Encryptでさくっと作れる ・証明書の発行/更新は自動化できる ・大量のサブドメインがある場合はSANsで対応
ワイルドカード来るってよ
Let’s Start https!!