娘のネット接続にプロキシサーバー接続を必須にする

小学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でプロキシサーバーを構築する を参照。

ローカルネットワーク定義を設定する

下記を削除する

squid.conf
acl localnet src 10.0.0.0/8    # RFC1918 possible internal network
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.conf
acl localnet src 192.168.11.0/24

 

各種制限を設定する

許可するドメインは外部ファイルの squid.acl.config で指定するようにした。

squid.conf
  1. acl all src all
  2. acl manager proto cache_object
  3. acl localhost src 127.0.0.1/32
  4. acl to_localhost dst 127.0.0.0/8 0.0.0.0/32
  5. acl localnet src 192.168.11.0/24    # RFC1918 possible internal network
  6. acl SSL_ports port 443
  7. acl Safe_ports port 80        # http
  8. acl Safe_ports port 443        # https
  9. acl CONNECT method CONNECT
  10.  
  11. http_access allow manager localhost
  12. http_access deny manager
  13. http_access deny !Safe_ports
  14.  
  15. include c:/squid/aclConfig/squid.acl.config
  16.  
  17. http_access allow whiteList
  18. 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
acl whiteList dstdomain .kids.yahoo.co.jp .rdsig.yahoo.co.jp .yimg.jp .aeonkids-iclub.com .nhk.or.jp

許可するリストを加除する場合は、squid.acl.config を修正すればOK。

 

許可リストの調整

Webサイトは自分が意図してアクセスするドメイン以外のサイトにもアクセスりてるので、必要なドメインを追加してやらないと下図のように画像のないつまらない画面になってしまう。ヤフーキッズでは「.yimg.jp」を許可しないと画像が表示されないので、下図のような画面になってしまう。これじゃかわいそうだ。

Windows 8.1 で動作するプロキシサーバ Squid でアクセス制限する

Squid のアクセスログを確認すると「access.log」が拒否された(DENIED_403)ことが確認できる。

access.log
1419310887.857     63 192.168.11.7 TCP_MISS/200 15248 GET http://kids.yahoo.co.jp/ - DIRECT/182.22.11.59 text/html
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」を許可すると画像が表示される。

Windows 8.1 で動作するプロキシサーバ Squid でアクセス制限する

同様にNHKのコンテンツ(左下)も遮断されている。

Windows 8.1 で動作するプロキシサーバ Squid でアクセス制限する

access.log
1419311372.472      1 192.168.11.7 TCP_DENIED/403 1471 GET http://www9.nhk.or.jp/das/image/D0005140/D0005140018_00000_S_005.jpg - NONE/- text/html
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」を追加する。

squid.acl.config
acl whiteList dstdomain .kids.yahoo.co.jp .rdsig.yahoo.co.jp .yimg.jp .aeonkids-iclub.com .nhk.or.jp

NHKの動画が表示される。

Windows 8.1 で動作するプロキシサーバ Squid でアクセス制限する

 

娘のアカウントに対しプロキシ接続を強制する(Windows 8.1編)

グループポリシーで娘のアカウントでログオン時にログオンスクリプトを使用してプロキシを設定する

プロキシの設定はレジストリで指定する。レジストリ設定用に setProxy.cmd を作成した。なお、ProxyEnable を 0 にすればプロキシ経由は無効化される。

setProxy.cmd
REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v MigrateProxy /t REG_DWORD /d 1 /f
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

GUIだと下記のような設定になる。
Windows 8.1 で動作するプロキシサーバ Squid でアクセス制限する インターネットエクスプローラーの設定

MMC(Microsoft 管理コンソール )を使用して、娘のアカウントにだけ適用されるポリシーを設定する

ファイル名を指定して実行で「MMC」と入れエンターを押すと Microsoft 管理コンソール が起動する。

ファイル → スナップインの追加と削除
Microsoft 管理コンソール を使用して娘のアカウントではプロキシサーバーを経由してインターネットアクセスさせる

グループポリシーオブジェクトを選んで追加
Microsoft 管理コンソール を使用して娘のアカウントではプロキシサーバーを経由してインターネットアクセスさせる

参照をクリック
Microsoft 管理コンソール を使用して娘のアカウントではプロキシサーバーを経由してインターネットアクセスさせる

ユーザタブに移動して制限をかけたいユーザを選んでOK
Microsoft 管理コンソール を使用して娘のアカウントではプロキシサーバーを経由してインターネットアクセスさせる

