DNSサーバのクエリログの取得を行っていますか?
システム管理のつぼ(2016年12月号)
OSS研究室 倉田 隆規
2014年初旬から世界中でDNSサーバに対するDDoS攻撃が多く報告されています。DDoS等の攻撃を受けた場合、攻撃がどこから行われたのか特定する必要があります。攻撃時にログを確認することで原因の特定ができるため、ログの取得・管理は必要不可欠になってきました。
多くのDNSサーバではクエリログを取得する設定を行うことが可能です。クエリログの出力設定をすることで、DNSサーバに対してどこからどのような問い合わせがあり、DNSサーバがどのような返答をしたのかをログに保存しておくことができます。
クエリログを取得しておくと、DDoS等の攻撃を受けた場合、攻撃の特定に有効です。例えば、ランダムなサブドメインを含んだホスト名の問い合わせを大量に行うといった攻撃を受けた場合、クエリログから問い合わせされているホスト名を特定することができます。
しかし、DNSサーバにクエリログ取得の設定を行うと、その処理負荷により本来のDNSサービスに影響を与えることが懸念され、実際にはクエリログは取得できていないことが多く見られます。それは、クエリの文字列への変換や、ログメッセージをファイルに書き込む際に負荷がかかるためです。さらに、DNSクエリログ取得の設定を行ったとしても、そのログの数や量が莫大になることが予想され、莫大なログの中から素早く特定のログを検索をすることが課題となります。
クエリログ取得時の負荷の軽減には、KnotDNSやunboundなどのDNSサーバに実装されているdnstapの利用が有効です。dnstapを利用すると、DNSサーバはソケットにログ出力を行うだけとなり、DNSサーバの負担を軽減することができます。
デージーネットでは、Elasticsearchを使い、DNSサーバのクエリログを解析できる仕組みの提案を行っています。例えば、莫大な量のDNSサ―バのログからDNSサーバへの接続が多いIPアドレスを時間帯毎に表示するといったことが可能です。DNSサーバの構築時には、クエリログの取得、Elasticsearchを使った管理を検討してみてはいかがでしょうか。
関連ページ
Elasticsearch〜ビッグデータに対応した全文検索エンジン〜
Elasticsearchは、Apache Luceneをベースに開発されたビッグデータに対応した全文検索エンジンです。Elasticsearchは、分散処理型の検索エンジンで、ビッグデータの解析などに使われています。Elasticsearchは大容量のデータの解析などを行う場合に、強みを発揮します。
OSSのおすすめDNSサーバ比較9選
DNSは、インターネットの名前解決を行うためには、欠かせない機能です。インターネットの初期からある仕組みですが、キャッシュポイズニングやDOSなどの攻撃にさらされることが多くなり、近年も様々な改良が加えられています。