SlideShare a Scribd company logo
30分で理解するLet's Encryptの
仕組みとSSL証明書の使い方
2018/3/3
(C) Copyright 1996-2017 SAKURA Internet Inc
さくらインターネット株式会社 コミュニティマネージャー 法林 浩之
はじめに
本日の資料はこちらで公開します
https://www.slideshare.net/hourin/
もしくは
「slideshare 法林」で検索
2
私について
3
どんな人?
・フリーランスエンジニア
・さくらインターネット コミュニティマネージャー
- 会社主催イベントの運営
- 社外イベント対応(協賛/出展/登壇/取材など)
- [New!] さくらのナレッジ 編集長
・日本UNIXユーザ会 幹事 (元会長)
- さまざまなコミュニティと共同でイベントを開催
・くわしくは「法林浩之」で検索
写真
@hourin法林 浩之
SNSへの投稿、大歓迎です!
4
#さくらのイベント
5
大阪本社(梅田/大阪)
東京支社(西新宿)
さくらインターネットについて
商号 さくらインターネット株式会社(SAKURA Internet Inc.)
代表取締役 田中 邦裕
設立 1999年8月17日(サービス開始:1996年12月23日)
資本金 22億5,692万円
事業内容
インターネットでのサーバの設置およびその管理業務
電気通信事業法に基づく電気通信事業
マルチメディアの企画並びに製作・販売
従業員数 495名(連結/2017年3月末)
所属団体
特定非営利活動法人 日本データセンター協会(JDCC)
社団法人 コンピュータソフトウェア協会(CSAJ)
社団法人 日本ネットワークインフォメーションセンター(JPNIC)
社団法人 インターネットプロバイダー協会(JAIPA)
グループ
会社
株式会社Joe’sクラウドコンピューティング
ゲヒルン株式会社
株式会社S2i
アイティーエム株式会社
櫻花移動電信有限公司
ビットスター株式会社
福岡オフィス(赤坂)
さくらインターネットの事業領域
6
VPS・クラウド データセンター 新サービスレンタルサーバ
さくらのレンタルサーバ
さくらのマネージドサーバ
1台を共有 1台を占有
1台のサーバを複数の契約者で
サーバを共有または占有するこ
とができ、管理はさくらインター
ネットに任せて使うサービス
仮想化技術を用い、1
台の物理サーバ上に
複数の仮想サーバを
構築し、仮想専用サー
バとして分けた領域の
占有サービス
高性能サーバと拡張
性の高いネットワーク
を圧倒的なコストパ
フォーマンスで利用で
きるIaaS型パブリック・
クラウド・サービス
高性能で拡張性と信頼性の高
いサーバをまるごと独占して利
用することができ、自由にカスタ
マイズして利用可能なサービス
1台~複数台
ハウジング
リモートハウジング
データセンター内にお客様専用
のハウジングスペースを確保し、
ネットワーク機器やサーバなど
の機材を自由に置けるサービ
ス
通信環境とデータの保存や処理システムを
一体型で提供するIoTプラットフォーム・サー
ビス
Dockerコンテナをマネージドされた環境へ、
手軽・シンプルにプロビジョニング可能な
サービス
さくらの VPS
機械学習、データ解析、高精度シミュレー
ション用途に特化したGPU搭載の専用サー
バサービス
専用サーバ
【サービスの主な利用用途】
ウェブサイト運営、ブログ、インターネット・メール
ネットビジネス、電子商取引、動画・音楽配信、開発環境
会員制サイト、キャンペーン・サイト
SNS、ウェブ・アプリケーション、SaaS、ASP
エンタープライズ
新しい社会のインフラを支えながら、最先端のサービスを構築
どんな話をするのか
•HTTPによる通信の仕組み
•HTTPSによる通信の仕組み
•Let’s Encryptについて
•さくらのサーバでLet’s Encrypt
•有料のSSL証明書が必要なケース
7
8
HTTPによる
通信の仕組み
HTTPによる通信の仕組み
9
ユーザ ブラウザ
(PC/スマホ)
ウェブサーバ
インターネット回線
?
HTTPによる通信の仕組み
10
最近はHTTPでアクセスすると
ブラウザに「保護されていません」と表示される
HTTPによる通信の仕組み
11
最近はHTTPでアクセスすると
ブラウザに「保護されていません」と表示される
HTTPによる通信の仕組み
12
パスワード形式のフォームに入力した文字は
ブラウザには表示されない
HTTPによる通信の仕組み
13
入力された値が変数に設定されて
Webサーバに送信される
HTTPによる通信内容の解析
14
世界でもっとも使われている
ネットワーク・プロトコル・アナライザ
https://www.wireshark.org/
これを使ってHTTPによる通信内容を解析
HTTPによる通信内容の解析
15
HTTPのPOSTメソッドで送付されるデータを
tcpdumpコマンドで収集
http://memo-off.blogspot.jp/2016/02/tcpdumphttp.html
https://qiita.com/genreh/items/cc73ade2c115ee96b22a
tcpdump 'tcp dst port 80 and
(tcp[((tcp[12:1] & 0xf0) >> 2):4] =
0x504f5354)' -w post.dat
HTTPによる通信内容の解析
16
HTTPによる通信内容の解析
17
HTTPによる通信は暗号化されていない
18
ユーザ ブラウザ
(PC/スマホ)
ウェブサーバ
インターネット回線
HTTP
19
HTTPSによる
通信の仕組み
HTTPとHTTPS
•HTTP
• Hypertext Transfer Protocol
• RFC 7230 などで策定
•HTTPS
• Hypertext Transfer Protocol Secure
• SSL/TLSで提供されるセキュアな接続上で
のHTTP
• RFC 2818などで策定
20
SSLとTLS
• SSL
• Secure Sockets Layer
• ユーザとWebサイトの通信を暗号化する仕組み
• 脆弱性があるため使わない方がよい
• TLS
• Transport Layer Security
• SSLの後継プロトコル
• 現在は主にこちらが使われている
• SSLという単語が有名になってしまったので、今で
もこれらを総称してSSLと呼ばれる
21
HTTPSによる通信の仕組み
22
 ブラウザ:SSL通信をリクエスト
 サーバ:サーバ証明書と公開鍵を送付
 ブラウザ:受け取った証明書の公開鍵を