完了をクリック
Microsoft 管理コンソール を使用して娘のアカウントではプロキシサーバーを経由してインターネットアクセスさせる

OKをクリック
Microsoft 管理コンソール を使用して娘のアカウントではプロキシサーバーを経由してインターネットアクセスさせる


Microsoft 管理コンソール を使用して娘のアカウントではプロキシサーバーを経由してインターネットアクセスさせる

 

ログオンスプリクトを設定する

Windowsの設定 → スクリプト(ログオン/ログオフ)を選ぶ
Microsoft 管理コンソール を使用して娘のアカウントではプロキシサーバーを経由してインターネットアクセスさせる

ログオンスクリプトをダブルクリック → 追加 で setProxy.cmd を追加する。 Microsoft 管理コンソール を使用して娘のアカウントではプロキシサーバーを経由してインターネットアクセスさせる

88

 

娘のアカウントではプロキシ設定を変更できないようにする

下図のようにプロキシ設定を変更できないように制限する。コントロールパネルや管理ツールへのアクセス制限もした方がいいが、UACで制限されるだろうから、とりあえず制限しない。

Microsoft 管理コンソール を使用して娘のアカウントではプロキシサーバーを経由してインターネットアクセスさせる

 

ログオンスクリプトの遅延を無効にする

ログオンスクリプトは既定で5分遅れで実行される?ので遅延実行を無効にする。

ログオンスクリプトの遅延を無効にする

 

アクセス制限とインターネットオプションの制限確認

接続タブは消え、詳細設定も制限されている。
インターネットオプションの詳細設定タブの制限

意図したとおり、microsoft.com は制限された。
Windows 8.1 で動作するプロキシサーバ Squid でアクセス制限する

英会話の「AEON KIDS i-CLUB」はアクセスできた。
Windows 8.1 で動作するプロキシサーバ Squid でアクセス制限する

httpsでログインもOK。
Windows 8.1 で動作するプロキシサーバ Squid でアクセス制限する

教材も利用OK。
Windows 8.1 で動作するプロキシサーバ Squid でアクセス制限する

 

娘の iPad mini に対しプロキシ接続を強制する

 

娘のパソコンで稼働しているプロキシサーバーを経由して、iPad mini からインターネットアクセスさせる。娘のパソコンのファイアーウォールでプロキシサーバへの接続を許可する。

Windows 8.1 で動作するプロキシサーバ Squid で iPad mini からのアクセス制限する

ファイアーウォールの設定

娘のパソコン外から娘のパソコンでサービスとして稼働するプロキシサーバへアクセスできるようにするため、ファイアーウォールを構成する。

Windows 8.1 で動作するプロキシサーバ Squid でアクセス制限する ファイアーウォールの設定
Windows 8.1 で動作するプロキシサーバ Squid でアクセス制限する ファイアーウォールの設定
Windows 8.1 で動作するプロキシサーバ Squid でアクセス制限する ファイアーウォールの設定
Windows 8.1 で動作するプロキシサーバ Squid でアクセス制限する ファイアーウォールの設定
Windows 8.1 で動作するプロキシサーバ Squid でアクセス制限する ファイアーウォールの設定
Windows 8.1 で動作するプロキシサーバ Squid でアクセス制限する ファイアーウォールの設定

iPad mini のWiFi接続設定でプロキシサーバを指定する

WIFI接続の設定でプロキシサーバを設定でき、プロキシ経由でアクセスできたけど、それの変更を制限できないのでダメだ。

iPad mini プロキシサーバー設定iPad mini プロキシサーバーでアクセスを遮断

仕方ないので、iPad mini の機能制限でアクセスできるサイトを制限することにした。これだとログがとれない。まあ、監視が目的でないのでよしとする。MDM使うわけにいかないし。

 

機能制限を有効にして、パスワードを設定
娘の iPad mini の機能を制限する娘の iPad mini の機能を制限する

指定したWebサイトのみを選択し、許可するサイトを追加
娘の iPad mini の機能を制限する

その他の制限として、使わせる機能もサファリとカメラだけにした。アプリの年齢制限は9歳以上。
娘の iPad mini の機能を制限する

コメント

このブログの人気の投稿

ダブルクォーテーションで括られたCSVカ​ンマ区切りテキストファイルを SQL Server で Bulk Insert する方法

PowerShellでTSV/CSVの列を絞り込んで抽出し、(先頭/行末)からN行出力する

IKEAの鏡を壁に取り付ける