違法なWebサイトへのアクセスをブロックするサイトブロッキング。日本におけるサイトブロッキングは、「DNSブロッキング」と呼ばれる手法を念頭に置いて議論されている。ブロッキングにかかる手間とブロッキングの効果のバランスが良いと考えられるためだ。
DNSブロッキングは、ISPが持つキャッシュDNSサーバーに設定する。
ISPは、インターネットに接続する方法をユーザーに説明する際に、ISPが提供するキャッシュDNSサーバーを使う設定を紹介する。このため、多くのユーザーは、WebブラウザーにURLを入力したときの名前解決に、ISPが提供するキャッシュDNSサーバーを利用している。そこで、DNSブロッキングをISPのキャッシュDNSサーバーで実施するのだ。
2種類の応答が存在
DNSブロッキングは、違法なWebサイトの名前解決の問い合わせに対してIPアドレスを返さないよう、ISPがキャッシュDNSサーバーを設定する。その際のユーザーに対する応答には2種類ある。
1つは、「NXDOMAIN」という応答を返す方法だ。これは、そのドメイン名(正確には完全修飾ドメイン名)にはどんな型のレコードも存在しないことを意味する。NXDOMAINは本来、権威DNSサーバーがキャッシュDNSサーバーの問い合わせに対して、レコードが存在しないことを伝えるための応答である。
この応答を受け取ったキャッシュDNSサーバーは、次の問い合わせからは権威DNSサーバーに問い合わせることなくユーザーにNXDOMAINを返すようになる。
DNSブロッキングを実施する場合は、ISPのキャッシュDNSサーバーの管理者が、違法なWebサイトのリストをDNSサーバーソフトウエアに設定する。BINDなどのDNSサーバーソフトウエアは、登録したWebサイトの名前解決をしないよう設定する機能を備えている。
これにより違法なWebサイトの名前解決の問い合わせがあると、権威DNSサーバーに問い合わせることなくユーザーにNXDOMAINを返す。