В статье рассмотрены различные подходы к организации практической безопасности сетей, построенных на оборудовании MikroTik, в том числе при помощи дополнительного открытого программного обеспечения, расширяющего имеющиеся штатные возможности, что в комплексе позволяет качественно администрировать сетевые средства, а также своевременно реагировать на различные угрозы информационной безопасности.

1. Введение


В комментариях опубликованной ранее статьи один из пользователей спросил: «А можно добавить раздел про то, как нужно защитить свой, микротик чтобы управление им не ушло на сторону?». Один из пользователей написал на это следующее: «Универсальных принципов для любого сетевого устройства два – администрирование только с внутреннего интерфейса (снаружи закрыто все) и регулярно обновлять прошивку» (сохранена авторская орфография). А мы сразу поняли, что одним коротким ответом здесь не обойтись, и этот вопрос заслуживает полноценного отдельного рассмотрения с учётом широких возможностей операционной системы RouterOS, а также сопрягаемых с ней opensource решений, комплексно завершающих проблемный вопрос информационной безопасности. Кроме непосредственно настройки безопасности доступа до маршрутизатора, необходимо использовать его как полноценный барьер для разноуровневых атак, которые могут быть нацелены на защищаемую сеть. Технологий реализации этого достаточно много, поэтому разделим применяемые возможности на логические уровни и представим предметные рекомендации по администрированию сетей на базе оборудования MikroTik.

Для того, чтобы статья не была слишком громоздкой, разделим её на четыре части. В первой части рассмотрим общие рекомендации по настройке безопасности оборудования MikroTik, организацию безопасности L1 и L2. Во второй части продолжим говорить про L2, а именно про работу протокола Dot1X, рассмотрим безопасность L3. В третьей части покажем реализацию централизованного логирования. В четвёртой части (завершающей) расскажем про вариант настройки полноценной IDS, что в комплексе позволит достаточно широко осветить способы защиты оборудования MikroTik. Приступим к технической части.

2. Общие рекомендации


Первое, что мы всегда делаем с железкой — это обновляем прошивку:

/system package update check-for-updates

Всегда интересно посмотреть, что же производитель там пофиксил. А если дело касается CVE, тогда вдвойне интереснее. Конечно, эксплойтов для каждой решённой проблемы в свободном доступе не найти, а может, их вообще не существует за пределами компании MikroTik. Кроме этого, можно встретить анонс долгожданных настроек, таких как UDP для OpenVPN, который уже есть в 7 (not stable) версии операционной системы.



/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

