娘のネット接続にプロキシサーバー接続を必須にする
小学2年生の娘も悪知恵が芽生えてきていると思うので、インターネットアクセスについて父である私が許可したサイトだけ見れるようする。
会社の後輩に「○○さん、んなもんファミリーセーフティーで十分じゃないすか?」と言われて、ああ確かにそのとおりということで、ファミリーセーフティー に切り替えた。こども用Windowsアプリもネット接続するのあるので、それのアクセス先みて許可リストに追加するもの面倒なので、プロキシーサーバによる運用をやめることにした。
ファミリーセーフティーをについては・・・使用した制限設定を参照
プロキシによる運用もメモとして下記に残しておく。
子どもにインターネットを使わせるには早すぎる。分別できないからだ。分別できないのだから制限すればいい。しかし、英会話教室の自習サイト等、アクセスさせたい場合もある。いちいち付き添うのもあれなので、アクセス制限をしつつインターネットを使用させることにする。
娘から見たいサイトの解放依頼があったら検討する。
インターネットの危険性、写真とかの危険性など、学校の道徳では教えてくれないことを徐々に教えていこうと思う。その過程でアクセス範囲を広げられればいいと思う。
娘のインターネット使用環境
- 娘がインターネットを利用するのは自宅のLANからのみでキャリア通信はできない
- Windows 8.1 Update Internet Explorer
- 家のパソコンはすべて個人アカウントで運用しているので、娘は娘のアカウントしか使用できない。当然一般権限。娘のパソコン以外娘のアカウントを作成していないのでログオンできない。
- iPad mini を使用
到達目標
- 娘のパソコンで、娘のアカウントでは、インターネットアクセスは許可されたサイトのみアクセス可能にする。具体的にはヤフーキッズ、英会話の自宅教材「AEON KIDS i-CLUB」。
- 娘のiPad mini では、インターネットアクセスは許可されたサイトのみアクセス可能にする。
- いずれも許可できるのは私だけにする。
使用するツール
- アクセス制限として、プロキシサーバー Squid 2.7 for Windows
- プロキシサーバー経由必須化は、レジストリで設定。
ツールの使用
- 娘のパソコンでは、プロキシサーバー Squid Squid 2.7 for Windows がサービスとして自動起動するようにする。
- Squid Squid 2.7 for Windows のホワイトリスト(許可リスト)を使用して、許可されたドメインのみアクセス可能にする。ホワイトリストは外部テキストに格納する。
- プロキシサーバ経由必須化を実現するためのレジストリへの登録はログオンスクリプトを使用。
- 娘のアカウントログイン時に、起動させるログオンスクリプト指定はグループポリシー(MMC)を使用
Squid のサービスへの追加、娘のアカウントのグループポリシー設定が必要など、管理者権限が必要となるので、以下の設定作業は管理者権限を持つアカウントで実施した。
Squid の設定
「ローカルネットワークの定義」と「許可したドメインのみアクセスできるように設定する」の説明のみ記述する。Squid の入手やその他の設定は Windows 8.1でプロキシサーバーを構築する を参照。
ローカルネットワーク定義を設定する
下記を削除する
acl localnet src 172.16.0.0/12 # RFC1918 possible internal network
acl localnet src 192.168.0.0/16 # RFC1918 possible internal network
うちのローカルエリアネットワークはクラスCなので、192.168.11.0/24 を追加する。
各種制限を設定する
許可するドメインは外部ファイルの squid.acl.config で指定するようにした。
- acl all src all
- acl manager proto cache_object
- acl localhost src 127.0.0.1/32
- acl to_localhost dst 127.0.0.0/8 0.0.0.0/32
- acl localnet src 192.168.11.0/24 # RFC1918 possible internal network
- acl SSL_ports port 443
- acl Safe_ports port 80 # http
- acl Safe_ports port 443 # https
- acl CONNECT method CONNECT
- http_access allow manager localhost
- http_access deny manager
- http_access deny !Safe_ports
- include c:/squid/aclConfig/squid.acl.config
- http_access allow whiteList
- http_access deny all
- 6行目 SSLポートは443
- 7~8行目 許可するポート一覧に80、443を指定する
- 13行目 許可するポート一覧にないポートは拒否する
- 15行目 C:\squid\aclConfig\squid.acl.config をここに展開する。許可リストが展開される。
- 17行目 許可リストで指定されたところを許可する
- 18行目 そべてを拒否する
squid.acl.config で許可するドメインを指定する
許可するリストを加除する場合は、squid.acl.config を修正すればOK。
許可リストの調整
Webサイトは自分が意図してアクセスするドメイン以外のサイトにもアクセスりてるので、必要なドメインを追加してやらないと下図のように画像のないつまらない画面になってしまう。ヤフーキッズでは「.yimg.jp」を許可しないと画像が表示されないので、下図のような画面になってしまう。これじゃかわいそうだ。
Squid のアクセスログを確認すると「access.log」が拒否された(DENIED_403)ことが確認できる。
1419310887.857 0 192.168.11.7 TCP_DENIED/403 1455 GET http://i.yimg.jp/i/kids/renewal2014/common/pc/css/common.css - NONE/- text/html
1419310887.857 0 192.168.11.7 TCP_DENIED/403 1455 GET http://i.yimg.jp/i/kids/renewal2014/top/pc/css/1.0.6/top.css - NONE/- text/html
1419310887.888 0 192.168.11.7 TCP_DENIED/403 1467 GET http://i.yimg.jp/i/kids/renewal2014/common/pc/img/btn_yomigana.png - NONE/- text/html
1419310887.888 0 192.168.11.7 TCP_DENIED/403 1499 GET http://i.yimg.jp/i/kids/renewal2014/multigame/reversi/pc/img/bnr/bnr_reversi01.png - NONE/- text/html
1419310887.888 0 192.168.11.7 TCP_DENIED/403 1435 GET http://i.yimg.jp/images/kids/upimages/70/72/49.jpg - NONE/- text/html
1419310887.888 0 192.168.11.7 TCP_DENIED/403 1467 GET http://i.yimg.jp/i/kids/renewal2014/study/pc/img/thumIllustDrl.png - NONE/- text/html
1419310887.888 0 192.168.11.7 TCP_DENIED/403 1465 GET http://i.yimg.jp/i/kids/study/upimages/sci013/metas/thumbnail.jpg - NONE/- text/html
1419310887.888 0 192.168.11.7 TCP_DENIED/403 1449 GET http://i.yimg.jp/i/kids/games/action/023/thum/200_150.png - NONE/- text/html
1419310887.888 0 192.168.11.7 TCP_DENIED/403 1451 GET http://i.yimg.jp/i/kids/games/variety/042/thum/200_150.png - NONE/- text/html
1419310887.888 0 192.168.11.7 TCP_DENIED/403 1449 GET http://i.yimg.jp/i/kids/games/puzzle/048/thum/200_150.png - NONE/- text/html
1419310887.904 0 192.168.11.7 TCP_DENIED/403 1481 GET http://i.yimg.jp/i/kids/renewal2014/top/pc/img/topJoy__gameCategory01.png - NONE/- text/html
1419310887.919 0 192.168.11.7 TCP_DENIED/403 1481 GET http://i.yimg.jp/i/kids/renewal2014/top/pc/img/topJoy__gameCategory02.png - NONE/- text/html
1419310887.935 0 192.168.11.7 TCP_DENIED/403 1481 GET http://i.yimg.jp/i/kids/renewal2014/top/pc/img/topJoy__gameCategory03.png - NONE/- text/html
1419310887.935 0 192.168.11.7 TCP_DENIED/403 1481 GET http://i.yimg.jp/i/kids/renewal2014/top/pc/img/topJoy__gameCategory04.png - NONE/- text/html
1419310887.935 0 192.168.11.7 TCP_DENIED/403 1481 GET http://i.yimg.jp/i/kids/renewal2014/top/pc/img/topJoy__gameCategory05.png - NONE/- text/html
1419310887.935 0 192.168.11.7 TCP_DENIED/403 1481 GET http://i.yimg.jp/i/kids/renewal2014/top/pc/img/topJoy__gameCategory06.png - NONE/- text/html
1419310887.950 0 192.168.11.7 TCP_DENIED/403 1473 GET http://i.yimg.jp/i/kids/voice/tmpl/cmn/img/cmn_theme_category/004.png - NONE/- text/html
「.yimg.jp」を許可すると画像が表示される。
同様にNHKのコンテンツ(左下)も遮断されている。
1419311372.476 1 192.168.11.7 TCP_DENIED/403 1471 GET http://www9.nhk.or.jp/das/image/D0005140/D0005140019_00000_S_005.jpg - NONE/- text/html
1419311372.479 0 192.168.11.7 TCP_DENIED/403 1471 GET http://www9.nhk.or.jp/das/image/D0005140/D0005140020_00000_S_005.jpg - NONE/- text/html
許可リストに「.nhk.or.jp」を追加する。
NHKの動画が表示される。
娘のアカウントに対しプロキシ接続を強制する(Windows 8.1編)
グループポリシーで娘のアカウントでログオン時にログオンスクリプトを使用してプロキシを設定する
プロキシの設定はレジストリで指定する。レジストリ設定用に setProxy.cmd を作成した。なお、ProxyEnable を 0 にすればプロキシ経由は無効化される。
REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyEnable /t REG_DWORD /d 1 /f
REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyServer /t REG_SZ /d "192.168.11.7:3128" /f
REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v MigrateProxy /t REG_SZ /d "<local>" /f
MMC(Microsoft 管理コンソール )を使用して、娘のアカウントにだけ適用されるポリシーを設定する
ファイル名を指定して実行で「MMC」と入れエンターを押すと Microsoft 管理コンソール が起動する。
ログオンスプリクトを設定する
Windowsの設定 → スクリプト(ログオン/ログオフ)を選ぶ
ログオンスクリプトをダブルクリック → 追加 で setProxy.cmd を追加する。
娘のアカウントではプロキシ設定を変更できないようにする
下図のようにプロキシ設定を変更できないように制限する。コントロールパネルや管理ツールへのアクセス制限もした方がいいが、UACで制限されるだろうから、とりあえず制限しない。
ログオンスクリプトの遅延を無効にする
ログオンスクリプトは既定で5分遅れで実行される?ので遅延実行を無効にする。
アクセス制限とインターネットオプションの制限確認
英会話の「AEON KIDS i-CLUB」はアクセスできた。
娘の iPad mini に対しプロキシ接続を強制する
娘のパソコンで稼働しているプロキシサーバーを経由して、iPad mini からインターネットアクセスさせる。娘のパソコンのファイアーウォールでプロキシサーバへの接続を許可する。
ファイアーウォールの設定
娘のパソコン外から娘のパソコンでサービスとして稼働するプロキシサーバへアクセスできるようにするため、ファイアーウォールを構成する。
iPad mini のWiFi接続設定でプロキシサーバを指定する
WIFI接続の設定でプロキシサーバを設定でき、プロキシ経由でアクセスできたけど、それの変更を制限できないのでダメだ。
仕方ないので、iPad mini の機能制限でアクセスできるサイトを制限することにした。これだとログがとれない。まあ、監視が目的でないのでよしとする。MDM使うわけにいかないし。
コメント
コメントを投稿