понедельник, 30 апреля 2018 г.

Защита NAT на Mikrotik.

  У нас есть Mikrotik за ним вроде защищенная сеть. Теперь читаем это:


  Потом читаем это:

  И напоследок смотрим это:


  Bogon-сети мы конечно запретили из WAN, но чем черт не шутит. На выходе получаем настройку защиты наших внутренних устройств от внешних запросов которые могут попасть под NAT:
/ip firewall filter
add action=accept chain=forward comment=Accept_Established&Related_forward connection-state=established,related,untracked
add action=drop chain=forward comment=Drop_Invalid_forward connection-state=invalid
add action=drop chain=forward comment=Drop_New_no_dstnat_forward connection-nat-state=!dstnat connection-state=new in-interface-list=wan

пятница, 15 сентября 2017 г.

Периодическая смена MAC на Bridge-интерфейсе.

  У меня работает скрипт, который с периодичностью меняет пароль Wi-Fi на всех офисах одновременно и отсылает коллегам уведомление. Это сделано в целях безопасности и для удобства пользователей. Название сети везде одинаковое и сотрудникам не нужно каждый раз вводить новый пароль при приходе в другой офис. Этот скрипт писался еще до ввода нового функционала в RouterOS - CAPsMAN, но так как он работает довольно успешно - функционирует до сих пор. Офисов достаточное количество, и поэтому перед отправкой нового пароля на роутер каждого офиса, сам офис или подразделение проверяется пингом.
  Если в офисе стоит Wi-Fi-роутер, который получает IP по DHCP на бридж-интерфейс, и в раздающем по DHCP роутере  IP-получателя привязан к MAC-адресу, то периодически Wi-Fi-роутер начинает получать совершенно другой IP. Это связанно с особенностью RouterOS: по умолчанию мост наследует MAC-адрес от его портов, при чем это происходит в рандомном порядке. Поэтому маршрутизатор на другой MAC - выдает другой IP.
  Для того, что-бы этого не происходило есть 2 настройки в /interface bridge
auto-mac - автоматически формировать MAC-адрес на  Bridge-интерфейсе (по-умолчанию да)
admin-mac - указать свой статический MAC-адрес. Работает при условии, что настройка auto-mac=no.

среда, 22 февраля 2017 г.

Опция Random в Firewall Mikrotik - имитация плохого соединения.

  Иногда нужно симитировать плохое соединение с Интернет. Причины могут быть разные, например "вредный пользователь".
  WiKi Mikrotik так объясняет эту опцию.


  По факту, опция указывает в процентном соотношении количество пакетов для которых будет применяться данное правило.
  Для примера создадим правило, которое будет имитировать потерю пинга на сервер 8.8.8.8 в 20%.

понедельник, 20 февраля 2017 г.

Пакеты RouterOS.

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


  Доступность пакетов может отличатся от выбранной платформы (mipsle, mipsbe, ppc, x86). Главным пакетом является пакет system, его нельзя удалить, он является дефолтным на всех роутерах. Кроме него "с коробки" довольно большое количество пакетов включено в поставку для устройства Mikrotik. Это и пакет DHCP, ppp и другие. Стоит помнить, что эти пакеты не являются обязательными и могут быть отключены или удалены с маршрутизатора.

среда, 15 февраля 2017 г.

Защита Wi-Fi в Mikrotik.

Версия RoS 6.39rc27 

  За защиту WiFi сети в Mikrotik отвечают три вкладки: Access List (/interface wireless access-list), Connect List (/interface wireless connect-list), Security Profiles (/interface wireless security-profiles).


  Access List - список правил, которые ограничивают соединения других устройств к вашей точке, а также служат для управления параметрами подключения. (режим ap mode). 
  Пример: вы хотите ограничить подключение к вашей точке доступа по MAC-адресам.
  Connect List - список правил, которые ограничивают соединение вашего устройства к другим точкам доступа (режим station mode). 
  Пример: вы хотите автоматически подключать свою клиентскую станцию к точке доступа с максимальным уровнем сигнала (при наличии нескольких базовых станций).
  Security Profiles - настраиваются профили методов защиты и, непосредственно, ключи защиты беспроводной сети.

понедельник, 6 февраля 2017 г.

