Любому маршрутизатору Mikrotik, которые только что достали из коробки, необходима защита, также как и любому сетевому устройству Cisco, HP, Dlink или Juniper. Самые основные изменения конфигурации могут быть сделаны немедленно, что уменьшит возможный периметр для атаки устройства. Настройка MikroTik — безусловная необходимость при настройке безопасности сетевого периметра. Тогда как внедрение передовых методов (best practices), и более тонкая настройка сетевой подсистемы позволят маршрутизаторам проходить проверки соответствия отраслевым стандартам и формальные аудиты. Почти все изменения конфигурации, приведенные ниже, включены в список требований для сертификации по PCI-DSS и HIPAA, а также в контрольные показатели безопасности по спецификациям CIS и DISA STIG.

Настройки роутера MikroTik

ИспользуетсяОписание

Интерфейс IP адресация
ether1 192.168.88.181/24 Да WAN
ether2 10.1.157.1/24 Да Management
ether3 192.168.0.1/24 Да LAN
ether4 нет Нет N/A
ether5 нет Нет N/A

Описанная выше типичная конфигурация филиала компании с внутренним сегментом, внешним периметром и зоной управления сети. В домашнем офисе с легкостью может использоваться RB-751, либо RB-951 или hAP. Для филиала их производительности часто бывает достаточно. Управляющая сеть не является строго необходимой в организациях без применения требований соответствия, но следование данной рекомендации является лучшим решением.

Для организаций, у которых прописаны стандарты соответствия, наличие отдельной сети управления связано со следованию отраслевым стандартам:

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

Защита интерфейсов

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

Пересчет интерфейсов

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

/interface print

Отключите неиспользуемые интерфейсы

Затем отключите все неактивные интерфейсы, чтобы они не могли использоваться для доступа к устройству. В нашем случае интерфейсы 1, 2 и 3 используются, и мы не используем интерфейсы 4 и 5:

/interface set 4,5 disabled=yes

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

Сканирование портов

Затем мы проверим роутер MikroTik утилитой для сканирования портов Nmap со стороны внешнего интерфейса WAN, чтобы получить первичный список открытых портов и сервисов. Это будет нашей отправной точкой. Команда для запуска сканирования маршрутизатора:

nmap -A -T4 -Pn -v 192.168.88.181

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

Открытые порты

Это открытые порты, обнаруженные во время сканирования утилитой Nmap:

Scanning 192.168.88.181 [1000 ports]

Discovered open port 21/tcp on 192.168.88.181

Discovered open port 53/tcp on 192.168.88.181

Discovered open port 23/tcp on 192.168.88.181

Discovered open port 80/tcp on 192.168.88.181

Discovered open port 22/tcp on 192.168.88.181

Discovered open port 2000/tcp on 192.168.88.181

Discovered open port 8291/tcp on 192.168.88.181

Знание основных портов и протоколов очень полезно при просмотре результатов сканирования, поэтому потратьте некоторое время на их изучение, если вы еще этого не сделали.

Обнаруженные сервисы

Ниже приведен список служб, запущенных на открытых портах, обнаруженных во время сканирования:

Host is up (0.012s latency).

Not shown: 993 closed ports

PORT     STATE SERVICE        VERSION

21/tcp   open  ftp            MikroTik router ftpd 6.37.1

22/tcp   open  ssh            MikroTik RouterOS sshd (protocol 2.0)

| ssh-hostkey:

|   1024 68:22:e5:37:be:d9:7f:76:e9:44:b8:7b:03:0b:07:66 (DSA)

|_  2048 5e:1c:a0:82:e7:a7:e8:bb:ba:a7:f4:0b:b6:b5:f5:eb (RSA)

23/tcp   open  telnet         Linux telnetd

53/tcp   open  domain         MikroTik RouterOS named or OpenDNS Updater

80/tcp   open  http           MikroTik router config httpd

| http-methods:

|_  Supported Methods: GET HEAD

| http-robots.txt: 1 disallowed entry

|_/

|_http-title: RouterOS router configuration page

