Rocky Linux 8.5 に Squid 4.15 をインストールして、透過型プロキシを作って試してみたら、Windows Updateができないことに気が付いたんだけど、忙しくて目を背けてきました。
検索すると、2017年くらいから同様の悩みを見かけます。
で、結局、クライアントのWindows端末で、Microsoft Windows HTTP (WinHTTP)の設定が必要でした。
そもそも WinHTTP なんて聞いたことなかったし、気にしたこともなかった。
マイクロソフトの説明では、HTTP プロトコルを介して他の HTTP サーバーに要求を送信する HTTP クライアント アプリケーション プログラミング インターフェイス (API) を開発者に提供するらしい。
Defender for Endpoint の説明ページでみつけたんだけど、WinHTTP 構成設定は、Windows インターネット (WinINet) ブラウズ プロキシ設定(WinINet vs. WinHTTPを参照) とは独立していて、次の検出方法を使用してのみプロキシ サーバーを検出できるとのこと。
- 自動検出の方法:
- 透過プロキシ
- Web プロキシ自動発見プロトコル (WPAD) 注意ネットワーク トポロジで透過プロキシまたは WPAD を使用している場合は、特別な構成設定は必要ない。 プロキシの Defender for Endpoint URL 除外の詳細については、「プロキシ サーバーで Defender for Endpoint Service URL へのアクセスを有効にする」 を参照してください。
- 手動の静的プロキシの構成:
- レジストリ ベースの構成
- netsh コマンドを使用して構成された WinHTTP: 安定したトポロジのデスクトップにのみ適しています (たとえば、同じプロキシの背後にある企業ネットワーク内のデスクトップ)
で、今回は クライアントWindows端末で管理者権限でコマンドプロントを開いて、netsh コマンドで設定を行いました。
netsh winhttp set proxy 192.168.1.1:8080
確認するなら以下のコマンド。
netsh winhttp show proxy
リセットするなら以下のコマンド。
netsh winhttp reset proxy
結局、Squid側では公式サイトを参考にして、Windows Update で接続する先のURLは NoSSLIntercept で識別して、Bump せずに Splice するよう変更しました。
1 2 3 4 5 6 7 8 9 10 11 12 |
# for ssl_bump on_unsupported_protocol tunnel all sslcrtd_program /usr/lib64/squid/security_file_certgen -s /var/lib/squid/ssl_db -M 4MB sslproxy_cert_error allow all #acl step1 at_step SslBump1 #ssl_bump peek step1 #ssl_bump bump all acl DiscoverSNIHost at_step SslBump1 acl NoSSLIntercept ssl::server_name_regex -i "/etc/squid/nobump.txt" ssl_bump splice NoSSLIntercept ssl_bump peek DiscoverSNIHost ssl_bump bump all |
接続する先のサーバー名は正規表現で /etc/squid/nobump.txt に作成。最終的にこんな感じ。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
# WU (Squid 3.5.x and above with SSL Bump) # Only this sites must be spliced. # Windows Update ^[a-zA-Z0-9.-]{0,100}update\.microsoft\.com ^[a-zA-Z0-9.-]{0,100}download\.windowsupdate\.com ^[a-zA-Z0-9.-]{0,100}download\.microsoft\.com ^[a-zA-Z0-9.-]{0,100}windowsupdate\.com ^[a-zA-Z0-9.-]{0,100}windows\.com ^ntservicepack\.microsoft\.com ^login\.live\.com ^[a-zA-Z0-9.-]{0,100}live\.com ^[a-zA-Z0-9.-]{0,100}mp\.microsoft\.com ^[a-zA-Z0-9.-]{0,100}microsoft\.com ^[a-zA-Z0-9.-]{0,100}\.do\.dsp\.mp\.microsoft\.com ^[a-zA-Z0-9.-]{0,100}\.dl\.delivery\.mp\.microsoft\.com ^[a-zA-Z0-9.-]{0,100}\.emdl\.ws\.microsoft\.com # Trend Micro VBBSS ^[a-zA-Z0-9.-]{0,100}\.trendmicro\.com |
知らない間に世の中変わっていくのを実感しました。恐ろしい時代です。
ずっと変わり続けて、どんどん新しいものが出てきて、おじさんはもうついていけません。
こういうジャンルでお仕事するのは避けたいと強く感じました。
※2022/1/11 追記。
トレンドマイクロのウィルスバスタービジネスセキュリティサービス(VBBSS)で「スマートスキャン使用不可」となってしまったので、上記リストに1行追加。