Windows Updateフィルタ

2022年1月26日追記 リストの自動更新を停止しました (2017年からホスト名の収集を怠っているため既に役に立たないかもしれません)

English article is available here.

この記事のWindows Updateフィルタの対象はWindows10(Home/Pro)が通信するMicrosoftの更新系サーバ。

Windows UpdateといえばMicrosoftのOS/アプリのセキュリティ対策の面で非常に重要なので、新しいアップデートが公開されたら他の人を押し退けてでも一秒でも早く我先にくらいの意気込みで適用したいところなのだが、まぁここ暫くのMicrosoftさんはやらかし放題なので正直アップデートがリリースされても数日は様子見をしてからでないと怖くて当てられたものじゃない。

それと、何をお考えなのかユーザーの都合お構いなし実行中のプログラム無視でOSの再起動を勝手にやからしてくれるとか、集計中のデータふっとんじゃったりして

もう事故じゃなく人災じゃね?コレ

そんな気持ちのユーザーを更に煽ってくれるのが、これまでの月例更新をやめて今後は日付決めないで自動更新するという発表。

いつ再起動するかわからない。PC点けっぱの人には毎日黒ひげ危機一髪以上の緊張感を味あわせてくれるらしい。

なのでユーザー側としてはWindowsUpdate関係のサービスを停めたりとかするのだが、Microsoftさんの方も対策してくるだろうから「がとらぼ」的には「WindowsUpdateのサーバに繋がらなくさせる」。これでしょ。

この記事は単にずっとWindowsUpdateサービスを利用しないことを勧めるものではなく、勝手なタイミングでの自動更新やMicrosoftのミスによる更新トラブルを避けようというもの。WindowsUpdate更新ファイル提供から2日程度様子を見てトラブルが発生していないようであれば都合の良いタイミングで早々に更新するべき。

先ずは基本としてWindows Updateサービスを停止する。

WindowsUpdate Service停止 1
「コントロールパネル」から「管理ツール」を開き、「サービス」をクリック。
サービスの一覧から「Windows Update」を探す。

WindowsUpdate Service停止 2
「Windows Update」の行を右クリックして「プロパティ」を左クリック。

WindowsUpdate Service停止 3
「Windows Updateのプロパティ」が開くので「サービスの状態」が「実行中」であれば「停止」を押す。「スータトアップの種類」を「無効」にする。[適用][OK]を押す。

ただし、Windows Updateサービスを停止していたつもりがいつの間にか動くようになっていることが往々にしてあるのでこの方法は全く当てにならない。

ここからが本題

更新しようとしてもWindows Updateのサーバに繋がらなければ確実じゃない?
だったらWindowsUpdate用サーバのIPアドレスをリストしてファイアウォールで通信を止めれば良いじゃんということで始めたのがこの記事。
でも、Microsoftの方ではサーバはホスト名だけ公開してIPアドレスは動的に変わるから出さないよ的なスタンス。
そこで、判っているホスト名から毎日定期的にIPアドレスを引きまくってIPアドレスを蓄積。これをIPアドレスリストやファイアウォール用のスクリプトとして公開(毎日更新)。2015年7月現在では予想に反してホスト数はあまり多くない。
フィルタルールが数十数百程度ならファイアウォールも殆ど速度低下などの影響なく使える筈。

2022年1月26日追記 リストの自動更新を停止しました (2017年からホスト名の収集を怠っているため既に役に立たないかもしれません)

IPアドレスリストおよびFireWallルールファイル

いつからか以下みたいなのが追加になっているが、存在が判明している分以外にもベラボーに存在する可能性があるのでIPアドレスを引かずhostsファイル対応とする。(正直扱いに困る)
c:\windows\system32\drivers\etc\hostsファイルの末尾に以下を追記。

1
2
3
4
5
6
7
8
0.0.0.0 0001c5-1.l.windowsupdate.com
0.0.0.0 000292-1.l.windowsupdate.com
0.0.0.0 00095f-1.l.windowsupdate.com
0.0.0.0 000c4f-1.l.windowsupdate.com
0.0.0.0 000f0b-1.l.windowsupdate.com
0.0.0.0 001930-1.l.windowsupdate.com
0.0.0.0 001d81-1.l.windowsupdate.com
0.0.0.0 00211f-1.l.windowsupdate.com

