Unboundを使ってみよう

こんにちは。サイオステクノロジー OSS サポート担当何敏欽です。

Unbound は、オープンソースソフトウェアであり、DNSSEC 機能を持つ DNS キャッシュサーバ (リゾルバ) です。CentOS7/RHEL7 では、Unbound をディストリビューションのパッケージとして採用されています。今回は CentOS7/RHEL7 に unbound を導入し、DNSSEC 機能を使用してみます。

インストール

yum で unbound をインストールします。

Unbound の設定方法 を参考に設定を行ないます。Unbound の設定ファイル (unbound.conf)形式はとてもシンプルで、1つの設定ファイルのみで全ての設定が可能というのも特徴的です。元のファイルに変更を加える前に、設定ファイルの雛形をコピーすることをお勧めします。

unbound.conf を編集したら、unbound-checkconf コマンドで unbound の設定ファイルのエラーを検査します。

ドキュメント通りに最小限の設定しか行なっていませんが、エラーが出力されました。
/etc/unbound/unbound_server.key が存在しないと言っていますね。

確認します。

確かに unbound_server.key が存在しないですね。

調べてみたところ、unbound_control.key の生成は unbound-keygen サービスを起動する必要があるようです。なお、unbound_control.key はインストール時またはブート時に自動的に生成されるのではなく、初回 unbound が起動された際に生成されます。今回みたいに unbound を起動せずに、unbound-checkconf コマンドを実行すると当該エラーが出力されます。ということで、とりあえず unbound-keygen を起動します。

unbound_server.key が生成されたかを確認します。

再度 unbound-checkconf を実行したら、「no errors」と出力されました。

unbound を起動します。

DNSSEC の使用

DNSSEC は DNS 応答の偽造を防ぐために導入されました。Dnssec-trigger はコンピュータが DNS トラフィックに対して DNSSEC 検証を有効にするためのアプリケーションです。Dnssec-trigger は設定が確立されるまで、ローカルホストを介してテストを実行します。

  • Dnssec-trigger は、最初は DHCP によって提供されたリゾルバを使用しようとします。
  • Dnssec-trigger は、応答と関連する署名自体を検証します。
  • その試みがうまくいかない場合、Unbound は利用可能なフォールバックの方法をいくつか試行します。
  • 53ポート経由の発信通信が不可能であることが判明した場合、Unbound は 80ポートを使用して DNS クエリを送信を試みます。
  • それでもうまくいかない場合、443 ポートを使用して同じことを試みます。
  • 試したフォールバックの方法も失敗する場合、Dnssec-trigger は諦めて、一時的に DNSSEC 検証を無効にするようにユーザに促します。

yum で dnssec-trigger をインストールします。

dnssec-trigger は dnssec-triggerd デーモンとして稼働します。dnssec-triggerd を起動します。

dig コマンドに +dnssec オプションを付与して、DNSSEC が稼働しているかどうかを確認します。

A レコードに加えて RRSIG (リソースレコードの電子署名) が返されます。「flags」の行に、「ad」フラグが出力されていれば署名の検証に成功することを意味します。

下記のように「status」が「SERVFAIL」となっている場合、検証に失敗する意味します。

同時に /var/log/messages に下記のメッセージが出力されます。

DNSSEC の無効化

DNSSEC を利用する際は、必要な設定情報はすべてパッケージに同梱されているため、特に設定を変更する必要はありませんが、DNSSEC を無効にしたい場合は、unbound.conf にて下記の設定を変更して unbound を再起動してください。

「yes」にすることで、セキュリティチェックが失敗したメッセージは、SERVFAIL ではなくクライアントに返されます。それでもセキュリティチェックが実行され、メッセージが安全であると判断された場合、AD ビットが返信される可能性があります。

以上で Unbound のインストールと DNSSEC の使用を説明しました。

>> 雑誌等の執筆依頼を受付しております。
   ご希望の方はお気軽にお問い合わせください!

ご覧いただきありがとうございます! この投稿はお役に立ちましたか?

役に立った 役に立たなかった

0人がこの投稿は役に立ったと言っています。

コメント投稿

メールアドレスは表示されません。


*