1. Введение
В комментариях опубликованной ранее статьи один из пользователей спросил: «А можно добавить раздел про то, как нужно защитить свой, микротик чтобы управление им не ушло на сторону?». Один из пользователей написал на это следующее: «Универсальных принципов для любого сетевого устройства два – администрирование только с внутреннего интерфейса (снаружи закрыто все) и регулярно обновлять прошивку» (сохранена авторская орфография). А мы сразу поняли, что одним коротким ответом здесь не обойтись, и этот вопрос заслуживает полноценного отдельного рассмотрения с учётом широких возможностей операционной системы RouterOS, а также сопрягаемых с ней opensource решений, комплексно завершающих проблемный вопрос информационной безопасности. Кроме непосредственно настройки безопасности доступа до маршрутизатора, необходимо использовать его как полноценный барьер для разноуровневых атак, которые могут быть нацелены на защищаемую сеть. Технологий реализации этого достаточно много, поэтому разделим применяемые возможности на логические уровни и представим предметные рекомендации по администрированию сетей на базе оборудования MikroTik.
Для того, чтобы статья не была слишком громоздкой, разделим её на четыре части. В первой части рассмотрим общие рекомендации по настройке безопасности оборудования MikroTik, организацию безопасности L1 и L2. Во второй части продолжим говорить про L2, а именно про работу протокола Dot1X, рассмотрим безопасность L3. В третьей части покажем реализацию централизованного логирования. В четвёртой части (завершающей) расскажем про вариант настройки полноценной IDS, что в комплексе позволит достаточно широко осветить способы защиты оборудования MikroTik. Приступим к технической части.
2. Общие рекомендации
Первое, что мы всегда делаем с железкой — это обновляем прошивку:
/system package update check-for-updates
Всегда интересно посмотреть, что же производитель там пофиксил. А если дело касается CVE, тогда вдвойне интереснее. Конечно, эксплойтов для каждой решённой проблемы в свободном доступе не найти, а может, их вообще не существует за пределами компании MikroTik. Кроме этого, можно встретить анонс долгожданных настроек, таких как UDP для OpenVPN, который уже есть в 7
/system package update download
/system package update install
Далее смотрим, сколько создано пользователей, лишних удаляем. Ставим пароли, соответствующие политике информационной безопасности компании, если такая есть, если нет, тогда просто посильнее:
/user print
Columns: NAME, GROUP, LAST-LOGGED-IN
# NAME GROU LAST-LOGGED-IN
;;; system default user
0 admin full aug/02/2021 06:36:04
/user set admin password=verySTRONGpassword!!
Если паранойя зашкаливает, тогда используем SSH вход без ввода пароля (и пользователя admin можно заменить на другого). Сгенерим пару RSA ключей, размер укажем 4096 бит, что уж мелочиться:
ssh-keygen -t rsa -b 4096 -f /root/test_user
На выходе будет закрытый ключ test_user:
-----BEGIN RSA PRIVATE KEY-----
MIIJKAIBAAKCAgEAqsZIz/….iUo/3a6dz/NasizOQ/DHnOvN3K0CGtfkD6g=
-----END RSA PRIVATE KEY-----
И открытый ключ test_user.pub:
ssh-rsa AAAAB….ue/de9l7Zw== root@debian
Привяжем открытый ключ к пользователю RouterOS:
/user ssh-keys import public-key-file=test_user.pub user=admin
/user ssh-keys print
Flags: R - RSA, D - DSA
# USER BITS KEY-OWNER
0 R admin 4096 root@debian
Добавляем хардкор, запретив логиниться по паролю:
/ip ssh set always-allow-password-login=no
ssh -i test_user admin@10.0.0.1
Важно отметить, что если есть пользователь, для которого не импортирован публичный ключ, то, несмотря на вышепоказанную настройку, RouterOS сохраняет возможность логиниться под ним с помощью пароля. С учётными записями разобрались, далее выключаем серверы различных протоколов управления, в том числе небезопасные, разумеется, есть ли они вам не нужны:
/ip service set telnet disabled=yes
/ip service set ftp disabled=yes
/ip service set www disabled=yes
/ip service set www-ssl disabled=yes
/ip service set winbox disabled=yes
/ip service set api disabled=yes
/ip service set api-ssl disabled=yes
Можно поменять прослушиваемый порт для SSH сервера. Особенно на значение, не входящее в сканируемые по умолчанию nmap-ом, но мы в этом защиты не видим, скорее маскировка:
/ip service set ssh port=2223
Поясним. Nmap, на наш взгляд, самый распространённый сетевой сканер. Если ваше устройство кто-то будет сканировать, то велика вероятность, что именно им. Nmap с параметрами по умолчанию сканирует не все 65535 портов, поэтому, указав серверу ssh прослушивать «редкий порт», вы отсеете большое число «любителей» пофлудить сеть. Дополнительно сюда можно прикрутить технологию port knocking:
/ip firewall filter
add action=add-src-to-address-list address-list=LIST1 address-list-timeout=30s chain=input comment="Accept input SSH step 1" dst-port=28 in-interface=WAN protocol=tcp
add action=add-src-to-address-list address-list=LIST2 address-list-timeout=30s chain=input comment="Accept input SSH step 2" dst-port=29 in-interface=WAN protocol=tcp src-address-list=LIST1
add action=add-src-to-address-list address-list=LIST3 address-list-timeout=30s chain=input comment="Accept input SSH step 3" dst-port=30 in-interface=WAN protocol=tcp src-address-list=LIST2
add action=accept chain=input comment="Accept input SSH now" dst-port=22 in-interface=WAN protocol=tcp src-address-list=LIST3
add action=drop chain=input comment="Drop input SSH all" dst-port=22 in-interface=WAN protocol=tcp
Сканируем роутер и видим, что всё работает корректно. Сервер SSH будет недоступен, пока на роутер не пройдут попытки установления соединения на 28 порт, затем в течение 30 секунд на 29 порт, затем в течение 30 секунд на 30 порт. Если последовательность обращений верна и временные лимиты соблюдены, то IP адрес источника сможет в течение 30 секунд установить SSH сессию, а иначе drop:
nmap 192.168.15.9 -p 22
22/tcp filtered ssh
nmap 192.168.15.9 -p 28
28/tcp closed unknown
nmap 192.168.15.9 -p 29
29/tcp closed msg-icp
nmap 192.168.15.9 -p 30
30/tcp closed unknown
nmap 192.168.15.9 -p 22
22/tcp open ssh
Необходимо отметить, что если вы укажете порты стука примерно в таком порядке: 21, 80, 443, а прослушиваемый SSH порт перенесете на значение 8080 (все четыре входят в список по умолчанию для сканирования nmap), то ваш секретный порт 8080 определится при первом же сканировании. Если вы действительно хотите использовать технологию port knocking, то выбирайте порты в порядке уменьшения, а сами значения портов на «не сканируемые» nmap-ом: ни в режиме top 100, ни в режиме top 1000. Кроме этого, можно ограничить IP адреса, с которых доступны протоколы управления, на диапазон доверенных:
/ip service set ssh address=192.168.15.0/24,10.0.0.0/24
Таким образом, несмотря на то, что 22 порт готов принимать TCP соединение, однако с не доверенных IP адресов оно будет сброшено SSH сервером:
nmap 192.168.15.9 -p 22
22/tcp open ssh
ssh admin@192.168.15.9
ssh_exchange_identification: Connection closed by remote host
Как общие рекомендации, лучше не использовать протоколы, не имеющие шифрования для передачи защищаемой информации. Если такой возможности нет, тогда старайтесь пускать трафик по шифрованным VPN туннелям. Но лучше даже внутри таких соединений использовать безопасные протоколы, ведь VPN сеть может уходить далеко за пределы периметра, контролируемого вами. Если есть возможность, не используйте протоколы pap, http (в том числе при реализации API), ftp, smtp и т.д. Всегда используйте их безопасные аналоги: chap, mschap2, https, smtps.
Делайте регулярные резервные копии конфигураций ваших устройств. В RouterOS есть два типа backup: бинарный *.backup
/system backup save name=backup dont-encrypt=yes
и текстовый конфигурационный файл *.rsc
/export file=backup
Первый рекомендуется откатывать только на полностью идентичных устройствах, и не подлежит редактированию (при откате восстанавливается точный образ операционной системы). Второй же, наоборот, можно
3. Защита L1
Писать правила про установку сетевого оборудования в серверных помещениях, в защищённых телекоммуникационных ящиках, сейфах и т.д. мы не будем, это не тема статьи. Для защиты L1 на оборудовании MikroTik будет достаточно программно отключить не используемые сетевые интерфейсы:
/interface ethernet disable ether4_LAN
Сюда же пойдёт организация безопасности беспроводных соединений. В идеале, конечно, следует настроить WPA2-Enterprise (подробно о настройке RADIUS сервера мы напишем во второй части статьи), так как реальных угроз безопасности таких сетей пока не известно:
/interface wireless security-profiles
add authentication-types=wpa2-eap mode=dynamic-keys name=test radius-mac-mode=as-username-and-password supplicant-identity=""
Если такой вариант вам не подходит, тогда используйте WPA2-PSK со словарно неподбираемым паролем, который держите в тайне от третьих лиц, и отключённый PMKID:
/interface wireless security-profiles
add authentication-types=wpa2-psk disable-pmkid=yes eap-methods="" management-protection=allowed mode=dynamic-keys name=RUVDS supplicant-identity="" wpa2-pre-shared-key=verySTRONGpassword!!
Ещё можно запретить подключаться к точке доступа с низким уровнем сигнала, т.е. физически удалённым пользователям, которые, можно предположить, находятся за контролируемым периметром и не легитимны:
/interface wireless access-list
add allow-signal-out-of-range=1d authentication=no comment="Drop signal <= -80" interface=wlan1 signal-range=-120..-80
На этом свои рекомендации по поводу L1 безопасности остановим и перейдём к более интересным вещам.
4. Защита L2
Для начала ограничим работающие сервисы уровня L2:
/tool mac-server set allowed-interface-list=LAN
/tool mac-server mac-winbox set allowed-interface-list=LAN
Первый скрипт позволяет осуществлять mac-ping только для внутренней сети. Второй ограничивает L2 подключение посредством службы Winbox:
RouterOS поддерживает работу таких протоколов, как CDP, LLDP и MNDP. Чтобы не осуществлять широковещательную рассылку пакетов указанных протоколов во все стороны, ограничиваем их работу:
/ip neighbor discovery-settings set discover-interface-list=LAN
Чтобы со стороны провайдера не догадывались, что у вас стоит роутер MikroTik, можно сменить MAC адрес WAN интерфейса, но это скорее баловство:
/interface ethernet set [ find default-name=ether1 ] mac-address=BC:EE:AA:BB:CC:A0 name=WAN
Если в вашем L2 сегменте появится второй или более незаконный DHCP сервер, то это может здорово навредить работе всей сети. Так в примере видно, что работают две указанные службы (192.168.1.1 и 192.168.3.1), раздавая по факту разные сетевые настройки:
Для защиты от такого рода атак (ведь хакер может назначить и своё устройство в качестве шлюза) существует технология «DHCP snooping». После её активации бридж пропускает DHCP пакеты только в доверенную сторону:
/interface bridge add comment=defconf dhcp-snooping=yes name=bridge
/interface bridge port add bridge=bridge interface=ether2_LAN trusted=yes
Теперь поговорим о безопасности ARP протокола. Вмешаться в его работу можно, как в сторону роутера, так и в сторону оконечного устройства. Отправляя в сеть специально сгенерированные пакеты, можно отравлять ARP кэш. В результате шлюз может закипеть, от того, что его ARP таблица будет переполнена, а клиент может начать передавать свой трафик не туда, что для первого и второго случая делает хорошую почву для MITM. Попробуем реализовать описанные действия на практике:
apt install dsniff
echo '1' > /proc/sys/net/ipv4/ip_forward
arpspoof -i wlan0 -t 192.168.1.3 192.168.1.1
30:b5:c2:15:57:d2 68:7:15:9c:99:9c 0806 42: arp reply 192.168.1.1 is-at 30:b5:c2:15:57:d2
Защита оконечных устройств выходит за рамки данной статьи, но декларируем, что многие антивирусы справляются с этой задачей, детектируя манипуляции с ARP пакетами. На скрине видно, что действиями выше мы организовали MITM для хоста 192.168.1.3 и перехватили его HTTP запросы:
В следующем примере показаны ложные записи ARP таблицы маршрутизатора, а ведь так намеренно можно заполнить весь имеющейся пул и втупить работу легитимного DHCP сервера:
Для защиты от таких действий в RouterOS необходимо, первым делом, настроить DHCP сервер, что позволит активировать функцию заполнения ARP таблицы, либо в результате его работы, либо в ручном режиме:
/ip dhcp-server set dhcp_home add-arp=yes
После этого настраиваем бридж, переводя маршрутизатор в режим только ответа на ARP запросы (если у вас работает hotspot, то от этой идеи придётся отказаться, так как он перестанет нормально функционировать), таким образом, сторонние манипуляции будут бессильны:
/interface bridge set bridge arp=reply-only
Теперь поговорим про настройку технологии port security, VLAN и VLAN security в контексте информационной безопасности. Когда сеть введена в эксплуатацию и известно, кто, где, за что отвечает, тогда можно смело ограничивать соединения по MAC адресам соседних свичей, жёстко закрепив их значения за конкретными портами (подходит для коммутаторов CRS1xx/2xx):
/interface bridge port
add bridge=bridge1 interface=ether6 hw=yes learn=no unknown-unicast-flood=no
add bridge=bridge1 interface=ether7 hw=yes learn=no unknown-unicast-flood=no
/interface ethernet switch unicast-fdb
add mac-address=4C:5E:0C:00:00:01 port=ether6 svl=yes
add mac-address=D4:CA:6D:00:00:02 port=ether7 svl=yes
/interface ethernet switch acl add action=drop src-mac-addr-state=sa-not-found src-ports=ether6,ether7 table=egress
Дополнительно следует выключить режим обучения портов MAC адресам:
/interface ethernet switch port
set ether6 learn-limit=1
set ether7 learn-limit=1
Если ваш маршрутизатор гоняет пакеты для логически разделённых сетей, в том числе с точки зрения безопасности, то их следует разнести по различным VLAN. Важно понимать, что если через ваше устройство проходят несколько VLAN, то в случае несанкционированного доступа к роутеру или коммутатору, могут быть скомпрометированы устройства во всех этих подсетях. Здесь всё понятно. Дополнительно можно указать устройству проверять tag трафика и дропать пакеты, у которых VLAN ID не найден в его таблице VLAN:
/interface ethernet switch port set vlan-mode=secure
5. Заключение
На этой
P/S
Часть 1. Настройка оборудования и вопросы безопасности L1 и L2 уровней
Часть 2. Настройка протокола Dot1X и работа Firewall
Часть 3. Варианты реализации централизованного логирования
Часть 4. Развертывание IDS и ее интеграция в инфраструктуру RouterOS
Комментарии (101)
AcidVenom
08.09.2021 14:06Отключаем Winbox, следующий скрин из его консоли - это как?
При включении DHCP-Snooping на некоторых моделях включается софтовый свитчинг, что значительно нагружает процессор. Ознакомиться с функциями аппаратного свитчинга можно тут.
/interface ethernet switch port set vlan-mode=secure
От этой практики Mikrotik рекомендует уходить и переходить на бриджовый вариант.
olegtsss Автор
08.09.2021 19:14+1Отключать нужно не используемые службы. Winbox благодаря своему графическому интерфейсу бывает удобен, в том числе для troubleshooting. Мы часто оставляем его активным, так как используем. На текущий момент служба (обновленная) не имеет известных проблем в информационной безопасности.
olegtsss Автор
08.09.2021 19:29Софтовый DHCP-Snooping, конечно, грузит ЦП, но мы не испытывали проблем с этим. В любом случае, можно посмотреть что там с ним происходит:
/tool profile
NAME CPU USAGE
console 0%
networking 0%
winbox 0%
management 1%
wireless 0%
telnet 0%
unclassified 0%
total 1%icCE
08.09.2021 23:49>но мы не испытывали проблем с этим
Это не означает, что их нет.
Просто если устройство на switch chip и используются варианты vlan, надо всегда смотреть таблицу по возможностям и приписки к ним.
Alexsey
08.09.2021 21:27В связи с очень странным поведением хардварного свитчинга (а именно непонятное флапанье портов при скоростях близких к гигабиту, причем на двух разных роутерах) сижу на софтовом свитчинге. Нагрузки больше 10-15% CPU на hap ac2 не видел ни разу не смотря на то что есть не самые простые правила фаервола.
AcidVenom
08.09.2021 22:09Это ошибка выжившего. Существуют не только новые серии роутеров, но и, например, уходящие 1 и 2 серии CRS.
Без аппаратного свитча там делать нечего. Но зато этот чип раскрывает огромный потенциал.CRS112
zlo1
08.09.2021 14:15Почему устройства MikroTik "лидер" среди источников публичных проксей?
на портах 5678,4145,4153 ... десятки тыс. резидентных прокси
olegtsss Автор
08.09.2021 19:32Мы видим причину в том, что устройства очень доступные по цене, но требуют компетенции по настройке. Если не разбираться, но уверенно читать интернет, то можно в нем такое наковырять, что и 5678-4145-4153 порты засветятся!
ProstoProhoz
09.09.2021 16:26Как вы думаете стандартные(дефолтные) настройки файрвола микротик достаточные для домашнего использования? Или нужно их менять?
olegtsss Автор
09.09.2021 16:28+1Стандартные настройки для Firewall filter будут приведены во 2ой части статьи. Их в любой ситуации нужно адаптировать. На наш взгляд, MikroTik это не для дома.
DaemonGloom
09.09.2021 19:38По стандартным настройкам всё управление снаружи будет закрыто, равно как и пути внутрь не будет. Исключение — некоторые устройства серии CRS, там стандартный файрвол был пустой.
olegtsss Автор
09.09.2021 20:29Обратите внимание, что говорить про стандартные (default) настройки у MikroTik — это не верно. Настройка оборудования должна вестись с чистого листа. Пустой конфигурации. И угрозы могут исходить из LAN. Скоро выйдет продолжение.
DaemonGloom
09.09.2021 21:21Окей. В формулировке "для домашнего использования" — что вы считаете избыточным/недостаточным в стандартной конфигурации?
Порты собраны нормально, файрвол настроен вполне разумно, vlan/dot1x и прочее для дома обычно тоже не требуются.olegtsss Автор
09.09.2021 21:33Чтобы разговаривать предметно, внесите ясность в ваше видение стандартной конфигурации.
JerleShannara
09.09.2021 21:38Я бы это условно назвал тем, что получается после того, как на Quick Set вводятся те настройки, которые нужны для вашего интернет-провайдера, и более никуда никто не лезет.
olegtsss Автор
09.09.2021 21:40Работать можно и после quickset, только учитывайте риски, описание которых представлено в статье.
DaemonGloom
10.09.2021 06:20+1Видение стандартной конфигурации — обновили какой-нибудь hap ac2, после чего сбросили его настройки. Когда вас спросили — что хотите получить, ответили "default". Настройки провайдера и wifi вбили в quick set.
Никаких рисков из статьи при этом нет. Управление открыто только из внутренней сети. Единственное — будет включен PMKID, что не является критичным при использовании нормального пароля.olegtsss Автор
10.09.2021 06:41В сети может быть внутренний нарушитель, который нанесет серьезный урон.
DaemonGloom
10.09.2021 09:59Окей. Я стандартную конфигурацию обозначил, ваш ответ — "внутренний нарушитель". В домашней сети. Серьезно? Это "предметный разговор"?
Попробуйте представить, что он может такого сделать, если он не знает паролей (и они — не admin/1234), а роутер обновлён? А также — как он туда попадёт?AcidVenom
10.09.2021 10:02+8Боюсь представить как выглядит домашняя сеть в сотрудников RUVDS.
Доступы через заявки, пароли меняются каждый час, внутренняя сеть по умолчанию недоверенная.
olegtsss Автор
10.09.2021 10:47Хорошо, arp-spoofing? Ip spoofing для миграции в другие подсети? И далее…
DaemonGloom
10.09.2021 11:11+1Arp-spoofing и ip spoofing откуда? Он уже воткнулся кабелем? Так это означает проблемы уровня L0 — что злоумышленник попал в дом. Или он уже что-то запустил на существующем компьютере хозяина? Так это опять же даёт гораздо более интересные последствия.
olegtsss Автор
10.09.2021 12:32Статья раскрывает подходы к организации практической безопасности сетей, построенных на оборудовании MikroTik. Угрозы разные. Способы их нейтрализации тоже разные. Что из этого использовать в собственных проектах, решать вам. Из практики, тот же не безопасно настроенный L2 может подкинуть много проблем , даже для L7.
DaemonGloom
10.09.2021 14:00+1Так в том и суть, что вопрос был "хватит ли для дома стандартных правил". В ответ вы стали рассказывать про то, что настраивать со стандарта нельзя, а в LAN у нас куча угроз.
olegtsss Автор
10.09.2021 15:59+2Нет, не хватит , отвечаю коротко. Моделируем ситуацию: комп в LAN схватил малварь, начинаем вредить внутри LAN, лезет за ее пределы. MikroTik имеет много всего, чтобы мониторить и пресекать деструктивное ино-вмешательство.
olegtsss Автор
10.09.2021 16:02+1Если вы считаете, что вам хватит, проблем в этом нет. Вероятность, что что-то произойдёт мала, конечно, мала. Мне по душе использовать имеющийся функционал. Не зачем устанавливать MikroTik дома, если использовать его как какой-нибудь роутер от МТС.
isden
14.09.2021 12:14MikroTik имеет много всего, чтобы мониторить и пресекать деструктивное ино-вмешательство.
А расскажите плз чуть подробнее про это? Ну или хоть ссылок накидайте?
olegtsss Автор
14.09.2021 13:03Можете посмотреть различные подходы к этому вопросу в данной и последующих статьях.
XAHOK
14.09.2021 17:31-1С высокой вероятностью не просто менять, а продумать и прописать все с нуля. Если нет желания серьезно разбираться с железкой, то домой микротика ни в коем случае не брать.
PS. Дома две железки серий hEX и hAP от микротика, обе с пустыми настройками по дефолту были и светили наружу всем, чем только можно.
RiddickABSent
08.09.2021 14:25+2Когда зашёл почитать очередную установку WireGuard, а тут такое чтиво.
Ждём вторую часть.
Expelliamus
08.09.2021 14:52так не будет работать:
"add allow-signal-out-of-range=1d authentication=no comment="Drop signal <= -80" interface=wlan1 signal-range=-120..-80"
правильно вот так:
add interface=wlan2 signal-range=-55
add authentication=no forwarding=no interface=wlan2 signal-range=-120..-56
https://wiki.mikrotik.com/wiki/Manual:Interface/Wireless#Access_List
olegtsss Автор
08.09.2021 19:38Не согласны, представленная нами конфигурация корректна, проверено на практике:
/interface wireless access-list
add allow-signal-out-of-range=1d authentication=no comment=«Drop signal <= -80» interface=wlan1 signal-range=-120..-80
1A1A1
08.09.2021 17:31Моя паранойя подсказала мне что port knoking нужно делать на непоследовательные порты, плюс чередую tcp-udp. Вот только удобной программы для knoking'а не нашёл, закинул к Кипассу линуксовый netcat. Примерно такая строчка подключения в keepass:
cmd://cmd /c Title Wait for connection...&echo {TITLE}&nc -zuw 1 {NOTES} {S:Knock1}&nc -zuw 1 {NOTES} {S:Knock2}&nc -zw1 {NOTES} {S:Knock3}&winbox.exe {NOTES} {USERNAME} {PASSWORD}
Предпочёл бы обойтись без вызова cmd. Может кто предложит вариант поудобнее?
Ilgorn
08.09.2021 17:53+1Я настраивал на микротике ping knocking, через последовательность пакетов разного размера. Благо ping есть почти везде, на android через tasker сделал простенький скрипт для подключения через openvpn. Мне показалось так проще, и порты не торчат.
Tarakanator
09.09.2021 09:39Я использую ipsec по сертификатам и fail2ban по неудачному подключению по ipsec. В этом случае порт кнокинг считаю перестраховкой.
igor_burenkov
09.09.2021 16:28А что если динамически менять паттерн простукиваний? Мб где реализовано уже на уровне протокола?
nickolas059
08.09.2021 18:04+1А я не могу обновить свой микротик, выдает ошибку днс. Хотя инет есть...
achekalin
08.09.2021 18:43Скачайте файл прошивки с их сайта, закиньте на девайс (просто в окно винбокса перетащите файлик), и перезагрузите устройство черещ system - reboot. Он сам при корректном ребуте, найдя более новый файл прошивки, на нее обновится.
Ну а с ДНС отдельно разберетесь.
yarkovoy
09.09.2021 04:45Как то опасно обновлять прошивки на микротиках просто так. Особенно с сильно старых. На новых прошивках много чего поменяли. Потом интернет обычно отваливается и что-нибудь еще.
olegtsss Автор
09.09.2021 06:35Это действительно так, интернет может не завестись. Можете написать скрипт примерно по такой логике: перезагружаем пустую конфигурацию, настраиваем интернет, обновляем прошивку, заливаем конфигурацию из текстового файла (предварительно выверив ее на аналогичном обновленном устройстве).
achekalin
09.09.2021 16:06Риск всегда есть.
Только, если прошивка сильно старая, есть и другой риск - что роутер служит уже не своему номинальному владельцу, а какому-то стороннему дяде ("из этих ваших интернетов"). И что тот дядя сделает через роутер - совсем даже вопрос. Может внешнее атаковать (и не факт, что следствие, будя оно случится, не вменит последствия номинальному владельцу роутера), а может и в локальной сети порезвиться, да так, что проблема временного отвала интернета будет казаться совсем детской.
В общем, пусть не постоянно, но обновляться надо. Да и, по совести, если там конфиг вида "один WAN, один LAN, один NAT" - то риск потерять интернет при обновлении почти нулевой. Ну и, если что, зайти, сбросить, заново перенастроить через мастера настройки - дело 15 минут.
Да, только обновляйтесь (в посте об этом тишина, что наводит на мысли) в канале long-term, а не stable и не на бету. Для дома long-term будет достаточен, зато не окажетесь
в положении пользователя винды после прилета стабильного обновленияс роутером, у которого часть функционала отвалилась.olegtsss Автор
09.09.2021 16:25Мы не видим опасности в stable версии.
kprohorow
13.09.2021 22:26А вот зря.
Было достаточно случаев когда обновление до stable что-нибудь ломало.
olegtsss Автор
13.09.2021 22:43Буду знать, спасибо за ваш опыт!
kprohorow
14.09.2021 00:26Пожалуйста. Опыт по большей части даже коллективный, не только сам сталкивался но и часто читал о подобном в профильных каналах.
Вообще ставить как можно более стабильные и LTS версии ОС, прошивок и прочего это best practice.
Tios
03.10.2021 20:04-2/ip dns set allow-remote-requests=yes servers=8.8.8.8 ***подставьте ваш днс сюда, желательно использовать dns с DoH*** /ip firewall address-list add address=***подставить айпишник роутера на wan порту*** list=wan0-IP add address=***подставьте ваш днс сюда*** list=dns add address=upgrade.mikrotik.com list=upgrade.mikrotik.com /ip firewall filter ... add action=accept chain=output comment="dns outgoing" dst-address-list=dns dst-port=53 protocol=udp src-address-list=wan0-IP add action=accept chain=output comment="upgrade.mikrotik.com" dst-address-list=upgrade.mikrotik.com src-address-list=wan0-IP add action=accept chain=input comment="upgrade.mikrotik.com" dst-address-list=wan0-IP src-address-list=upgrade.mikrotik.com ...
Kiano
08.09.2021 20:17+2Спасибо за статью, очень жду остальные части. Пока что нового ничего не увидел, но систематизировано кмк достойно.
А нет, соврал. Про PMKID ранее не слышал в контексте микротика, благодарю!
Blck-1
09.09.2021 09:00+2Было бы неплохо перед обновлением прошивки сменить канал на long-term - микротики известны ломанием вполне работающего функционала в канале stable без признаков в release notes:
/system package update set channel=long-term
А про ssh-сервер было бы неплохо выключить простое и нулевое шифрование:
/ip ssh set strong-crypto=yes allow-none-crypto=noTarakanator
09.09.2021 09:58А как не облажаться со сменой канала при сохранении конфига?
Беспокоит то, что вдруг при переходе со stable на long-term вдруг какая функция отвалится т.к. в LT её ещё не завезли?olegtsss Автор
09.09.2021 10:02+1Как вариант, поднять на VDS RouterOS и предварительно тренироваться на нем.
Tarakanator
09.09.2021 10:471)Так на VDS как я понимаю нельзя бэпап, только экспорт конфиг т.к. там другое железо. а в экспорт конфиг не всё вроде лезет. например сертификаты.
2)проблема не в даунтайме, а скорее просто разобраться какие прошивки должны быть совместимы. Пока как я понял с любой x.y.z можно переходить на любую q.w.e где q>=x, w>=y и стабильность прошивки на которую переходишь выше. Но это как понял я.olegtsss Автор
09.09.2021 15:031) обвязываться скриптами по импорту сертификатов
2) риск есть, лучше на месте этим заниматься , не спорим.
AcidVenom
09.09.2021 10:04Никак. Пользователи микротов делятся на 2 категории: свидетели факапа бородатых годов на лонг-терме и тех, кто тестируют прошивки перед массовым деплоем.
Tarakanator
09.09.2021 10:33Видно я сильно особенный.
У меня микрот всего года 2. и на стэёбл с лонг терма перешёл из-за новых нужных функций. Теперь надо перейти на лонг терм обратно как там появится..
И тестировать прошивки перед массовым деплоем не могу... т.к. массового деплоя не будет.olegtsss Автор
09.09.2021 10:44Каждый выбирает сам. Мы рекомендуем stable . Но из-за необходимости свежего функционала в некоторых решениях переходим на development. На свой риск.
net_racoon
09.09.2021 09:27+1Все было бы гораздо проще, если была бы нормальная поддержка VRF.
olegtsss Автор
09.09.2021 09:57Не понятна ваша идея, поясните пожалуйста.
Tarakanator
09.09.2021 10:25технология «DHCP snooping». После её активации бридж пропускает DHCP пакеты только в доверенную сторону:
Но ведь запросы и ответы ходят в разные стороны. Как будет работать DHCP при односторонней связи?
olegtsss Автор
09.09.2021 10:45Схема примерно такая. Знакомый ему dhcp-server пропускается без ограничений. Не знакомые пакеты (не известный бриджу dhcp-server) дропаются.
Tarakanator
09.09.2021 11:12т.е. если сам микрот DHCP сервер, то
/interface bridge add comment=defconf dhcp-snooping=yes name=bridge /interface bridge port
надо
А вот уже
add bridge=bridge interface=ether2_LAN trusted=yes
не надо?AcidVenom
09.09.2021 11:22+1Если на самом же микроте поднят DHCP, то дополнительные манипуляции не нужны. Только dhcp-snooping=yes. Фактически в бридже создается фильтр на 67 порт. Такое же правило можно создать вручную и будет работать.
Имеет смысл когда нужно объединить 2 сети с кривой топологией по-быстрому.
robert_ayrapetyan
09.09.2021 18:12А есть то же самое, но для openwrt?
olegtsss Автор
09.09.2021 19:30Не понятен ваш вопрос, поясните подробнее.
robert_ayrapetyan
09.09.2021 19:35Ну у вас в статье приводятся рекомендуемые настройки безопасности для Mikrotik-ов, планируются ли подобные статьи для более популярных прошивок (openwrt)?
vikarti
10.09.2021 16:40А вот более интересно другие вещи с микротиком, можете подсказать:
- есть сеть, критически важна задержка пинга внутри сети. когда втыкаешь устройства для которых это важно в роутер RB3011UiAS (он же и интернет держит так что в файрволле много что натыкано но все порты кроме тех что к провайдерам — в бридже) — сетевая задержка (по мнению внутренних систем мониторинга на этих устройствах) растет чуть ли не на 20 мс что критично. если воткнуть критичное к задержкам железом в старый дохнущий длинк — все работатает быстро, когда работает (а доступ с этих устройств в интернет — за счет того что длинк — уже в микротик воткнут).
AcidVenom
10.09.2021 16:48+1Аппаратный свитчинг? В бридже на портах статус H имеется?
vikarti
10.09.2021 19:11да
AcidVenom
11.09.2021 01:26+1Последняя прошивка? Была проблема именно с 3011 с флапанием в бриджах, но решена в последних прошивках.
Если последняя, то включена опция бриджа "Use IP Firewall"?
vikarti
12.09.2021 09:59+1Опция не включена.
RouterOS 6.48.4
Firmware была 6.45.9 -:(
с Firmware 6.48.4 однозначно воспроизвести проблему больше не получается.AcidVenom
12.09.2021 10:13+1Чтобы исключить такие моменты, есть опция AutoUpgrade, но потребуется еще одна ручная перезагрузка.
Можно автоматизировать скриптом.FWUpgrade:if ( [/system routerboard get current-firmware] != [/system routerboard get upgrade-firmware] ) do={
/system routerboard upgrade
/system reboot}
И этот скрипт в планировщик на стартап.
olegtsss Автор
10.09.2021 18:19+1Начальный данных мало, чтобы понять что у вас там. Сначала нужно отсечь все лишние службы, правила и т.д. Убедиться, что задержка прошла. Поэтапно восстанавливать конфигурацию и искать, с чем связана появившаяся задержка .
Kiano
11.09.2021 09:23+1Теоретически, при НАТе задержка может расти, при прохождении firewall filter тоже, но всё зависит от правил. Туда же и про очереди, шейпинг, и тд.
Я бы сказал, всё дело в конфигурации.
AcidVenom
11.09.2021 11:29+1Дело происходит в бридже с включённым Hardware Offloading, поэтому ни NAT, ни Filter не обрабатывают пакеты при условии выключенной опции "Use IP Firewall".
Поэтому либо внутри свича есть правила, либо больше одного бриджа, что заставляет пакеты пролетать по всем таблицам.
SemperPeritus
Статья вышла в очень удачное время на фоне DDoS атаки на Яндекс с использованием маршрутизаторов на Mikrotik. Как раз собирался сегодня заняться обновлением.
olegtsss Автор
Мы здесь не причем), ни за красных (red), на за белых (white) hat.
EVolans
Значит выбрали синюю?
Russula
Кардинал серый же :)