使って共通鍵を暗号化し、サーバに送付
 サーバ:受け取った共通鍵を、秘密鍵を
使って復号
 ブラウザ/サーバ:一致した共通鍵を使っ
て送受信するデータを暗号/復号して暗
号化通信を成立
 詳しくは「さくらのSSLコラム」を参照
https://ssl.sakura.ad.jp/column/ssl/
CA(認証局)
• CA(認証局)
• Certificate Authority
• SSL証明書を発行する
組織
• CAの役割
• 対サーバ:SSL証明書
の申請/発行
• 対クライアント:SSL証明
書の有効/無効の確認
23
CA サーバ証明書
の申請/発行
サーバ証明書
の有効/無効
の確認
SSLによる
暗号化通信 サーバクライアント
CA(認証局)
24
SSL証明書を
見ると、
どの認証局が
認証したかが
わかる
25
Let’s Encryptに
ついて
SSL証明書の問題点
• 証明書の発行が有償で、しかも高い
• 年額数万円とか
• しかも毎年更新が必要
• 特に財政基盤のない非営利組織にはつらい
• よって証明書の導入が進まない
• 証明書の更新が自動化されていない
• 証明書には有効期限がある
• 手動で更新するのは面倒
• 更新を忘れて期限切れになることも
26
そこでLet’s Encrypt
27
無料で証明書を発行する認証局
証明書の自動更新に対応
https://letsencrypt.org/ (公式サイト)
https://letsencrypt.jp/ (非公式日本語サイト)
証明書の自動発行の仕組み(ACMEプロトコル)
28https://knowledge.sakura.ad.jp/5573/
Let’s Encryptの設定(概略)
• サーバをDNSに登録
• Certbotクライアントをサーバにインストール
• 大半のUNIX系OSはパッケージ管理ツールでインストール可能
• 詳細:https://letsencrypt.jp/usage/install-certbot.html
• certbotコマンドにて証明書の取得を実行
• メールアドレス、ドメイン名などを指定
• 正常終了すると証明書がサーバに設置される
• 参考:ネコでもわかる!さくらのVPS講座 ~第六回「無料SSL証明書 Let’s
Encryptを導入しよう」
• https://knowledge.sakura.ad.jp/10534/
29
Let’s Encryptの自動更新設定
• Let’s Encryptが発行する証明書の有効期間は90日
• 最低3か月に1回は更新の必要あり
• certbotコマンドで証明書の有効期限チェックや更新が
可能
• 残り有効期間が30日未満だったら証明書を更新
• certbotコマンドを定期実行するようにcronで設定して
おけばずっと自動更新される
30
Let’s Encryptの開発
• ISRG (Internet Security Research Group) が運営
• 無料SSL証明書のため証明書発行による収入なし
• 多数のスポンサーが支援
• https://letsencrypt.org/sponsors/
• さくらインターネットもスポンサーに
• 個人でも寄付ができる
• https://letsencrypt.org/donate/
31
32
さくらのサーバで
Let’s Encrypt
さくらのサーバでLet’s Encrypt
33
VPS・クラウド データセンター 新サービスレンタルサーバ
さくらのレンタルサーバ
さくらのマネージドサーバ
1台を共有 1台を占有
1台のサーバを複数の契約者で
サーバを共有または占有するこ
とができ、管理はさくらインター
ネットに任せて使うサービス
仮想化技術を用い、1
台の物理サーバ上に
複数の仮想サーバを
構築し、仮想専用サー
バとして分けた領域の
占有サービス
高性能サーバと拡張
性の高いネットワーク
を圧倒的なコストパ
フォーマンスで利用で
きるIaaS型パブリック・
クラウド・サービス
高性能で拡張性と信頼性の高
いサーバをまるごと独占して利
用することができ、自由にカスタ
マイズして利用可能なサービス
1台~複数台
ハウジング
リモートハウジング
データセンター内にお客様専用
のハウジングスペースを確保し、
ネットワーク機器やサーバなど
の機材を自由に置けるサービ
ス
通信環境とデータの保存や処理システムを
一体型で提供するIoTプラットフォーム・サー
ビス
Dockerコンテナをマネージドされた環境へ、
手軽・シンプルにプロビジョニング可能な
サービス
さくらの VPS
機械学習、データ解析、高精度シミュレー
ション用途に特化したGPU搭載の専用サー
バサービス
専用サーバ
【サービスの主な利用用途】
ウェブサイト運営、ブログ、インターネット・メール
ネットビジネス、電子商取引、動画・音楽配信、開発環境
会員制サイト、キャンペーン・サイト
SNS、ウェブ・アプリケーション、SaaS、ASP
エンタープライズ
さくらのレンタルサーバ、さくらのVPS、さくらのクラウドで
Let’s Encryptを簡単に利用できる
さくらのレンタルサーバでの利用
34
さくらのレンタルサーバでは
コントロールパネルで簡単に設定可能
さくらのレンタルサーバでの作業手順
35
• さくらのレンタルサーバを契約
• ドメインを用意
• さくらのレンタルサーバのコントロールパネル
で設定
• 全体で数時間もあれば自動更新も含めて設
定完了
コントロールパネルでの作業
36
コントロールパネルにログイン
コントロールパネルでの作業
37
左側メニューから「ドメイン/SSL設定」を選択
コントロールパネルでの作業
38
設定したいドメインのSSL証明書「登録」をクリック
コントロールパネルでの作業
39
「無料SSL設定へ進む」をクリック
コントロールパネルでの作業
40
「無料SSLを設定する」をクリックと
Let’s Encryptが設定される
動作確認
41
設定が完了したらメールが届くので
https://ドメイン名/ にアクセスして確認
さくらのVPS/さくらのクラウドでの利用
42
スタートアップスクリプトを利用することで
Let’s Encrypt設定済みのサーバを作成可能
スタートアップスクリプトとは
43
• サーバ作成時にシェルスクリプトを実行する機能
• 用途例
• アプリケーションがインストール済みのサーバを作る
• サーバ内の各種設定を自動的に行う
• 多数のユーザを登録したサーバを作る
• さくらインターネットでスクリプトを多数公開
• 自分でスクリプトを作成して使うことも可能
• 詳細
• VPS:https://vps-news.sakura.ad.jp/startupscripts/
• クラウド:https://manual.sakura.ad.jp/cloud/startup-script/
さくらのVPSにおける利用方法
44
• さくらのVPSのサーバを契約
• さくらのVPSのコントロールパネルにログイン
• サーバを指定しメニューから「OSインストール」を選択
さくらのVPSにおける利用方法
45
• インストールするOSは
CentOS 7を選択
• スタートアップスクリプトと
してCentOS_LetsEncrypt
を選択し、ドメイン名とメー
ルアドレスを設定
• 実行するとCentOS 7上に
nginxとLet’s Encryptが設
定されたサーバが作られ
る(証明書の自動更新も設
定済み)
さくらのクラウドにおける利用方法
46
さくらのクラウドにログインし、APIキー作成画面に移動
さくらのクラウドにおける利用方法
47
APIキーの名前を設定して作成
さくらのクラウドにおける利用方法
48
サーバ作成画面に移動
スタートアップスクリプトを利用する場合は
右上の【シンプルモード】のチェックを外す
さくらのクラウドにおける利用方法
49
スタートアップ
スクリプトの種類と
して【shell】を選び、
配置するスタート
アップスクリプトとし
て【Let’s Encrypt】
を選択
さくらのクラウドにおける利用方法
50
DNSゾーン名、サーバのドメイン、
メールアドレス、APIキーを
設定してサーバを作成
51
有料のSSL証明書が
必要なケース
証明書には認証レベルがある
• ドメイン認証(DV)(認証レベル1)
• ドメイン名の所有権のみを確認
• 企業認証(OV)(認証レベル2)
• ドメインに加えWebサイトを運営する組織の実
在性を確認
• EV認証(認証レベル3)
• 法的・物理的に組織の実在性を確認
• 証明書自体の暗号強度は同じ
52
有料の証明書が必要なケース
• Let’s Encryptはドメイン認証
• より高い認証レベルを得たい場合は有料の証
明書が必要
• Let’s Encryptはワイルドカード証明書には
未対応(対応予定あり)
• ワイルドカード証明書:サブドメインを含めた
証明書
• ワイルドカード証明書が欲しい場合も有料の
証明書が必要
53
有料のSSL証明書もさくらで
54
55
まとめ
どんな話をするのか
•HTTPによる通信の仕組み
•HTTPSによる通信の仕組み
•Let’s Encryptについて
•さくらのサーバでLet’s Encrypt
•有料の証明書が必要なケース
56
57
参考情報
さくらのSSLコラム
58
基本の理解から最新情報まで、
初心者にも上級者にも役立つコラムを掲載
https://ssl.sakura.ad.jp/column/
全国でさくらのイベントを!
• さくらのイベントを全国で開催したい!
• さくらの各種サービスのハンズオン
• sakura.io / さくらのクラウド など
• さくらの夕べ / さくらクラブ など…
• 協力者求む!
• 会場の提供
• 参加者集め
• 各種コミュニティとの共催も可
• 連絡先:sakura-club@sakura.ad.jp
59
60
そこに、さくら

