OpenDNSSEC 1.3.xおよび1.4.1、NSD、FreeBSD 9.2のインストール、構成

OpenDNSSECがネットワークに関する情報を持っている理由と理由。 このテーマに関する詳細な情報はなく、主に英語で書かれています。 ギャップを埋めようとします。 私自身はこの分野の専門家ではありません。面白くて、望んでいて、やりました。



この記事は、OpenDNSSECのインストール/構成と同時に書かれました。 合計で、約1か月かかりました。 手順は2回実行されました。 最初に、OpenDNSSEC 1.3がインストールされました。 ドメインレジストラ(RD)の個人アカウントで報告されているように、一般に、すべてが判明したように、ゾーンに署名し、ドメインレジストラ(RD)のアンカーを登録し、信頼チェーンを構築します。 6か月後、次の手動ポート更新の結果、OpenDNSSEC 1.3.xポートが自動的に1.4.1に更新されましたが、他にも多くのことがあります。 しかし、もちろん、すべてが問題を示唆することなく機能し続けました。 DNSゾーンを変更する必要があることが偶然発見されました。 そしてそれは始まりました...



NSD DNSサーバーが構成され、数年間機能しており、すべてが正常であると想定しています。



バージョン1.4を長期間設定できず、キーが表示されず、ゾーンが署名されませんでした。 パッケージは、MySql55をサポートしてインストールされました。 公式Webサイトで、1.4の公式にサポートされているOSをリストするときに、FreeBSD 9.0が発表されました。 これが理由であるとは考えられませんでした(理由はこれではありませんでした)が、FreeBSD 8.2から9.1にアップデートされるたびに、ほぼすべての理由がありました。 ニュアンスの無知から、彼はすでに構築された信頼のチェーンが干渉することさえ示唆しました。 したがって、彼の個人的な説明では、RDは信頼の連鎖を断ち切りました。 そして、NSDを未署名のゾーンで動作するように設定します。 既存のSQLite2データベースをSQLite3に変換しようとしませんでした。 推奨どおり、すべてをやり直し、MySql55を使用することが決定されました。



一般に、画像は次のようになります。NSDは両方のゾーンにサービスを提供しました。 NSDとOpendnssecの間は決して接続されていません。 Opendnssecは、ゾーンに署名するプロセスを自動化するための便利なローションです。 Opendnssecは、既存の署名されていないNSDサーバーゾーンファイルを取得し、指定された頻度で署名/再署名します。 自動署名後、OpendnssecはNSDを再起動します。 さらに、NSDは既に署名されたゾーンファイルを使用します。 また、NSDのDNSSECは自動的に含まれます。 NSD自体が署名済みゾーンファイルを認識します。 不明な点が1つありました。RD(ドメインレジストラ)の個人アカウントでは、いくつかのキー、いわゆるアンカーを登録する必要があります。 将来、新しいキーでゾーンの自動再署名が行われる場合、それらを手動で編集する必要がありますか? もちろん問題はないと思います。



今後:c MySql OpenDNSSECを構成できませんでした。 問題はデータベースにあること、またはデータベースとOpenDNSSEC間の相互作用にあることが正確にわかりました。 OpenDNSSECは、SQLiteとMySqlの両方で機能します。 そこでSQLite3に戻って、すべてがすぐに問題なく行きました。 SQLite3の公式サイトは、テストアプリケーションにのみお勧めします。 多数の数千のゾーンファイルとレコードが存在する場合、MySqlが推奨されると想定します。 テストサーバーの場合、SQLiteを使用することにしました。 したがって、以下で説明するMySqlに関連するすべてを使用するわけではありません。 しかし、これらすべての情報については。 以下は、何が起こっているかを説明する概略図です。 公式のOpenDNSSECドキュメントサイトから取得した画像。



画像



セカンダリDNSサーバーには何のアクションも必要ありませんが、セカンダリサーバーがDNSSECもサポートしていることを確認する必要があります。 かつて2つのセカンダリDNSを注文していたRDでは、すべてがサポートされています。



2つのキーペアがあります。

最初のペア-ZSKは、ゾーンファイルに署名するために使用されます。

2番目のペア-KSKは、ZSKキーに署名し、親ゾーン(現在のケースではRD)の管理者に転送されるDSレコードを生成するために使用されます。 KSKは年に1回、ZSKは月に1回まで変更することをお勧めします。



OpenDNSSECの1.3バージョンと1.4バージョンの両方のインストールには共通点があります。 SQLite2および3データベースを使用しても問題はありませんでした。 MySql55の構成に失敗しました。 すべてがSQLite3で機能した後、MySqlで問題が発生した理由の検索は次回まで延期されました。 繰り返しますが、SQLiteはテストにのみお勧めします。