2000/tcp open  bandwidth-test MikroTik bandwidth-test server

8291/tcp open  winbox         MikroTik WinBox

Service Info: OSs: Linux, RouterOS; Device: router; CPE: cpe:/o:mikrotik:routeros, cpe:/o:linux:linux_kernel

Результат сканирования

Nmap обнаружил ряд проблем, которые требуют к себе нашего внимания. Маршрутизатор работает с несколькими незашифрованными протоколами и службами, без которых на данный момент можно обойтись. Служба FTP также дает злоумышленнику возможность точно узнать версию прошивки RouterOS, на которой работает наш роутер MikroTik. Мы также видим результат использования учетных записей, заданных по умолчанию. Если этот маршрутизатор был подключен к Интернету точно так же, как сейчас, он почти наверняка будет заражен эксплойтом вскоре после выхода в Интернет.

  Почему Mikrotik лучше Cisco?

Сервисы

Как и в большинстве работающих сетях, мы предполагаем, что маршрутизатор будет управляться только через SSH и Secure-mode Winbox. Оба сеанса SSH и Winbox (начиная с версии 3.14) поддерживают шифрование, поэтому нам не нужно беспокоиться о перехвате учетных данных при работе с оборудованием. Сначала мы рассмотрим запущенные службы на маршрутизаторе, а затем отключим все службы, кроме SSH и Winbox. Наконец, мы снова сканируем устройство с помощью Nmap, чтобы убедиться, что изменения вступили в силу.

Просмотр запущенных служб

Проверим службы, запущенные на маршрутизаторе:

/ip service print

Такие службы, как Telnet, FTP и WWW, по своей сути являются небезопасными и не должны использоваться в производственных средах с учетом таких безопасных альтернатив, как SSH и HTTPS.

Отключение небезопасных служб

С помощью следующих команд можно отключить службы Telnet, FTP, HTTP и SOCKS и сервер проверки пропускной способности, который включен по умолчанию, а также отключим обработку удаленных DNS-запросов, передаваемые через внешний интерфейс маршрутизатора:

/ip service disable [find name=telnet]

/ip service disable [find name=ftp]

/ip service disable [find name=www]

/ip service disable [find name=www-ssl]

/ip service disable [find name=api]

/ip service disable [find name=api-ssl]

/tool bandwidth-server set enabled=no

/ip dns set allow-remote-requests=no

/ip socks set enabled=no

Убедитесь, что основные службы были отключены (отображается «X» перед именем службы), выполнив следующие действия:

/ ip service print

Мы также отключим серверы MAC Telnet и MAC Winbox. Они используются, чтобы предоставить администраторам доступ к маршрутизатору без назначенного IP-адреса, но по умолчанию включаются и запускаются на ВСЕХ интерфейсах – даже интерфейсах WAN. Пользователь в вашей локальной сети может подключаться к устройству через одну из служб MAC, и этот доступ должен быть ограничен как из внутренних, так и из внешних сетей. Мы полностью отключим эти службы, и предлагается повторно включить их только на специализированных интерфейсах управления.

/ tool mac-server set [find] disabled = yes

/ tool mac-server mac-winbox set [find] disabled = yes

/ ping для сервера mac-server enabled = no

Убедитесь, что другие службы также были отключены (отображается «X» перед именем службы), выполнив следующие действия:

/ mac-server print

/ mac-server mac-server tool

/ ping print mac-server tool

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

/ tool romon set enabled = no

Усиление критозащиты

Более сильная криптография в Микротиках для сервиса SSH доступна начиная с версии прошивки RouterOS 6.30, поэтому мы включим ее. Клиенты SSH, такие как Putty, которые могут использовать более сильный криптографический алгоритм по-умолчанию и оставят более слабые алгоритмы неиспользованными. На данный момент нет возможности явно отключить более слабые криптоалгоритмы в Mikrotik для подключения по SSH. Усильте криптозащиту SSH принудительно с помощью следующей команды:

/ ip ssh set strong-crypto = yes

