SlideShare a Scribd company logo
証明書管理の
自動化
V12 Beta 2 の CertMgr による
DNS-01 challenge を試す
@harunkakano (Twitter)
harunakano.blogspot.com (Blog)
検証の前に
証明書の取得と自動化のために知っておきたいことがあります
V11までの手動での証明書管理
• KYRTOOL(Domino V11に同梱、V10以前は別途ダウンロー
ド)
• OpenSSL(別途ダウンロード)のインストールと設定
• 長いコマンドを何度もタイプする操作を求められる
V11までの証明書管理の自動化ツール
• midpoints Let’s Encrypt for Domino (LE4D)
• Domino に nsf ファイルを設置
• 開発言語は Java
Let’s Encrypt
https://letsencrypt.org/ja/
Let’s Encrypt について
• HTTPS (SSL/TLS) の有効化に必要なデジタル証明書を、無料
で提供する認証局(CA)
• ISRGがサービスを提供
• 証明書の取得や更新の自動化が可能
https://letsencrypt.org/ja/about/
ACMEプロトコル
• 証明書の要求から取得までを自動化するためのルール
• RFC 8555 - Automatic Certificate Management Environment
(ACME)
• CA(認証局)は、要求したドメイン名が我々の制御下にあるこ
とを証明できれば証明書を発行する
• ホスティングプロバイダによる ACMEクライアント( ACMEプ
ロトコルを実装するソフトウェア)のサポートが必要
証明書自動入手の流れ
1. 証明書リクエスト
2. 認証用トークン発行
3. トークンの登録
4. 認証チャレンジの要求
5. トークンの確認
6. 証明書発行
ホスティング
プロバイダ
ドメインが我々の制御下にあることを証明
証明書等の要求と発行
CA
CA
CA
CA
CA
ホスティング
プロバイダ
ACMEクライアント
ACMEクライアント
ACMEクライアント
ACMEクライアント
ACMEクライアント
※ホスティングプロバイダ:WEBサーバーまたはDNSサービス
「チャレンジ」のタイプ
HTTP-01 チャレンジ
• ACMEクライアントが、Let’s
Encrypt が発行したトークン
をセットしたファイルをWeb
サーバーへ設置する
DNS-01 チャレンジ
• ACMEクライアントが、Let’s
Encrypt が発行したトークン
をセットしたTXTレコードを
DNSへ設置する
利点/欠点
HTTP-01 チャレンジ
メリット
• 証明書の取得が比較的簡単に自
動化できる
╳デメリット
• Let’s Encrypt がWebサーバー
へアクセスできる必要がある
• ワイルドカード証明書を発行で
きない
DNS-01 チャレンジ
メリット
• ワイルドカード証明書を発行可
能
• 複数のWEBサーバーの証明書
を取得可能
╳デメリット
• DNS プロバイダによる自動
アップデート可能なAPIの提供
が必要
CertMgr の検証
V12 Beta 2 で DNS-01 チャレンジによるTLS証明書の自動取得を検証
DNS-01チャレンジの検証
• ACMEクライアント:CertMgr タスク
• CertMgrの初回起動時に CertStore.nsf を自動作成
• TLS Credentials, DNS Provider, DNS Configuration の各設定を追加
• DNS-01チャレンジでは Domino にDSAPI 設定や HTTP タスク起動が不要
• ホスティングプロバイダ(DNS):CloudFlare
• CertStore.nsf へTXTレコードを追加/削除するための設定を追加
• DNSプロバイダによるAPI提供が必要
使用中の MyDNS.jp はAPI仕様不明のため CloudFlare へ乗り換え
• ドメインのAレコードを登録
• ドメイン名:dominov12beta.work
• お名前.com で取得
• DNS として CloudFlare を指定
検証した DNS-01 チャレンジ
1. 証明書リクエスト
2. 認証用トークン発行
3. トークンをTXTレコードにして登録
4. 認証チャレンジの要求
5. TXTレコードの確認
6. 証明書発行
7. TXTレコードの削除
CertStore.nsf の作成
• CertMgr タスクの実行
コンソールで “load certmgr” コマンドを実行、または notes.ini の
ServerTasks= へ certmgr を追加
初回起動時に CertStore.nsf が無ければ自動作成
コマンドに “-d” を付けて起動するとデバッグモードになる
CertStore.nsf の画面ショット
ACME Account
ACMEプロトコルに対応したCAを設定します
DB作成時に既存の2文書
「Accept Let’s Encrypt terms of service」にチェックが必要
DNS Provider Configuration
CertMgr が DNS プロバイダへアクセスしTXTレコードの登録と削除を行う
ために必要な設定を行います
[Add Config]ボタンでDNS設定を白紙から作成することも
可能だが、DXLファイルからのインポートも可能
ベータフォーラムで公開されていた
DXLファイルをインポートして追加
された2つのDNS設定
V12 TLS証明書管理の自動化
インポートしたままの設定では cfg_DnsZone
フィールドの値を取得できなかったため
「Lookup header formula」の式を変更した
DNS Provider Account
ドメイン名と、DNSプロバイダの認証情報を登録します
V12 TLS証明書管理の自動化
ドメイン名
DNSプロバイダでの認証時の情報
(ここでは Authorization token のみ記入)
DNS Provider Configuration で
設定済みのプロバイダを選択
TLSクレデンシャル文書
CAが証明書の発行に必要な情報を登録し、実行します
Basicタブで入力する項目
Hostname
Common Name (CN)
Country
Key type に“ECDSA”を選択
そのほかはデフォルトのまま
[Submit Request]ボタンを
クリック
実行結果
V12 TLS証明書管理の自動化
[Examine Certificate(s)]ボタンで
入手できた証明書の詳細を確認
スライドの最後

