DNSサーバが「Windows Server」の場合は、DNSサーバのプロパティから「デバッグのログ」タブにある「デバッグのためにパケットのログを記録する」のチェックを有効にしてください。この設定は初期状態では無効化されているはずです。そして、ログファイルのパスを記載します。以下の例では、「c:\dns.txt」を指定しています。
この設定を有効化してしばらくすると、ログファイルに以下のようなクエリログが記録されるようになります。内部のDNSサーバの場合、ファイルサーバの名前解決のためのクエリが記録されていくのが確認できるはずです。
なお、DNSのクエリログは以上のような方法で記録することが可能ですが、DNS通信が大量に発生する環境では大量のログが記録されることになり、ディスクI/Oに負荷が掛かることが予想されます。従って、ディスク容量やシステムの負荷の様子を見ながらログの保存を実施するようにしてください。
また、Windows Serverの場合は「デバッグのため」の機能を使用するため、Active DirectoryとDNSサーバを兼用しているケースなどで、負荷が無視できなくなる可能性もあります。そのような場合には、例えばスイッチングハブのミラーポートからtcpdumpを使って、DNS通信である「53/tcp」と「53/udp」をキャプチャするといった方法が現実的かもしれません。
では、このようにDNSのクエリログを取ってどうするのでしょうか。筆者は現実的に「今すぐログを使ってできることはない」、つまり「とりあえずログを取っておくしかない」と考えています。もちろん、「取得したクエリログから不審な通信を見つけ出せるぜ!」という凄腕エンジニアの方は、ぜひログを分析して不審なパターンを見つけ出してください。
しかし、そのようなエンジニアがいる組織は多くないでしょう。従って一般的な組織では、「攻撃が起こったときに、DNSのクエリログを調べられるようにしておく」というのが現実的な落としどころでしょう。実際には連携しているCSIRTや業界団体から共有される情報をトリガーにして、ログ調査へと動くケースが多くなるのではないかと思います。
というわけで本稿では、昨今本格化しているDNS通信を悪用した攻撃への対応策として、ログの保存について紹介しました。ところで、「記録する」「分析する」「対処する」「共有する」「連携する」とくれば、「Hardening Project」です(参考)。2016年も、6月4日と5日に、沖縄県宜野湾市で「Hardening 100 VV」を開催することが決まりました! 「システムの弱点を把握し、ビジネスの価値を最大化するために、今あるリソースをどのように組み合わせていくか?」というテーマを今年も追及していきます。そんなわけで、次回のHardening 100 VVに向けて、今夜も私は飲みに行くのでした。
▼ 川口 洋(かわぐち ひろし)
チーフエバンジェリスト
CISSP
ラック入社後、IDSやファイアウォールなどの運用・管理業務を経て、セキュリティアナリストとして、JSOC監視サービスに従事し、日々セキュリティインシデントに対応。チーフエバンジェリストとして、セキュリティオペレーションに関する研究、ITインフラのリスクに関する情報提供、啓発活動を行っている。Black Hat Japan、PacSec、Internet Week、情報セキュリティEXPO、サイバーテロ対策協議会などで講演し、安全なITネットワークの実現を目指して日夜奮闘中。
2010年〜2011年、セキュリティ&プログラミングキャンプの講師として未来ある若者の指導に当たる。2012年、最高の「守る」技術を持つトップエンジニアを発掘・顕彰する技術競技会「Hardening」のスタッフとしても参加し、ITシステム運用にかかわる全ての人の能力向上のための活動も行っている。
Copyright © ITmedia, Inc. All Rights Reserved.