Маршрутизаторы должны управляться только через защищенные протоколы, и эти протоколы должны использовать надежные шифры

 

Для управления сетевыми устройствами должны быть использованы защищенные протоколы с проверенными криптографическими алгоритмами FIPS 140-2.

Межсетевой экран MikroTik (Firewall)

Несмотря на уже сделанные изменения в конфигурации оборудования, злоумышленник может попытаться войти в систему с учетными данными администратора Mikrotik по умолчанию через Интернет с помощью SSH или Winbox. И попытка входа может быть успешной. Мы отключим доступ к сервисам управления и конфигурации со стороны WAN, добавив некоторые правила в список межсетевого экрана (Firewall). А затем создадим список адресов брандмауэра для блокировки Bogons. Богоны — это сетевые адреса, которые не связаны ни с одним бизнесом через Интернет, и, как правило, они не существуют, если кто-то не пытается изменить трафик и заставить его выглядеть так, как если бы он появился из вашей собственной сети. Команда Cymru поддерживает действительно фантастический список богонов, которые вы должны блокировать чтобы усилить безопасность вашего устройства Микротик.

  Как подключиться к Микротику по SSH без ввода пароля с помощью DSA ключа

Вот базовый список адресов bogon mikrotik:

/ip firewall address-list

add address=192.168.0.0/16 list=Bogon

add address=10.0.0.0/8 list=Bogon

add address=172.16.0.0/12 list=Bogon

add address=127.0.0.0/8 list=Bogon

add address=0.0.0.0/8 list=Bogon

add address=169.254.0.0/16 list=Bogon

Добавим правила для межсетевого экрана MikroTik

/ip firewall filter

add chain=input comment="Accept Established / Related Input" connection-state=established,related

add chain=input comment="Allow Management Input" src-address=10.1.157.0/24

add action=drop chain=input comment="Drop Input" log=yes log-prefix="Input Drop"

add action=fasttrack-connection chain=forward comment="Fast Track Established / Related Forward" connection-state=established,related

add chain=forward comment="Accept Established / Related Forward" connection-state=established,related

add chain=forward comment="Allow client LAN traffic out WAN" out-interface=ether1-gateway src-address=192.168.0.0/24

add action=drop chain=forward comment="Drop Bogon Forward -> Ether1" in-interface=ether1-gateway log=yes log-prefix="Bogon Forward Drop" src-address-list=Bogon

add action=drop chain=forward comment="Drop All Forward"

Ведение журнала включено для пары правил: Drop Input и Drop Bogon Forward. Если кто-то пытается войти в систему, для расследования инцидентов мы хотим знать источник подключения.

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

Полномочия

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

Штатная учетная запись Администратора

Сначала давайте установим пароль для пользователя admin по умолчанию, а затем изменим имя администратора на что-то другое, кроме «admin». Также у сетевых устройств не должно быть паролей, заданных производителем по умолчанию.

Так же, как в случае с переименованием учетной записи администратора на серверах Windows, рекомендуется переименовать пользователя-администратора Mikrotik в нечто иное, чем известный по умолчанию (admin):

/user set 0 password=UnathorizedAccessProhibited

/user set 0 name=14bytes.ru.admin comment="Default account - BACKUP ONLY"

Дополнительные учетные записи

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

Групповые учетные записи не должны настраиваться для использования на сетевом устройстве.

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

/user add name=eduard password=letonaulitse group=full comment="Eduard @ 14bytes"

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

Неблагоприятные учетные записи

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

Отключить учетную запись (можно повторно включить):

/user disable [find name=eduard]

Удалить аккаунт (нельзя восстановить):

/user remove [find name=eduard]

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

Исследование окружения

Еще одна лучшая практика — отключить обнаружение окружения. Что предотвратит от обнаружения вашего маршрутизатора Микротик другими устройствами, использующими протокол обнаружения компании MikroTik (NDP) или протокол обнаружения Cisco (CDP).

IPv4 Neighbor Discovery

Сначала мы отключим его по умолчанию для IPv4, поэтому, когда новые интерфейсы выйдут в сеть, они не будут участвовать в обнаружении соседями:

