【AdGuard for Windows v7.13】Encrypted ClientHello対応と17個の新設定
AdGuard for Windows に関するブログ投稿はずいぶん久しぶりです。
新バージョンの v7.13 をリリースしましたので、重要な改善点をご紹介したく思います。
Encrypted ClientHello(ECH)サポート
今回のアップデートで、AdGuard for Windows に17個の新しいローレベル設定を追加しました。
まず、そのうちの1つについて説明したいと思います。
「Encrypted ClientHelloを使用する」という実験的な機能を有効にすると、接続の安全性がさらに高まります。
「ClientHello」とは、暗号化通信を開始する際の最初に送信されるパケットで、そのパケットには通信先サーバーの名前が含まれています。
この最初のパケットだけは暗号化されていないので、ISP(インターネットプロバイダー)はあなたがどのウェブサイトに接続したのかを追跡することができます。
Encrypted ClientHello (ECH)は、この問題を解決する新技術で、暗号化通信で唯一暗号化されていないこの情報も暗号化してくれるのです。
AdGuardのEncrypted ClientHello機能を有効にする方法
Encrypted ClientHello 機能を使用するには、いくつかの条件を満たす必要があります。
- AdGuardアプリ→⚙(設定)→「DNS通信を保護」が有効になっている必要があります。
これが、このアップデートですべてのユーザーに対して「DNS通信を保護」をデフォルトで有効にしている主な理由です。
ECHはDNSで取得したデータに依存しているため、AdGuardがこのデータを受け取り、ユーザーに対してシステムワイドに(PC全体で)ECHを有効にするためには、DNSフィルタリングが必要であるからです。
- ⚙→設定→一般設定→高度な設定→ローレベル設定の「ECHをブロックする」設定を無効にする必要があります。
- ⚙→設定→一般設定→高度な設定→「Encrypted ClientHello を使用する」を有効にする
AdGuard for Windows をクリーンインストール後に実行すると、システムDNSサーバーとAdGuard DNSフィルターが有効になり、「DNS通信を保護」がオンになります。DNS モジュールを無効にしてアプリをアップデートしても同じことが起こります。ただし、DNSモジュールがすでに有効で設定されている状態でアプリをv7.13にアップデートしても、変更は発生しません。
Encrypted ClientHello技術が機能するためには、クライアント側とサーバー側の両方が対応している必要があります。
現在、ECHのサポートは限られた数のアプリでしか実装されていません。
例えば、ChromeやFirefoxは、まだその追加を進めている段階です。
しかし、AdGuardのおかげで、お使いのデバイスのすべてのアプリとブラウザで、ECHサポートが自動的に機能するようになります。
※「Encrypted ClientHello を使用する」機能は実験的であるため、ネット閲覧速度が少し遅くなったりする可能性がありますが、既にこの点を改善するためにAdGuard側で取り組んでいます。
ECHが有効であることを確認する方法
-
AdGuardアプリ内で「Encrypted ClientHello を使用する」機能を有効にする
-
https://crypto.cloudflare.com/cdn-cgi/trace/ にアクセスして
sni=encrypted
と表示されていることを確認
-
https://defo.ie/ech-check.php にアクセスして
SSL_ECH_STATUS: success
と表示されていることを確認
「高度な設定」に新項目を追加
この AdGuard for Windows v7.13 へのアップデートでは、新しいローレベルの設定が多数追加されています。
人によってそのすべてが役に立つとは限りませんが、お客様がAdGuardを使ってインターネット体験をさらに安全にするための新設定は以下の通りです。
新しい高度な機能はすべて、6つのグループに分けられます:
-
DPI対策機能関連オプションは、ディープパケットインスペクション(DPI)からユーザートラフィックを保護するために、フィルタリングリクエストをローレベルで変更することを可能にします。
- 最初のTLSパケットのフラグメントのサイズを調整する
- プレーンHTTPリクエストに余分なスペースを追加する
- Plain HTTP request fragment size(プレーンHTTPリクエストフラグメントサイズ)
-
Keepalive関連オプションは、 Keepalive接続を扱うための設定を可能にします。
- TCP keepalive を有効にする
- TCP keepalive interval
- TCP keepalive timeout
-
フィルタリング除外設定により、Wi-Fiネットワークと特定のサブネット(CIDR表記で指定)の両方をDNSフィルタリングから除外することができます。
- 指定のIP範囲をフィルタリングから除外する
- フィルタリング対象外IP範囲のリスト
- 指定したWi-Fiネットワーク名(SSID)をDNSフィルタリングの対象から外す
-
DNS関連オプションで、DNS設定を微調整できます。
- フォールバックDNSアップストリームを使用する
- DNS-over-HTTPS に HTTP/3 を使用する
- DNSアップストリームを並列に問い合わせる
- 失敗したDNSクエリにいつも応答する
-
証明書セキュリティオプションは、WebサイトやWebサービスの証明書をさまざまな基準でチェックすることを可能にします。
- Webサイトの証明書の透明性を確認する
- SSL/TLS証明書の失効チェックを有効にする
- 「システム起動時にフィルタリングを有効にする」オプション。
現在、AdGuard for Windowsのデフォルトでは、オプション「システム起動時にフィルタリングを有効にする」が無効になっている場合、OS起動後のトラフィックをフィルタリングしません。AdGuardが起動しない場合でもフィルタリングを実行したい場合は、このオプションを有効にする必要があります。
新旧の「高度な設定」についてより詳しくは、ナレッジベースにてご確認いただけます。
上記の変更に加え、CoreLibs、DnsLibs、Scriplets、WFP/TDIドライバの更新、さまざまな問題の修正、各種機能の改善など、多くのことを実装しました。
AdGuard v7.13 for Windowsの全変更履歴はGitHubに掲載されています。