プライベートDNSサーバーをご利用の環境下では、
DNSプロテクションにおいてDNS問い合わせを行ったユーザーを特定できない場合があります。
本稿はそのような環境下でユーザー特定を容易にする、
DNS ProtectionのSinkhole設定について記載した記事となります。
DNS ProtectionはPoPに着信したDNSクエリの内容をもとに検知しEventsに出力します。
例えばSocketサイトの配下にユーザーとキャッシュDNSサーバーが存在する時、
PoPに送信されるDNSクエリの送信元はキャッシュDNSサーバーとなります。
不審なDNSクエリはBlockされユーザーが不審なサイトにアクセスすることを防止できますが、
Eventsの出力結果にはユーザーの送信元情報が反映されずユーザーの特定に至りません。
これはDNS ProtectionをBlockに設定している場合の制限となります。
ユーザーを特定したいという場合、DNS ProtectionをSinkholeに設定することで
ユーザーの特定につなげることができます。
Sinkhole設定は、不審なDNSクエリに対してCatoのシステムIPを応答します。
ユーザーは応答されたシステムIPに対してアクセスを実行します。
アクセスの際に出力されるEventsの送信元情報はユーザーのものとなるため、
ユーザーの特定を行うことができます。
Security > DNS Protection からActionをSinkholeに設定します。
Sinkholeに設定した場合、Eventsは以下の2種類が連続的に出力されます。
①DNSサーバーが行ったDNSクエリ
②ユーザーがCatoのシステムIPに向けて行ったアクセス
いずれもSub-Type:DNS Protection / Action:Sinkholeとして出力されます。
下記の画像はEventsを整形表示させたものですが、
①においてプライベートDNSサーバーがCatoDNSサーバー(10.254.254.1)に
DNSクエリを行った通信が出力されています。
②においてユーザーが応答を受けたシステムIP(10.254.254.107)に
HTTPアクセスを行った通信が出力されています。
②の結果を見ることでユーザーの特定につなげることができます。
補足
本稿は下記メーカーKBを参考に作成されています。
Customizing the DNS Protections for IPS
本稿の内容は公開日時時点の情報に基づきます。