/ip neighbor discovery settings set default=no default-for-dynamic=no

Затем мы отключим его на каждом отдельном интерфейсе IPv4, который уже запущен, поскольку он по умолчанию включен на интерфейсах (даже WAN). Это особенно важно для организаций WISP, которые используют устройства Mikrotik в качестве CPE. Не отключая ND на стороне WAN, можно развернуть информацию об оборудовании одного клиента другому.

/ ip neighbor find set [find] discover = no

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

  Раскрытие критической уязвимости в Winbox CVE-2018-14847

IPv6 Neighbor Discovery

Обнаружение окружением можно отключить и для IPv6:

/ ipv6 nd set [find] disabled = yes

Это может негативно сказаться на производительности вашей сети IPv6 – тестируйте перед внедрением в производство.

Фильтрация обратного пути

Мы также включим фильтрацию обратного пути Reverse Path Filtering (RPF), также известную как обратная маршрутизация пути. Эта функция снижает пакетный трафик, который кажется поддельным, то есть пакет, исходящий из заголовка подсети внутренней локальной сети, но с другим исходным IP-адресом, чем локальная сеть. Это очень часто встречается, когда рабочая станция заражена вирусом и теперь участвует в DDoS-атаке. Мы включим RPF в меню IP -> Settings:

/ip settings set rp-filter=strict

Было замечено, что функция фильтра обратного пути может вызывать проблемы, если маршрутизатор многопользовательский. К сожалению, реализация этой функции Mikrotik не позволяет включить фильтрацию обратного пути на определенных интерфейсах – только для всего устройства — поэтому следите за этим, если ваше устройство многопользовательское.

Сетевой элемент должен быть настроен на прием любого исходящего IP-пакета, который содержит незаконный адрес в поле исходного адреса через исходящий ACL, или путем включения одноадресной обратной переадресации в IPv6.

Предполагая, что вы можете реализовать RPF, сделайте это. Это может помочь ограничить влияние будущих масштабных DDoS-атак, если ваши внутренние хосты объединятся в бот-сети.

Баннер

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

/system note set note="14bytes Networks, LLC - Unauthorized Access Prohibited."

Теперь, когда администратор (или кто-либо еще) подключается к маршрутизатору удаленно через SSH или Telnet, этот баннер появится. Он также появится при открытии терминала в Winbox.

Синхронизация часов NTP

Мы также должны настроить на маршрутизаторе точное время путем синхронизации с сервером NTP, поэтому маршрутизатор (и, надеюсь, все остальные маршрутизаторы в организации) будет синхронизироваться с точными часами. Когда часы маршрутизатора неверны, любой анализ журналов или корреляция журналов становятся очень трудными, потому что меткам времени нельзя доверять. Установите для клиента NTP проект ru.pool.ntp.org:

/system ntp client set enabled=yes server-dns-names=ru.pool.ntp.org

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

Сетевые устройства должны использовать по меньшей мере два сервера NTP для синхронизации времени.

Настройка SNMP

Протокол SNMP позволяет осуществлять надежный мониторинг, но настройка SNMP, к сожалению, выходит за рамки данной статьи.

Резервные копии конфигурации

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

/export compact file = router_config_backup

Дополнительная конфигурация

Изменения конфигурации, описанные  в этой статье, являются «быстрыми решениями», которые быстро защищают устройства и от обычных атак. Помимо этих изменений есть ряд вещей, которые вы можете сделать, чтобы защитить свою организацию в целом. Как только ваши устройства будут настроены, рекомендую задуматься о следующих шагах по укреплению безопасности сетевого периметра:

  • Мониторинг устройств с помощью Syslog
  • Мониторинг сетевых потоков с помощью Netflow и IPFIX
  • Настройка изоляции беспроводных клиентов
  • Фильтрация P2P трафика
  • Сегментирование сетей с помощью VLAN

Выводы

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

Читать далее

Настройка MikroTik — базовые принципы защиты периметра
Метки:        
Adblock detector