Разрешить только обновления Windows.

Базовая функциональность RouterOS
Ответить
Дмитрий
Сообщения: 14
Зарегистрирован: 15 фев 2018, 13:06

Разрешить только обновления Windows.

Сообщение Дмитрий » 10 окт 2018, 08:48

Доброе утро всем!
Столкнулся с такой задачей: есть небольшая локальная сеть, там только сервера, доступ к которым осуществляется только из локальных сетей других офисов через VPN, т.е. снаружи доступа к ним нет. Доступ из этой локальной сети в мир полностью закрыт, однако, сервера должны обновляться, поэтому есть необходимость открыть доступ только для обновлений Windows.
Полистал Интернет, нашёл решения на базе L7-firewall. Попробовал реализовать у себя, но сервера не обновляются, не могу понять почему.

Вот такие вот regexp я пробовал в правилах L7 (три варианта):
/ip firewall layer7-protocol
add name=test_microsoft_updates2 regexp=\
"^.+(microsoft|windows|update|updates).*\$"
add name=test_microsoft_updates1 regexp="^.+(windowsupdate.microsoft.com|go.mi\
crosoft.com|update.microsoft.com|windowsupdate.com|microsoft.com|office.mi\
crosoft.com|download.windowsupdate.com|download.microsoft.com|wustat.windo\
ws.com|ntservicepack.microsoft.com|stats.microsoft.com|update.microsoft.co\
m.nsatc.net).*\$"
add name=test_microsoft_updates3 regexp="^.+(update.microsoft|windowsupdate|do\
wnload.microsoft|wustat|ntservicepack|update.microsoft.com|crl.microsoft.c\
om|download.microsoft.com|office.microsoft.com|download.windowsupdate.com|\
windowsupdate.com|ntservicepack.microsoft.com|officeupdate.microsoft.com|s\
tats.microsoft.com|v4.windowsupdate|v4.windowsupdate.microsoft.com|windows\
update.microsoft.com|wustat.windows.com|test.stats.update.microsoft.com|.m\
su|.manifest|.mum).*\$"

Вот такое само правило в ветке forward:
/ip firewall filter
add action=accept chain=forward comment=Windows_Updates layer7-protocol=test_microsoft_updates3

Перебрано оно с каждым из вариантов L7, не хочет сервер обновляться.
Подскажите, что не так, может кто-то сталкивался...
Роутер: Mikrotik CCR-1036, версия прошивки - 6.42.6

Заранее всем спасибо!

Аватара пользователя
Chupaka
Сообщения: 1969
Зарегистрирован: 29 фев 2016, 15:26
Откуда: Минск
Контактная информация:

Re: Разрешить только обновления Windows.

Сообщение Chupaka » 10 окт 2018, 11:15

Доброе. А где остальные правила?

Напоминаю, что это правило будет ловить отнюдь не первый пакет соединения, поскольку данные, которые обрабатываются L7, идут по соединению уже после трёхстороннего рукопожатия TCP, которое, как минимум, тоже надо разрешить. Также не факт, что правила будут помечать и все последующие пакеты соединения, поэтому в таких случаях при срабатывании L7 на соединение вешается connection-mark - и дальше уже пакеты обрабатываются по этой метке.

В общем, проще, как мне кажется, сделать через Web Proxy :)

Дмитрий
Сообщения: 14
Зарегистрирован: 15 фев 2018, 13:06

Re: Разрешить только обновления Windows.

Сообщение Дмитрий » 10 окт 2018, 14:37

Добрый день Chupaka!

