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.7k
社内の全環境を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
4.4k
AWS EKSでClusterAutoscalerを使うときはNodeGroupの分け方に気をつけろ!
morix1500
0
780
FirebaseとNetlifyを使ってサーバーレスでサービスを作った話
morix1500
2
2.8k
オーバーロードで学んだチームマネジメント / Team management learned through overlord
morix1500
1
2k
転職をする前にやっておきたいこと / What you want to do before you change your career
morix1500
0
3.8k
自分を強くするためにやってきたこと
morix1500
7
2.5k
個人事業主になりたい!どうやって?調べてみよう!
morix1500
1
400
負荷試験入門
morix1500
0
1.3k
PWAを使ったら嫁に怒られなくなった話
morix1500
1
1.6k
Other Decks in Technology
See All in Technology
目次機能実装から理解するLexical Editor
wtdlee
0
120
セマンティックレイヤー入門
ikkimiyazaki
7
1.5k
みんなで育てるNewsPicksのSLO
troter
4
1k
プラクティスの名前は言わない方がいい / Not to mention the name of the practice
3l4l5
8
3.4k
View Transition API
shirakaba
1
470
Why Go?
xpmatteo
0
110
一人QA時代が終わり、 QAチームが立ち上がった話
ma_cho29
0
200
Amazon Bedrock GenUハンズオン座学資料 #1 GenU環境で生成AIを体験してみよう
tsukuboshi
0
240
我々に残された仕事はあるのか?
taishiyade
0
170
クラウド脆弱性の傾向とShisho Cloudの活用
rvirus0817
0
120
사이드 프로젝트를 20번 실패한 주니어의 오답노트 훔쳐보기(feat. KMP)
yjyoon
0
580
単一の深層学習モデルによる不確実性の定量化の紹介 ~その予測結果正しいですか?~
ftakahashi
PRO
3
490
Featured
See All Featured
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.3k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Become a Pro
speakerdeck
PRO
26
5.2k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
4
480
Building Flexible Design Systems
yeseniaperezcruz
328
38k
Making the Leap to Tech Lead
cromwellryan
133
9.1k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.8k
StorybookのUI Testing Handbookを読んだ
zakiyama
28
5.6k
The Pragmatic Product Professional
lauravandoore
33
6.5k
The World Runs on Bad Software
bkeepers
PRO
67
11k
Raft: Consensus for Rubyists
vanstee
137
6.8k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
40
2k
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!!