私はすべてをそのまま持ってきたので、最初はそれがどのように終わったかを見てからそれを繰り返すことが賢明です。 はい、OpenDNSSEC 1.4.1のみをインストールした場合、記事は2倍短くなります。 しかし、情報の冗長性は、ニュアンスがあるかどうかをよりよく理解するのに役立つと思います。 sayingにもあるように、リライタへの贈り物。 古いバージョンから1.4.1バージョンへのOpenDNSSECの更新を自動的に行った場合は、OpenDNSSECをバックアップフォルダーに転送して再インストールすることをお勧めします。 構成ファイルは異なります。 そして、古いものは、明らかな理由で、上書きされません。



opendnssecポートをインストールするとき、クリーンアップは行われません。設定にはいくつかのファイルが必要になります。



#cd / usr / ports / dns / opendnssec

#作る

===> opendnssec-1.3.13は壊れているとマークされています:ruby 1.9では動作しません。

***エラーコード1



ポート/ usr / ports / lang / ruby​​18を設定します。 1.9以降、opendnssecポートには互換性の問題があります。つまり、AUDITORフラグがオンのときにエラーが発生します。

一般に、ruby18ポートをインストール/再インストールします。

次に、ファイル/ usr / ports / UPDATINGを見てください。これは、ruby1.8と1.9について何かを言っています。 一般に、1.8バージョンを使用するには、/ etc / make.confファイルに次の行を追加する必要があります。



#ruby 1.8をデフォルトバージョンのままにします。



RUBY_DEFAULT_VER = 1.8



再起動してからインストールを再試行します。

#cd / usr / ports / dns / opendnssec

#make config-すべてのフラグがチェックされていることを確認します

#make && make install && make clean

[x] Auditorを使用したAUDITORビルド

[] MYSQL MySQLデータベースのサポート

[x] SOFTHSMビルド/アップデートSOFTHSMも



OpenDNSSEC 1.4.1では、この問題は発生せず、Rubyが使用していたAUDITORは使用されなくなりました。 Rubyはまったく使用されていません。 インストール中に提供される2つのオプションのうち、1つのMySqlが選択されました。 繰り返しますが、MySQLで始まっていなかったため、OpenDNSSEC 1.4.1では、2つのうちの2番目のDawをそれぞれ選択します。



ファイル/usr/local/etc/nsd/nsd.confで、以下を変更します。

ゾーンディレクトリ:「/ usr / local / var / opendnssec / signed」

およびすべてのzonefileエントリ:

ゾーンファイル:「/ usr / local / var / opendnssec / signed / zone1.ru」

ゾーンファイル: "/usr/local/var/opendnssec/signed/zone2.ru"

...

ゾーンファイル:「/ usr / local / var / opendnssec / signed / zoneN.ru」



リンクを作成します。

#cd / usr / local / etc / nsd

#ln -s / usr / local / var / opendnssec / unsigned。

#ln -s / usr / local / var / opendnssec / signed

/ usr / local / etc / nsd / zones / masterから/ usr / local / etc / nsd /〜unsignedに、NSDサーバーの既存の作業中の署名されていないゾーンファイルをコピーします。

#chown -R opendnssec:opendnssec / usr / local / var / opendnssec / unsigned



SO PIN <PINコード>およびUSER PIN <同じPINコード>を使用した「OpenDNSSEC」というラベルのSoftHSMデータベースの初期化

フォルダー/ usr / local / var / lib / softhsmが何らかの理由で見つからない場合、ポートをインストール/再インストールします。

#cd / usr / ports / security / softhsm

#make && make install && make clean

softhsmフォルダーに権利を設定します。デフォルトでは700です。

#chmod 0755 / usr / local / var / lib / softhsm



2つのPINコードを発明/入力/記憶します。 それらを同じにします:

#softhsm --init-token --slot 0 --label "OpenDNSSEC"

SO PINの長さは4〜255文字である必要があります。

SO PINを入力:

ユーザーPINの長さは4〜255文字である必要があります。

ユーザーPINを入力してください:

トークンが初期化されました。

ファイル/usr/local/etc/opendnssec/conf.xmlで次の行を削除します

<PIN>1234</PIN>
      
      





PINコードを手動で入力します。 または、PINコードが自動的に置き換えられます。

次のようになります。



画像



1.4.1の場合、MySql55サーバーとクライアントをインストールします。 SQLite3は、テストでの使用のみに推奨されます。

サーバーの予想負荷に応じて、MySql55をインストールした後、/ usr / local / share / mysqlにある構成ファイルのいずれかを選択し、/ var / db / mysqlにコピーする必要があります。 そして、それに応じて/etc/rc.confには次のようになります

nsd_enable = "YES"

opendnssec_enable = "YES"

mysql_enable = "YES"



目的のデータベース構造を自動的に作成するには、次のファイルを使用します。

/usr/ports/dns/opendnssec/work/opendnssec-1.4.1/enforcer/utils/database_create.mysql



#mysql

>データベースkaspを作成します。