More Related Content

PPTX
Unityネイティブプラグインマニアクス #denatechcon
PPTX
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
PDF
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
PDF
なぜ「マイクロサービス“化”」が必要なのか
PDF
例外設計における大罪
PDF
Re: ゼロから始める監視設計
PDF
単なるキャッシュじゃないよ!?infinispanの紹介
PPTX
Keycloakの実際・翻訳プロジェクト紹介
Unityネイティブプラグインマニアクス #denatechcon
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
なぜ「マイクロサービス“化”」が必要なのか
例外設計における大罪
Re: ゼロから始める監視設計
単なるキャッシュじゃないよ!?infinispanの紹介
Keycloakの実際・翻訳プロジェクト紹介

What's hot (20)

PDF
こんなに使える!今どきのAPIドキュメンテーションツール
PPTX
kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)
PPTX
イベント・ソーシングを知る
PDF
IoT時代におけるストリームデータ処理と急成長の Apache Flink
PPTX
「DNS浸透いうな」と言うけれど… (#ssmjp 2018/07)
PDF
超実践 Cloud Spanner 設計講座
PDF
イミュータブルデータモデル(入門編)
PDF
PHP+MySQLを使ったスケーラブルなソーシャルゲーム開発
PDF
Linux女子部 systemd徹底入門
PDF
AWS Black Belt Techシリーズ Amazon Kinesis
PDF
Try new transport protocol SRT (ver. 2)
PDF
わたくし、やっぱりCDKを使いたいですわ〜CDK import編〜.pdf
PDF
20190213 AWS Black Belt Online Seminar Amazon SageMaker Advanced Session
PDF
(Fix)Azure Network Security Group(NSG)のおさらい
PDF
BuildKitの概要と最近の機能
PDF
Cassandraとh baseの比較して入門するno sql
PDF
ZOZOTOWNのマルチクラウドへの挑戦と挫折、そして未来
PDF
Apache Sparkにおけるメモリ - アプリケーションを落とさないメモリ設計手法 -
PDF
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
PDF
エンジニアのためのOSSライセンス管理~OSS管理ツールの池の水全部抜く~
こんなに使える!今どきのAPIドキュメンテーションツール
kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)
イベント・ソーシングを知る
IoT時代におけるストリームデータ処理と急成長の Apache Flink
「DNS浸透いうな」と言うけれど… (#ssmjp 2018/07)
超実践 Cloud Spanner 設計講座
イミュータブルデータモデル(入門編)
PHP+MySQLを使ったスケーラブルなソーシャルゲーム開発
Linux女子部 systemd徹底入門
AWS Black Belt Techシリーズ Amazon Kinesis
Try new transport protocol SRT (ver. 2)
わたくし、やっぱりCDKを使いたいですわ〜CDK import編〜.pdf
20190213 AWS Black Belt Online Seminar Amazon SageMaker Advanced Session
(Fix)Azure Network Security Group(NSG)のおさらい
BuildKitの概要と最近の機能
Cassandraとh baseの比較して入門するno sql
ZOZOTOWNのマルチクラウドへの挑戦と挫折、そして未来
Apache Sparkにおけるメモリ - アプリケーションを落とさないメモリ設計手法 -
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
エンジニアのためのOSSライセンス管理~OSS管理ツールの池の水全部抜く~
Ad

Similar to 30分で理解するLet's Encryptの仕組みとSSL証明書の使い方 (6)

PPTX
Let's Encryptについて話す【勉強会資料】
PPTX
20160830 Fukuoka.php vol18
PDF
【さくらインターネット】簡単解説 SSLサーバ証明書とは?
PPTX
SSLの技術的な仕組みとサイトのSSL化について
PDF
#mailerstudy 02 メールと暗号 - SSL/TLS -
PDF
Wp sslandroot certificate
Let's Encryptについて話す【勉強会資料】
20160830 Fukuoka.php vol18
【さくらインターネット】簡単解説 SSLサーバ証明書とは?
SSLの技術的な仕組みとサイトのSSL化について
#mailerstudy 02 メールと暗号 - SSL/TLS -
Wp sslandroot certificate
Ad

More from 法林浩之 (20)

PDF
さくらのひやおろし2023
PDF
技術広報ってどんな仕事で、どんな能力があるといいの
PDF
【2023年5月】平成生まれのためのUNIX&IT歴史講座
PDF
【インターネットの母編】平成生まれのためのUNIX&IT歴史講座
PDF
さくらインターネットとさくらのクラウドの紹介
PDF
Learn Languages 2022まとめ
PDF
【2022年7月】平成生まれのためのUNIX&IT歴史講座
PDF
【2022年5月】平成生まれのためのUNIX&IT歴史講座 / 20220528 unixhistory for young
PDF
【2021年7月】平成生まれのためのUNIX&IT歴史講座
PDF
インフラを意識せずにSaaS開発ができる! さくらの次世代PaaS「Hacobune」
PDF
さくらのひやおろし
PDF
さくらの全国行脚オンラインイベント広島編の報告
PDF
Learn Languages 2021まとめ
PDF
【2021年3月】平成生まれのためのUNIX&IT歴史講座
PDF
私と西新宿セミナールーム、そして…
PDF
さくらのナレッジのこれまで
PDF
2020年の試合まとめ
PDF
【2020年11月大阪編】平成生まれのためのUNIX&IT歴史講座
PDF
さくらのナレッジの裏側
PDF
【2020年10月東京編】平成生まれのためのUNIX&IT歴史講座
さくらのひやおろし2023
技術広報ってどんな仕事で、どんな能力があるといいの
【2023年5月】平成生まれのためのUNIX&IT歴史講座
【インターネットの母編】平成生まれのためのUNIX&IT歴史講座
さくらインターネットとさくらのクラウドの紹介
Learn Languages 2022まとめ
【2022年7月】平成生まれのためのUNIX&IT歴史講座
【2022年5月】平成生まれのためのUNIX&IT歴史講座 / 20220528 unixhistory for young
【2021年7月】平成生まれのためのUNIX&IT歴史講座
インフラを意識せずにSaaS開発ができる! さくらの次世代PaaS「Hacobune」
さくらのひやおろし
さくらの全国行脚オンラインイベント広島編の報告
Learn Languages 2021まとめ
【2021年3月】平成生まれのためのUNIX&IT歴史講座
私と西新宿セミナールーム、そして…
さくらのナレッジのこれまで
2020年の試合まとめ
【2020年11月大阪編】平成生まれのためのUNIX&IT歴史講座
さくらのナレッジの裏側
【2020年10月東京編】平成生まれのためのUNIX&IT歴史講座

30分で理解するLet's Encryptの仕組みとSSL証明書の使い方