More Related Content

PDF
ゼロからはじめるKVM超入門
PDF
ジョブ管理でcronは限界があったので”Rundeck”を使ってハッピーになりました
PDF
大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック
PPTX
Notes データベースの多言語対応
KEY
XPages 開発 Tips 百連発
PDF
HCL Domino REST API 利用ガイド
PDF
PHP-FPM の子プロセス制御方法と設定をおさらいしよう
PDF
FCスイッチゾーニング設定ガイド
ゼロからはじめるKVM超入門
ジョブ管理でcronは限界があったので”Rundeck”を使ってハッピーになりました
大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック
Notes データベースの多言語対応
XPages 開発 Tips 百連発
HCL Domino REST API 利用ガイド
PHP-FPM の子プロセス制御方法と設定をおさらいしよう
FCスイッチゾーニング設定ガイド

What's hot (20)

PPTX
大きすぎるフィールドに対応した件
PDF
PostgreSQLアーキテクチャ入門
PDF
REST API のコツ
PDF
CentOS Linux 8 の EOL と対応策の検討
PDF
[SC03] Active Directory の DR 対策~天災/人災/サイバー攻撃、その時あなたの IT 基盤は利用継続できますか?
PDF
Massive service basic
PDF
MySQL INDEX+EXPLAIN入門
PDF
今日から始める LotusScript - Domino クラスライブラリの使い方(Version 1.1)
PDF
TIME_WAITに関する話
PPTX
게임 랭킹 ( Game Leader Board )
PDF
“見てわかる” ファイバーチャネルSAN基礎講座(第2弾)~FC SAN設計における勘所とは?~
PDF
これからLDAPを始めるなら 「389-ds」を使ってみよう
PDF
MongoDB〜その性質と利用場面〜
PPTX
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~
PPTX
ContainerとName Space Isolation
PDF
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
PDF
쿠키런 1년, 서버개발 분투기
PPTX
Docker & Kubernetes基礎
PPTX
Azure Active Directory Domain Services (Azure ADDS) キホンのキ
PDF
バックアップとリストアの基礎
大きすぎるフィールドに対応した件
PostgreSQLアーキテクチャ入門
REST API のコツ
CentOS Linux 8 の EOL と対応策の検討
[SC03] Active Directory の DR 対策~天災/人災/サイバー攻撃、その時あなたの IT 基盤は利用継続できますか?
Massive service basic
MySQL INDEX+EXPLAIN入門
今日から始める LotusScript - Domino クラスライブラリの使い方(Version 1.1)
TIME_WAITに関する話
게임 랭킹 ( Game Leader Board )
“見てわかる” ファイバーチャネルSAN基礎講座(第2弾)~FC SAN設計における勘所とは?~
これからLDAPを始めるなら 「389-ds」を使ってみよう
MongoDB〜その性質と利用場面〜
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~
ContainerとName Space Isolation
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
쿠키런 1년, 서버개발 분투기
Docker & Kubernetes基礎
Azure Active Directory Domain Services (Azure ADDS) キホンのキ
バックアップとリストアの基礎
Ad

