PAM360のLet's Encrypt SSL認証局との統合

  1. 概要
  2. Let's Encryptアカウントの作成
  3. 証明書を要求する方法
  4. Let's Encryptでのチャレンジ検証
  5. 証明書の調達と保存
  6. 証明書の更新
  7. 証明書の取り消し
  8. 証明書の削除
  9. Let's Encryptについて

1.概要

脅威のないネットワークを維持するには、SSL証明書でドメインを保護するだけでは不十分です。大規模なSSL環境を扱う組織にとって、SSL証明書の購入、展開、および更新のプロセスは、多くの場合、面倒で時間がかかり、簡単ではありません。監視、手動エラー、不適切な構成、脆弱な暗号、および有効期限は、多くの場合、ダウンタイム、コンプライアンスの問題、およびセキュリティ違反につながります。証明書のライフサイクル管理は、証明書の取得、発行、展開、再発行、更新、および取り消しを自動化することにより、証明書管理プロセスを合理化する手法です。PAM360は、周知されたオープン認証局Let's Encryptと統合することで、外部公開Webサイトのエンド・ツー・エンド証明書ライフサイクル管理を促進します。つまり、パブリックドメイン用にLet's Encryptからドメイン検証済み証明書を取得し、展開、追跡、有効期限に関するアラートの要求、証明書の更新を行うことができます。すべてが製品インターフェースから完全に行われます。

Let's Encrypt CAの証明書をPAM360インターフェイスから直接、要求、調達、展開、監視、追跡および更新できます。

統合を続行する前に、前提条件として次の手順を完了してください:

2.Let's Encryptアカウントの作成

Let's Encrypt CAに証明書を要求する最初の手順は、Let's Encryptを使用してアカウントを作成することです。これは、一回限りのプロセスで、PAM360インターフェイス自体から実行できます。

