DNSファイアウォールとは、DNSの名前解決を利用して、悪意あるドメインへの通信をブロックする仕組みである。通常のファイアウォールがIP通信を制御するのに対し、DNSファイアウォールはドメイン名をベースに通信を制御する。

DNSファイアウォールがない通常の名前解決の流れの例は次のとおりである。

  1. クライアントがDNSサーバに「example.com」のIPアドレスを問い合わせる
  2. DNSサーバはクライアントに「example.com」のIPアドレスを返す
  3. クライアントは返されたIPアドレスと通信を行う

DNSサーバにDNSファイアウォールが組み込まれている場合は次のようになる。

  1. クライアントがDNSサーバに悪意あるドメインのIPアドレスを問い合わせる
  2. DNSファイアウォールは当該ドメインが悪意あるものと判定し、NXDOMAINを返す
  3. クライアントはIPアドレスが得られず通信が発生しない

DNSファイアウォールにて用いる実際の脅威データには、Spamhausなどのフィードが利用される。なお、IPアドレスへのダイレクトアクセスは名前解決の通信が発生しないため、DNSファイアウォールでは防げない。