Similar to V12 TLS証明書管理の自動化 (20)

PDF
ただしくHTTPSを設定しよう!
 
PPTX
Qlik Alerting で実現する Qlik Sense Enterprise Client-managed (Windows版) の高度でインテリジ...
PDF
Automation Anywhere Enterprise A2019.16 新機能紹介
PPTX
Domino v12の新機能 - 多要素認証対応 (TOTP) -
PDF
Interact2015:Host Guardian Service ってなに?(仮)
PPT
1/5 ADFS 2.0 を使用してWindows Azure との SSO を実現しよう v1.1
PPTX
Azure Key Vault
PPTX
Professional SSL/TLS Reading Chapter 14
PDF
Claris FileMaker Server for Linux 入門
PDF
Node-v0.12のTLSを256倍使いこなす方法
PDF
Qlik Deployment Consoleのインストール
PDF
Cld009 お待たせしました
PPTX
Cld009 お待たせしました
PDF
OAuthのHolder of Key Token
PPTX
Cld018 コンテナ go_~あなた
PDF
Cld018 コンテナ go_~あなた
PPTX
Hybrid Azure AD Join 動作の仕組みを徹底解説
PDF
NGINX App Protect for Secure Coding Webinar
PDF
IETF102 Report Authorization
PDF
Cld010 楽をしたい人必見
ただしくHTTPSを設定しよう!
 
Qlik Alerting で実現する Qlik Sense Enterprise Client-managed (Windows版) の高度でインテリジ...
Automation Anywhere Enterprise A2019.16 新機能紹介
Domino v12の新機能 - 多要素認証対応 (TOTP) -
Interact2015:Host Guardian Service ってなに?(仮)
1/5 ADFS 2.0 を使用してWindows Azure との SSO を実現しよう v1.1
Azure Key Vault
Professional SSL/TLS Reading Chapter 14
Claris FileMaker Server for Linux 入門
Node-v0.12のTLSを256倍使いこなす方法
Qlik Deployment Consoleのインストール
Cld009 お待たせしました
Cld009 お待たせしました
OAuthのHolder of Key Token
Cld018 コンテナ go_~あなた
Cld018 コンテナ go_~あなた
Hybrid Azure AD Join 動作の仕組みを徹底解説
NGINX App Protect for Secure Coding Webinar
IETF102 Report Authorization
Cld010 楽をしたい人必見
Ad

More from Haruyuki Nakano (20)

PPTX
NotesQueryResultsProcessor.pptx
PPTX
プロフィール文書って何?
PPTX
Nomad開発の苦悩つ
PPTX
どうしてもドメインがほしくなった訳
PPTX
個人フォルダの作成権限
PPTX
V12 DAOS 拡張
PPTX
ベータフォーラムってこんなとこ
PPTX
V12 の DAOS はさらに使いやすくなるかも⁉
PPTX
オレのDocker元年
PPTX
パブリック文書/パブリックアクセス
PPTX
初めての HCL Sametime
PPTX
読者/作成者 フィールド
PPTX
HCL Nomad で GPS へアクセスしよう
PPTX
HCL Nomad と OCR
PPTX
Notes Domino Solution 2019 資料
PPTX
テーマカラーをロータス色に変えてみた
PPTX
ビュー索引のキホン(後編)
PPTX
ビュー索引のキホン(前編)
PPTX
アプリの「遅い」を見てみよう
PPTX
その変数、Variant 型では?
NotesQueryResultsProcessor.pptx
プロフィール文書って何?
Nomad開発の苦悩つ
どうしてもドメインがほしくなった訳
個人フォルダの作成権限
V12 DAOS 拡張
ベータフォーラムってこんなとこ
V12 の DAOS はさらに使いやすくなるかも⁉
オレのDocker元年
パブリック文書/パブリックアクセス
初めての HCL Sametime
読者/作成者 フィールド
HCL Nomad で GPS へアクセスしよう
HCL Nomad と OCR
Notes Domino Solution 2019 資料
テーマカラーをロータス色に変えてみた
ビュー索引のキホン(後編)
ビュー索引のキホン(前編)
アプリの「遅い」を見てみよう
その変数、Variant 型では?

V12 TLS証明書管理の自動化