> CREATE USER 'ksuser' @ 'localhost' IDENTIFIED BY 'password';

> kaspのすべての特権を付与する*「ksuser」@「localhost」に「パスワード」で付与オプションを付与して;

>特権のフラッシュ。

>終了



フラッシュ特権の後。 間違いがあります

エラー1146(42S02):テーブル 'mysql.servers'は存在しません

ここでパスワードを使用して、試してみます。

#mysqlcheck --check-upgrade --all-databases --auto-repair -p

パスワードを入力してください:

そして

#mysql_upgrade --force -p

パスワードを入力してください:

それはやがて助けました。



作成したデータベースを構成します。

#mysql kasp </usr/ports/dns/opendnssec/work/opendnssec-1.4.1/enforcer/utils/database_create.mysql



#mysql

> kaspを使用します。

> SHOW TABLES;

+ ----------------------------- +

| Tables_in_kasp |

+ ----------------------------- +

| INT_KEYALLOC_VIEW_FOR_MYSQL |

| KEYALLOC_VIEW |

| KEYDATA_VIEW |

| PARAMETER_LIST |

| PARAMETER_VIEW |

| カテゴリー|

| dbadmin |

| dnsseckeys |

| キーペア|

| パラメータ|

| parameters_policies |

| ポリシー|

| securitymodules |

| シリアルモード|

| ゾーン|

+ ----------------------------- +

15行セット(0.01秒)



>終了



/ usr / local / etc / opendnssecには、インストール中にデフォルトの構成ファイルが作成されます。



/usr/local/etc/opendnssec/conf.xmlで、次を編集します。

 <Datastore> <MySQL> <!-- <Host port="1213">dnssec-db</Host> --> <Database>database</Database> <Username>kaspuser</Username> <Password>mysqlpassword</Password> </MySQL> </Datastore>
      
      







<Hostは、データベースがインストールされているシステムの名前です。 パラメーターはオプションであり、指定しない場合、データベースはOpenDNSSECがインストールされているシステムに関連付けられます。 ポートは何が明確です。 このパラメーターはオプションであり、デフォルトでは3306です。

<データベースデータベース。

<ユーザー名データベースユーザー。

<Passwordしたがって、パスワード。



/usr/local/etc/opendnssec/conf.xmlでは次のようになります。

 <Repository name="SoftHSM"> <Module>/usr/local/lib/softhsm/libsofthsm.so</Module> <TokenLabel>OpenDNSSEC</TokenLabel> <Capacity>1024</Capacity> <RequireBackup/> <SkipPublicKey/> </Repository>
      
      







次のようになっていることを確認してください。

 <Signer> <NotifyCommand>/usr/local/bin/opendnssec-nsd-reload</NotifyCommand>
      
      







セキュリティのため、PINコードはここに登録されていません。 手動で入力しますが、そのままにしておく方が簡単です。



エントリに注意してください。

 <Module>/usr/local/lib/softhsm/libsofthsm.so</Module>
      
      







構成ファイルのデータをデータベースに入力します

#ods-ksmutilセットアップ

*警告*これにより、データベース内のすべてのデータが消去されます。 よろしいですか? [y / N] y

/usr/local/etc/opendnssec/zonelist.xmlに設定されたzonelistファイル名。

/asp/local/etc/opendnssec/kasp.xmlに設定されたkaspファイル名。

リポジトリSoftHSMが見つかりました

1024に設定された容量。

RequireBackupセット。

情報:/usr/local/etc/opendnssec/conf.xmlのXMLは有効です

情報:/usr/local/etc/opendnssec/zonelist.xmlのXMLは有効です

情報:/usr/local/etc/opendnssec/kasp.xmlのXMLは有効です



OpenDNSSECを開始する前に、softhsm --init-tokenコマンドが要求されたときに入力された、以前に定義されたPINコード(削除された場合)を入力する必要があります。

...

ゾーンファイルはまだ追加されていません。

PINコードを入力します。

#ods-hsmutilログイン

トークンSoftHSMのPINを入力します。

これでトークンがログインしました。



/usr/local/etc/opendnssec/conf.xmlで、デフォルトのPINコード1234の行を削除する必要があります。 構成ファイルに変更を加えた場合は、明らかに#ods-ksmutil update allを実行する必要があります。



OpenDNSSECは、ods-signerdとods-enforcerdの2つのデーモンで構成されています。

#ods-control start

エンフォーサーの開始...

OpenDNSSEC ods-enforcerdが開始されました(バージョン1.4.1)、pid 39528

署名者エンジンの起動...

OpenDNSSEC署名者エンジンバージョン1.4.1

エンジン稼働



すべてが機能します。

#ods-control stop



ゾーンを追加します。

#ods-ksmutil zone add --zone zone1.com

#ods-ksmutil zone add --zone zone2.com



