ADC

DNSSECを構成する

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

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

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

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

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

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

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

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

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

-  set dns parameter -dnssec ( ENABLED | DISABLED )
-  show dns parameter  
<!--NeedCopy-->

例:

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

<!--NeedCopy-->

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

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

ゾーンの DNS キーの作成

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

ZSK と KSK を作成すると、キーのパブリックコンポーネントの名前にsuffix.keyが追加されます。 suffix.private プライベートコンポーネントの名前の後ろにが付加されます。追加は自動的に行われます。

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

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

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

リリース13.0ビルド61.x以降、NetScalerアプライアンスは、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
<!--NeedCopy-->

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

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

    DNS キーを作成する

    注:既存のキーのファイル名プレフィックスを変更するには:

    • ブラウズ 」ボタンの横にある矢印をクリックします。
    • **ローカルまたはアプライアンスのいずれかをクリックします** (既存のキーがローカルコンピュータに保存されているか、アプライアンスの/nsconfig/dns/ディレクトリに保存されているかによって異なります)
    • キーの場所を参照して、キーをダブルクリックします。 「 ファイル名プリフィックス 」ボックスには、既存のキーのプレフィックスだけが入力されます。プレフィックスを適宜変更してください。

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

キー(ゾーン署名キーまたはキー署名キー)は、NetScalerにキーを追加することでゾーンに公開されます。ゾーンに署名する前に、キーをゾーンで公開する必要があります。

ゾーンでキーを公開する前に、キーが /nsconfig/dns/ ディレクトリにある必要があります。( bind-keygen プログラムなどを使用して) 別のコンピュータで DNS キーを作成した場合は、そのキーが/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>]
<!--NeedCopy-->

例:

> add dns key example.com.zsk example.com.zsk.rsasha1.1024.key example.com.zsk.rsasha1.1024.private -expires 121 -TTL 5
 Done
> add dns key example.com.ksk example.com.ksk.rsasha1.4096.key example.com.ksk.rsasha1.4096.private -expires 121 -TTL 5
 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
<!--NeedCopy-->

GUI を使用して DNS ゾーンにキーを公開する

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

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

DNS キーの設定

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

CLI を使用してキーを設定する

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

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

例:

> 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
<!--NeedCopy-->

GUI を使用してキーを設定する

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

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

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

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

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

DNS ゾーンを保護するには、ゾーンで公開されているキーを使用してゾーンに署名する必要があります。ゾーンに署名すると、NetScalerは所有者名ごとにネクストセキュア(NSEC)リソースレコードを作成します。次に、キー署名キーを使用して DNSKEY リソースレコードセットに署名します。最後に、ZSK を使用して、DNSKEY リソースレコードセットや NSEC リソースレコードセットを含む、ゾーン内のすべてのリソースレコードセットに署名します。署名操作を行うたびに、ゾーン内のリソースレコードセットが署名されます。署名は、RRSIG リソースレコードと呼ばれる新しいリソースレコードに取り込まれます。

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

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

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

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

例:

> 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
<!--NeedCopy-->

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

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

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

例:

> 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
<!--NeedCopy-->

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

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

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

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

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

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

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

NetScalerがゾーン内の所有者名ごとに自動的に作成する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
<!--NeedCopy-->

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

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

DNS キーを削除する

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

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

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

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

例:

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

<!--NeedCopy-->

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

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

DNS キーを取り消す

通常、キーロールオーバーは事前にスケジュールされていますが、キーが危険にさらされている疑いがある場合は、キーをすぐにロールオーバーする必要が生じることがあります。このような場合、新しいキーを有効にする前に、侵害されたキーをすぐに段階的に廃止する必要があります。移行をスムーズにするため、セカンダリキーは準備完了の状態にしておくことをお勧めします。キーが不正使用になった場合は、すぐにアクティブ化できます。キーを取り消す方法を使用すると、セカンダリキーを有効にして侵害されたキーを削除する時間を節約できます。

注:

キーを取り消しても、明示的に削除しない限り、キーはシステムに残ります。自動ロールオーバーオプションが設定されているため、手動で削除しないと、設定した有効期限後にキーが自動的にロールオーバーされます。自動ロールオーバー処理中に、必要に応じて使用できる新しいキーが作成されます。

CLI を使用して取り消しを有効にする

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

set dns key <keyName> [-revoke]

例:

