dnssec-signzone - DNSSEC ゾーン署名ツール
dnssec-signzone [-Aaghptz] [-c class] [-d directory] [-e end-time] [-f output-file] [-H iterations] [-I input_format] [-i interval] [-k key] [-l domain] [-N soa-serial-format] [-n ncpus] [-O output_format] [-o origin] [-r randomdev] [-s start-time] [-v level] [-3 salt] zonefile [key]...
dnssec-signzone ユーティリティーはゾーンに署名します。このユーティリティーは NSEC レコードと RRSIG レコードを生成し、ゾーンの署名されたバージョンを生成します。署名されたゾーンからの委譲のセキュリティーステータス (つまり、子ゾーンがセキュリティー保護されているかどうか) は、子ゾーンごとに keyset ファイルが存在するかどうかによって決まります。
サポートしているオプションは、次のとおりです。
NSEC3 チェーンを生成するときに、すべての NSEC3 レコードに OPTOUT フラグを設定し、安全でない委譲に対しては NSEC3 レコードを生成しません。
生成されたすべての署名を確認します。
ゾーンの DNS クラスを指定します。
directory 内の keyset ファイルを検索します。
生成された RRSIG レコードの有効期限が切れる日時を指定します。start-time と同様に、YYYYMMDDHHMMSS の表記で絶対時間が示されます。開始時間からの相対時間は +N で示されます。これは、開始時間から N 秒後であることを示します。現在の時間からの相対時間は now+N で示されます。end-time が指定されていない場合、開始時間から 30 日後の日時がデフォルトとして使用されます。
署名されたゾーンを含む出力ファイルの名前。デフォルトでは、入力ファイル名に .signed が付加されます。
keyset ファイルから子ゾーンの DS レコードを生成します。既存の DS レコードは削除されます。
NSEC3 チェーンを生成するときに、iterations で指定された繰り返しの数を使用します。デフォルトは 100 です。
dnssec-signzone() のオプションと引数の簡単なサマリーを出力します。
入力ゾーンファイルの形式。指定可能な形式は text (デフォルト) と raw です。このオプションは、動的に署名されたゾーンを主に想定したもので、更新を含む非テキスト形式のダンプされたゾーンファイルに直接署名できるようにします。動的でないゾーンに対してこのオプションを使用しても、意味がありません。
サイクル間隔 (秒単位) を現在の時間からのオフセットとして指定します。以前に署名されたゾーンが入力として渡された場合は、レコードに再度署名できます。サイクル間隔のあとで RRSIG レコードの有効期限が切れた場合、そのレコードは保持されます。それ以外の場合は、有効期限が間もなく切れるとみなされ、レコードは置き換えられます。
デフォルトのサイクル間隔は、署名の終了時間と開始時間の差の 4 分の 1 です。end-time と start-time のどちらも指定されていない場合、dnssec-signzone は、有効期間が 30 日でサイクル間隔が 7.5 日の署名を生成します。7.5 日よりも短い期間で有効期限が切れる既存の RRSIG レコードは、すべて置き換えられます。
固定された署名有効期間でゾーンに署名すると、署名した時点で発行されたすべての RRSIG レコードが同時に有効期限切れになります。ゾーンが増分的に署名される、つまり、以前に署名されたゾーンが署名者に入力として渡される場合は、期限切れとなるすべての署名をほぼ同じ時間に再生成する必要があります。jitter オプションは、署名の期限切れ時間をランダム化するために使用されるジッター時間を指定することにより、増分的な署名の再生成を徐々に分散させます。
署名の有効期間のジッターは、キャッシュの有効期限を分散させるため、バリデータとサーバーにもある程度のメリットをもたらします。つまり、すべてのキャッシュにある多数の RRSIG が同時に有効期限切れにならなければ、すべてのバリデータでほぼ同じ時間に再取得が必要になる場合に比べて輻輳は少なくなります。
指定された key を鍵署名鍵として扱い、鍵フラグをすべて無視します。このオプションは複数回指定できます。
鍵 (DNSKEY) と DS セットに加えて DLV セットを生成します。ドメインがレコードの名前に付加されます。
署名されたゾーンの SOA シリアル番号形式。指定可能な形式は、次に説明するように keep (デフォルト)、increment、および unixtime です。
SOA シリアル番号を変更しません。
RFC 1982 の算術式を使用して SOA シリアル番号を増分します。
SOA シリアル番号を epoch からの経過秒数に設定します。
使用するスレッドの数を指定します。デフォルトでは、検出された CPU ごとに 1 つのスレッドが開始されます。
署名されたゾーンを含む出力ファイルの形式。指定可能な形式は text (デフォルト) と raw です。
ゾーンの起点を指定します。指定されていない場合、ゾーンファイルの名前が起点とみなされます。
ゾーンに署名するときに疑似乱数データを使用します。この方法は実際のランダムデータを使用する場合に比べて高速ですが、安全性は低下します。このオプションは、大規模なゾーンに署名する場合や、エントロピソースが制限されている場合に役立つことがあります。
乱数発生元を指定します。オペレーティングシステムによって /dev/random または同等のデバイスが提供されていない場合、デフォルトの乱数発生元はキーボード入力です。randomdev は、このデフォルトの /dev/random の代わりに使用される、ランダムデータを含む文字デバイスまたはファイルの名前を指定します。特殊な値 keyboard は、キーボード入力を使用する必要があることを示します。
生成された RRSIG レコードが有効になる日時を指定します。これは絶対時間または相対時間のどちらでもかまいません。絶対開始時間は、YYYYMMDDHHMMSS という表記の数値で示されます。20000530144500 は、2000 年 5 月 30 日の 14:45:00 UTC のことです。相対開始時間は +N で示されます。これは、現在の時間から N 秒後であることを示します。start-time が指定されていない場合は、(クロックスキューを考慮して) 現在の時間から 1 時間前の時間が使用されます。
完了時に統計情報を出力します。
デバッグのレベルを設定します。
署名する対象を決定するときに、鍵の KSK フラグを無視します。
指定された 16 進数でエンコードされた salt を持つ NSEC3 チェーンを生成します。ダッシュ (-) を使用すると、NSEC3 チェーンを生成するときにソルトが使用されないことを示すことができます。
次のオペランドがサポートされています。
署名されるゾーンを含むファイル。
ゾーンに署名するためにどの鍵を使用するべきかを指定します。鍵が指定されていない場合は、ゾーンの頂点に DNSKEY レコードがないかどうかが検証されます。レコードが見つかり、かつ一致する秘密鍵が現在のディレクトリ内に存在する場合は、これらの秘密鍵が署名に使用されます。
次のコマンドは、dnssec-keygen(1M) のマニュアルページにある例で生成された DSA 鍵を使用して example.com ゾーンに署名します (Kexample.com.+003+17247)。ゾーンの鍵がマスターファイル (db.example.com) に存在する必要があります。この呼び出しでは、現在のディレクトリ内で鍵セットファイルを検索することにより、それらのファイルから DS レコードを生成できるようにしています (–g)。
% dnssec-signzone -g -o example.com db.example.com \ Kexample.com.+003+17247 db.example.com.signed %
上の例では、dnssec-signzone はファイル db.example.com.signed を作成します。このファイルは、named.conf ファイル内の zone 文で参照される必要があります。
使用例 2 以前に署名されたゾーンへの再署名次のコマンドは、デフォルトのパラメータを使用して、以前に署名されたゾーンに再署名します。秘密鍵が現在のディレクトリに存在しているものとします。
% cp db.example.com.signed db.example.com % dnssec-signzone -o example.com db.example.com \ db.example.com.signed %
属性についての詳細は、マニュアルページの attributes(5) を参照してください。
|
dnssec-keygen(1M)、attributes(5)
RFC 4033
『BIND 9 Administrator's Reference Manual』を参照してください。このマニュアルページの発行日付時点で、このドキュメントは https://kb.isc.org/article/AA-01031https://kb.isc.org/article/AA-01031 から利用できます。