iOS15 で iCloud+ の プライベートリレー(Private Relay)を制限する方法
そもそもプライベートリレーって何なの?
iOS14 から、無線LAN アクセス時の Macアドレスはランダム化され、新たに搭載された intelligent Teacking Protection 機能によって、Apple はユーザがブラウズしているWebサイトのサイト越えトラッキングを防止し、iOS15 ではメールのトラッキングピクセルを無効化することでIPアドレストラッキングを防止し、更にサードパーティトラッカーをAIが見つけ出して撃退というような感じでどんどんプライバシー保護が進んでいます。
現在では Apple のブラウザシェアは 10%〜15% 程度なので、このプライバシー保護機能が業界にどれだけインパクトをもたらすのか、最大のシェアを誇る Chrome も傍観している状況ですが、広告収入の割合の多くがモバイルデバイスに移行しており、iPhone 普及台数を考えると、無視できない仕組みになりつつあるのかもしれませんね。
そんな中、iOS15 の iCloud+ という有料サービスには、プライベートリレー(Beta)と呼ばれる、機能が搭載されました。
iCloud Private Relayに向けたネットワークやWebサーバの準備
https://developer.apple.com/jp/support/prepare-your-network-for-icloud-private-relay/
Private Relay は、異なる事業者が運用する2つの独立したインターネットリレーを介してユーザーのリクエストを送信するマルチホップアーキテクチャを採用し、Webサイトの運営者、Appleを含むいかなる者も、ユーザーのブラウジングアクティビティの詳細を閲覧したり収集したりすることはできないというものです。(IP アドレス偽装にもつながります)Private Relay は、UDPをベースにした新しい標準転送プロトコルであるQUICを採用しているとあり、組織のネットワークがそれに対応していることが前提、且つ、VPN 接続時などでは機能しません。
プライベートリレー( Privatge Relay)を制限する
Get ready for iCloud Private Relay
https://developer.apple.com/videos/play/wwdc2021/10096/
なのですが、今のところ Apple Configurator 2 でも、JamfPro にも制限可能な項目は見つからず、以下の2つの FQDN の名前解決をDNSリゾルバで否定応答してねくらいしか書いてありません。
mask.icloud.com
mask-h2.icloud.com
少し調べてみると新たに制限項目が追加されていることが分かりました。以下の XML をコピペして、DisallowPrivateRelay.mobileconfig という名前で保存して、お使いの MDM にアップロードして監視対象のデバイスに配布いただければ、プライベートリレーを iCloud のメニューから消し制限することができます。
下記プロファイル内の[uuidgen コマンドなどでユニークIDを付けてください]部分は Mac の uuidgen コマンドなどでユニークな IDを作成して書き換えてくださいね。
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>PayloadContent</key>
<array>
<dict>
<key>PayloadDescription</key>
<string>機能制限を構成します</string>
<key>PayloadDisplayName</key>
<string>制限</string>
<key>PayloadIdentifier</key>
<string>com.apple.applicationaccess.[uuidgen コマンドなどでユニークIDを付けてください *1 ]</string>
<key>PayloadType</key>
<string>com.apple.applicationaccess</string>
<key>PayloadUUID</key>
<string>[uuidgen コマンドなどでユニークIDを付けてください *1]</string>
<key>PayloadVersion</key>
<integer>1</integer>
<key>allowCloudPrivateRelay</key>
<false/>
</dict>
</array>
<key>PayloadDisplayName</key>
<string>SBI iCloud PrivateRelay Restriction (AC2)</string>
<key>PayloadIdentifier</key>
<string>corporatename.[uuidgen コマンドなどでユニークIDを付けてください *2]</string>
<key>PayloadOrganization</key>
<string>SBI</string>
<key>PayloadRemovalDisallowed</key>
<false/>
<key>PayloadType</key>
<string>Configuration</string>
<key>PayloadUUID</key>
<string>[uuidgen コマンドなどでユニークIDを付けてください *2]</string>
<key>PayloadVersion</key>
<integer>1</integer>
</dict>
</plist>