Защита SIP-порта. Часть 2: анализ пакетов.

  Для защиты SIP-порта можно использовать анализ пакетов с помощью опции "content" в Firewall Mikrotik. Но, для начала, нам нужно узнать, что именно посылает наш сервер телефонии на неправильный логин и пароль. Для примера возьмем самый популярный сервер телефонии - Asterisk с веб-интерфейсом FreePBX. Перво-наперво можно изучить, какие именно стандартные ответы дает SIP-сервер:
SIP/2.0 400 Bad Request - запрос не понят из-за синтаксических ошибок в нем, ошибка в сигнализации, скорее всего что-то с настройками оборудования
SIP/2.0 401 Unauthorized - нормальный ответ сервера о том, что пользователь еще не авторизировался; обычно после этого абонентское оборудование отправляет на сервер новый запрос, содержащий логин и пароль
SIP/2.0 401 Expired Authorization - время регистрации истекло
SIP/2.0 402 Payment Required - требуется оплата (зарезервирован для использования в будущем)
SIP/2.0 403 No Such User - нет такого пользователя, ошибка в номере, логине или пароле
SIP/2.0 403 User Disabled - пользователь отключен
SIP/2.0 403 Wrong Guess - ошибка в пароле
SIP/2.0 403 Conflict - такой SIP-номер уже используется
SIP/2.0 403 Forbidden - абонент не зарегистрирован
SIP/2.0 403 Empty Route Set - нет ни одного шлюза в роутинге
SIP/2.0 403 Caller Not Registered - нет такого пользователя
SIP/2.0 403 Out of Look-Ahead Retries - перебор узлов закончен
SIP/2.0 403 Invalid Phone Number - нет такого направления
SIP/2.0 403 No Money Left on RFC Account - на счету нет денег для совершения звонка
SIP/2.0 404 Not found - вызываемый абонент не найден, нет такого SIP-номера
SIP/2.0 404 Undefined Reason - неопределенное направление
SIP/2.0 404 Unknown user account - логин и пароль не найдены
SIP/2.0 404 Out of Order - в заявке на маршрутизацию по этому направлению нет ни одного шлюза, проверьте настройку маршрутизации по этому направлению.
SIP/2.0 405 Method Not Allowed - метод не поддерживается, может возникать если пользователь пытается отправлять голосовую почту и т.п.
SIP/2.0 406 No codecs match - неправильная конфигурация кодеков
SIP/2.0 406 Not Acceptable - пользователь не доступен
SIP/2.0 407 Proxy Authentication Required - необходима аутентификация на прокси-сервере
SIP/2.0 408 Request Timeout - время обработки запроса истекло: Абонента не удалось найти за отведенное время
SIP/2.0 408 Login timed out - за отведенное время не получен ответ от сервера на запрос авторизации
SIP/2.0 410 No Route - вариант SIP/2.0 403 Empty Route Set; нет доступа к ресурсу: Ресурс по указанному адресу больше не существует
SIP/2.0 413 Request Entity Too Large - размер запроса слишком велик для обработки на сервере
SIP/2.0 415 No Media - звонок совершается неподдерживаемым кодеком
SIP/2.0 416 Unsupported Scheme - сервер не может обработать запрос из-за того, что схема адреса получателя ему непонятна
SIP/2.0 420 Bad extension - неизвестное расширение: Сервер не понял расширение протокола SIP
SIP/2.0 421 Extension Required - в заголовке запроса не указано, какое расширение сервер должен применить для его обработки
SIP/2.0 423 Interval Too Brief - сервер отклоняет запрос, так как время действия ресурса короткое
SIP/2.0 480 Invalid Phone Number - неправильный номер телефона, не соответствует к-во цифр или неправильный код страны или города
SIP/2.0 480 Destination Not Found In Client Plan - направления нет в тарифном плане абонента
SIP/2.0 480 Wrong DB Response - проблемы с центральной базой сети
SIP/2.0 480 DB Timeout - проблемы с центральной базой сети
SIP/2.0 480 Database Error - проблемы с центральной базой сети
SIP/2.0 480 Codec Mismatch - несоответствие кодеков
SIP/2.0 480 No Money Left on RFC Account - нет денег на счету, обратитесь к администратору сети!!!
SIP/2.0 480 Empty Route Set - пустое направление, нет принемающих шлюзов
SIP/2.0 480 No money left - недостаточно денег на счете
SIP/2.0 480 Temporarily Unavailable - временно недоступное направление попробуйте позвонить позже
SIP/2.0 481 Call Leg/Transaction Does Not Exist - действие не выполнено, нормальный ответ при поступлении дублирующего пакета
SIP/2.0 482 Loop Detected - обнаружен замкнутый маршрут передачи запроса
SIP/2.0 483 Too Many Hops - запрос на своем пути прошел через большее число прокси-серверов, чем разрешено
SIP/2.0 484 Address Incomplete - принят запрос с неполным адресом
SIP/2.0 485 Ambiguous - адрес вызываемого пользователя не однозначен
SIP/2.0 486 Busy Here - абонент занят
SIP/2.0 487 Request Terminated - запрос отменен, обычно приходит при отмене вызова
SIP/2.0 488 Codec Mismatch - нет шлюзов с поддержкой заказанного кодека
SIP/2.0 488 Private IP Address - адрес RTP media из сетей RFC1918
SIP/2.0 491 Request Pending - запрос поступил в то время, когда сервер еще не закончил обработку другого запроса, относящегося к тому же диалогу
SIP/2.0 493 Undeciperable - сервер не в состоянии подобрать ключ дешифрования: невозможно декодировать тело S/MIME сообщения
SIP/2.0 499 Codec Mismatch - отсутствует кодек

