Nutanixの月額利用ならClara Cloud
  • Clara Cloudとは
  • プラン・スペック
    • 専有プラン
    • LGプラン(共有)
    • オプション一覧
  • コスト比較
  • Nutanixとは
  • パートナープログラム
  • 資料ダウンロード
  • お問い合わせ
  • Search
  • Menu Menu

Prism に Let’s Encrypt で取得したSSL証明書を適用する

2018年3月23日/in Nutanix (テクニカル) /by markting-member

PrismのSSL証明書

こんにちは。クララオンラインの吉村です。

Prismをデフォルトで使っていると、SSL証明書のエラーが出てしまいカッコよくありません。

これはデフォルトではPrismに「*.nutanix.local」というSSL証明書が設定されているためで、 Nutanixのドキュメントを見るとこのSSL証明書は自由に変更できるようです。

また、独自SSL証明書に変更することを推奨しています。

Note: Nutanix recommends that customers replace the default self-signed certificate with a CA signed certificate. The Controller VM Security Operations Guide includes more information about certificates, such as generating a private key and certificate signing request (CSR).

というわけで今回は、Let’s Encrypt を Route53 の TXTレコード認証でSSL証明書を取得して、Prsim に設定するまでをご紹介します。

 

Route53の設定

TXTレコードの認証は特に Route53 でなくてもよいのですが、自動化という部分を考慮して certbotとの相性の良さで選びました。

Route53ってなに?という方はこちらをどうぞ。

Amazon Route 53

Hosted Zonesにドメイン登録

まずはRoute53にドメインをHosted zones登録しましょう。簡単です。AWSマネジメントコンソールからポチっとな。

Hosted zones に登録すれば、NSレコードとSOAレコードが出来ますので、それだけでOKです。

 

ドメインのレジストラにDNS登録

次に、ドメインのレジストラにRoute53で表示されるネームサーバを登録してください。

ここは各レジストラによって操作が変わると思うので、割愛します。

 

Route53を操作するAMIユーザ作成

AWSではセキュリティを考慮して必要なAWSリソースのみを扱える権限ユーザを作ります。今回は、Route53に登録したドメインのみ扱えるAMIユーザを作りましょう。

設定ポリシーのサンプルはここにあります。

https://github.com/certbot/certbot/blob/master/certbot-dns-route53/examples/sample-aws-policy.json

以下の YOURHOSTEDZONEID を Route53 に表示されるHosted Zone IDに変更することを忘れないでください。

{
    "Version": "2012-10-17",
    "Id": "certbot-dns-route53 sample policy",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "route53:ListHostedZones",
                "route53:GetChange"
            ],
            "Resource": [
                "*"
            ]
        },
        {
            "Effect" : "Allow",
            "Action" : [
                "route53:ChangeResourceRecordSets"
            ],
            "Resource" : [
                "arn:aws:route53:::hostedzone/YOURHOSTEDZONEID"
            ]
        }
    ]
}

ここで作成したAWSのアクセスキー IDとシークレットキーを利用して、実行環境からRoute53を操作していきます。

 

実行環境の設定

さて、AWSの設定が終わったので、次は実行環境を整備していきます。

私の実行環境は以下の通りです。

OS Ubuntu 16.04.3 LTS (Bash on Windows)
Python python 2.7

aws cli インストール

aptでも、githubからでも、pipでもなんでも良いです。

[bash]

sudo apt install awscli
aws configure

[/bash]

注意点としては、aws configure のデフォルトユーザ設定で、先ほど作成したAMIユーザを設定してください。

この後の作業で、–profile オプションでのユーザ切替は想定してないです。

 

certbot インストール

githubから最新版をダウンロードしてインストールします。

certbotはSSL証明書の更新の自動化のために、crontab を利用します。

そのため、root ユーザでインストール、作業実施しましょう。

[bash]

git clone https://github.com/certbot/certbot
cd certbot
./tools/venv.sh
source venv/bin/activate

[/bash]

 

SSL証明書の取得

ようやく環境が整いました!ここまで来たらもう一息です。

[bash]

## 作業ディレクトリを作成。
mkdir ~/cb-work

## おまじない。
## 私の環境ではこれをやらないと openssl のライブラリ読み込みエラーが出ました。
sudo execstack -c ~/certbot/venv/lib/python2.7/site-packages/cryptography/hazmat/bindings/_openssl.so

## SSL証明書の発行

## 1FQDN test.clara.ne.jp を練習で発行する場合
certbot –config-dir ~/cb-work –work-dir ~/cb-work –logs-dir ~/cb-work certonly –server https://acme-v02.api.letsencrypt.org/directory -a dns-route53 –email メールアドレス –agree-tos –no-eff-email -d ‘test.clara.ne.jp’ -d ‘clara.ne.jp’

