image
Однажды один чувак из очень крупной компании работал дома, подключившись к роутеру Pepwave Surf SOHO, который настраивал я. В течение долгого времени всё было хорошо. Но в один момент он заметил, что Windows 10 перестала обновляться.

Роутер под подозрение не попал, потому что, как и в случае с любой крупной компании при работе на удаленке, мой клиент первым делом подключался к корпоративному VPN. Как показывает мой опыт работы с коммерческими VPN, все биты и байты идут к компьютеру или от компьютера через VPN-соединение/туннель, и роутер не замечает этого. Все, что он видит — это одно зашифрованное соединение с VPN-сервером.

После обнаружения проблемы сотрудник обратился к техподдержке, которая скачала и установила на его компьютер пакет обновления Windows 10 1909. На тот момент этот пакет обновлений был довольно новым, но последующих обновлений не появлялось. Так это не решило реальную проблему, через несколько месяцев опять возник вопрос с обновлением Windows 10. Что же происходило?

Существует множество типов VPN, и у каждого из них разные варианты конфигурации. Один из вариантов называется split-tunneling (раздельное туннелирование). Раздельное туннелирование подразумевает, что часть данных проходит через VPN-соединение, а часть нет. Такую опцию я видел в некоторых VPN, например SplitBear в Tunnelbear, но никогда с ней не сталкивался.  

Возможно ли, что запросы Windows для проверки обновлений не проходят через VPN и находятся «во власти» защитных средств роутера?

Пока трудно сказать, но можно точно определить, использует VPN раздельное туннелирование или нет — Surf SOHO отображает каждое соединение с ПК. Ниже показан пример того, как выглядит этот отчет. Устройство с IP-адресом 192.168.1.184 имеет пять соединений, использующих SSL на порту 443, и два соединения, использующих HTTP на порту 80. Если VPN не использовал бы раздельное туннелирование, то в отчете фигурировало бы только одно соединение с VPN-сервером.


При детальном изучении пациента выяснилось, что он имеет множество различных подключений к компьютерам в Интернете, а значит не все данные проходят через корпоративный VPN. Вот теперь роутер попал под подозрением.

Политика фаервола


Первое, на что я обратил внимание — это политика фаервола относительно исходящего трафика (вкладка Advanced --> Access Rules). У роутера их оказалось довольно много, поэтому я сделал исключение для корпоративного компьютера. Как показано ниже, я создал новую политику, которая позволяла любому трафику с корпоративного компьютера покидать роутер. 


Новая политика

Конец истории, как я думал.

Но, как оказалось, проблема не ушла.

Web blocking


Теперь я решил проверить блокировку доменов, доступных по HTTP и HTTPS. Роутер блокировал тонны доменов (пример ниже), и я не хотел снимать блокировку для всех других устройств, подключенных к нему. Итак, еще одно вырезанное исключение.


Блокирование веб-сайтов Peplink 

Самое клевое в блокировании веб-страниц Peplink — это работа по принципу подстановочных знаков. Например, если попросить его заблокировать yahoo.com, то также он заблокирует mail.yahoo.com, sports.yahoo.com, news.yahoo.com и anything.else.yahoo.com. Часто люди неправильно набирают «.com» в URL как «.cm», что приводит к многочисленным опечаткам, когда плохие парни регистрируют домены «.cm» для вредоносных целей. Если заблокировать «cm» (см. скриншот выше), то будет заблокирован каждый домен, который заканчивается на «.cm».

Если нужно сделать исключение или белый список, то можно исключить подсети. Интерфейс роутера и руководство не говорят о том, что подсеть может быть такой же маленькой, как один компьютер. Как показано ниже, корпоративный компьютер (IP-адрес 192.168.1.11) теперь был исключен из доменов, заблокированных в Интернете.


К сведению: позже мне пришлось сделать еще одно исключение, когда приставка ROKU, подключенная к роутер, не смогла воспроизвести видео с YouTube.

И опять я решил, что с этим покончено. Но обновлений как не было, так и нет. На этом этапе у меня появилось искушение обвинить во всём Microsoft. 

DNS


Последним средством защиты в роутере был DNS.