пятница, 3 февраля 2017 г.

Защита SIP-порта с помощью Mikrotik.

  Иногда нужно выбросить наружу SIP-порт для клиентов, которые подключаются к вашей IP-телефонии. Открытый SIP-порт, особенно стандартный (5060 UDP), очень уязвим и рано или поздно вас начнут взламывать, подбирать пароли и т.д. Это чревато не только возможностью угадать пароль, но и нагрузкой на ваш сервер телефонии и интернет-канал. Есть несколько рекомендаций для защиты.
  Общая рекомендация - не использовать стандартный порт. В дополнение, на стандарнтый порт можно повесить ловушку:
/ip firewall filter
add action=add-src-to-address-list address-list=sip_drop address-list-timeout=30m chain=input comment=sip_add_list dst-port=5060 in-interface=ether1-wan log=yes log-prefix=Sip-Attack protocol=udp
add action=drop chain=input comment=sip_list_drop in-interface=ether1-wan src-address-list=sip_drop

понедельник, 30 января 2017 г.

четверг, 12 января 2017 г.

Юникод в SSID: Смайлики в названии сетей.

  На официальном форуме поднимался вопрос поддержки Mikrotik Unicode (UTF-8) в SSID для создания прикольных названий сетей (можно использовать спецсимволы, различные шрифты, смайлики и прочее в имени WIFI-сети). На форму обсуждалось то, что если ввести символы Юникода в следующем виде
ssid="\C4\9B\C5\A1\C4\8D\C5\99\C5\BE\C3\BD\C3\A1\C3\AD\C3\A9"
  Причем ОБЯЗАТЕЛЬНО через командную строку, то, несмотря на то, что в винбоксе отображаются крякозябры - в устройствах поддерживающих Unicode в названии сети он отображается корректно.
  Пользователь R1CH пошел дальше - создал специальный генератор, который преобразует символы Юникода уже в код добавления SSID на интерфейс RouterOS. Сам генератор доступен по адресу:

понедельник, 9 января 2017 г.

Подключение к веб-интерфейсу Mikrotik используя ssl протокол.

  Выставляя в "мир" нужные нам сервисы мы всегда рискуем. Поэтому желательно по-максимуму защитить наше оборудование. Удаленное подключение к нашим маршрутизаторам следует оставлять только с определенных подсетей, оставляя минимум сервисом, меняя стандартные логины и применяя сложные пароли с регулярной сменой. Так-же в обязательном порядке менять порты сервисов по-умолчанию. Можно организовать открытие портов через определенный порядок действий (например, технология port knocking).
  Незащищённое http-соединение опасно тем, что любой, кто слушает трафик, прекрасно видит все данные, которые вы передаете на сайт, по протоколам POST или GET. Так как мы не хотим, что-бы злоумышленники получили доступ к нашему роутеру - для этого нам необходим специальный сертификат. Как правило, сертификаты подтверждают центры сертификации. Но мы можем сгенерировать сертификат самостоятельно - такой сертификат называется самоподписанным, так как его подтверждаете лично вы. Для сайтов самоподписанный сертификат, конечно, не подойдет, но для личных целей вполне будет достаточно.
  Обращаю ваше внимание на то, что при использовании самоподписного сертификата вы будете видеть окно: "Сертификат безопасности сайта не является доверенным", что может быть не очень понятно неосведомленным пользователям.
 Сейчас я хочу описать как можно сгенерировать самоподписанный сертификат и включить безопасное соединение www-ssl для управления нашим роутером.
  Открываем System/Certificates, добавляем новый сертификат.