明らかに、このコマンドは、ゾーンファイルの場所に関するテキスト情報を/usr/local/etc/opendnssec/zonelist.xmlファイルに追加するだけです。 入力するゾーン名は、/ usr / local / var / opendnssec / unsignedにコピーされるゾーンファイルの名前と一致する必要があります。 一般に、zonelist.xmlを手で編集しないように



#ods-ksmutilすべて更新



ゾーンの使用ポリシーに関するすべては、公式ドキュメントに記載されています。 デフォルトのポリシーを使用しました。 ゾーンが完成しました。



キーを形成します:



   /usr/local/etc/opendnssec/kasp.xml policy: default   <Policy name="default"> <Keys> <KSK> <Lifetime>P3M</Lifetime>   3 .     –interval  ,      . ,         ,    .    1M  ,   <ZSK> <Lifetime>P1M</Lifetime>  <KSK> <Lifetime>P3M</Lifetime>  2    2 KSK  2 ZSK.  --interval 1Y     2 ,    6 KSKs (2048 bits) and 20 ZSKs (1024 bits).
      
      







実際にキーを生成します:



#ods-ksmutil key generate --policy default --interval 1Y

キー共有はオフです

情報:1Yを秒に変換します。 Mは31日と解釈され、Yは365日と解釈されます

HSMが正常に開きました。

*警告*これにより、4 KSK(2048ビット)と16 ZSK(1024ビット)が作成されます

よろしいですか? [y / N] y

作成されたKSKサイズ:2048、alg:8、id:...リポジトリー:SoftHSMおよびデータベース。

作成されたKSKサイズ:2048、alg:8、id:...リポジトリー:SoftHSMおよびデータベース。

作成されたKSKサイズ:2048、alg:8、id:...リポジトリー:SoftHSMおよびデータベース。

作成されたKSKサイズ:2048、alg:8、id:...リポジトリー:SoftHSMおよびデータベース。

作成されたZSKサイズ:1024、alg:8、id:...リポジトリー:SoftHSMおよびデータベース。

作成されたZSKサイズ:1024、alg:8、id:...リポジトリー:SoftHSMおよびデータベース。

作成されたZSKサイズ:1024、alg:8、id:...リポジトリー:SoftHSMおよびデータベース。

作成されたZSKサイズ:1024、alg:8、id:...リポジトリー:SoftHSMおよびデータベース。

...

作成されたZSKサイズ:1024、alg:8、id:...リポジトリー:SoftHSMおよびデータベース。

注:リポジトリSoftHSMで生成されたキーは、バックアップされるまでアクティブになりません

すべて完了! hsm_close結果:0



#ods-hsmutil info

リポジトリ:SoftHSM

モジュール:/usr/local/lib/softhsm/libsofthsm.so

スロット:0

トークンラベル:OpenDNSSEC

メーカー:SoftHSM

モデル:SoftHSM

シリアル:1



#ods-hsmutil list SoftHSM

リポジトリ内のキーのリスト:SoftHSM

20個のキーが見つかりました。

リポジトリIDタイプ

---SoftHSM ... RSA / 1024

SoftHSM ... RSA / 1024

...

SoftHSM ... RSA / 1024

SoftHSM ... RSA / 2048

SoftHSM ... RSA / 2048

SoftHSM ... RSA / 2048

SoftHSM ... RSA / 2048



キーのバックアップは、OpenDNSSECが停止しているときにのみ実行できます。 そうしないと、バックアップ操作の実行中に新しいキーが生成される可能性があります。 キーはbsck upとしてマークされます。 念のため、/ Require / local / etc / opendnssec / conf.xmlから<RequireBackupオプションを削除しました



以下を開始します。

#ods-control start

エンフォーサーの開始...

OpenDNSSEC ods-enforcerdが開始されました(バージョン1.4.1)、pid 51678

署名者エンジンの起動...

OpenDNSSEC署名者エンジンバージョン1.4.1

エンジン稼働



#ods-ksmutilキーリスト--verbose

MySQLデータベーススキーマセット:somedatabase

MySQLデータベースのユーザーセット:ユーザー

MySQLデータベースのパスワードセット

キー:

ゾーン:キータイプ:状態:次の移行日(へ):サイズ:アルゴリズム:CKA_ID:リポジトリ:キータグ:



キーがありません。 残念だ。

#ods-signer sign --all

MySqlでは、キーが表示されませんでした。



一般に、MySql55で構成することはできませんでした。 OpenDNSSECを再インストールします。

[] MYSQL MySQLデータベースのサポート

[x] PKCS#11インターフェース用のSOFTHSM SoftHSM暗号化ストア



OpenDNSSECに関連するすべてを別のフォルダーにバックアップした後、再インストールしました。



ここで/ usr / local / etc / opendnssecには、インストール中に作成されるデフォルトの構成ファイルがあります。 一般的に、フォルダーにはファイルが含まれている必要があります:conf.xml、kasp.xml、zonefetch.xml、zonelist.xml。 そうでない場合は、同じディレクトリにある拡張子サンプルを使用してファイルの名前を変更する必要があります。



