目次
- 目次
- 概要
- 関連ドキュメント
- 検証時の情報
- 検証のためにChromeのDNS over HTTPS (DoH)を無効化
- 各検索エンジンのSafe Search
- 補足情報: DNS over HTTPS (DoH)を使用時の挙動
概要
Meraki MXのWeb search機能は、検索エンジンのSafe Searchを有効化できます。
Safe Searchは職場や学校で、センシティブなWebサイトを検索結果から除外できる機能となります。
本記事ではGoogle, bing, Yahoo!の検索エンジンを扱います。
関連ドキュメント
ドキュメント上の関連記述は下記となります。
Content Filtering - Cisco Meraki
https://documentation.meraki.com/MX/Content_Filtering_and_Threat_Protection/Content_Filtering
Web search filtering: Enable this setting to enforce Safesearch for Google, Yahoo!, and Bing for all users in your network. This will not affect SSL/HTTPS searches.
詳細は後述しますが、
This will not affect SSL/HTTPS searches.
の一文があるように、
現代では暗号化通信が当たり前の時代となっているため、
Yahoo!の検索エンジンでは恣意的にHTTP(80/tcp)で通信しようとしてもHTTPS(443/tcp)のページにリダイレクトされてしまい、Safe Searchを有効化できませんでした。
GoogleとbingではDNSを利用してSafe Searchを実現しているため、HTTPS(443/tcp)にて通信を行ってもSafe Searchが有効化されました。
検証時の情報
- Model: Meraki MX67W
- Version: MX 15.44
- Web Browser: Google Chrome バージョン: 97.0.4692.99(Official Build) (64 ビット)
- 検証時期: 2022年01月頃
Safe Searchは各社が提供するサービスの仕様に大きく依存するため、時間の経過に応じた仕様変更には留意してください。
検証のためにChromeのDNS over HTTPS (DoH)を無効化
DNS over HTTPS (DoH)が有効化されていると、Meraki MXが名前解決の通信をIntercept (傍受)できないため、意図的に無効化します。
Chrome のURL欄に chrome://settings/security
を入力して、設定画面を開き、セキュア DNS を使用する
を無効化しています。
本記事ではあくまでも検証としてDNS over HTTPSを無効化しているため、
本番環境への導入においてはDNS over HTTPSの必要性があるか否かを検討した上で設計してください。
各検索エンジンのSafe Search
各検索エンジンの仕様の情報と、動作確認を行った際のログを掲載します。
Googleの検索エンジン
Googleの検索エンジンは www.google.com
の名前解決を forcesafesearch.google.com
と同じIPアドレスにマッピングして実現します。
GoogleのSafe SearchのDNS観点
Web search 設定が Disabled で動作確認を行うと、www.google.com
と forcesafesearch.google.com
の名前解決が別のIPアドレスになっています。
Web search 設定が Enabled で動作確認を行うと、www.google.com
が forcesafesearch.google.com
のIPアドレスと同じとなっています。
GoogleのSafe SearchのWebブラウザでの確認 (Web search: Enabled 時)
Webブラウザで実際に確認を行うと、手動でのSafe Searchの無効化ができなくなっております。
bingの検索エンジン
bing では www.bing.com
を strict.bing.com
にマッピングする方式です。
セーフサーチを使用して成人向けコンテンツの表示をブロックする
https://help.bing.microsoft.com/#apex/bing/ja/10003/0
bingのSafe SearchのDNS観点
Web search 設定が Disabled で動作確認を行うと、www.bing.com
と strict.bing.com
の名前解決が別のIPアドレスになっています。
Web search 設定が Enabled で動作確認を行うと、www.bing.com
が strict.bing.com
のIPアドレスと同じとなっています。
bingのSafe SearchのWebブラウザでの確認 (Web search: Enabled 時)
Webブラウザで実際に確認を行うと、手動でのSafe Searchの無効化ができなくなっております。
Yahoo!の検索エンジン
Yahoo!の場合は、HTTP(80/tcp)で接続を行っても、HTTPS(443/tcp)にリダイレクトされて通信が暗号化されてしまうため、 筆者の確認した限りでは、Meraki MXではYahoo!に対してWeb search機能が動作していないようでした。
なお、Merakiとは別の他社製品となりますが、Palo Alto PAのドキュメントによると、Yahoo!ではURL Query Parameterに vm=r
を渡すと最も厳格な制限を行えるようです。
補足情報: DNS over HTTPS (DoH)を使用時の挙動
Meraki MXでは、DNS over HTTPS (DoH)のIntercept (傍受)が行えない点を確認しました。
Googleの検索エンジンは www.google.com
の名前解決を forcesafesearch.google.com
と同じIPアドレスにマッピングしてSafe Searchを実現していますが、
DNS over HTTPSによる名前解決を行うと、Meraki MXではIntercept (傍受)ができないため、
www.google.com
の名前解決の結果が forcesafesearch.google.com
と同じIPアドレスにはなっていないのを下記の画像で確認できます。
下記はDNS over HTTPSによる名前解決を curl コマンドを用いて行った際の参考出力です。
$ curl --silent --header 'accept: application/dns-json' 'https://1.1.1.1/dns-query?name=www.google.com&type=A' | jq { "Status": 0, "TC": false, "RD": true, "RA": true, "AD": false, "CD": false, "Question": [ { "name": "www.google.com", "type": 1 } ], "Answer": [ { "name": "www.google.com", "type": 1, "TTL": 0, "data": "172.217.175.228" } ] } $
DNS over HTTPSの確認は、下記のCloudflareのAPIを検証に用いました。
Make API requests to 1.1.1.1 over DoH · Cloudflare 1.1.1.1 docs
https://developers.cloudflare.com/1.1.1.1/encrypted-dns/dns-over-https/make-api-requests