воскресенье, 8 января 2017 г.

Защита Mikrotik. Часть 2: Мания преследования.

  В дополнение к основной статье Защита WAN-интерфейса в Mikrotik хочется отметить несколько важных моментов в безопасности вашего маршрутизатора. Описанные тут пункты не имеют критически важное значение в защите роутера Mikrotik, но, в комплексе, помогают защитить маршрутизатор еще лучше. Я специально буду продолжать пункты, описанные в предыдущем материале, что бы подчеркнуть - эта статья является продолжением и дополнением первой и отдельно рассматриваться не может.
  Не смотря на запрещающее правило в пункте 13 ("add action=drop chain=input comment=Drop_all_WAN in-interface=ether1-velton")  в конце первой статьи, рекомендую проверить активность сервисов. Если какой-то сервис не используется - в целях безопасности его отключить.

14) Проверяем сервис SNMP в IP/SNMP. По-умолчанию он выключен. Если мы его не используем - проследите что-бы не стояла галочка Enabled. Если используем - позаботитесь о его защите.


четверг, 22 декабря 2016 г.

Проверка статуса выгрузки на FTP в Mikrotik.

  Очень часто мы пользуемся выгрузкой на FTP-сервера через скрипты в Mikrotik. Удобно загружать бекапы или экспортные файлы на сервер, передавать файлы типа anything.auto.rsc на другие Микротики для автовыполнения. Иногда передача по фтп завешается неудачей, наша цель - отследить статус отправки. Типового механизма отслеживания корректно ли произошла отправка по фтп в RouterOS нет, но есть небольшая уловка, которой мы можем воспользоваться.
  С помощью оператора :execute мы сможем выполнить скрипт и результат обработки записать в файл, проанализировав который можно сказать удачно ли произошла отправка или нет.
  Сам скрипт:
:local logftp "ftp.log"
:local cmd "/tool fetch mode=ftp upload=yes user=\"admin\" password=\"admin\" src-path=\"11.txt\" address=\"192.168.88.254\" dst-path=\"99.txt\""
:execute file=$logftp script=$cmd
# ждем 30 секунд. Это время можно изменить проанализировав время выгрузки вашего файла
:delay 30s
:local logres [/file get [find name="$logftp.txt"] contents]
:if ($logres~"finished") do={
 :global ftpSTS "done"
/log warning "ftp upload success"
} else={:global ftpSTS "error"; /log error "ftp upload NOT success"}
  192.168.88.254 - IP нашего сервера FTP,
  admin, admin - логин и пароль.
  Проанализировав вывод оператора и найдя в нем строчку "finished" - мы считаем что файл успешно передался.

стандартный вывод успешного завершения передачи по ftp.
  Это мы и записываем в переменную ftpSTS (done) и пишем в лог. Дальше используем эту переменную по вашему усмотрению.


Используемый материал:

среда, 21 декабря 2016 г.

Чат в консоли Mikrotik.

  В консоли можно устроить чат между пользователями, которые в данный момент подключены к маршрутизатору. Если в терминал написать сообщение вида 
#privet
с экранирующим символом "#", то это сообщение будет доставлено всем подключенным пользователям в данный момент. Не имеет значение откуда сообщение отправлено - с консоли, через WinBox, ssh или telnet.


Mikrotik DISC Lite5 (RBDisc-5nD)

  Произошла утечка информации от одного из дистрибьюторов Mikrotik о новом устройстве - недорогой точке доступа DISC Lite5 (RBDisc-5nD). Устройство основано на базе LHG 5 имеет 21dBi Dual Chain антенну стандарта 802.11n, 600MHz частоту CPU, 64MB RAM, 1x 10/100Mbps Ethernet port, 64MB ПЗУ. Есть две версии: интернациональная (International: 5150 MHz-5875 MHz) и для США (USA: 5170-5250 MHz; 5725-5835 MHz). При чем блокировка по частотам уже вшита в устройство и не может быть снята, это нужно учитывать при покупке. Так же как и  LHG 5 DISC Lite5 имеет на борту RouterOS L3.

