Citrix ADC

DNSSEC の構成

DNSSEC を設定するには、次の手順を実行します。

  1. Citrix ADCアプライアンスでDNSSECを有効にします。
  2. ゾーンのゾーン署名キーとキー署名キーを作成します。
  3. ゾーンに 2 つのキーを追加します。
  4. キーでゾーンに署名します。

Citrix ADCアプライアンスは、DNSSECリゾルバとして機能しません。ADC の DNSSEC は、次の展開シナリオでのみサポートされます。

  1. ADNS:Citrix ADC は ADNS であり、シグニチャ自体を生成します。
  2. プロキシ:Citrix ADC は DNSSEC プロキシとして機能します。Citrix ADCは、ADNS/LDNSサーバーの前にトラステッドモードで配置されることを前提としています。ADCはプロキシ・キャッシング・エンティティとしてのみ動作し、シグニチャを検証しません。

DNSSEC を有効または無効にする

ADCがDNSSEC対応クライアントに応答するために、Citrix ADCでDNSSECを有効にします。デフォルトでは、DNSSEC は有効になっています。

Citrix ADCがDNSSEC固有の情報を使用してクライアントに応答しないようにする場合は、DNSSEC機能を無効にできます。

CLI を使用して DNSSEC を有効または無効にする

コマンドプロンプトで次のコマンドを入力して DNSSEC を有効または無効にし、構成を確認します。

-  set dns parameter -dnssec ( ENABLED | DISABLED )
-  show dns parameter  

例:

> set dns parameter -dnssec ENABLED
 Done
> show dns parameter
        DNS parameters:
        DNS retries: 5
         .
         .
         .
         DNSEC Extension: ENABLED
        Max DNS Pipeline Requests: 255
 Done

GUI を使用して DNSSEC を有効または無効にする

  1. [トラフィック管理] > [DNS]に移動します。
  2. 詳細ウィンドウで、[DNS 設定の変更] をクリックします。
  3. [DNS パラメータの構成] ダイアログボックスで、[DNSSEC 拡張を有効にする] チェックボックスをオンまたはオフにします。

ゾーンの DNS キーの作成

署名する DNS ゾーンごとに、非対称キーのペアを 2 つ作成する必要があります。ゾーン署名キー (ZSK) と呼ばれる 1 つのペアは、ゾーン内のすべてのリソースレコードセットに署名するために使用されます。2 番目のペアは、キー署名キー (KSK) と呼ばれ、ゾーン内の DNSKEY リソースレコードにのみ署名するために使用されます。

ZSK と KSK が作成されると、キーの公開コンポーネントの名前にが追加されます。suffix.key`` プライベートコンポーネントの名前にsuffix.private が付加されます。追加は自動的に行われます。

また、Citrix ADCは委任署名者(DS)レコードを作成し、レコードの名前に接尾辞.dsを追加します。親ゾーンが署名付きゾーンの場合、信頼チェーンを確立するには、親ゾーンで DS レコードを発行する必要があります。

キーを作成すると、そのキーは/nsconfig/dns/ ディレクトリに格納されますが、ゾーンに自動的に公開されることはありません。create dns keyコマンドを使用してキーを作成した後、add dns keyコマンドを使用してゾーンでキーを明示的に公開する必要があります。キーを生成するプロセスは、ゾーンでキーを発行するプロセスとは独立しており、代替手段を使用してキーを生成できます。たとえば、Secure FTP(SFTP)を使用して、他のキー生成プログラム(bind-keygenなど)によって生成されたキーをインポートし、ゾーンでキーを発行できます。ゾーン内のキーの発行の詳細については、「ゾーン内の DNS キーを発行する」を参照してください。

このトピックで説明されている手順を実行してゾーン署名キーを作成し、その手順を繰り返してキー署名キーを作成します。コマンド構文に続く例では、まず zone example.com のゾーン署名キーペアを作成します。次に、コマンドを使用して、ゾーンのキー署名キーペアを作成します。

