※ 2019 年 3 月 28 日現在の情報をもとに作成しています
1. はじめに
前回の記事では、Roaming Client とクラウド上の Umbrella API の間で行われる同期の詳細と、同期に失敗した時の動作について解説しました。本記事では、実際に同期の失敗を引き起こすネットワークのトラブル例をいくつか紹介します。
※ 文中で引用している C:\ProgramData\OpenDNS\ERC\OpenDNS_ERC_Service.log のエラー メッセージは、Windows 10 で確認したものになります。別の OS では異なるメッセージが出力される場合があります
2. ポートの未開放
Roaming Client はクラウド上の Umbrella API (sync.hydra.opendns.com) と SSL/TLS を介して同期を行いますので、sync.hydra.opendns.com への TCP 443 による通信ができる必要があります。
この通信に障害が発生すると、OpenDNS_ERC_Service.log に以下のようなエラー メッセージが出力されます。
POST to https://sync.hydra.opendns.com/v3/ failed: リモート サーバーに接続できません。
また、Roaming Client がデバイス登録処理をする際の api.opendns.com との通信に障害が発生すると、OpenDNS_ERC_Service.log に以下のようなエラー メッセージが出力されます。
Device Registration: received response: リモート サーバーに接続できません。
3. CRL の取得失敗
Roaming Client は api.opendns.com および sync.hydra.opendns.com との SSL/TLS による暗号化通信に先立ち、各々のサーバーから受け取ったサーバー証明書の有効性の検証を行います。
この検証において、証明書自体が何らかの理由により失効しているケースはそう起こるものではありませんが、証明書の失効状態を確認するための CRL (Certificate Revocation List) の取得に失敗し、SSL/TLS 通信ができなくなるケースはたびたび見られます。
Umbrella API のサーバー証明書は DigiCert 社が発行しており、検証のための CRL は DigiCert 社のサーバー (crl3.digicert.com、crl4.digicert.com) から取得していますので、これらのサーバーへの TCP 80/443 による通信ができる必要があります。
なお、この通信に障害が発生すると、OpenDNS_ERC_Service.log に以下のようなエラーが出力されます。
Transport: Exception while doing GET: System.Net.WebException: 接続が切断されました: SSL/TLS のセキュリティで保護されているチャネルに対する信頼関係を確立できませんでした。 ---> System.Security.Authentication.AuthenticationException: 検証プロシージャによると、リモート証明書は無効です。
余談となりますが、Roaming Client がインターネットから取得した CRL は、以下のフォルダーにキャッシュされています。
C:\Windows\SysWOW64\config\systemprofile\AppData\LocalLow\Microsoft\CryptnetUrlCache\MetaData
4. Web プロキシの使用
セキュリティの厳しい環境では、クライアント PC からインターネットへの TCP 80/443 による直接の通信を禁止し、Web プロキシを介した通信のみを許可しているケースがあると思います。
この場合、Umbrella API との SSL/TLS 通信も Web プロキシを介する必要がありますが、ログオンしているユーザーの Web ブラウザで設定した Web プロキシの設定はこの目的では使われません。
なぜなら、Roaming Client は「ローカル システム (Local System)」という特殊なアカウントで動作しており、このアカウントの Web プロキシの設定をする必要があるためです。以下の図は Umbrella Roaming Client サービスがローカル システム アカウントで動作していることを表しています。

なお、ローカル システム アカウントの Web プロキシの具体的な設定方法については、以下のサポート文書に記載があります。
Umbrella Roaming Client: HTTP Proxies (Windows)
https://support.umbrella.com/hc/en-us/articles/230560927-Umbrella-Roaming-Client-HTTP-Proxies-Windows-
また、Umbrella と Web プロキシを併用する際には、この問題とは別の注意点もありますので、必要に応じて以前の記事を参照してください。