お得情報  | ➡

DNSを使って簡単にコンテンツフィルタリングを行うOpenDNS

コンテンツフィルター
Tips

皆様コンテンツフィルタリングに興味はありますか?

お子様がいらっしゃる場合など危険なサイトにはアクセスしてほしくないと考える方も多いのではないでしょうか?

大人用コンテンツやフィッシングサイトなど危険なサイトは沢山あります。どのようにしてそのようなサイトから身を守るべきでしょうか。

今から出来るフィルタリング

今からすぐフィルタリングを始めたい場合、利用できるものに、コンテンツフィルタリングソフトウェアなどを導入する事や、DNSを使ったフィルタリングを行う事などが挙げられれます。

中でもコンテンツ・フィルタをするに当たってDNSを利用するのはとても簡単で手軽な方法です。

DNSとは

DNSとはなんでしょうか?

DNSはインターネット上の住所であるIPアドレスを、人間が覚えるのは困難という理由やそのアドレスがそのままでは扱いにくいという理由から、覚えやすいドメインという単語等を並べた意味のある文字列をIPアドレスと結びつける事を行う事によってインターネットのアドレスをとっつきやすい形で扱うためのシステムを提供してくれるサービスです。

簡単に言うならインターネット上の住所を意味のある単語にするということです。たとえば数字のみの住所を、「りんご町」や「北みかん畑」などという意味のある単語にすることによりとっつきやすくします。

DNSを使うとインターネット上のアドレスに数値を使う必要がありません。

殆どのWEBサイトではドメインを使ったアクセスを採用しています。逆に言えばIPアドレスでサイトを探すのは難しいのが現状です。DNSを使ったサービスを使わなければサイトにアクセスするのすら難しくなります。よってDNSはインターネットを使うのに必須のサービスといえます。

このDNSをフィルタリング機能を持ったものに変えれば、フィルタリングが完成するという訳です。

簡単フィルタリング。DNSを設定しよう

前置きが長くなりましたが、難しいことはさておき、シンプルに考えるならDNSを使えばフィルタリングができるという事です。設定方法の例を挙げますと以下のようになります

CiscoのOpenDNSがフィルタリングに使えます。ルータのインターネット設定よりプライマリDNS、セカンダリDNSを

  • 208.67.222.123
  • 208.67.220.123

に変えます

次にテストサイトによりDNSがフィルタリングに対応しているものであることを確認します。IPv6を使っている場合はすり抜ける事もあるので

  • ::ffff:d043:de7b
  • ::ffff:d043:dc7b

v6設定で以上のアドレスをDNSに指定する必要があります。

これだけの設定でフィルタリングが機能します。簡単ではありませんか?ただしDNSを書き換えて自分の好きなDNSにしてしまわれたら回避されてしまいます

v4だけならルータのDNS設定に書き込んでDHCPでDNS設定を掴ませてルータから配布されたDNS以外を使えないようにすれば完璧です。

8.8.8.8や8.8.4.4などのパブリックDNSサーバをパケットフィルタでフィルタしてしまえば書き換えられることもありません。ただしコンテンツフィルタリングはしているとは言ってもコンテンツフィルタリングが完璧かとういうとそうでもありません。結構きわどいサイトがすり抜けてしまいます。

一番良いのはPCを目の届くところに置くというのが正解のようです。目の届くところにおいておけば不適切なサイトにアクセスする確率は格段にへると言われています。

まとめ

いかがでしたでしょうか。DNSでコンテンツフィルタリングはすぐに出来る簡単な方法です。

費用も無料で使えるので対策の一環として使ってみてはいかがでしょうか。v6を使っている場合は多少設定が難しくなるようです。私もv6な環境が手に入っていないのでテストもできませんのでご紹介が出来ないことを心苦しく思います。

v4であれば手動でのパブリックDNSの設定をパケットフィルタリングしてルータの設定によるDNS以外を設定できないようにすればより環境が整うようです。皆様も工夫されて試して見てくださいませ。皆様の参考になりましたら幸いです。それではまたお会いしましょう。

Tips
基礎プログラミング 100本ノック 41~45 Javascript参考解答編

整数値を入力させ、その値が偶数ならばeven、奇数ならばoddと表示するプログラムを作成せよ。 なおボタンを押すと関数を呼び出し処理が開始されるものとする。また data = window.prompt(“入力してください”, “”)を使うものとする 【実行例、下線部は入力例】 $ ./knock40 input number: 6 6 is even. $ …

Tips
基礎プログラミング 100本ノック 13~20 Javascript参考解答編

整数値を入力させ、その値の回数だけHello World!を繰り返して表示するプログラムを作成せよ。 なおボタンを押すと関数を呼び出し、出力が表示されるものとする 【実行例、下線部は入力例】 $ ./knock12 input number: 7 Hello World! Hello World! Hello World! Hello World! Hell …

Tips
基礎プログラミング 100本ノック 07~12 Javascript参考解答編

整数値をフォームに入力させ、値が0ならzeroと表示するプログラムを作成せよ。 なおボタンを押すと関数を呼び出し、出力が表示されるものとする 【実行例、下線部は入力例】 $ ./knock06 input number: 0 zero $ ./knock06 input number: 1 整数値をフォームに入力させ、値が0ならzero、0でなければnot …