Доброе утро всем!
Столкнулся с такой задачей: есть небольшая локальная сеть, там только сервера, доступ к которым осуществляется только из локальных сетей других офисов через 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
Заранее всем спасибо!
Разрешить только обновления Windows.
-
- Сообщения: 14
- Зарегистрирован: 15 фев 2018, 13:06
-
- Сообщения: 4086
- Зарегистрирован: 29 фев 2016, 15:26
- Откуда: Минск
Re: Разрешить только обновления Windows.
Доброе. А где остальные правила?
Напоминаю, что это правило будет ловить отнюдь не первый пакет соединения, поскольку данные, которые обрабатываются L7, идут по соединению уже после трёхстороннего рукопожатия TCP, которое, как минимум, тоже надо разрешить. Также не факт, что правила будут помечать и все последующие пакеты соединения, поэтому в таких случаях при срабатывании L7 на соединение вешается connection-mark - и дальше уже пакеты обрабатываются по этой метке.
В общем, проще, как мне кажется, сделать через Web Proxy
Напоминаю, что это правило будет ловить отнюдь не первый пакет соединения, поскольку данные, которые обрабатываются L7, идут по соединению уже после трёхстороннего рукопожатия TCP, которое, как минимум, тоже надо разрешить. Также не факт, что правила будут помечать и все последующие пакеты соединения, поэтому в таких случаях при срабатывании L7 на соединение вешается connection-mark - и дальше уже пакеты обрабатываются по этой метке.
В общем, проще, как мне кажется, сделать через Web Proxy
-
- Сообщения: 14
- Зарегистрирован: 15 фев 2018, 13:06
Re: Разрешить только обновления Windows.
Добрый день Chupaka!
Правило, которое разрешает в ветке forward пакеты established и related тоже есть на строку выше правила L7. Этого недостаточно? По поводу connection-mark, я читал, что это не обязательно, а лишь облегчает работу CPU микротика...
Сделать через Web Proxy - если честно, я не понимаю как это сделать...
Правило, которое разрешает в ветке forward пакеты established и related тоже есть на строку выше правила L7. Этого недостаточно? По поводу connection-mark, я читал, что это не обязательно, а лишь облегчает работу CPU микротика...
Сделать через Web Proxy - если честно, я не понимаю как это сделать...
-
- Сообщения: 14
- Зарегистрирован: 15 фев 2018, 13:06
Re: Разрешить только обновления Windows.
Я ещё пробовал через поле context в правилах firewall, однако, тоже не вышло.
-
- Сообщения: 4086
- Зарегистрирован: 29 фев 2016, 15:26
- Откуда: Минск
Re: Разрешить только обновления Windows.
Да не выйдет. Процесс такой:
1) клиент отправляет TCP SYN серверу <= я так понимаю, тут ваши правила дропают его
2) сервер отправляет клиенту SYN ACK <= accept established,related начинают работать отсюда и далее
3) клиент отправляет серверу ACK
4) клиент отправляет серверу данные (запрос) <= может быть, правила L7 сработают на этот пакет; contents тоже не ранее
5) сервер отправляет клиенту данные (ответ) <= а может быть, и здесь (а может, ещё где дальше)
А в чём с Web Proxy проблема?
1) клиент отправляет TCP SYN серверу <= я так понимаю, тут ваши правила дропают его
2) сервер отправляет клиенту SYN ACK <= accept established,related начинают работать отсюда и далее
3) клиент отправляет серверу ACK
4) клиент отправляет серверу данные (запрос) <= может быть, правила L7 сработают на этот пакет; contents тоже не ранее
5) сервер отправляет клиенту данные (ответ) <= а может быть, и здесь (а может, ещё где дальше)
А в чём с Web Proxy проблема?
-
- Сообщения: 14
- Зарегистрирован: 15 фев 2018, 13:06
Re: Разрешить только обновления Windows.
Я не очень понимаю как сервер будет использовать прокси для скачивания обновлений...
Я понимаю, что его можно использовать для контроля за тем, по каким сайтам пользователям разрешено лазить, по каким нет, там просто надо в браузере вписать адрес прокси, а вот как обновы через прокси качать, я понятия не имею...
Поэтому и задался вопросом о L7 правилах. Вроде как все можно сделать с их помощью, но что-то не выходит, перечитал кучу всего и не могу понять где ошибся. Кстати, по поводу ваших замечаний в Шаге 1, а почему он его дропает? Ведь есть разрешающее правило L7, которое по регулярному выражению должно пропустить этот пакет, а дальше все по правилу establish будет отрабатывать после установления сессии.
Я понимаю, что его можно использовать для контроля за тем, по каким сайтам пользователям разрешено лазить, по каким нет, там просто надо в браузере вписать адрес прокси, а вот как обновы через прокси качать, я понятия не имею...
Поэтому и задался вопросом о L7 правилах. Вроде как все можно сделать с их помощью, но что-то не выходит, перечитал кучу всего и не могу понять где ошибся. Кстати, по поводу ваших замечаний в Шаге 1, а почему он его дропает? Ведь есть разрешающее правило L7, которое по регулярному выражению должно пропустить этот пакет, а дальше все по правилу establish будет отрабатывать после установления сессии.
-
- Сообщения: 4086
- Зарегистрирован: 29 фев 2016, 15:26
- Откуда: Минск
Re: Разрешить только обновления Windows.
Блин, я же всё расписал. С чего вдруг правило L7 будет реагировать на первый пакет, если данные, которые обрабатывает L7, появляются лишь в четвёртом пакете?
-
- Сообщения: 87
- Зарегистрирован: 20 авг 2017, 13:43
Re: Разрешить только обновления Windows.
открою маленькую тайну, служба Windows Update использует настройки прокси из Internet Explorer. Следовательно, если вы зададите параметры прокси в настройках винды - она будет качать обновления через ваш прокси сервер.
Проще и не заморачиваясь вообще, поднять свой сервер обновлений и политиками сказать всей сети качать обновы с него. Первый плюс - обновления качает только один сервер и затем раздает в сеть кому ни попидя. Второй плюс - ,врядли конечно, но вдруг инет тарифицируется и вам счет придет на лярд денег, но это уже так, вспоминая 90-е годы
-
- Сообщения: 14
- Зарегистрирован: 15 фев 2018, 13:06
Re: Разрешить только обновления Windows.
Добрый день wan!
Спасибо за подсказку насчёт "служба Windows Update использует настройки прокси из Internet Explorer", я этого не знал.
Вариант с wsus откинуло руководство, почему - не знаю...
Попробую через прокси решить вопрос.
Спасибо за подсказку насчёт "служба Windows Update использует настройки прокси из Internet Explorer", я этого не знал.
Вариант с wsus откинуло руководство, почему - не знаю...
Попробую через прокси решить вопрос.
-
- Сообщения: 87
- Зарегистрирован: 20 авг 2017, 13:43
Re: Разрешить только обновления Windows.
не за что
странное решение руководства, но это не удивляет, на то оно и руководствоДмитрий писал(а):Вариант с wsus откинуло руководство, почему - не знаю...
WSUS сам по себе бесплатный, кроме сервера с виндой ему ничего не нужно,... прекрасно поднимается на ESXI
Ну... это руководству виднее, не будем мешать руководить