2013-01-07

Webコンテンツのフィルタリングについて。(その1)

どもです。
今回2回に分けてWebコンテンツのフィルタリングについて書いて行きたいと思います。

0.そもそもの話し。

ずっとPCについては、使うのが自分だけだったのでそれほど頓着はしていなかったのですが、現在中2の長男君が学校の授業の調べ物や、趣味の手品についてPCを使う機会が多くなって来ています。
で、親としては「大丈夫だろう」とは思いつつも”見せたくないWebコンテンツ”もあるので、前々からフィルタリングについては考えていました。
実際、自宅のNet環境については、プロバイダがCATVのJ:COMの環境(ZAQ)になっています。このプロバイダ自体実は「ペアレント・アイ」と言うサービスを提供してくれて居るのですが…残念!これ、Windows or Macのソフトなんですね。つまり、Linuxは対象外.。
まあ、これはしょうがない。Linux系なんて一般のPCでそんなに使われてるわけじゃないし…。

で、ここから本題。



1.OpenDNSを使う。

でも、コンテンツフィルタリングをやらないわけには行かないので、いろいろ調べて見ると「OpenDNS」でできるらしい事が判りました。
OpenDNSでコンテンツフィルタリングを行うのに簡単な方法は、「FamilyShield」を使います。

a. OpenDNSのTop Pageへ行きます。


b. Top Pageの”Home DNS” をClick。


c. "Parental Controls"の"Get started"をClick


d. "OpenDNS FamilyShield" -> "Sign up now" をClick







e. なにかnewsがあった場合のmail アドレスを入力 -> "Let's Begin!" をClick
  とは言え、実は下に小さく "Or, continue setup without signing up. " なんて書いてあるので、mail アドレス自体は必須じゃありません。


f. 設定先を選択
 ここは、それぞれですが、PC一台環境なら、"Computer" を選択すると思います。


g. ここのPageで設定方法の詳細に入る為に、OSの選択をします。
 自分の場合は、"Unix/Linux" の "Ubuntu" をClick


h. で、ここから選択した各OS毎の設定方法についての説明になります。
 Ubuntuの場合は、こんな感じ。





 要は、2番目の画面に有るように、"DNS Servers" に指定されたIP アドレスを入力する事と、3番目の画面に有るように、チョットした細工が必要。

で、このPageの最下行の"NEXT: Test your new settings →" をClick して設定の確認。

なんだけどぉ。
ありゃりゃ??…なんじゃ?


"Oops! It looks like FamilyShield isn't working yet." って…上手く動いて無いっぽい。
なぜ?

"If you tried all that and it didn't work" の 1 にあるURLをClickしてみると、



と言う表示。うにゅ。
つまり、「この画面はDemo画面でちゃんとOpenDNSが動いていれば、このSiteはBlockされるよ」てことらしい。うにゅ。

でも、なぜ?

念の為、DNS の確認。
nmcli dev list iface eth0 | grep IP4
うん。一応DNS(208.67.222.123, 208.67.220.123)は出来てる。
念の為、もうひとつ。
 nm-tool
こっちも、OK。

んじゃ、何が問題?

最初、こちらのプロバイダがJ:COMだから?と思っていたんですが、OpenDNSの"OpenDNS Forums" にこんな書込みが
Domain Name System (DNS) troubles: Ubuntu 8.04 and FamilyShield」 
質問内容としては、
「設定ちゃんとしてるのに、FamilyShield動いて無いみたいなんだけど
みたいで、自分のパターンと同じ。

解決方法としては、/etc/dhcp3/dhclient.conf の次の記述
request subnet-mask, broadcast-address, time-offset, domain-name, domain-name-servers, routers, host-name, ntp-servers;
これを、
request subnet-mask, broadcast-address, time-offset, routers, host-name, ntp-servers;
に修正するというもの。
この中で、"domain-name"と"domain-name-servers"が省かれています。
Man Pageの"dhcp-options" によれば、

domain-name
オプションは、 ドメインネームシステムを使用してホスト名を解決するときに クライアントが使用すべきドメイン名を指定します。
domain-name-servers
クライアントが利用可能な ドメインネームシステム (STD 13, RFC 1035) ネームサーバのリストを指定します。 サーバは、優先されるものから順にリストしてください。
と言う事なので、どうもDHCPで割り当てられたdomainが優先されているようです。

と言う訳で、dhclient.confの修正なんですが、Ubuntu 12.10時点では、dhclient.confは、"/etc/dhcp" にしか存在していない…のでこっちを修正。

request subnet-mask, broadcast-address, time-offset, routers,
    domain-name, domain-name-servers, domain-search, host-name,

request subnet-mask, broadcast-address, time-offset, routers,
    domain-search, host-name,
にして、Save  -> reboot。

んで、再度"NEXT: Test your new settings →" をClick。





はい!出来ました。よしよし。

まあ、一部にはOpenDNSを使った場合名前解決の為にイチイチアメリカのサーバーを見に行くのでレスポンスが悪くなるって意見も有る様ですが、少なくとも自分の環境でpingを使った計測ではOpenDNSを使ったからと言って極端に悪くはなりませんでした。
この辺はプロバイダの環境に依存すると思うので一概には言えないと思います。
ですから、実際にどうなのかは各個人で判断するしか無いと思います。

で。
OpenDNSを使ったフィルタリングの利点は、
「フィルタリング用のDBの管理をしなくても良い」
の一点に尽きると思います。
このあと、squid + squidGuard についても書きますが、こちらについてはフィルタリング用のDBの管理がLocalで行うために更新作業が発生します。この手間をどう捉えるかによってOpenDNSで”よし”とするかどうかを考えても良いと思います。

因みに、FamilyShieldよりも細かいフィルタリング設定がご希望の場合は、 OpenDNSの"OpenDNS Home"からアカウント登録することで管理できるようになります。
こんな感じ。

 どちらにするかは、ご自由に。

てな訳で、OpenDNSでのWebコンテンツのフィルタリングについて書かせて頂きました。

まあ、後の懸念としては日本国内のアダルトサイトがどうなのか?って点ですね。
そこまでやってくれているのか?どうか?

では、次回は先にも書いた、「squid + squidGuard」でのフィルタリングについて書きたいと思います。


では〜。

0 件のコメント:

SSH Keyを作成してGitHubなどに接続してみる - Qiita

大事なことなので。 SSH Keyを作成してGitHubなどに接続してみる - Qiita : GitHubやGitLab上のリポジトリへgitコマンドでファイルをpushする時に、上手く接続出来なかったのでSSH Keyの作成からやり直してみました。これはその作業ログなので自分...