DNS キーをセキュア.example.zsk-revoke に設定します

GUI を使用して取り消しを有効にする

  1. [ トラフィック管理] > [DNS] > [キー] に移動します。
  2. 詳細ペインで、構成するキーをクリックし、[ 開く] をクリックします。
  3. DNS キーの設定 」ページで、「 取り消し」を選択または選択解除します。
  4. [OK] をクリックします。

自動キーロールオーバー

NetScalerでは、構成された頻度に基づいてキーロールオーバープロセスを自動化できます。ロールオーバープロセスを自動化することで、キーのロールオーバーを見逃す可能性を排除できます。NetScalerは、キーの作成、 キーの発行、有効化、署名、署名解除、および自動ロールオーバーオプションが有効になっている場合は古いキーを自動的に削除します。また、古いキーの追加、有効化、削除に関するSNMP通知が送信されます。

注:

ゾーン転送パラメータがGSLBサイトで有効になっている場合、ロールオーバーキーはすべてのGSLBサイトに転送されます。

ゾーン転送をサポートしないビルドからゾーン転送をサポートするビルドにアップグレードする場合は、既存のキーのロールオーバー機能を有効にします。キーロールオーバーオプションを有効にする前に、キーの有効期限が切れていないことを確認してください。

CLI による自動キーロールオーバーの設定

コマンドプロンプトで入力します:

set dns key <keyName> [-autoRollover (ENABLED | DISABLED)] [-RolloverMethod <PrePublication | DoubleSignature | DoubleRRset>]
<!--NeedCopy-->

例:

Set dns key secure.example.zsk – autoRollover Enabled -RolloverMethod Prepublication

GUI による自動キーロールオーバーの設定

  1. [ トラフィック管理] > [DNS] > [キー] に移動します。
  2. 詳細ウィンドウで、設定するキーをクリックし、[開く] をクリックします。
  3. DNS キーの設定 」ページで、次のパラメータを更新します:
    • 自動ロールオーバー-キーロールオーバーを自動化するオプションを有効にします。
    • ロールオーバー方法-ロールオーバー方法を選択します。
  4. [OK] をクリックします。

SNMP アラーム

自動ロールオーバーが有効になっている場合は、DNSSEC キーイベントの SNMP アラームを有効にできます。 SNMPアラームを有効にすると、NetScalerは、イベントが成功したか失敗したかに基づいて、対応するアラーム(DNSSEC-KEY-AUTOMGMT-STATUS-SUCCESSまたはDNSSEC-KEY-AUTOMGMT-STATUS-FAILURE)を生成します。たとえば、DNSSEC キーを作成し、作成イベントが成功すると、DNSSEC-KEY-AUTOMGMT-STATUS-SUCCESS アラームが生成されます。

SNMPアラームについて詳しくは、「SNMPトラップを生成するようにNetScalerを構成する」(/en-us/citrix-adc/current-release/system/snmp/generating-snmp-traps-on-citrix-adc.html) を参照してください

DNS ゾーン転送

DNSSEC キーを他の DNS サーバーと同期するには、ゾーン転送パラメーターを有効にする必要があります。ある DNS サーバーから GSLB サイト内の他の DNS サーバーへのキーの同期は、AutomaticConfigSync オプションが有効になっている場合にのみ可能です。リアルタイム同期の詳細については、「GSLB に参加しているサイト間のリアルタイム同期」を参照してください。 DNSゾーン転送は、異なる場所にあるDNSサーバーごとにGSLBが構成されているNetscalerで可能です。

同期の詳細については、「 GSLB セットアップでの構成の同期」を参照してください。

DNSゾーンの転送は、GSLBが構成されているNetScalerで可能です。必ず異なる場所にあるDNSサーバーごとにGSLBを設定してください。

CLI を使用してゾーン転送を有効または無効にする

コマンドプロンプトで入力します:

set dns parameter - ZoneTransfer (ENABLED | DISABLED)

例:

set dns parameter - ZoneTransfer ENABLED

Done
<!--NeedCopy-->

GUI を使用してゾーン転送を有効または無効にする

  1. [ トラフィック管理] > [DNS] に移動します。
  2. 詳細ペインの [ 設定] で、[ DNS 設定の変更] をクリックします。
  3. DNS パラメータの設定 」ページで、「 ゾーン転送」を選択または選択解除します。
DNSSECを構成する