名称
dnssec-signzone ― DNSSEC ゾーンの署名ツール
構文
dnssec-signzone [-a]
[-c cycle-time] [-d directory] [-e end-time] [-f output-file] [-h]
[-i interval] [-n ncpus] [-o origin] [-p] [-r randomdev] [-s start-time] [-t]
[-v level] zonefile keyfile ....
説明
dnssec-signzone はゾーンに署名するときに使います。
署名したいゾーンの .signedkey ファイルはすべて、ゾーンに署名するための鍵と同じように、カレントディレクトリになければなりません。
引き数
| zonefile | | 署名されていないゾーンファイルの名称です。 |
| keyfile | | keyfile 引き数が指定されない場合、デフォルトでカレントディレクトリにあるすべてのゾーンの鍵が使用されます。
なんらかの keyfile 引き数を指定すると、 dnssec-signzone に制限が加わり、そこで指定された鍵だけを使ってゾーンに署名するようになります。 各 keyfile 引き数は、 dnssec-keygen が生成した、鍵を識別する文字列です。 |
署名するゾーンにセキュアなサブゾーンがある場合、サブゾーンの .signedkey ファイルは、 dnssec-signzone が使用する現在の作業ディレクトリになければなりません。
オプション
| -a | | このオプションは、 dnssec-signzone が生成した署名の検証を強制するときに使われます。
デフォルトでは、署名ファイルは検証されません。 |
| -c cycle-time | | このオプションは、すでに署名したゾーンが dnssec-signzone の入力として渡された場合に、レコードを破棄するための周期を構成するときに使われます。
周期は、現在の時刻からの差で指定します (秒単位)。 SIG レコードの有効期限がその周期より長い場合、それは保持されます。
そうでない場合、まもなく有効期限が切れるものとみなされ、 dnssec-signzone はこれを削除、新しい SIG レコードを生成して置き換えます。 |
| -d directory | | このオプションは、directory が指すディレクトリで signedkey を探すよう指定するときに使われます。 |
| -e end-time | | このオプションは SIG レコードの有効期限を指定するときに使われます。
有効期限が指定するのは、SIG レコードが無効になる時期で、ネームサーバーのキャッシュから削除される時期ではありません。 end-time は、絶対日時か相対日時で指定します。 絶対指定の日時には YYYYMMDDHHMMSS という表記法を使います。 end-time が +N の場合、SIG レコードが、その開始日時から N 秒後に無効となることを示します。 |
| -f output-file | | このオプションは、 dnssec-signzone が使用する署名済みゾーンファイルの名称のデフォルト値、 zonefile.signed を変更するときに使われます。 |
| -h | | このオプションは、 dnssec-signzone のオプションと引き数の簡単なサマリーを出力するときに使われます。 |
| -i interval | | すでに署名したゾーンが入力として渡されるとレコードは破棄されることがあります。 interval オプションは、周期間隔を現在時刻との差で指定します (秒単位)。
ある SIG レコードの有効期限がその周期より長い場合、それは保持されます。
そうでない場合、まもなく有効期限が切れるものとして、別のレコードで置き換えられます。 周期間隔のデフォルト値は、署名の開始時刻と終了時刻の差の 1/4 です。
つまり、 end-time も start-time も指定されていない場合、 dnssec-signzone は、有効期限が 30 日、周期間隔が 7.5 日の署名を生成します。
そのため、もし既存の SIG レコードが 7.5 日以内に有効期限切れとなる場合、これは別のレコードと置き換えられます。 |
| -n ncpus | | このオプションを使い、 ncpus に指定した数だけのワーカースレッドを起動して、複数の CPU を活用することができます。
これが指定されない場合、 named は存在する CPU の数を判定し、CPU
1 つにつき 1 スレッドを起こそうとします。 |
| -o origin | | このオプションはゾーンのオリジンを指定します。 これが指定されない場合、ゾーンファイルの名称が origin と同じであるものと仮定されます。 |
| -p | | このオプションは、 dnssec-signkey に、鍵に署名する際に擬似乱数を使うよう指定します。これは、署名に真性乱数データを使うのに比べると高速ですが、安全性は低下します。
この機能は、署名する子ゾーンの鍵セットが多い場合や、エントロピーソースが制限されているときに便利です。
また、解読されてしまう前に鍵が破棄されるなど、生存期間の短い鍵や、暗号解読に対して強い防御の必要がない署名についても使用できます。 |
| -r randomdev | | このオプションは、乱数を生成する /dev/random デバイスがシステムにない場合に、 dnssec-signzone の動作を変更して、ゾーンに署名する処理のシードとして乱数を使用させるときに使います。 dnssec-signzone プログラムはキーボード入力を求め、そのキー入力間隔から乱数データを生成します。
このオプションを指定すると、乱数データのソースとして randomdev を使用します。 |
| -s start-time | | このオプションは生成された SIG レコードが有効になる日時を指定します。 start-time は絶対日時か相対日時で指定します。 絶対日時で開始日時を指定するには、 YYYYMMDDHHMMSS という書式の数値を使用します。たとえば、 20000530144500 は、協定世界時 (UTC) の 2000 年 5 月 30 日 14:45:00 を指定します。 相対日時で開始日時を指定する場合、 start-time に +N を指定します。これは、現在日時から N 秒後という意味です。 -s オプションが指定されない場合、SIG レコードの開始日時として、現在の日時が使用されます。 |
| -t | | このオプションは、完了時の統計情報を出力させるときに使われます。 |
| -v level | | このオプションは、 dnssec-signzone に詳細な内容を出力させるときに使われます。 level で指定するデバッグやトレースのレベルを上げると、 dnssec-signzone の処理内容についてしだいに詳しい内容が表示されるようになります。
レベルのデフォルト値は 0 です。 |
例
次の例では、 dnssec-signzone を使って、 dnssec-keygen のマンページにある例で生成された鍵を持つ example.com ゾーンに署名する方法を示します。このゾーンのゾーンファイルは example.com で、これはオリジンと同じなので、 -o オプションを使ってオリジンを指定する必要はありません。
このゾーンファイルには、 dnssec-makekeyset が作成した、 example.com の鍵セットが含まれています。
このゾーンの鍵は、ゾーンファイルに追加されるか、 $INCLUDE ステートメントで組み込まれます。
親ゾーンからの .signedkey ファイル、つまり example.com.signedkey がある場合、これはカレントディレクトリに置かなければなりません。
これで親ゾーンの署名が、 example.com ゾーンの署名済み版に組み込めるようになります。
dnssec-signzone example.com Kexample.com.+003+26160
dnssec-signzone は example.com.signed というファイルを生成します。これが、 example.com ゾーンの署名済み版です。 このファイルは、 /etc/named.conf の zone{} ステートメントで参照することができ、これによってネームサーバーにロードされます。
参照
dnssec-keygen(1)、dnssec-makekeyset(1)、dnssec-signkey(1)、RFC2535