OpenDNSSECデータベースの初期化:

conf.xml、kasp.xml、およびzonelist.xmlをデータベースにインポートします。 以前にインストールしたキーを含む現在の設定を削除します。

#ods-ksmutilセットアップ

*警告*これにより、データベース内のすべてのデータが消去されます。 よろしいですか? [y / N] y

エラー:構成ファイルのデータベースがlibksmと一致しません

これが表示される場合は、/ usr / local / etc / opendnssec / conf.xmlファイルで必要があります。 方法を修正します。

 <Module>/usr/local/lib/softhsm/libsofthsm.so</Module>
      
      





MySqlでOpenDNSSECをインストールするとき、パスはすでに修正されています。



#ods-ksmutilセットアップ

*警告*これにより、データベース内のすべてのデータが消去されます。 よろしいですか? [y / N] y

ファイル/usr/local/var/opendnssec/kasp.dbのパーミッションを修正する

/usr/local/etc/opendnssec/zonelist.xmlに設定されたzonelistファイル名。

/asp/local/etc/opendnssec/kasp.xmlに設定されたkaspファイル名。

リポジトリSoftHSMが見つかりました

最大容量が設定されていません。

RequireBackupは設定されていません。 回復できないキーを使用する潜在的な問題を知っていることを確認してください

/usr/local/etc/opendnssec/conf.xml validates

/usr/local/etc/opendnssec/kasp.xml検証

ポリシーのデフォルトが見つかりました

情報:P1Yを秒に変換します。 Mは31日と解釈され、Yは365日と解釈されます



ファイル/usr/local/var/opendnssec/kasp.dbが表示されます



構成ファイルの確認:

#ods-kaspcheck

/usr/local/etc/opendnssec/conf.xml validates

/usr/local/etc/opendnssec/kasp.xml検証



/etc/rc.confにopendnssec_enable = "YES"を追加します



バージョン1.3.13には注意を払っていません。1.4.1があります。



#ods-control start

エンフォーサーの開始...

OpenDNSSEC ods-enforcerdが開始されました(バージョン1.3.13)、pid 55019

署名者エンジンの起動...

OpenDNSSEC署名者エンジンバージョン1.3.13

エンジン稼働

#ods-ksmutil zone add --zone zone1.com

/usr/local/etc/opendnssec/zonelist.xmlに設定されたzonelistファイル名。

インポートされたゾーン:zone1.com

#ods-ksmutil zone add --zone zone2.ru

/usr/local/etc/opendnssec/zonelist.xmlに設定されたzonelistファイル名。

インポートされたゾーン:zone2.ru



等 すべてのゾーンファイルを追加します。



#ods-ksmutil update zonelist

/usr/local/etc/opendnssec/zonelist.xmlに設定されたzonelistファイル名。

/asp/local/etc/opendnssec/kasp.xmlに設定されたkaspファイル名。

ゾーンzone2.ruが見つかりました

デフォルトに設定されたポリシー。

ゾーンzone1.comが見つかりました

デフォルトに設定されたポリシー。

新しいデータベースのエンフォーサーへの通知...



毎回:

#ods-ksmutilすべて更新



すべてが正常であることを確認します。キーのリストが表示されます。

#ods-ksmutilキーリスト--verbose

/usr/local/var/opendnssec/kasp.dbに設定されたSQLiteデータベース

キー:

ゾーン:キータイプ:状態:次の移行日:CKA_ID:リポジトリ:キータグ:

zone2.ru KSK発行2013-06-02 13:29:18 4962a716093d3973bc2cbcd0312a2e90 SoftHSM 41863

zone2.ru ZSKアクティブ2013-07-01 23:29:18 0696ec624c7baba98062d4fc32064b46 SoftHSM 5817

zone1.com KSK publish 2013-06-02 13:29:18 f73f605125a7e59e3f3108680255d84e SoftHSM 6918

zone1.com ZSKアクティブ2013-07-01 23:29:18 31e08389f3a59397dce1f22fa67df8a8 SoftHSM 2180



このような結論が得られた場合、すべてが正しく構成されています。

SQLiteデータベース:/usr/local/var/opendnssec/kasp.db



DNSSEC要求を確認してみましょう。

#dig + norec dig xx.yy.zz.ss -t ANY zone2.ru



; << >> DiG 9.6.-ESV-R3 << >> + norec dig xx.yy.zz.ss -t ANY zone2.ru

;; グローバルオプション:+ cmd

;; 答えを得ました:

;; ->>ヘッダー<<-オペコード:QUERY、ステータス:NOERROR、id:53654

;; フラグ:qr ra; クエリ:1、回答:0、権限:13、追加:13



;; 質問セクション:

;掘る。 で



;; 権限セクション:

。 2574 IN NS d.root-servers.net。