リリース13.0ビルド61.xから、Citrix ADCアプライアンスは、DNSゾーンを認証するために、RSASHA256やRSASHA512などの強力な暗号化アルゴリズムをサポートするようになりました。以前は、RSASHA1 アルゴリズムだけがサポートされていました。

CLI を使用して DNS キーを作成する

コマンドプロンプトで、次のように入力します。

create dns key -zoneName <string> -keyType <keyType> -algorithm <algorithm> -keySize <positive_integer> -fileNamePrefix <string>

例:

> create dns key -zoneName example.com -keyType zsk -algorithm RSASHA256 -keySize 1024 -fileNamePrefix example.com.zsk.rsasha1.1024
File Name: /nsconfig/dns/example.com.zsk.rsasha1.1024.key (public); /nsconfig/dns/example.com.zsk.rsasha1.1024.private (private); /nsconfig/dns/example.com.zsk.rsasha1.1024.ds (ds)
This operation may take some time, Please wait...
 Done
> create dns key -zoneName example.com -keyType ksk -algorithm RSASHA512 -keySize 4096 -fileNamePrefix example.com.ksk.rsasha1.4096
File Name: /nsconfig/dns/example.com.ksk.rsasha1.4096.key (public); /nsconfig/dns/example.com.ksk.rsasha1.4096.private (private); /nsconfig/dns/example.com.ksk.rsasha1.4096.ds (ds)
This operation may take some time, Please wait...
 Done

GUI を使用して DNS キーを作成する

  1. [トラフィック管理] > [DNS]に移動します。
  2. 詳細領域で、[DNS キーの作成] をクリックします。
  3. さまざまなパラメータの値を入力し、[作成] をクリックします。

    DNS キーを作成する

    注:既存のキーのファイル名プレフィックスを変更するには、次のようにします。

    • [参照] ボタンの横にある矢印をクリックします。
    • [ローカル] または [アプライアンス] をクリックします(既存のキーがローカルコンピュータに保存されているか、アプライアンス上の/nsconfig/dns/ ディレクトリに保存されているかに応じて)。
    • キーの場所を参照し、キーをダブルクリックします。 [ファイル名の接頭辞] ボックスには、既存のキーの接頭語のみが入力されます。それに応じて接頭辞を変更します。

ゾーン内の DNS キーを発行する

キー(ゾーン署名キーまたはキー署名キー)は、ADC アプライアンスにキーを追加することによってゾーンで公開されます。ゾーンに署名する前に、キーをゾーンに発行する必要があります。

ゾーンでキーを公開する前に、そのキーが /nsconfig/dns/ ディレクトリにある必要があります。別のコンピュータに DNS キーを作成した場合 (たとえば、bind-keygen プログラムを使用して)、そのキーが/nsconfig/dns/ ディレクトリに追加されていることを確認します。次に、ゾーンでキーを発行します。ADC GUI を使用して、キーを/nsconfig/dns/ ディレクトリに追加します。または、Secure FTP (SFTP) などの他のプログラムを使用して、キーをディレクトリにインポートします。

特定のゾーンで公開する公開鍵と秘密鍵のペアごとにadd dns key コマンドを使用します。ゾーンの ZSK ペアと KSK ペアを作成した場合は、add dns key コマンドを使用して、まずゾーン内のキーペアの 1 つを公開します。コマンドを繰り返して、もう一方のキーペアを公開します。ゾーンで発行するキーごとに、ゾーンに DNSKEY リソースレコードが作成されます。

コマンド構文に続く例では、まず、ゾーン内のゾーン署名キーペア (example.com ゾーン用に作成された) を公開します。次に、コマンドを使用して、ゾーン内のキー署名キーペアを公開します。

CLI を使用してゾーンにキーを発行する

コマンドプロンプトで次のコマンドを入力して、ゾーンにキーを発行し、構成を確認します。