download.windowsupdate.comのIPアドレスを全て拒否するとMSN系のウェブサイトにアクセスできない場合があるので注意。

2016年3月29日変更: IPアドレスを整理してCIDRにしたリストを提供していたが、IPアドレスが含まれるCIDR全体をリストアップという手法にしたら通常のWindows利用にさえ差し障るようなので公開中止にした。

取り敢えずこの記事を書いている2015年7月下旬現在はWindows7, Windows8.1でWindows Updateのサーバーに繋がらないことを確認している。Windows8.1以下やWindows Server、Officeなどのアプリはもはや確認していない。

2016年3月29日追記:
Windows Defenderの定義ファイルの更新の際にgo.microsoft.comとwww.microsoft.comを見に行ってるみたいだけどこの2つは通信をブロックしなくても定義ファイルの更新自体は阻止できるようなのでIPアドレスリストから外した。「Windows Defenderの定義ファイルが更新されてしもうたやんけ」という事態になるようだったらまたリストに入れる予定。

Windowsのhostsファイル(c:\windows\system32\drivers\etc\hosts)にIPアドレス127.0.0.1 & Windows Update関係のホスト名を書いてipconfig /flushdnsを行ってもfe2.update.microsoft.comあたりはハードコーティングされてるらしく強制的にdnsを使って名前解決するみたい。だから広告ブロックと同じようにhostsファイルを使って名前解決を妨害する手法でWindows Updateを阻止しようとしてもダメみたい。

2016年5月6日追記:
もともとWindows7用から始まったこの記事だがWindows10 (Home/Pro)用とする。
一部のIPアドレスが完全に重複するホストについては省略することにした。
これまで一部情報収集系のホストがWindows Updateフィルタに(わざとだけど)混ざってたのをはっきり分離した(つもり)。更新だけ止めたいとか情報収集だけ止めたいとかに対応。
情報収集系ホストについてはWindows Privacyフィルタに別建てしたのでどうぞ。
この記事の題名からMicrosoftの文字を外した。
これまでpf用テーブルのみの提供だったがLinuxでよく利用されるiptablesを設定するためのBourne ShellスクリプトとWindows FirewallをPowerShellで設定するためのスクリプトの提供を開始した。

2016年5月26日追記:
外国のサーバでIPアドレス収集したら違う結果が得られるのでリージョン分けしているのが確定。予想はしてたけど。
その分ける範囲がどのくらい細かいのかがわからないのが困る。

2016年5月27日追記:
アメリカとドイツのサーバでIPアドレスを収集し始めたのでそれらも公開対象に。
アメリカのは太平洋側に近い側にあるサーバで米国全土がこれでいけるのかは不明。
もっとサーバが欲しい。

2016年6月24日追記:
Windows Firewall用スクリプトを作成するSQLクエリに誤りがあり旧プライバシーフィルタ用に取得したIPリストが誤って入り込んでいることが判明。SQLクエリを修正すると共にデータベースのゴミを除去。

Windows Defenderの定義ファイル更新時に見に行くwww.microsoft.com, go.microsoft.comについては無視することにしているが時々見に行くdefinitionupdates.microsoft.comの扱いに悩む。

2016年9月14日追記:
Instagramのウェブが表示されない場合はctldl.windowsupdate.comとdownload.windowsupdate.comに含まれる110.232.152.51~110.232.152.64辺りのIPアドレスをフィルタから消してあげると正常になる場合があります。時期によって変わるかもしれない。

2016年11月5日追記:
ドイツのレンタルサーバが停められていたのでIPアドレス取得ができていなかった。
レンタルサーバでやると面倒なのでそれぞれの国の公開リゾルバを利用して名前解決することに。

2017年4月18日追記:
Windows 10 Creators Update提供開始後に追加されたであろうホストを追加した。