Первый рекомендуется откатывать только на полностью идентичных устройствах, и не подлежит редактированию (при откате восстанавливается точный образ операционной системы). Второй же, наоборот, можно вручную контролируемо построчно обрабатывать (до получения необходимо результата), однако он может содержать чувствительную информацию (если не делать /export hide-sensitive), поэтому рекомендуем обезопасить хранение такого рода backup файлов. Ставить ли регулярный backup в планировщик заданий, или нет, тут уже каждый решает сам. Главное — не запутаться во всех резервных копиях и не передавать их на удалённый сервер по открытому интернет каналу посредством ftp.

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)


  1. SemperPeritus
    08.09.2021 13:39
    +7

    Статья вышла в очень удачное время на фоне DDoS атаки на Яндекс с использованием маршрутизаторов на Mikrotik. Как раз собирался сегодня заняться обновлением.


    1. olegtsss Автор
      08.09.2021 19:07

      Мы здесь не причем), ни за красных (red), на за белых (white) hat.


      1. EVolans
        08.09.2021 19:45
        +2

        Значит выбрали синюю?


        1. Russula
          30.09.2021 14:17

          Кардинал серый же :)


  1. AcidVenom
    08.09.2021 14:06

    Отключаем Winbox, следующий скрин из его консоли - это как?

    При включении DHCP-Snooping на некоторых моделях включается софтовый свитчинг, что значительно нагружает процессор. Ознакомиться с функциями аппаратного свитчинга можно тут.

    /interface ethernet switch port set vlan-mode=secure

    От этой практики Mikrotik рекомендует уходить и переходить на бриджовый вариант.


    1. olegtsss Автор
      08.09.2021 19:14
      +1

      Отключать нужно не используемые службы. Winbox благодаря своему графическому интерфейсу бывает удобен, в том числе для troubleshooting. Мы часто оставляем его активным, так как используем. На текущий момент служба (обновленная) не имеет известных проблем в информационной безопасности.


    1. 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%


      1. icCE
        08.09.2021 23:49

        >но мы не испытывали проблем с этим

        Это не означает, что их нет.

        Просто если устройство на switch chip и используются варианты vlan, надо всегда смотреть таблицу по возможностям и приписки к ним.

        https://wiki.mikrotik.com/wiki/Manual:Interface/Bridge


    1. Alexsey
      08.09.2021 21:27

      В связи с очень странным поведением хардварного свитчинга (а именно непонятное флапанье портов при скоростях близких к гигабиту, причем на двух разных роутерах) сижу на софтовом свитчинге. Нагрузки больше 10-15% CPU на hap ac2 не видел ни разу не смотря на то что есть не самые простые правила фаервола.


      1. olegtsss Автор
        08.09.2021 21:38

        DHCP не должен сильно флудить сеть. Мы так же считаем про cpu.


      1. AcidVenom
        08.09.2021 22:09

        Это ошибка выжившего. Существуют не только новые серии роутеров, но и, например, уходящие 1 и 2 серии CRS.
        Без аппаратного свитча там делать нечего. Но зато этот чип раскрывает огромный потенциал.

        CRS112
        image


  1. zlo1
    08.09.2021 14:15

    Почему устройства MikroTik "лидер" среди источников публичных проксей?

    на портах 5678,4145,4153 ... десятки тыс. резидентных прокси


    1. olegtsss Автор
      08.09.2021 19:32

      Мы видим причину в том, что устройства очень доступные по цене, но требуют компетенции по настройке. Если не разбираться, но уверенно читать интернет, то можно в нем такое наковырять, что и 5678-4145-4153 порты засветятся!


      1. ProstoProhoz
        09.09.2021 16:26

        Как вы думаете стандартные(дефолтные) настройки файрвола микротик достаточные для домашнего использования? Или нужно их менять?


        1. olegtsss Автор
          09.09.2021 16:28
          +1

          Стандартные настройки для Firewall filter будут приведены во 2ой части статьи. Их в любой ситуации нужно адаптировать. На наш взгляд, MikroTik это не для дома.


        1. DaemonGloom
          09.09.2021 19:38

          По стандартным настройкам всё управление снаружи будет закрыто, равно как и пути внутрь не будет. Исключение — некоторые устройства серии CRS, там стандартный файрвол был пустой.


          1. olegtsss Автор
            09.09.2021 20:29

            Обратите внимание, что говорить про стандартные (default) настройки у MikroTik — это не верно. Настройка оборудования должна вестись с чистого листа. Пустой конфигурации. И угрозы могут исходить из LAN. Скоро выйдет продолжение.


            1. DaemonGloom
              09.09.2021 21:21

              Окей. В формулировке "для домашнего использования" — что вы считаете избыточным/недостаточным в стандартной конфигурации?
              Порты собраны нормально, файрвол настроен вполне разумно, vlan/dot1x и прочее для дома обычно тоже не требуются.


              1. olegtsss Автор
                09.09.2021 21:33

                Чтобы разговаривать предметно, внесите ясность в ваше видение стандартной конфигурации.


                1. JerleShannara
                  09.09.2021 21:38

                  Я бы это условно назвал тем, что получается после того, как на Quick Set вводятся те настройки, которые нужны для вашего интернет-провайдера, и более никуда никто не лезет.


                  1. olegtsss Автор
                    09.09.2021 21:40

                    Работать можно и после quickset, только учитывайте риски, описание которых представлено в статье.


                1. DaemonGloom
                  10.09.2021 06:20
                  +1

                  Видение стандартной конфигурации — обновили какой-нибудь hap ac2, после чего сбросили его настройки. Когда вас спросили — что хотите получить, ответили "default". Настройки провайдера и wifi вбили в quick set.
                  Никаких рисков из статьи при этом нет. Управление открыто только из внутренней сети. Единственное — будет включен PMKID, что не является критичным при использовании нормального пароля.


                  1. olegtsss Автор
                    10.09.2021 06:41

                    В сети может быть внутренний нарушитель, который нанесет серьезный урон.


                    1. DaemonGloom
                      10.09.2021 09:59

                      Окей. Я стандартную конфигурацию обозначил, ваш ответ — "внутренний нарушитель". В домашней сети. Серьезно? Это "предметный разговор"?
                      Попробуйте представить, что он может такого сделать, если он не знает паролей (и они — не admin/1234), а роутер обновлён? А также — как он туда попадёт?


                      1. AcidVenom
                        10.09.2021 10:02
                        +8

                        Боюсь представить как выглядит домашняя сеть в сотрудников RUVDS.
                        Доступы через заявки, пароли меняются каждый час, внутренняя сеть по умолчанию недоверенная.


                      1. olegtsss Автор
                        10.09.2021 10:47

                        Хорошо, arp-spoofing? Ip spoofing для миграции в другие подсети? И далее…


                      1. DaemonGloom
                        10.09.2021 11:11
                        +1

                        Arp-spoofing и ip spoofing откуда? Он уже воткнулся кабелем? Так это означает проблемы уровня L0 — что злоумышленник попал в дом. Или он уже что-то запустил на существующем компьютере хозяина? Так это опять же даёт гораздо более интересные последствия.


                      1. olegtsss Автор
                        10.09.2021 12:32

                        Статья раскрывает подходы к организации практической безопасности сетей, построенных на оборудовании MikroTik. Угрозы разные. Способы их нейтрализации тоже разные. Что из этого использовать в собственных проектах, решать вам. Из практики, тот же не безопасно настроенный L2 может подкинуть много проблем , даже для L7.


                      1. DaemonGloom
                        10.09.2021 14:00
                        +1

                        Так в том и суть, что вопрос был "хватит ли для дома стандартных правил". В ответ вы стали рассказывать про то, что настраивать со стандарта нельзя, а в LAN у нас куча угроз.


                      1. olegtsss Автор
                        10.09.2021 15:59
                        +2

                        Нет, не хватит , отвечаю коротко. Моделируем ситуацию: комп в LAN схватил малварь, начинаем вредить внутри LAN, лезет за ее пределы. MikroTik имеет много всего, чтобы мониторить и пресекать деструктивное ино-вмешательство.


                      1. olegtsss Автор
                        10.09.2021 16:02
                        +1

                        Если вы считаете, что вам хватит, проблем в этом нет. Вероятность, что что-то произойдёт мала, конечно, мала. Мне по душе использовать имеющийся функционал. Не зачем устанавливать MikroTik дома, если использовать его как какой-нибудь роутер от МТС.


                      1. isden
                        14.09.2021 12:14

                        MikroTik имеет много всего, чтобы мониторить и пресекать деструктивное ино-вмешательство.

                        А расскажите плз чуть подробнее про это? Ну или хоть ссылок накидайте?


                      1. olegtsss Автор
                        14.09.2021 13:03

                        Можете посмотреть различные подходы к этому вопросу в данной и последующих статьях.


          1. XAHOK
            14.09.2021 17:26
            -1

            Бюджетные hEX и hAP в том же исключении.


        1. XAHOK
          14.09.2021 17:31
          -1

          С высокой вероятностью не просто менять, а продумать и прописать все с нуля. Если нет желания серьезно разбираться с железкой, то домой микротика ни в коем случае не брать.

          PS. Дома две железки серий hEX и hAP от микротика, обе с пустыми настройками по дефолту были и светили наружу всем, чем только можно.


      1. zlo1
        10.09.2021 16:39

        У Яндекс другой взгляд на проблему


  1. RiddickABSent
    08.09.2021 14:25
    +2

    Когда зашёл почитать очередную установку WireGuard, а тут такое чтиво.

    Ждём вторую часть.


    1. olegtsss Автор
      08.09.2021 19:32
      +3

      Скоро уже выйдет в свет.


  1. 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


    1. 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


  1. 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. Может кто предложит вариант поудобнее?


    1. Ilgorn
      08.09.2021 17:53
      +1

      Я настраивал на микротике ping knocking, через последовательность пакетов разного размера. Благо ping есть почти везде, на android через tasker сделал простенький скрипт для подключения через openvpn. Мне показалось так проще, и порты не торчат.


    1. olegtsss Автор
      08.09.2021 19:42

      Нам данная технология не импонирует. Рекомендуем вход SSH по ключу. Брут не пройдет)


      1. 1A1A1
        08.09.2021 22:04

        Ключами пользуюсь в скриптах и unimus, а вот самому удобнее всё-таки через winboх - нагляднее.


      1. ner0
        13.09.2021 23:14

        брут будет грузить устройство, а пинг-нок не даст повода для брута.


        1. olegtsss Автор
          13.09.2021 23:28
          +1

          Когда ssh доступ организован по сертификату (ключу), то при попытке установить соединение по паролю, оно сразу сбрасывается. Так брут не имеет смысла и не заберёт ресурсы.


    1. icCE
      08.09.2021 23:40

      я knoking  делаю тупо на icmp.

      Нет проблем с софтом, нет пуки выбора портов


    1. Tarakanator
      09.09.2021 09:39

      Я использую ipsec по сертификатам и fail2ban по неудачному подключению по ipsec. В этом случае порт кнокинг считаю перестраховкой.


    1. igor_burenkov
      09.09.2021 16:28

      А что если динамически менять паттерн простукиваний? Мб где реализовано уже на уровне протокола?


      1. olegtsss Автор
        09.09.2021 16:29

        Скриптами это можно сделать. Идея, нормальная. Но мы за сертификаты)


  1. nickolas059
    08.09.2021 18:04
    +1

    А я не могу обновить свой микротик, выдает ошибку днс. Хотя инет есть...


    1. achekalin
      08.09.2021 18:43

      Скачайте файл прошивки с их сайта, закиньте на девайс (просто в окно винбокса перетащите файлик), и перезагрузите устройство черещ system - reboot. Он сам при корректном ребуте, найдя более новый файл прошивки, на нее обновится.

      Ну а с ДНС отдельно разберетесь.


      1. yarkovoy
        09.09.2021 04:45

        Как то опасно обновлять прошивки на микротиках просто так. Особенно с сильно старых. На новых прошивках много чего поменяли. Потом интернет обычно отваливается и что-нибудь еще.


        1. olegtsss Автор
          09.09.2021 06:35

          Это действительно так, интернет может не завестись. Можете написать скрипт примерно по такой логике: перезагружаем пустую конфигурацию, настраиваем интернет, обновляем прошивку, заливаем конфигурацию из текстового файла (предварительно выверив ее на аналогичном обновленном устройстве).


        1. achekalin
          09.09.2021 16:06

          Риск всегда есть.

          Только, если прошивка сильно старая, есть и другой риск - что роутер служит уже не своему номинальному владельцу, а какому-то стороннему дяде ("из этих ваших интернетов"). И что тот дядя сделает через роутер - совсем даже вопрос. Может внешнее атаковать (и не факт, что следствие, будя оно случится, не вменит последствия номинальному владельцу роутера), а может и в локальной сети порезвиться, да так, что проблема временного отвала интернета будет казаться совсем детской.

          В общем, пусть не постоянно, но обновляться надо. Да и, по совести, если там конфиг вида "один WAN, один LAN, один NAT" - то риск потерять интернет при обновлении почти нулевой. Ну и, если что, зайти, сбросить, заново перенастроить через мастера настройки - дело 15 минут.

          Да, только обновляйтесь (в посте об этом тишина, что наводит на мысли) в канале long-term, а не stable и не на бету. Для дома long-term будет достаточен, зато не окажетесь в положении пользователя винды после прилета стабильного обновления с роутером, у которого часть функционала отвалилась.


          1. olegtsss Автор
            09.09.2021 16:25

            Мы не видим опасности в stable версии.


            1. kprohorow
              13.09.2021 22:26

              А вот зря.

              Было достаточно случаев когда обновление до stable что-нибудь ломало.


              1. olegtsss Автор
                13.09.2021 22:43

                Буду знать, спасибо за ваш опыт!


                1. kprohorow
                  14.09.2021 00:26

                  Пожалуйста. Опыт по большей части даже коллективный, не только сам сталкивался но и часто читал о подобном в профильных каналах.
                  Вообще ставить как можно более стабильные и LTS версии ОС, прошивок и прочего это best practice.


    1. olegtsss Автор
      08.09.2021 19:42

      А DNS есть?


    1. nitro80
      09.09.2021 08:02

      Сам DNS в настройках прописан?
      IP->DNS->Servers


    1. 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
      ...


  1. Kiano
    08.09.2021 20:17
    +2

    Спасибо за статью, очень жду остальные части. Пока что нового ничего не увидел, но систематизировано кмк достойно.

    А нет, соврал. Про PMKID ранее не слышал в контексте микротика, благодарю!


  1. 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=no


    1. olegtsss Автор
      09.09.2021 09:53

      Согласны во всем!


    1. Tarakanator
      09.09.2021 09:58

      А как не облажаться со сменой канала при сохранении конфига?
      Беспокоит то, что вдруг при переходе со stable на long-term вдруг какая функция отвалится т.к. в LT её ещё не завезли?


      1. olegtsss Автор
        09.09.2021 10:02
        +1

        Как вариант, поднять на VDS RouterOS и предварительно тренироваться на нем.


        1. Tarakanator
          09.09.2021 10:47

          1)Так на VDS как я понимаю нельзя бэпап, только экспорт конфиг т.к. там другое железо. а в экспорт конфиг не всё вроде лезет. например сертификаты.
          2)проблема не в даунтайме, а скорее просто разобраться какие прошивки должны быть совместимы. Пока как я понял с любой x.y.z можно переходить на любую q.w.e где q>=x, w>=y и стабильность прошивки на которую переходишь выше. Но это как понял я.


          1. olegtsss Автор
            09.09.2021 15:03

            1) обвязываться скриптами по импорту сертификатов

            2) риск есть, лучше на месте этим заниматься , не спорим.


      1. AcidVenom
        09.09.2021 10:04

        Никак. Пользователи микротов делятся на 2 категории: свидетели факапа бородатых годов на лонг-терме и тех, кто тестируют прошивки перед массовым деплоем.


        1. Tarakanator
          09.09.2021 10:33

          Видно я сильно особенный.
          У меня микрот всего года 2. и на стэёбл с лонг терма перешёл из-за новых нужных функций. Теперь надо перейти на лонг терм обратно как там появится..
          И тестировать прошивки перед массовым деплоем не могу... т.к. массового деплоя не будет.


          1. olegtsss Автор
            09.09.2021 10:44

            Каждый выбирает сам. Мы рекомендуем stable . Но из-за необходимости свежего функционала в некоторых решениях переходим на development. На свой риск.


  1. net_racoon
    09.09.2021 09:27
    +1

    Все было бы гораздо проще, если была бы нормальная поддержка VRF.


    1. olegtsss Автор
      09.09.2021 09:57

      Не понятна ваша идея, поясните пожалуйста.


      1. net_racoon
        10.09.2021 09:31
        +1

        Идея положить mgmt в отдельный VRF.


        1. Avm19xx
          10.09.2021 12:33
          +1

          Да VRF-lite очень не хватает.


    1. Kiano
      11.09.2021 09:20

      А что Вам не нравится в реализации микротика? В сравнении с чем?


  1. Tarakanator
    09.09.2021 10:25

    технология «DHCP snooping». После её активации бридж пропускает DHCP пакеты только в доверенную сторону:

    Но ведь запросы и ответы ходят в разные стороны. Как будет работать DHCP при односторонней связи?


    1. olegtsss Автор
      09.09.2021 10:45

      Схема примерно такая. Знакомый ему dhcp-server пропускается без ограничений. Не знакомые пакеты (не известный бриджу dhcp-server) дропаются.


      1. 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
        не надо?


        1. AcidVenom
          09.09.2021 11:22
          +1

          Если на самом же микроте поднят DHCP, то дополнительные манипуляции не нужны. Только dhcp-snooping=yes. Фактически в бридже создается фильтр на 67 порт. Такое же правило можно создать вручную и будет работать.

          Имеет смысл когда нужно объединить 2 сети с кривой топологией по-быстрому.


          1. olegtsss Автор
            09.09.2021 15:04

            Согласны.


  1. x2v0
    09.09.2021 10:36

    Все конечно замечательно!

    Но, что делать миллионам других пользователей, у которых домашние рутеры взламываются по паролю admin/admin, с открытым telnet, tftp и возможностью установки вредоносного софта в /tmp?


    1. olegtsss Автор
      09.09.2021 10:46
      +1

      Медитировать !


  1. robert_ayrapetyan
    09.09.2021 18:12

    А есть то же самое, но для openwrt?


    1. olegtsss Автор
      09.09.2021 19:30

      Не понятен ваш вопрос, поясните подробнее.


      1. robert_ayrapetyan
        09.09.2021 19:35

        Ну у вас в статье приводятся рекомендуемые настройки безопасности для Mikrotik-ов, планируются ли подобные статьи для более популярных прошивок (openwrt)?


        1. olegtsss Автор
          09.09.2021 20:26

          MikroTik — это не прошивка. Openwrt останется на откуп любителям.


          1. robert_ayrapetyan
            09.09.2021 20:29

            Понятно, жаль.


  1. vikarti
    10.09.2021 16:40

    А вот более интересно другие вещи с микротиком, можете подсказать:


    • есть сеть, критически важна задержка пинга внутри сети. когда втыкаешь устройства для которых это важно в роутер RB3011UiAS (он же и интернет держит так что в файрволле много что натыкано но все порты кроме тех что к провайдерам — в бридже) — сетевая задержка (по мнению внутренних систем мониторинга на этих устройствах) растет чуть ли не на 20 мс что критично. если воткнуть критичное к задержкам железом в старый дохнущий длинк — все работатает быстро, когда работает (а доступ с этих устройств в интернет — за счет того что длинк — уже в микротик воткнут).


    1. AcidVenom
      10.09.2021 16:48
      +1

      Аппаратный свитчинг? В бридже на портах статус H имеется?


      1. vikarti
        10.09.2021 19:11

        да


        1. AcidVenom
          11.09.2021 01:26
          +1

          Последняя прошивка? Была проблема именно с 3011 с флапанием в бриджах, но решена в последних прошивках.

          Если последняя, то включена опция бриджа "Use IP Firewall"?


          1. vikarti
            12.09.2021 09:59
            +1

            Опция не включена.
            RouterOS 6.48.4
            Firmware была 6.45.9 -:(
            с Firmware 6.48.4 однозначно воспроизвести проблему больше не получается.


            1. 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}

              И этот скрипт в планировщик на стартап.


    1. olegtsss Автор
      10.09.2021 18:19
      +1

      Начальный данных мало, чтобы понять что у вас там. Сначала нужно отсечь все лишние службы, правила и т.д. Убедиться, что задержка прошла. Поэтапно восстанавливать конфигурацию и искать, с чем связана появившаяся задержка .


    1. Kiano
      11.09.2021 09:23
      +1

      Теоретически, при НАТе задержка может расти, при прохождении firewall filter тоже, но всё зависит от правил. Туда же и про очереди, шейпинг, и тд.

      Я бы сказал, всё дело в конфигурации.


      1. AcidVenom
        11.09.2021 11:29
        +1

        Дело происходит в бридже с включённым Hardware Offloading, поэтому ни NAT, ни Filter не обрабатывают пакеты при условии выключенной опции "Use IP Firewall".

        Поэтому либо внутри свича есть правила, либо больше одного бриджа, что заставляет пакеты пролетать по всем таблицам.


  1. LESHIY_ODESSA
    10.09.2021 20:13

    Скажите, а что вы думаете о таком способе защиты?


    1. Aelliari
      10.09.2021 21:39

      Хм, белый список из ip через ddns? Интересный вариант


    1. olegtsss Автор
      11.09.2021 01:14

      Я рассматриваю настройки Firewall во 2-ой части.