-  add dns key <keyName> <publickey> <privatekey> [-expires <positive_integer> [<units>]] [-notificationPeriod <positive_integer> [<units>]] [-TTL <secs>]
-  show dns zone [<zoneName> | -type <type>]

例:

> add dns key example.com.zsk example.com.zsk.rsasha1.1024.key example.com.zsk.rsasha1.1024.private
 Done
> add dns key example.com.ksk example.com.ksk.rsasha1.4096.key example.com.ksk.rsasha1.4096.private
 Done
> show dns zone example.com
         Zone Name : example.com
         Proxy Mode : NO
         Domain Name : example.com
                 Record Types : NS SOA DNSKEY
         Domain Name : ns1.example.com
                 Record Types : A
         Domain Name : ns2.example.com
                 Record Types : A
 Done

GUI を使用して DNS ゾーンにキーを発行する

[トラフィック管理] > [DNS] > [キー]に移動します。

注: [公開キー] と [秘密キー] の場合、ローカルコンピュータに保存されているキーを追加するには、[参照] ボタンの横にある矢印をクリックし、[ローカル] をクリックしてキーの場所を参照し、キーをダブルクリックします。

DNS キーを構成する

ゾーンで公開されているキーのパラメータを設定できます。キーの有効期限、通知期間、および有効期限 (TTL) パラメータを変更できます。キーの有効期限を変更すると、アプライアンスはゾーン内のすべてのリソースレコードをキーで自動的に再署名します。再署名は、ゾーンが特定のキーで署名されている場合に発生します。

CLI を使用したキーの設定

コマンドプロンプトで次のコマンドを入力して、キーを構成し、構成を確認します。

-  set dns key <keyName> [-expires <positive_integer> [<units>]] [-notificationPeriod <positive_integer> [<units>]] [-TTL <secs>]
-  show dns key [<keyName>]

例:

> set dns key example.com.ksk -expires 30 DAYS -notificationPeriod 3 DAYS -TTL 3600
 Done
> show dns key example.com.ksk
1)      Key Name: example.com.ksk
        Expires: 30 DAYS        Notification: 3 DAYS    TTL: 3600
        Public Key File: example.com.ksk.rsasha1.4096.key
        Private Key File: example.com.ksk.rsasha1.4096.private
 Done

GUI を使用したキーの設定

  1. [トラフィック管理] > [DNS] > [キー]に移動します。

  2. 詳細ウィンドウで、構成するキーをクリックし、[開く] をクリックします。

  3. [DNS キーの構成] ダイアログボックスで、次のパラメータの値を次のように変更します。

    • 期限切れ-期限切れ
    • 通知期間-通知期間
    • TTL:TTL
  4. [OK] をクリックします。

DNS ゾーンの署名と署名の解除

DNS ゾーンをセキュリティで保護するには、ゾーンで発行されたキーを使用してゾーンに署名する必要があります。ゾーンに署名すると、Citrix ADCは所有者名ごとにNSEC(Next Secure)リソースレコードを作成します。次に、キー署名キーを使用して DNSKEY リソースレコードセットに署名します。最後に、ZSK を使用して、ゾーン内のすべてのリソースレコードセット (DNSKEY リソースレコードセットや NSEC リソースレコードセットを含む) に署名します。署名操作を行うたびに、ゾーン内のリソースレコードセットの署名が作成されます。シグニチャは、RRSIG リソースレコードと呼ばれる新しいリソースレコードにキャプチャされます。

ゾーンに署名したら、構成を保存します。

CLI を使用してゾーンに署名する

コマンドプロンプトで次のコマンドを入力してゾーンに署名し、構成を確認します。

-  sign dns zone <zoneName> [-keyName <string> ...]
-  show dns zone [<zoneName> | -type (ADNS | PROXY | ALL)]
-  save config

例:

> sign dns zone example.com -keyName example.com.zsk example.com.ksk
 Done