# ワイルドカード *.clara.ne.jp を本番で発行する場合
certbot –config-dir ~/cb-work –work-dir ~/cb-work –logs-dir ~/cb-work certonly –server https://acme-v02.api.letsencrypt.org/directory -a dns-route53 –email メールアドレス –agree-tos –no-eff-email -d ‘*.clara.ne.jp’ -d ‘clara.ne.jp’

[/bash]

しばらく待つと・・・

[bash]

IMPORTANT NOTES:
– Congratulations! Your certificate and chain have been saved at:
~/cb-work/live/test.clara.ne.jp/fullchain.pem
Your key file has been saved at:
~/cb-work/live/test.clara.ne.jp/privkey.pem

[/bash]

 

 

出来ました!

PrismにSSL証明書を適用する

Let’s Encrypt でSSL証明書の取得が完了しました。あとはPrismにこのSSL証明書を設定してあげましょう。

インポートに必要な項目

PrismへのSSL証明書をインポートするには以下の4つの項目が必要です。

項目名 意味
certificate-path サーバのSSL証明書

Let’s Encrypt で取得した cert.pem ファイル

cacertificate-path CA中間証明書

Let’s Encrypt で取得した chain.pem ファイル

※RootCA証明書も追記する

key-path サーバのSSL証明書の秘密鍵

Let’s Encrypt で取得した privkey.pem ファイル

key-type 秘密鍵の暗号タイプと鍵長

Let’s Encrypt の場合には、RSA_2048

ハマりポイントは、Let’s Encrypt でそのまま取得したCA中間証明書では、インポートに失敗します。

Let’s Encrypt のRoot証明書をCA中間証明書に追記してあげましょう。

Let’s Encrypt のRoot証明書はこちらからダウンロードできます。

Root Certificates

 

Prismにインポート

Prismからインポートする方法とCVMからncliを利用してインポートする方法があります。

Prismからインストールする方法は以下の通り

Prismの設定メニューから「SSL証明書を選択」

「Replace Cetificate」を選択

「Import Key and Certificate」を選択

各項目で選択を行い、「Import Files」で完了です。完了すると、Prismのセッションが切れて、再度ログインが必要になります。

 

なお、ncliで実行する場合には、ワンライナーで実行可能です。

[bash]
ncli ssl-certificate import certificate-path=”~/dev001_claris_clara_ne_jp.pem” cacertificate-path=”~/ca_chain.pem” key-path=”~/dev001_claris_clara_ne_jp_privatekey.pem” key-type=”RSA_2048″
Certificate imported.
[/bash]

 

以上、PrismにLet’s Encrypt のSSL証明書を適用する説明でした。

Tags: ncli, Prism
0 0 markting-member https://cloud.clara.jp/cms/wp-content/uploads/2020/04/claracloud_logo.png markting-member2018-03-23 13:17:442020-06-09 10:36:09Prism に Let’s Encrypt で取得したSSL証明書を適用する
You might also like
Nutanixのクラスタ内のすべてのホストに同じ操作をする
ncli で CVM に公開鍵を登録してSSHアクセスする方法
Prism の UI 設定でログイン画面やFaviconを変更する

カテゴリー

  • Nutanix (イベント・セミナー) (3)
  • Nutanix (テクニカル) (7)
  • Nutanix (ビジネス) (22)
  • その他 (1)
  • イベント・セミナー (7)
  • 未分類 (6)
  • 社員インタビュー (1)
    • グループインタビュー (1)

最新情報

  • 【出展】Nutanix .NEXT Japan 2019に出展しました2019年9月27日 - 12:02 pm
  • 【.NEXT Japan 2019レポート】橋下元大阪府知事の講演!~創造的破壊~2019年9月27日 - 11:12 am
  • 【9/13開催】「Nutanix .NEXT Japan 2019」レポート!2019年9月27日 - 11:01 am
  • Nutanixの基本知識。仮想マシンとは?2019年5月7日 - 5:26 pm
  • Nutanixの基本知識。クラウドとは?2019年5月7日 - 5:18 pm

サービスについて

Clara Cloudとは

プラン・スペック
– 専有プラン
– LGプラン(共有)
– オプション一覧

よくあるご質問

Nutanixとは

コスト比較

検討中のお客さま

資料ダウンロード

お問い合わせ

パートナーについて

パートナープログラム

パートナー相談・申込

ブログ

イベント・セミナー情報

Nutanixブログ

  • 会社概要
  • 情報セキュリティ基本方針
  • 個人情報の取り扱いについて
  • 約款・規約
  • サポートポリシー

 powered by CLARA ONLINE

© CLARA ONLINE, Inc.

ncli で CVM に公開鍵を登録してSSHアクセスする方法
Scroll to top