Правило, которое разрешает в ветке forward пакеты established и related тоже есть на строку выше правила L7. Этого недостаточно? По поводу connection-mark, я читал, что это не обязательно, а лишь облегчает работу CPU микротика...
Сделать через Web Proxy - если честно, я не понимаю как это сделать... :(

Дмитрий
Сообщения: 14
Зарегистрирован: 15 фев 2018, 13:06

Re: Разрешить только обновления Windows.

Сообщение Дмитрий » 10 окт 2018, 14:44

Я ещё пробовал через поле context в правилах firewall, однако, тоже не вышло.

Аватара пользователя
Chupaka
Сообщения: 1969
Зарегистрирован: 29 фев 2016, 15:26
Откуда: Минск
Контактная информация:

Re: Разрешить только обновления Windows.

Сообщение Chupaka » 10 окт 2018, 15:00

Да не выйдет. Процесс такой:

1) клиент отправляет TCP SYN серверу <= я так понимаю, тут ваши правила дропают его :)
2) сервер отправляет клиенту SYN ACK <= accept established,related начинают работать отсюда и далее
3) клиент отправляет серверу ACK
4) клиент отправляет серверу данные (запрос) <= может быть, правила L7 сработают на этот пакет; contents тоже не ранее
5) сервер отправляет клиенту данные (ответ) <= а может быть, и здесь (а может, ещё где дальше)

А в чём с Web Proxy проблема?

Дмитрий
Сообщения: 14
Зарегистрирован: 15 фев 2018, 13:06

Re: Разрешить только обновления Windows.

Сообщение Дмитрий » 11 окт 2018, 09:16

Я не очень понимаю как сервер будет использовать прокси для скачивания обновлений...
Я понимаю, что его можно использовать для контроля за тем, по каким сайтам пользователям разрешено лазить, по каким нет, там просто надо в браузере вписать адрес прокси, а вот как обновы через прокси качать, я понятия не имею...
Поэтому и задался вопросом о L7 правилах. Вроде как все можно сделать с их помощью, но что-то не выходит, перечитал кучу всего и не могу понять где ошибся. Кстати, по поводу ваших замечаний в Шаге 1, а почему он его дропает? Ведь есть разрешающее правило L7, которое по регулярному выражению должно пропустить этот пакет, а дальше все по правилу establish будет отрабатывать после установления сессии.

Аватара пользователя
Chupaka
Сообщения: 1969
Зарегистрирован: 29 фев 2016, 15:26
Откуда: Минск
Контактная информация:

Re: Разрешить только обновления Windows.

Сообщение Chupaka » 11 окт 2018, 09:44

Блин, я же всё расписал. С чего вдруг правило L7 будет реагировать на первый пакет, если данные, которые обрабатывает L7, появляются лишь в четвёртом пакете?

wan
Сообщения: 65
Зарегистрирован: 20 авг 2017, 13:43

Re: Разрешить только обновления Windows.

Сообщение wan » 22 окт 2018, 18:52

Дмитрий писал(а):
11 окт 2018, 09:16
а вот как обновы через прокси качать, я понятия не имею...
открою маленькую тайну, служба Windows Update использует настройки прокси из Internet Explorer. Следовательно, если вы зададите параметры прокси в настройках винды - она будет качать обновления через ваш прокси сервер.
Проще и не заморачиваясь вообще, поднять свой сервер обновлений и политиками сказать всей сети качать обновы с него. Первый плюс - обновления качает только один сервер и затем раздает в сеть кому ни попидя. Второй плюс - ,врядли конечно, но вдруг инет тарифицируется и вам счет придет на лярд денег, но это уже так, вспоминая 90-е годы :lol:

Дмитрий
Сообщения: 14
Зарегистрирован: 15 фев 2018, 13:06

Re: Разрешить только обновления Windows.

Сообщение Дмитрий » 25 окт 2018, 13:58

Добрый день wan!
Спасибо за подсказку насчёт "служба Windows Update использует настройки прокси из Internet Explorer", я этого не знал.
Вариант с wsus откинуло руководство, почему - не знаю...
Попробую через прокси решить вопрос.

wan
Сообщения: 65
Зарегистрирован: 20 авг 2017, 13:43

Re: Разрешить только обновления Windows.

Сообщение wan » 25 окт 2018, 15:37

Дмитрий писал(а):
25 окт 2018, 13:58
Спасибо за подсказку насчёт "служба Windows Update использует настройки прокси из Internet Explorer", я этого не знал.
не за что
Дмитрий писал(а):Вариант с wsus откинуло руководство, почему - не знаю...
странное решение руководства, но это не удивляет, на то оно и руководство :D
WSUS сам по себе бесплатный, кроме сервера с виндой ему ничего не нужно,... прекрасно поднимается на ESXI
Ну... это руководству виднее, не будем мешать руководить :D

Ответить