Let's Encryptアカウントを作成するには、

  1. [証明書] >> [Let's Encrypt] >> [管理]の順に移動します。
  2. [アカウント]タブで、[新規登録]をクリックします。
  3. 開いたUIで、アカウント名を入力し、有効なメールアドレスを指定します。要件に基づいて、本番またはステージングを選択します。
  4. チェックボックスを有効にして、Let's Encryptサブスクライバー契約に同意します。
  5. [登録]をクリックします。
  6. Let's Encryptのアカウントが作成されます。

メモ:この権限は、管理者ユーザーのみ利用でき、Let's Encryptアカウント1個のみをPAM360から作成できます。

3.証明書を要求する方法

Let's Encryptでアカウントを作成した後、証明書要求を生成する必要があります。次に、ドメインを検証して証明書を発行するためにLet's Encryptで実行する必要のある課題が表示されます。

  1. [証明書] >> [Let's Encrypt] >> [証明書の要求]に移動します。
  2. ドメイン名を入力し、[キーアルゴリズム][アルゴリズムの長さ][署名アルゴリズム][キーストアタイプ]を選択し、キーストアパスワードを入力して、[作成]をクリックします。
  3. dns-01チャレンジタイプの場合、DNS認証情報がすでに構成済みであれば、DNSアカウントを選択および割り当てることができます。これは、要求で指定されたすべてのドメインの自動チャレンジ検証に使用されます。
  4. また、証明書が更新されるごとに秘密鍵を変更するオプションがあります。
    • キーを変更する必要がある場合は、新しいキーを使用してください。このオプションは、証明書が更新されるたびに新しいキーを生成します。
    • 更新時に同じキーを保持する場合は、[同じキー]オプションを使用します。
    • 独自のキーを使用するには、 [キーのインポート]オプションを使用します。このキーは、証明書が生成されたときに初めて使用され、その後の更新にも使用されます。 

3.1 DNSアカウントの構成

  1. [Let's Encrypt] >> [管理]に移動します。
  2. [DNS]タブに切り替えます。
  3. ここでは、サポートされているDNSプロバイダーごとに最大1つのDNSアカウントを追加できます。PAM360は現在、Azure、Cloudflare DNS、Amazon route 53 DNS、RFC2136 DNS更新(nsupdate)、GoDaddy DNS、ClouDNSで自動チャレンジ認証をサポートしています。
  4. [追加]をクリックします。開いたポップアップで、DNSプロバイダーを選択します。

3.1.1 AzureDNSの場合

  1. AzureDNSゾーン概要ページにあるサブスクリプションIDを入力します。
  2. ディレクトリIDを入力します。これは[Azure Active Directory] >> [プロパティ]で利用できます。
  3. 既存のAzureアプリケーションがある場合は、そのアプリケーションIDキーを入力します。そうでない場合は、以下の手順に従ってAzureアプリケーションとキーを作成し、API呼び出しを行うためのDNSゾーンへのアクセスをアプリケーションに許可します。
  4. Azureアプリケーションとキーを作成するには、
    1. [アプリの登録] >> [新しいアプリケーションの登録]に移動します。
    2. アプリケーション名を入力し、アプリケーションタイプWebアプリ/ APIを選択して、サインオンURLを入力します。[作成]をクリックします。
    3. 作成が正常に完了したら、アプリケーションIDを表示するウィンドウが表示されます。
    4. アプリケーションキーを取得するには、[キー]に移動してキーを作成します。
    5. キーの説明と期間を入力し、[保存]をクリックします。
    6. キーが保存されると、キー値が表示されます。今後の参照用にキー値をコピーして保存します。
  5. アプリケーションにDNSゾーンへのアクセスを許可するには、
    1. すべてのDNSゾーンが作成されているリソースグループに移動するか、特定のDNSゾーンに切り替えます。
    2. アクセスコントロール(IAM)に切り替えて、[追加]をクリックします。
    3. コントリビューターとしての役割を選択し、 Azure ADユーザー、グループ、またはアプリケーションにアクセスを割り当て、Azure Directoryで作成されたアプリケーションを検索して選択し、[保存]をクリックします。
    4. 作成されたAzureアプリケーションには、API呼び出しを行うためのDNSゾーンへのアクセスが許可されます。
  6. 最後に、DNSゾーンを作成したグループ名であるリソースグループ名を入力し、[保存]をクリックします。
  7. DNSアカウントの詳細が保存され、[管理] >> [DNS]の下に一覧表示されます。

3.1.2 CloudflareDNSの場合

  1. [メールアドレス]フィールドで、Cloudflareアカウントに関連づけられているメールアドレスを指定します。
  2. グローバルAPIキーの場合、Cloudflare DNSのドメイン概要ページにある[APIキーを生成]オプションを使って、キーを生成し、このフィールドに値を貼り付けます。
  3. [保存]をクリックします。DNSアカウントの詳細が保存され、[管理] >> [DNS]の下に一覧表示されます。

3.1.3 AWS Route 53 DNSの場合

  1. AWSアカウントに関連づけられたアクセスキーIDシークレットを生成して指定します。
  2. AWSアカウントをお持ちでない場合は、アカウントを作成し、以下の手順に従ってアクセスキーIDとシークレットを生成します:
    1. AWSコンソールにログインし、 [IAMサービス] >> [ユーザー]に移動します。
    2. [ユーザーの追加]をクリックします。
    3. ユーザー名を入力し、アクセスタイプをプログラマチックアクセスとして選択します。
    4. 次のタブに切り替え、[許可を設定][既存ポリシーを添付]を直接クリックし、「AmazonRoute53FullAccess」を検索します。
    5. 一覧表示されているポリシーを割り当て、次のタブに切り替えます。
    6. タグセクションで、適切なタグ(オプション)を追加し、次のタブに切り替えます。
    7. 入力したすべての情報を確認し、[ ザーを作成をクリックします。
    8. ユーザーアカウントが作成され、続いてアクセスキーIDとシークレットが生成されます。キーIDとシークレットをコピーして、安全な場所に保存してください。これは二度と表示されません。
  3. AWSユーザーアカウントをすでにお持ちの場合は、「AmazonRoute53FullAccess」許可をユーザーに付与し、そのユーザーがアクセスキーを持っていない場合は、生成します。また、ユーザーアカウントにすでにアクセスキーが関連付けられている場合は、必要な権限が付与されていることを確認するだけで十分です。

必要な許可を付与するには、

  1. [権限]タブに移動し、必要なユーザーアカウントを選択して、[権限の追加]をクリックします。
  2. [許可を設定][既存ポリシーを添付]を直接クリックし、「AmazonRoute53FullAccess」を検索します。
  3. 一覧表示されたポリシーを割り当て、[保存]をクリックします。
  4. アクセスキーを生成するには、
  5. 特定のユーザーアカウントを選択し、[セキュリティ認証情報]タブに移動します。
  6. 開いたウインドウで、[アクセスを作成]キーをクリックします。
  7. アクセスキーIDとシークレットが生成されます。キーIDとシークレットをコピーして、安全な場所に保存してください。これは二度と表示されません。

3.1.4 RFC2136 DNS更新の場合

    Bind、PowerDNS等、RFC2136 DNS更新をサポートするオープンソース DNSサーバーを使用している場合は、下の手順にしたがって、DNSベースドメインコントロース認証手続きをPAM360を使って自動化します:

  1. DNSサーバーのIP/ホスト名は、DNSサーバーがインストールまたは実行されているサーバー名/IPアドレスを表します。
  2. サーバーの詳細は、サーバーのインストールディレクトリにあります。例えば、Bind9 DNS Serverの場合、詳細は、サーバーインストールディレクトリのファイルnamed.local.confにあります。
  3. サーバーのインストールディレクトリにあるキーコンテンツであるキーシークレットを入力します。
  4. キーの名前を入力し、署名アルゴリズムを選択して、[保存]をクリックします。

3.1.5 GoDaddy DNS

GoDaddy DNSをDNS認証に使用している場合は、下の手順にしたがって、DNSベースのドメインコントロール認証手続きをPAM360を使って自動化します。

GoDaddy API認証情報を取得する手順:

  1. GoDaddy開発者ポータルに移動し、[APIキー]タブに切り替えます。
  2. まだログインしていない場合は、GoDaddyアカウントにログインします。
  3. ログインすると、APIキーを作成および管理できるAPIキーページにリダイレクトされます。[新しいAPIを作成]キーをクリックします。
  4. お使いのアプリケーション名を入力し、環境タイプを本番と入力して、[次へ]をクリックします。
  5. APIキーとそのシークレットが生成されます。シークレットは再度表示されないため、コピーして安全な場所に保存してください。

次に、PAM360インターフェイスで、下の手順にしたがって、GoDaddy DNSをLet's Encrypt証明書リポジトリに追加します:

  1. [証明書] >> [Let's Encrypt]の順に移動し、右端の[管理]をクリックします。
  2. [DNS]タブに切り替えて、[追加]をクリックします。
  3. GoDaddyをDNSプロバイダードロップダウンメニューから選択します。
  4. キーと、以前GoDaddyポータルから生成したシークレットを入力します。[保存]をクリックします。

3.1.6 ClouDNS

DNS検証にClouDNSを使用している場合は、以下の手順に従って、PAM360を使用してDNSベースのドメイン制御検証手順を自動化します:

ClouDNS API認証情報を取得する手順:

  1. ClouDNSアカウントにログインし、Reseller APIに移動します。
  2. APIユーザーIDを既に作成している場合は、APIユーザーの下にあります。そうでない場合は、[APIの作成]をクリックして新しいAPIを生成します。

ClouDNS API認証IDの詳細については、ここをクリックしてください。

次に、PAM360インターフェイスで、下の手順にしたがって、ClouDNSをLet's Encrypt CAに追加します:

  1. [証明書] >> [Acme] >> [Let's Encrypt]に移動し、右端の[管理]をクリックします。
  2. [DNS]タブに切り替えて、[追加]をクリックします。
  3. [DNSプロバイダー]ドロップダウンから[ClouDNS]を選択します。
  4. 次のいずれかのオプションを選択します:認証ID、サブ認証ID、サブ認証ユーザー。
  5. 選択したClouDNS認証IDとそれぞれの認証パスワードを入力し、[保存]をクリックします。

注記:

  • 1つの証明書で最大100のドメインを保護できます。[ドメイン名]フィールドには最大100個の名前を入力できます。この名前のうち、名は共通名と見なされ、残りはサブジェクト代替名(SAN)として扱われます。
  • PAM360は、http-01およびdns-01ベースのドメイン検証をサポートしています。要件に基づいてチャレンジタイプを選択します。
  • Dns-01ベースのドメイン検証の場合、チャレンジ検証に構成済みのDNSアカウントを使用している場合は、選択したDNSアカウントのステータスが[管理] >> [DNS][有効]にマークされていることを確認してください。
  • 秘密鍵を変更するオプションは、現在RSAキーアルゴリズムでのみ機能します。

4.Let's Encryptでのチャレンジ検証

PAM360は、HTTP-01とDNS-01チャレンジの自動認証により、ドメイン認証を加速化します(現在は、Azure、Cloudflare、Amazon Route 53 DNS、RFC2136 DNS更新、ClouDNS、およびGoDaddy DNS)。自動化を有効にするには、最初にエンドサーバーの詳細をPAM360にマップする必要があります。これは、1回限りのプロセスです。

4.1 HTTP-01チャレンジ認証によるドメイン検証

Http-01チャレンジによるドメイン検証

  1. 実行するチャレンジを表示するウィンドウが開きます。
  2. エージェントマッピングアイコンをクリックします。
  3. ポップアップが開きます。ドメインサーバーがLinuxマシンの場合は、必要な詳細を入力して[保存]をクリックします。
  4. ドメインサーバーがWindowsマシンの場合、WindowsサーバーのPAM360エージェントを下記の手順でダウンロードおよびインストールします:

4.1.1 サーバーのPAM360エージェントのダウンロード

PAM360エージェントパッケージは、自動ドメイン認証によるLet's Encryptチャレンジの自動認証に必要な実行ファイル、構成ファイルで構成されるzipファイルです。ダウンロード後、Windows Domainサーバーにエージェントを解凍してインストールする必要があります。エージェントをダウンロードするには、

  1. [証明書] >> [Let's Encrypt]タブの順に移動し、右端上の[管理]ボタンをクリックします。
  2. Windowsエージェントタブに切り替えます。
  3. PAM360エージェントをお使いのサーバー互換性(32 bit or ビットまたは64ビット)にあわせて、ウインドウの右端上からダウンロードします。

4.1.2 Windowsサーバー用のPAM360エージェントのインストール:

PAM360エージェントをWindowsサービスとしてインストールするには、

  1. コマンドプロンプトを開き、PAM360のインストールディレクトリに移動します。
  2. コマンド「AgentInstaller.exe start」を実行します

エージェントを停止してWindowsサービスをアンインストールするには、

  1. コマンドプロンプトを開き、PAM360のインストールディレクトリに移動します。
  2. コマンド「AgentInstaller.exe stop」を実行します
  3. ドメインサーバーがWindowsマシンの場合は、Windowsエージェントをダウンロードしてドメインサーバーにインストールします。[管理] >> [Windowsエージェント]に移動し、エージェントをダウンロードしてドメインサーバーにインストールします。
  4. エージェントマッピング設定をl構成したら(エージェントマッピングは一回限りの構成です)、PAM360が自動的に、Let's Encryptが生成したチャレンジ認証を処理します。
  5. エージェントマッピングを設定したら、[保留中の要求]で[保留中]をクリックし、[確認]をクリックします。チャレンジが検証され、証明書要求がLet's Encrypt CAに送信されます。

4.2 DNS-01チャレンジ認証によるドメイン認証

PAM360からのDNS-01チャレンジ検証の場合、

  1. Let's Encryptタブに切り替え、証明書要求に対応する要求ステータス(保留中)をクリックします。
  2. DNSチャレンジ値とTXTレコードを表示するウィンドウが表示されます。
  3. DNSアカウントの詳細を既に構成していて、証明書要求の作成時にDNSを選択している場合は、DNSアカウントを要求に割り当てることができます。 
  4. 要求を選択し、[その他]トップメニューから[DNSの割り当て]を選択して、必要なDNSアカウントを選択します。
  5. DNSアカウントが構成されていない、または証明書要求を出したときにそれが選択されていない場合、PAM360には、エージェントマッピングによるDNS-01チャレンジ認証を自動化するオプションがあります。
  6. 要求の左にある[エージェントマッピング]アイコンをクリックします。エージェントマッピングは1回限りの設定です。

エージェントマッピング

開いた展開ウインドウで、以下の操作を実行して、エンドサーバー詳細をPAM360にマッピングおよび保存します。

  1. DNSプロバイダーを選択します。Azure DNSの場合、必要な詳細(サブスクリプションIDディレクトリIDアプリケーションIDアプリケーションキー、およびリソースグループ名)を入力します。
  2. Cloudflare DNSの場合、Cloudflareアカウントに関連づけられているメールアドレスとグローバルAPIキーを入力します。
  3. Amazon Route 53 DNSの場合、AWSアカウントに関連づけられているアクセスキーIDシークレットを入力します。
  4. [証明書の展開]チェックボックスを有効にして、ドメインの検証後および連続した更新後に、対応するエンドサーバーへの証明書の展開を自動化します。
  5. linuxエンドサーバーでは、必要な詳細を入力しますが、Windowsエンドサーバーでは、Windowsエージェントを、http-01 challenge.チャレンジに記載したのと同じプロシージャを使って、ダウンロードおよびインストールします。
  6. 詳細を入力したら、[保存]をクリックします。エンドユーザー詳細は、PAM360に正常にマッピングおよび保存されます。この内容は、[管理] >> [展開]タブでj表示または編集できます。.

注記:

  • Let's Encrypt統合を使用して、パブリックドメインの証明書のみを要求および取得できます。
  • 課題の処理は、自動化せずに手動で行うこともできます。チャレンジ値/テキストレコードをコピーして、ドメインサーバーに手動で貼り付けます。次に、PAM360 Serverで、保留中の要求ページに移動し、[認証]をクリックします。チャレンジが検証され、証明書が発行されます。
  • PAM360は、証明書要求についてDNSを、エージェントマッピングが利用可能ではない場合のみ、チャレンジ認証を自動化します。チャレンジ認証は、エージェント詳細が[管理] >> [展開]タブで利用できる場合、エージェントにより自動化されます。
  • 現在、PAM360エージェントは、Windowsサーバーでのみ利用できます。
  • グローバルDNS構成をRFC2136 DNS更新に選択した場合、ドメイン名自体がゾーン名の機能を持ちます(グローバルDNS構成は同じキーシークレットをすべてのユーザーに使用している場合のみ可能です)。一方、ドメインエージェントマッピングを選択した場合は、ドメインごとにゾーン名、キー名、およびキーシークレットを個別に指定する必要があります。

5.証明書の調達と保存

  1. 検証が成功すると、Let's Encryptは要求された証明書を発行します。
  2. ウィンドウは、証明書とそのステータスを表示するページに自動的にリダイレクトされます(ステータスは、チャレンジ検証が成功した場合は[利用可能]とマークされ、チャレンジ検証が失敗した場合は[失敗]とマークされます)。
  3. [利用可能]ボタンをクリックして、証明書をPAM360リポジトリに保存するか、電子メールで送信するか、エクスポートします。
  4. チャレンジに失敗した場合、[新しいチャレンジ()]をクリックして別のチャレンジのセットを取得し、上記のプロセスを繰り返します。
  5. 保存時、証明書がPAM360リポジトリに追加されます。この内容は、[証明書] >> [証明書]タブで表示できます。

6.証明書の更新

Let's Encryptが発行した証明書には、90日間のライフタイムがあり、これ以降は無効になります。また、上記のとおり、ドメイン認証有効期間は、60日間ですが、ドメインの所有権を証明するには、ユーザーは、この間、60日ごとにチャレンジを満たす必要があります。

証明書の更新は、手動で実行することも、自動ドメイン検証を通じて自動的に実行することもできます。証明書を手動で更新するには、

  1. [証明書] >> [Let's Encrypt]の順に移動します。.
  2. 更新する証明書を選択し、[証明書の更新]ボタンをクリックします。
  3. 証明書が更新され、[証明書のステータス]バーに[更新済み]と表示されます。
  4. クリックして、証明書の更新バージョンをPAM360証明書リポジトリに保存します。
  5. 更新履歴は、[証明書] >> [証明書]タブで証明書履歴ボタンをクリックして、参照できます。

メモ:証明書は、証明書リポジトリで更新するために、更新後に保存する必要があります。それ以外の場合は、古いバージョンの証明書のみが引き続きリポジトリに残ります。

6.1 自動ドメイン認証による自動更新

エージェントマッピングが構成されている場合、証明書の更新プロセスは手動の介入なしに自動的に実行されます。Let's Encryptから取得した組織内のすべての証明書は、75日ごとに自動的に更新されます。つまり、有効期限の15日前に、アカウント所有者の電子メールアドレスに通知が送信されます。

注記:自動更新は、PAM360リポジトリに保存した証明書のみ適用できます。すなわち、Let's Encryptから証明書を調達した後、自動更新が有効になるには、保存する必要があります。

7.証明書の取り消し

証明書を取り消すと、証明書が無効になり、すぐにWebサイトからHTTPSが削除されます。

証明書を取り消すには、

  1. [証明書] >> [Let's Encrypt]タブの順に移動します。
  2. 取り消す証明書を選択し、[証明書を取り消す]をクリックします。
  3. 証明書は取り消され、無効になります。

8.証明書の削除

証明書を削除すると、PAM360リポジトリから証明書が削除されますが、証明書は引き続き有効です。

証明書を削除するには、

  1. [証明書] >> [Let's Encrypt]タブの順に移動します。
  2. 削除する証明書を選択し、[削除]をクリックします。
  3. 証明書はPAM360データベースから削除されます。

9.Let's Encryptについて

Let's Encryptは、インターネットセキュリティ研究グループ(Internet Security Research Group)(ISRG)によって開発された無料の自動化されたオープンな証明機関であり、HTTPS接続の確立に伴う複雑さを軽減し、証明書のインストールプロセス全体をスムーズにすることを主な目的としています。現在、Let's Encryptはドメイン認証された証明書のみを発行しています。組織検証および拡張検証は、現時点では提供されておらず、近い将来にも提供される予定はありません。Let's Encryptが発行したすべての証明書には、90日間のライフタイムがあり、その後は無効になります。また、証明書のドメイン認証有効期間は60日間で、すなわち、ドメインの所有権を証明するには、安全確保するすべてのドメインについて、60日ごとにチャレンジを満たす必要があります。ドメイン認証の主な目的は、セキュリティ確保と、Let's Encryptがこのドメイン認証有効期間を7日間に削減する予定を確認するためです。Let's Encryptについての詳細は、 ここをクリックしてください