tech.guitarrapc.cóm

Technical updates

Youtubeアクセスをブロックする

YouTubeへのアクセスをブロックするにはいくつかの方法があります。例えばプロキシサーバーを利用したり、ファイアウォールで制御するといった方法が古くから使われています。今回は、UniFi OSを使える環境においてYouTubeへのアクセスをブロックする方法のメモです。

はじめに

本来どこかのサイトへのアクセスをブロックするのはやりたくないものです。ただ、いろいろな理由でネットワーク配下の端末から特定サイトへのアクセスを制限したいこともあるでしょう。 現在のネットワークにおいては、ゲートウェイであるルーターでアクセス制御する以外にも、エンドポイントである端末側で制御する方法もありますし、あるいはネットワーク自体をゼロトラスト化してそのポリシーで制御する方法もあります。そういう意味では、プロキシやファイアウォールを直接扱うことは少なくなってきており、個人的にも避けたいものがあります。

YouTubeへのアクセスをブロックするといっても、なるべく省力化しつつ効果的に行いたいものです。今回はUniFi OSのUIでできることに限定し、SSHでUniFi OSにログインしていじることは除外します。

ブロック方法一覧

コンテンツフィルターとポリシーテーブルでは、アクセスをブロックする対象や粒度が異なります。以下にそれぞれの特徴をまとめます。

方法 アクセス制御方法 影響単位 メリット デメリット
コンテンツフィルター ドメインベース ネットワーク単位 細かくドメインを選んで制御できる YouTube公式ではドメインリスト的な案内はない、端末単位の制御/スケジュール制御はできない
ポリシーテーブル DNS(CNAME)ベース ネットワーク単位 YouTubeが一覧を提供しており4レコードで止まる 端末単位の制御/スケジュール制御はできない
トラフィックルール ドメインベース ネットワーク単位、個別デバイス単位 細かくドメインを選んで制御できる、端末単位の制御/スケジュール制御が可能 YouTube公式ではドメインリスト的な案内はない

コンテンツフィルター

コンテンツフィルターでYouTubeアクセスをブロックしてみましょう。UniFi OSの管理画面から、Settings > CyberSecureを開き、Content Filterタブでネットワークを選択してBlocklistにYouTubeのドメインを追加します。

alt text

追加するドメインは以下の通りです。StackoverflowやRedditなどで紹介されているものを参考にしています。

youtube.com
www.youtube.com
m.youtube.com
ytimg.com
s.ytimg.com
ytimg.l.google.com
youtube.l.google.com
i.google.com
googlevideo.com
youtu.be
yt.be

Add Multipleから追加しても良いですし、1つずつ追加しても構いません。追加後は保存しましょう。

Add Multiple Domains

alt text

alt text

これで、YouTubeへのアクセスがWeb/スマホともにブロックされます。

alt text

ポリシーテーブル

ポリシーテーブルでYouTubeアクセスをブロックしてみましょう。YouTubeが公式に提供しているControl YouTube content available to usersに沿って、DNSベースでCNAMEを調整してアクセスをブロックする方法です。

YouTubeが提供しているCNAMEリストは以下の通りです。

www.youtube.com
m.youtube.com
youtubei.googleapis.com
youtube.googleapis.com
www.youtube-nocookie.com

これらを、制限アクセスの度合に応じて以下のいずれかにCNAMEを向けます。

# 厳しい制限付きモード
restrict.youtube.com
# 中程度の制限付きモード
restrictmoderate.youtube.com

UniFi OSの管理画面から、Settings > Policy Engineの一番左にあるアイコンPolicy Tableを開き、Create New Policyからドメインレコードを追加します。Alias Recordを選択し、上記のCNAMEリストを1つずつ追加していきます。Target Aliasにはrestrict.youtube.comを指定してアクセスブロックとしましょう。

alt text

alt text

一通り追加したら完了です。

alt text

digコマンドで確認すると、以下のようにCNAMEが向いていることがわかります。

$ dig -t CNAME www.youtube-nocookie.com
www.youtube-nocookie.com. 5     IN      CNAME   restrict.youtube.com.

これで、YouTubeへのアクセスがWeb/スマホともにブロックされます。

alt text

トラフィックルール

トラフィックルールでYouTubeアクセスをブロックしてみましょう。 UniFi OSの管理画面から、Settings > Policy Engineの一番左にあるアイコンTraffic & Firewall Rulesを開き、Create entryからドメインレコードを追加します。

alt text

あるいは、デバイス一覧からデバイスを選択してTraffic Rules > Create Ruleでを、ここに飛びます。

alt text

追加するドメインはコンテンツフィルターで紹介したものと同じです。ActionでBlockや速度調整などが選べますが、今回はBlockを選択します。Sourceはネットワーク全体にするか特定デバイスにするか選べます、今回はLoLというPCを選択しています。

alt text

他の止め方と違うのが、Sourceで端末を指定できること、Scheduleで時間帯を指定できることです。例えば1回だけ試しに止めたり、毎週やカスタム曜日+時間帯で止めたりといったことが可能です。

alt text

alt text

alt text

これで、YouTubeへのアクセスがWeb/スマホともにブロックされます。

alt text

まとめ

今回は、YouTubeへのアクセスをUniFi OSでブロックする方法を3つ紹介しました。YouTubeに限らず、特定のサイトへのアクセスを制限したい場合に応用できるでしょう。トラフィックルールは端末単位やスケジュール単位で制御できるのが便利ですが、ドメインが多いのはちょっと厳しいです。うっかりするとWebは止められてもアプリは止まらないということもあります。その点、ポリシーテーブルはCNAMEベースで4レコードだけなので楽ですが、制御の粒度が粗いです。コンテンツフィルターは設定箇所がネットワーク単位でわかりやすく、AllowListも使えて調整しやすい部分があります。

しかし、YouTubeの場合は、特定のチャンネルとかキーワードを止める需要の方が高い気もしなくはないです。その場合はUniFiだと難しい感じがしますがどうなんですかね?

参考