Сделаем отступ на секунду. DNS развивается. DNS старой школы не шифруются. А более новые DNS, предлагаемые DoH и DoT, шифруются и обходят DNS в роутере, как это делают VPN и TOR. Windows 10 пока не поддерживает зашифрованный DNS. И когда это произойдет, то политики фаервола станут очень интересной темой. Но здесь речь идет об легаси DNS.

Все устройства, подключенные к Surf SOHO, вынуждены использовать роутер для DNS. Это опциональная (и замечательная) функция роутеров Peplink. Дети не могут обойти DNS-серверы с фильтром небезопасного контента, путем жесткого кодирования других DNS-серверов в своих устройствах. Роутер рулит :-)

DNS можно использовать для блокировки, просто назначив тому, что вы хотите заблокировать, недопустимый IP-адрес, например 0.0.0.0. На роутерах Peplink это делается в разделе Сеть --> Настройки сети -> Локальные записи DNS. Вот как это выглядит.


Недостатком DNS является то, что он блокирует один адрес за раз. Он не может заблокировать facebook.com так, как это делает Web Blocking. С DNS вам придется блокировать abc.facebook.com, def.facebook.com и anything.you.want.facebook.com по отдельности. Преимущество в том, что блокировка является полной. Web blocking блокирует только HTTP и HTTPS. DNS блокирует все протоколы.

Роутер использовал DNS для блокировки довольно длинного списка серверов. Какие из них, если таковые имеются, мешали Windows 10 узнавать о доступных обновлениях? Я решил перенести несколько доменов в раздел Web Blocking (в котором уже было сделано исключение для корпоративного компьютера).

prod.do.dsp.mp.microsoft.com

settings-win.data.microsoft.com

sls.update.microsoft.com

watson.telemetry.microsoft.com

ctldl.windowsupdate.com

Оказалось, что эти пять доменов/поддоменов могут блокировать Windows Update

Бинго!

После восстановления доступа к вышеуказанным пяти доменам/поддоменам Windows 10 наконец-то смогла обновиться.

Комментарии (10)


  1. Aleksandr-JS-Developer
    03.06.2022 15:39
    +8

    В течение долгого времени всё было хорошо. Но в один момент он заметил, что Windows 10 перестала обновляться.

    После обнаружения проблемы сотрудник обратился к техподдержке, которая скачала и установила на его компьютер пакет обновления Windows 10 1909 ... но последующих обновлений не появлялось. Так это не решило реальную проблему, через несколько месяцев опять возник вопрос с обновлением Windows 10.

    Вы что, шутите? Про какую проблему вы говорите? Люди не могут нормально отключить эти обновления и идут на костыли, а тут они "сами пропали"! Покупаю! /pain


    1. ifap
      03.06.2022 17:45

      В конце статьи список доменов для блокировки людьми, которые не могут ;)


  1. Compiller
    03.06.2022 15:40

    Windows же уже умеет в шифрованный DNS?


  1. Vadimio
    03.06.2022 16:13
    +1

    А чё это так?


    1. Loggus66
      03.06.2022 16:26

      Среди западных пользователей считается, что на .ru прежде всего хостятся вирусы. Присылаешь ссылку - в ответ "я не буду туда переходить".


    1. Ritan
      03.06.2022 17:24
      +1

      Вы ещё на собственном сайте это ублюдка не были
      https://michaelhorowitz.com/WindowsUpdate.vs.a.Router.php

      Стоит просто заголовок посмотреть


      1. Moraiatw
        03.06.2022 17:51

        Реквестирую администрацию отменить эту статью с хабра.


  1. Pochemuk
    03.06.2022 16:16
    -1

    Спасибо! Теперь буду знать, как отключить обновления Вындуз в корпоративной сети :)

    Шучу. Я заблокировал скачивание и установку обновлений в групповых политиках домена. Есть, правда, небольшой недостаток: Если подключить комп к Инету для активации до введения его в домен, то обновления всё-таки начнут скачиваться и устанавливаться.


    1. ifap
      03.06.2022 17:50

      Если у Вас клиенты могут попасть во внешний мир без авторизации, то скачка обновлений - наименьшая из проблем ;)


  1. StjarnornasFred
    03.06.2022 17:24
    +1

    В течение долгого времени всё было хорошо. Но в один момент он заметил, что Windows 10 перестала обновляться.

    И даже не поблагодарил?