> show dns zone example.com
         Zone Name : example.com
         Proxy Mode : NO
         Domain Name : example.com
                 Record Types : NS SOA DNSKEY RRSIG NSEC
         Domain Name : ns1.example.com
                 Record Types : A RRSIG NSEC
         Domain Name : ns2.example.com
                 Record Types : A RRSIG
         Domain Name : ns2.example.com
                 Record Types : RRSIG NSEC
Done
> save config
 Done

CLI を使用してゾーンの署名を解除する

コマンド・プロンプトで次のコマンドを入力して、ゾーンの署名を解除し、構成を確認します。

-  unsign dns zone <zoneName> [-keyName <string> ...]
-  show dns zone [<zoneName> | -type (ADNS | PROXY | ALL)]

例:

> unsign dns zone example.com -keyName example.com.zsk example.com.ksk
 Done
> show dns zone example.com
         Zone Name : example.com
         Proxy Mode : NO
         Domain Name : example.com
                 Record Types : NS SOA DNSKEY
         Domain Name : ns1.example.com
                 Record Types : A
         Domain Name : ns2.example.com
                 Record Types : A
 Done

GUI を使用してゾーンに署名または署名解除する

  1. [トラフィック管理] > [DNS] > [ゾーン]に移動します。
  2. 詳細ウィンドウで、署名するゾーンをクリックし、[署名/署名解除] をクリックします。
  3. [DNS ゾーンの署名/署名解除] ダイアログボックスで、次のいずれかの操作を行います。
    • ゾーンに署名するには、ゾーンに署名するキー(ゾーン署名キーとキー署名キー)のチェックボックスをオンにします。

      ゾーンには、複数のゾーン署名キーまたはキー署名キーペアを使用して署名できます。

    • ゾーンの署名を解除するには、ゾーンの署名を解除するキー(ゾーン署名キーとキー署名キー)のチェックボックスをオフにします。

      複数のゾーン署名キーまたはキー署名キーペアを使用して、ゾーンの署名を解除できます。

  4. [OK] をクリックします。

ゾーン内の特定のレコードの NSEC レコードを表示する

Citrix ADCがゾーン内の各所有者名に対して自動的に作成するNSECレコードを表示できます。

CLI を使用してゾーン内の特定のレコードの NSEC レコードを表示する

コマンドプロンプトで次のコマンドを入力して、ゾーン内の特定のレコードの NSEC レコードを表示します。

show dns nsecRec [<hostName> | -type (ADNS | PROXY | ALL)]

例:

> show dns nsecRec example.com
1)      Domain Name : example.com
        Next Nsec Name: ns1.example.com
        Record Types : NS SOA DNSKEY RRSIG NSEC
 Done

GUI を使用して、ゾーン内の特定のレコードの NSEC レコードを表示する

  1. [トラフィック管理] > [DNS] > [レコード] > [次のセキュアレコード] に移動します。
  2. 詳細ウィンドウで、NSEC レコードを表示するレコードの名前をクリックします。選択したレコードの NSEC レコードが [詳細] 領域に表示されます。

DNS キーを削除する

キーの有効期限が切れたとき、またはキーが侵害された場合に、公開されているゾーンからキーを削除します。ゾーンからキーを削除すると、ゾーンは自動的にキーで署名されません。このコマンドでキーを削除しても、/nsconfig/dns/ ディレクトリにあるキーファイルは削除されません。キーファイルが不要になった場合は、ディレクトリから明示的に削除する必要があります。

CLI を使用してCitrix ADC からキーを削除する

コマンドプロンプトで次のコマンドを入力してキーを削除し、構成を確認します。

-  rm dns key <keyName>
-  show dns key <keyName>

例:

> rm dns key example.com.zsk
 Done
> show dns key example.com.zsk
ERROR: No such resource [keyName, example.com.zsk]

GUIを使用してCitrix ADCからキーを削除する

  1. [トラフィック管理] > [DNS] > [キー]に移動します。
  2. 詳細ウィンドウで、ADC から削除するキーの名前をクリックし、[削除] をクリックします。