MikroTik News December 2016 (Issue #74)

четверг, 15 декабря 2016 г.

hAP ac lite tower: имидж все!

  Mikrotik представила новый "старый" роутер. Взяли hAP ac lite и поместили его в новый красивый корпус! Судите сами.

четверг, 8 декабря 2016 г.

Переносим динамический адрес-лист на другой Mikrotik.

  Обратился человек по имени Serg и попросил помочь с написанием скрипта. Суть скрипта такова, есть некий динамически список (dynamic address list) в Mikrotik - его нужно сохранить. А после перезагрузки маршрутизатора - восстановить с тем же таймаутом (address-list timeout). Проблема эта возникла из-за того, что после перезагрузки маршрутизатора динамические адрес-листы очищаются. Попутно было бы не плохо переносить эти адрес-листы на другие Микротики.
  Начнем с того, что командой экспорта динамические листы экспортировать не получиться, она сохраняет только статические листы:



  Поэтому для экспорта динамического листа можно использовать команду print. Для адрес-листа 3333 команда будет такая:

воскресенье, 4 декабря 2016 г.

Wi-Fi в Mikrotik: Настройки параметров wireless interface.

  Начинаю цикл статей про настройку Wi-Fi в Mikrotik. Так как тема довольно обширная охватить одной статьей ее не реально, поэтому будет несколько связанных публикаций, которые можно будет отфильтровать по метке "Wi-Fi". 
  В первой статье я опишу ВСЕ пункты, которые есть в настройке wlan-интерфейса в  режиме Advanced Mode. Все остальные настройки будут описаны в следующих статьях. Описание буду проводить на самом распространенном маршрутизаторе Микротик для дома и офиса - RouterBoard 951G-2HnD с версией RouterOS самой новой на время написания статьи - 6.38rc38. 
  В зависимости от модели роутера некоторые функции и настройки могут появляться или пропадать, так же это касается и версии RouterOS - это нужно учитывать при прочтении. Я же попытался описать наиболее полные параметры. При настройке я часто обращался в гугл для выискивания значения того или иного параметра, мне попадалось много статей. В одних описаны сами параметры, но без рекомендаций по их установке. В других - только рекомендации, без объяснений. Тут я попытался написать и значения установок и рекомендации для настройки. По-возможности описал почему именно так нужно устанавливать, а не иначе.  Значения описанные в этой статье подходят для настройки роутера для дома и малого офиса с небольшой нагрузкой и небольшое количество устройств. Что является самым распространенным применением точки доступа Mikrotik. Все рекомендации по значениям параметров я выделил курсивом. Данная статья подразумевает, что человек уже настраивал wi-fi в Микротик, но хотел бы получить больше информации по доступным параметрам и их значениям.

  И так, начнем - заходим в wireless и входим в наш интерфейс wlan1.


  Выбираем режим Advanced Mode.

понедельник, 21 ноября 2016 г.

Hairpin NAT - доступ через внешний IP на свои ресурсы, находясь внутри сети.

  Допустим мы имеем конфигурацию, когда в вашей офисной или домашней сети есть веб-сервер. На него из-вне проброшен 80 порт. Ваши клиенты могут заходить на ваш домен domain.ru, который имеет внешний IP 1.1.1.1 с переадресацией через Mikrotik на web-сервер 192.168.1.2. Визуально такое правило выглядит так:
/ip firewall nat
add chain=dstnat dst-address=1.1.1.1 protocol=tcp dst-port=80 action=dst-nat to-address=192.168.1.2
  Все запросы с внешнего IP 1.1.1.1 на 80 порт направлять на наш веб-сервер. Второе правило - обычный NAT для нашей внутренный сети:
add chain=srcnat out-interface=WAN action=masquerade
  Когда внешний клиент с WAN-интерфейса совершает подключение к нашему веб-серверу это выглядит так:

воскресенье, 20 ноября 2016 г.

Архив версий RouterOS на новом сайте Mikrotik.

    С обновлением официального сайта Mikrotik намного легче стало искать старые релизы RouterOS.
  В разделе Downloads появились новые разделы.

Страница загрузок.

Страница архива релизов.