。 2574 IN NS a.root-servers.net。

。 2574 IN NS g.root-servers.net。

。 2574 IN NS h.root-servers.net。

。 2574 IN NS c.root-servers.net。

。 2574 IN NS i.root-servers.net。

。 2574 IN NS b.root-servers.net。

。 2574 IN NS f.root-servers.net。

。 NS j.root-servers.netの2574

。 2574 IN NS k.root-servers.net。

。 2574 IN NS l.root-servers.net。

。 2574 IN NS e.root-servers.net。

。 2574 IN NS m.root-servers.net。



;; 追加セクション:

a.root-servers.net。 2574 IN A 198.41.0.4

a.root-servers.net。 1398 IN AAAA 2001:503:ba3e :: 2:30

b.root-servers.net。 60 IN A 192.228.79.201

c.root-servers.net。 3425 IN A 192.33.4.12

d.root-servers.net。 2482 IN A 199.7.91.13

d.root-servers.net。 92 in AAAA 2001:500:2d :: d

e.root-servers.net。 2482 IN A 192.203.230.10

f.root-servers.net。 2482 IN A 192.5.5.241

f.root-servers.net。 2574 in AAAA 2001:500:2f :: f

g.root-servers.net。 2482 IN A 192.112.36.4

h.root-servers.net。 2482 IN A 128.63.2.53

h.root-servers.net。 2574 IN AAAA 2001:500:1 :: 803f:235

i.root-servers.net。 2482 IN A 192.36.148.17



;; クエリ時間:1ミリ秒

;; サーバー:192.168.45.64#53(192.168.45.64)

;; いつ:日6月2日00:50:27 2013

;; MSGサイズrcvd:488



;; 答えを得ました:

;; ->>ヘッダー<<-オペコード:QUERY、ステータス:NXDOMAIN、ID:23363

;; フラグ:qr ra; クエリ:1、回答:0、権限:1、追加:0



;; 質問セクション:

;xx.yy.zz.ss。 で



;; 権限セクション:

。 3274 IN SOA a.root-servers.net。 nstld.verisign-grs.com。 2013060101 1800 900 604800 86400



;; クエリ時間:1ミリ秒

;; サーバー:192.168.45.64#53(192.168.45.64)

;; いつ:日6月2日00:50:27 2013

;; MSGサイズrcvd:107



;; 答えを得ました:

;; ->>ヘッダー<<-オペコード:QUERY、ステータス:NOERROR、ID:5213

;; フラグ:qr ra; クエリ:1、回答:1、権限:3、追加:3



;; 質問セクション:

; zone2.ru。 で



;; 回答セクション:

zone2.ru。 3135 IN A xx.yy.zz.ss



;; 権限セクション:

zone2.ru。 579 IN NS ns8-l2.xxx.ru。

zone2.ru。 579 IN NS ns4-l2.xxx.ru。

zone2.ru。 579 IN NS ns1.zone2.ru。



;; 追加セクション:

ns1.zone2.ru。 579 IN A xx.yy.zz.ss

ns4-l2.xxx.ru。 2596 IN A abcd1

ns8-l2.xxx.ru。 2596 IN A abcd2



;; クエリ時間:1ミリ秒

;; サーバー:192.168.45.64#53(192.168.45.64)

;; いつ:日6月2日00:50:27 2013

;; MSGサイズrcvd:154



すべてが順調です。 DNSはまだ存在し、しばらくすると機能します。 ただし、DNSSECはまだ機能していません;出力にキーのある行はありません。



各ゾーンの開いているKSKキーをエクスポートする必要があります。 準備完了状態のKSKのみをエクスポートできます。

キーをエクスポートするための次のコマンドはまだ実行されていません。

ods-ksmutil key export --zone example.com [--keystate READY]

ods-ksmutil key export --zone example.com --ds [--keystate READY]



最初のペアは、ゾーンファイルに署名するためのZSKです。

2番目のペアは、ZSKキーに署名し、親ゾーンの管理者に送信されるDSレコードを生成するためのKSKです。

KSKからDNSKEYおよびDSレコードを見つけます。

#ods-ksmutilキーリスト--verbose

/usr/local/var/opendnssec/kasp.dbに設定されたSQLiteデータベース

キー:

ゾーン:キータイプ:状態:次の移行日:CKA_ID:リポジトリ:キータグ:

zone2.ru KSK発行2013-06-02 13:29:18 4962a716093d3973bc2cbcd0312a2e90 SoftHSM 41863

zone2.ru ZSKアクティブ2013-07-01 23:29:18 0696ec624c7baba98062d4fc32064b46 SoftHSM 5817

zone1.com KSK publish 2013-06-02 13:29:18 f73f605125a7e59e3f3108680255d84e SoftHSM 6918

zone1.com ZSKアクティブ2013-07-01 23:29:18 31e08389f3a59397dce1f22fa67df8a8 SoftHSM 2180



