はじめに
『セキュリティ要件に対応した Yellowfin コンテンツ埋め込みサイトの構築』の記事で、Yellowfin 埋め込み画面に SSL 接続する環境の構築手順を紹介しました。SSL 接続するためには、言うまでもなく証明書と鍵が必須です。そこで、Let’ Encrypt が発行する証明書と鍵を活用する方法を紹介しようと思います。Let's Encryptは、非営利団体の Internet Security Research Group (ISRG) が提供する自動化されたフリーでオープンな認証局です。
今回、Let’s Encrypt を利用する上で、ブラウザで動く Let’s Encrypt クライアント 『SSL なう!』 を活用させていただきました。同クライアントを使って、Let’s Encrypt が発行するサーバー証明書、中間証明書、秘密鍵を取得します。
証明書と鍵の取得
おおよその手順は、SSL なう! を開発された方の説明をご参照ください。
下記に、設定例を紹介します。
1. Let's Encrypt へ登録
自身のメールアドレスを登録します。
2. チャレンジトークンの取得
Web サーバーと Yellowfin サーバーのドメインをそれぞれ登録します。
例 : web.example.jp
例 : yellowfin.example.jp
3. ドメイン名の所有確認
「dns-01」 タブで、“_acme-challenge.web.example.jp.” と ”_acme-challenge.yellowfin.example.jp.” に対する文字列が生成されるため、これら 2 行を DNS に TXT レコードとして登録します。DNS の登録権限を持っていない場合は、管理者に登録作業を依頼してください。
DNS の設定が反映されるのを待って、登録されていることを確認します。
4. 証明書発行申請
「サーバーで使用する SSL 秘密鍵」 として RSA の鍵を生成します。生成した鍵は RSA.key という名称で保管します。
5. 発行された証明書
サーバー証明書を cert.pem、中間証明書を chain.pem という名称で保管します。
結果
ここまでの作業で、RSA.key、cert.pem、chain.pem の 3 ファイルが生成されました。
Yellowfin と Web サーバーの設定
Yellowfin と Web サーバーの設定に関しては、前回記事を参照願います。その際、前回とはファイル名が異なっているため、以下の表を参考に、ファイル名を読み替えてください。
役割 | 前回 | 今回 |
---|---|---|
中間証明書 | ca.crt | RSA.key |
サーバー証明書 | server.crt | cert.pem |
秘密鍵 | server.key | chain.pem |
最後に
これまで、デモや検証環境に SSL 接続を実装するためには自己証明書を使っていました。おかげで、サイトにアクセスする度に、ブラウザから警告が上がってました。あまり格好の良いものではありませんね。
しかし、Let’s Encrypt と SSL なう! のおかげで、自己証明書を使わない選択肢が増えてしまいました。もっと早く存在を知りたかったです。
ありがたや。
何はともあれ、皆様良いデータ分析を! See you then geeks! Cheers!!
参考情報