2017年4月19日追記:
PF用についてIPv6ホストリストの提供を開始した。iptables用とWindows用は準備中。

2017年4月30日追記:
PF用について全世界版IPv4とIPv6ホストリストの提供を開始した。巨大リストになっているので物好きな人だけご利用下さい。提供開始初日から巨大リストだけど更に肥大する可能性大。

2017年11月16日追記:
全世界版のIPv4リストが巨大になりすぎたのでIPアドレスの重複を無くしマージしたものを最適化版として提供開始

2019年2月6日追記:
全世界版はリストが巨大すぎなのとバッチ処理が1日を超えるので提供中止にした。

関連記事:


コメント: Windows Updateフィルタ

  1. ありがとうございました。
    助かりました

  2. ありがとうございます!
    かなりの数のドメインが列挙されていますが、これは、どのように収集されたんでしょう?

  3. すみません、この記事で提供しているホスト名とそれから正引きしたIPアドレスは2017年から更新されていないので現行のWindows 10では役に立たない部分があります。2017年以降にWindows Update用に追加されたホストには対応していません。追加されたまたは廃止されたホスト名 or IPアドレスの有無も確認できていません。(リスト自体は自動更新されていますが元ネタになるホスト名が最新状態になるよう追加・削除されていません)
    リストがメンテナンスされているものと誤解される元になるので、本日フィルタのリストの自動更新を停止しました。

    ホスト名またはIPアドレスの収拾は特別なことはしていません。
    クリーンインストールしたWindows 10 HomeとProのPCをネットワーク通信をキャプチャできる状態にして稼働放置して、さらにWindows Updateを実際行って名前解決が発生したもの、またはWindows Updateと関係のありそうなホストと通信した場合はそのIPアドレスを収集するというものです。
    名前解決ではIPアドレスではなくホスト名を収集します。その後、日本,北米,欧州にあるレンタルサーバや公開リゾルバ等でホスト名から正引きを繰り返すというものです。(地域や時期によって違うIPアドレスを得られる可能性があるので)

  4. 「セキュリティが強化されたファイアウォール」でWindowsUpdate関連のサービスの通信をブロックする方法でアップデートを食い止めることに成功しました。
    文字だけでこの方法が伝わるかわかりませんが、皆様の希望となるようにここに書き残します。

    環境: Windows10 Home 64bit
    バージョン: 21H1
    OSビルド: 19043.1415

    1. 「受信の規則」で「新しい規則」をクリックする。
    2. 「新規の受信の規則ウィザード」が表示されるので、「カスタム」をクリックして「次へ」をクリックする。
    3. サービスの「カスタマイズ」をクリックする。
    4. ラジオボタン「このサービスに適用する」を選択し、「Windows Update wuauserv」を選択する。OKをクリックする。
    5. 「次へ」をクリックする。
    6. 「次へ」をクリックする。
    7. 「接続をブロックする」を選択して、「次へ」をクリックする。
    8. 「次へ」をクリックする。
    9. 名前は何でもいいので入力して、「完了」をクリックする。

    これで1個のルールが作れたので、もう1個作ります。
    上記4の部分を「Windows Update Medic Service WaasMedicSvc」を選択して同じようにルールを作成します。

    これでWindowsUpdate関連のサービスはファイアウォールでブロックされます。
    弊害としてMicrosoft Storeでダウンロードできなくなる問題があります。( WSL2に使うUbuntuがダウンロードできなくなりました )
    ブロックを解除すると、忌々しいアップデートが復活し、再びMicrosoft Storeが使えるようになりました。

    この状態で手動で何度もWindows Updateを実行していますが、「お使いのデバイスには、重要な更新プログラムがありません」と出て、アップデートは阻止されています。
    お試しあれ。

  5. 情報ありがとうございます。
    更新ブロックをあれこれやっても暫くするといつのまにかブロック無効になって更新機能が動いていることがあるのでガッカリするんですよね。
    試してみます。HomeとProで試してみます。効果が持続するかの確認は1ヶ月以上かかるかもしれませんが。

コメントは締め切られています。