#ods-ksmutil key ds-seen -z zone1.com -x 6918

CKA_ID f73f605125a7e59e3f3108680255d84eのキーが見つかりました

キーf73f605125a7e59e3f3108680255d84eがアクティブになりました

新しいデータベースのエンフォーサーへの通知...

#ods-ksmutil key ds-seen -z zone2.ru -x 41863

CKA_ID 4962a716093d3973bc2cbcd0312a2e90のキーが見つかりました

キー4962a716093d3973bc2cbcd0312a2e90がアクティブになりました

新しいデータベースのエンフォーサーへの通知...



KSKステータスが公開からアクティブに変更されました。

#ods-ksmutilキーリスト--verbose

/usr/local/var/opendnssec/kasp.dbに設定されたSQLiteデータベース

キー:

ゾーン:キータイプ:状態:次の移行日:CKA_ID:リポジトリ:キータグ:

zone2.ru KSKアクティブ2013-06-02 13:29:18 4962a716093d3973bc2cbcd0312a2e90 SoftHSM 41863

zone2.ru ZSKアクティブ2013-07-01 23:29:18 0696ec624c7baba98062d4fc32064b46 SoftHSM 5817

zone1.com KSKアクティブ2013-06-02 13:29:18 f73f605125a7e59e3f3108680255d84e SoftHSM 6918

zone1.com ZSKアクティブ2013-07-01 23:29:18 31e08389f3a59397dce1f22fa67df8a8 SoftHSM 2180



次に、各ゾーンの公開鍵とDSレコードについてプロバイダーに通知する必要があります。 アカウント内のサイトのプロバイダーには、例のあるフォームが必要です。 私がいた。

–eスイッチの後にエクスポートする場合、KSKの現在の公開状態を設定する必要があります。アクティブ...



#ods-ksmutil key export -z zone2.ru -e active -x 41863

; KSK DNSKEYレコードを公開します:

zone2.ru。 3600 IN DNSKEY 257 3 8 Aw ... dk2 =; {id = xxxx(ksk)、size = 2048b}



DNSKEYをRDに配置するには、ods-ksmutil key exportを介して受け取ったすべてを、コピーした個人アカウントのWebサイトのテキスト入力フィールドに直接コピーします。しばらくすると、入力したデータは例のようにフォームに自動的に修正されます。 これは、個人アカウントのWebページに入力する例を示します。 つまり KSK DNSKEYレコードの公開:個人アカウントの[DNSキー:]フィールドに書き込みます。



次に、ドメインのDSレコードを見つけます。

#ods-ksmutil key export -z zone2.ru -e active -x 41863 --ds

; KSK DSレコードを公開(SHA1):

zone2.ru。 3600 IN DS 57062 8 1 2a ... 34df

; KSK DSレコードの公開(SHA256):

zone2.ru。 3600 IN DS 57062 8 2 e3fa ... d492



したがって、受信したDSレコードを個人アカウントxxxの対応する入力フィールドにコピーします。 すべてのドメインに対して対応する操作を実行します。



最後の仕上げは、キーの再生成中にNSDサーバーを自動的に再起動することです。

/usr/local/etc/opendnssec/conf.xmlファイルで、コメントを付けるか、セクションに行を追加する必要があります

 <Signer></Signer>:
      
      





 <NotifyCommand>/usr/local/bin/opendnssec-nsd-reload</NotifyCommand>
      
      





/ usr / local / bin /に、次の内容のopendnssec-nsd-reloadファイルを作成します。

{

#!/ bin / sh-#@(#)(CAcert)$ Id:reload-nsd、v 1.1 2013/06/02 23:49:50 root Exp $

#reload-nsd-nsdをトリガーしてゾーンファイルをリロードするためにopendnssecによって呼び出されるスクリプト

#ロギング

#echo $ 0 $ *

#nsdは使用できないため、%zoneおよび%zonefile引数を無視します...

/ usr / local / sbin / nsdc rebuild

/ usr / local / sbin / nsdc reload

}



#chmod 0555 / usr / local / bin / opendnssec-nsd-reload



または、OpenDNSSECインストールフォルダーから対応するファイルをコピーします。



コマンドを使用して、opendnssecを停止できます。

#ods-control stop

kasp.xmlに変更が加えられている場合は、次のコマンドを実行する必要があります。

#ods-ksmutil update kasp

署名されていないゾーンで変更が行われた場合—オリジナルは/ usr / local / etc / nsd / zones / masterから/ usr / local / var / opendnssec / unsignedディレクトリにコピーされます。コマンドを実行する必要があります。

#ods-signer sign example.comは、変更が行われた各ゾーンに署名します。



NSDを再起動して、署名済みゾーンファイルを読み取ります。

#nsdc rebuild

#nsdc reload

#nsdc notify



チェック:最終的に以下を取得する必要があります。

dnssecなしで標準DNSサーバーの応答を出力します

#site.comを掘る



; << >> DiG 9.6.-ESV-R3 << >> site.com

;; グローバルオプション:+ cmd

;; 答えを得ました:

;; ->>ヘッダー<<-オペコード:QUERY、ステータス:NOERROR、ID:43618

;; フラグ:qr rd ra; クエリ:1、回答:1、権限:2、追加:2



;; 質問セクション:

; site.com。 で



;; 回答セクション:

site.com。 1111 IN A xxx.yyy.zzz.aaa



;; 権限セクション:

site.com。 1111 IN NS ns4-l2.xxx.ru。

site.com。 1111 IN NS ns8-l2.xxx.ru。



;; 追加セクション:

ns4-l2.xxx.ru。 1276 IN A abcd1

ns8-l2.xxx.ru。 1276 a abcd2



;; クエリ時間:1ミリ秒

;; サーバー:xx1.yy1.zz1.aa1#53(xx1.yy1.zz1.aa1)

;; いつ:月6月3日18:00:40 2013

;; MSGサイズrcvd:123



DNSサーバーからdnssec応答を出力します。

#xxx.yyy.zzz.aaa site.comを掘る+再試行= 1 + dnssec +複数行



; << >> DiG 9.6.-ESV-R3 << >> xxx.yyy.zzz.aaa site.com + retry = 1 + dnssec + multiline

;; グローバルオプション:+ cmd

;; 答えを得ました:

;; ->>ヘッダー<<-オペコード:QUERY、ステータス:NXDOMAIN、ID:12671

;; フラグ:qr rd ra; クエリ:1、回答:0、権限:1、追加:0



;; 質問セクション:

; xxx.yyy.zzz.aaa。 で



;; 権限セクション:

。 2235 IN SOA a.root-servers.net。 nstld.verisign-grs.com。 (

2013060300; シリアル

1800; リフレッシュ(30分)

900; 再試行(15分)

604800; 有効期限(1週間)

86400; 最小(1日)





;; クエリ時間:1ミリ秒

;; サーバー:xx1.yy1.zz1.aa1#53(xx1.yy1.zz1.aa1)

;; いつ:月6月3日18:52:31 2013

;; MSGサイズrcvd:107



;; 答えを得ました:

;; ->>ヘッダー<<-オペコード:QUERY、ステータス:NOERROR、ID:53116

;; フラグ:qr rd ra; クエリ:1、回答:2、権限:3、追加:3



;; 最適な擬似解剖:

; EDNS:バージョン:0、フラグ:do; udp:4096

;; 質問セクション:

; site.com。 で



;; 回答セクション:

site.com。 1835 IN A xxx.yyy.zzz.aaa

site.com。 1835 IN RRSIG A 8 2 3600 20130609232905(

20130602143424 39964 site.com。

IM + aCUZHZekNnQhjxngyIXUrBUkgCjAxc8o4UuoqvMUu

F1W3L7ge4HVHdWkfmEf / Gk + o8hu7B2MGgP1P9L89 / l3c

gCyVYvIrpR3viVFP7uNtbaoiVdo3bRgtHyFH6QmlTCCW

NrmBHY5sKh / NItAqp1bagQCMYqy71o07oNsNeOU =)



;; 権限セクション:

site.com。 1835 IN NS ns4-l2.xxx.ru

site.com。 1835 IN NS ns8-l2.xxx.ru

site.com。 1835 IN RRSIG NS 8 2 3600 20130610191139(

20130603121736 39964 site.com。

ceIOophlVR8zLydk0hVWdtIx / OSLO + kdqQg0opthF5pF

O4NRYgKfkl2tSLGHozzQq0CqzZ0s9rGiE2hnq7M2jJby

Mg9wm1BmHVnmogSat463kpG29Di2U1Yj + AAY8WJ0Gtvv

iYG / atnToDAsLoXgaLfbaYvRCRirCym7LoXjn3Q =)



;; 追加セクション:

ns4-l2.xxx.ru。 1866 IN A abcd1

ns8-l2.xxx.ru。 1866 abcd2で



;; クエリ時間:1ミリ秒

;; サーバー:xx1.yy1.zz1.aa1#53(xx1.yy1.zz1.aa1)

;; いつ:月6月3日18:52:31 2013

;; MSGサイズrcvd:472



上記の出力では、キーの存在がわかります。



最後のチェックは、すべてがxxxレジストラで行われたため、個人アカウントに移動し、オンラインDNSテストを実行します。



画像



すべてが正常であり、設定されたキーの有効期限が切れると、ゾーンが自動的に再署名されるようにします。 RDの個人アカウントに「信頼の連鎖が構築された」という記録があります。



MySqlを使用したチューニングの微妙な違いを誰かが指摘した場合は、記事を修正します。

多くの情報が公式ウェブサイトにあります。

この記事は、MySqlに関連する設定を編集するために調整される予定です。



All Articles