Блог компании Авантелеком

Как с помощью Mikrotik можно защитить телефонию от DDoS и других атак

Эту статью можно прочитать или посмотреть в виде выступления.
На сегодняшний день большинство компаний используют IP-телефонию в том или ином виде. Это единственная широко используемая технология для телефонной связи, от которой, пока, никуда не денешься. В качестве телефонной станции компании выбирают различные платформы или облачные решения. Вне зависимости от выбранной системы и схемы получения услуг, всегда существует риск стать жертвой электронной атаки, в результате которой понести денежные убытки, утратить информацию или потерять сервис.
Защита телефонии Mikrotik
Существует ряд мер, позволяющих минимизировать такой риск, а по ряду направлений свести его к нулю.
Если вы используете облачную телефонию от поставщика услуг связи, то борьба с названными проблемами и рисками ложится на вашего провайдера. Но если АТС обслуживаете вы, или вы сами – провайдер облачного сервиса телефонии, то – без погружения в эту тему вам никак не обойтись.
В нашей работе мы используем программную АТС Asterisk, серверы на базе Linux, и маршрутизаторы Mikrotik – для подключения к сети интернет и организации различных VPN.
Думаю, что такой комплекс используется в 99% случаях применения этого оборудования во всем мире, – это оптимум эффективности и рентабельности.
Работа с телекоммуникациями требует определенной суммы знаний и навыков. В этой статье поделюсь с вами некоторыми знаниями и опытом, и, надеюсь, они будут для вас полезными.
Итак, в начале несколько слов, – какие атаки возможны на ваш сервер и устройства, и какие цели преследуют злоумышленники.
  • Перепродажа трафика (Toll-Fraud).
  • DDOS.
  • Кража или порча информации.
Защита телефонии Mikrotik-1
Основное - это, конечно, перепродажа телефонного трафика (Toll-Fraud). В двух словах – злоумышленники не просто хотят поговорить за ваш счет, а прокачать через вас часы голосового трафика, за которые они, в дальнейшем, получат вознаграждение от бирж «сливного» трафика.
Система Toll-Fraud очень проста и доступна, и поэтому широко распространена. Работает перепродажа телефонного трафика просто: злоумышленник посылает инвайт на вашу АТС, с установлением связи с номером Венесуэлы, если у вас разрешены анонимные звонки или допущена ошибка в настройке транка и настроек исходящих маршрутов, то звонок пройдет. Или, как вариант, злоумышленники пытаются зарегистрировать на вашей АТС учетную запись SIP и с нее уже звонить. Более сложные схемы: подбор паролей на ваши устройства, даже за NAT, и установка переадресаций на них, – при звонке злоумышленника связь переадресуется в ту же Венесуэлу, на Аляску и куда угодно.
Защита телефонии Mikrotik-3
Также сюда можно отнести взлом пароля AMI, пароля mysql, – программных компонент, которые установлены на сервере и доступны из сети интернет (FreePBX, phpmyadmin). В этом случае вся работа вашей АТС оказывается в руках злоумышленников.
В нашей практике мы сталкивались со всеми вышеописанными случаями. В итоге клиентам приходит счет на десятки тысяч рублей (если вы имеете кредитный лимит), и несколько сотен тысяч (если вы имеете ОЧЕНЬ большой кредитный лимит).
Сразу скажем, что обновление ПО, регулярный просмотр уязвимостей в ПО и прочие вопросы безопасности ОС выходят за рамки данной статьи, но о них надо помнить и проводить регулярный аудит журналов и обновление ПО.
Остальные виды атак на ваши устройства – DDOS, кража или порча информации – записей разговоров, журнала звонков. Такие атаки больше персонифицируемые, на практике сложнее с ними бороться, но все возможно.
Защита телефонии Mikrotik-4
Asterisk и Linux уже имеют средства для борьбы с такими атаками, например, грамотная настройка поведения SIP на стороне Asterisk, отключение анонимных звонков, использование контекста по умолчанию для плана нумерации, использование списков доступа ACL, использование iptables и fail2ban, использование сложных и нестандартных паролей. Это основной достаточный и необходимый минимум, включая регулярное обновление ПО и корректную настройку ОС.
Использование Mikrotik добавляет к этому простые и доступные способы защиты от внешних и внутренних угроз.
Защита телефонии Mikrotik-5
Конечно, лучшая защита это закрытый от внешних сетей (интернет) сервер, а городские номера присоединяются при этом по выделенному каналу от провайдера. Но это исключительный случай, в реальности вам, в любом случае, придется открывать ваш сервер внешнему миру – чтобы принять транк через интернет, для коммутации с какой-нибудь облачной CRM, для обеспечения кому-то доступа и прочего. Да, можно сделать пробросы портов только с определенных IP-адресов внешнего мира и быть относительно спокойным. Но, иногда это невозможно, да и существует человеческий фактор, – банальная ошибка может привести к плачевному результату.

Далее я вам расскажу, как с помощью Mikrotik можно дополнительно защититься

Защита телефонии Mikrotik-6
Основные способы защиты:
  • Блокировка иностранных сетей.
  • Использование приманок.
  • Fail2ban с обратной связью.
  • Лимит пакетов.
  • Регулярное обновление RouterOS и аудит журналов (в том числе – потребления ресурсов).
Давайте рассмотрим основной случай, – когда через вас хотят пропустить телефонный трафик за рубеж. Вы злоумышленнику не знакомы, он не знает ваш IP-адрес, то есть – ему еще предстоит вас найти. Ищет он простым перебором IP-адресов, посылая на порт 5060 (SIP), 4569 (IAX) и 5038 (AMI) запросы, либо (в общем случае), – любой другой порт другого протокола.
Защита телефонии Mikrotik-7
В SIP – это запросы на регистрацию или установления соединения. Если вы отвечаете на них, то начинается перебор комбинаций номеров, паролей.
Важно понимать, что значительная часть подобных атак проходит автоматизировано (без участия человека), и целей для них в сети достаточно много – никто не будет терять на изучение схемы вашей защиты значительное время.
Первое — блокировать иностранные сети: все кто не наш – недруг по умолчанию.
Защита телефонии Mikrotik-8
Вносим все зарубежные сети в AddressList и ставим блокирующее правило на форвард с source-адреса этого листа. На слайде примерно видно – сколько это сетей, записей.
Важно помнить о количестве правил и производительности устройства!
Защита телефонии Mikrotik-9
Если у вас есть несколько внешних адресов на Mikrotik (несколько каналов или несколько адресов от провайдера), а под SIP используете только один, то вам повезло, – вы можете задействовать ваш другой адрес для «приманки». Организовать так называемый хони-пот (honeypot), – ловушку. Как это работает: любой, кто обратился на определенные порты нашего IP-адреса (который изначально не используется нами для телефонии), считается, автоматически, нарушителем, а значит – мы ему не доверяем.
Защита телефонии Mikrotik-10
Здесь необходимо одно правило на input, которым мы выбираем запросы на этот IP-адрес и порт, – этим правилом добавляем адрес источника в AddressList нарушителей. И, также блокирующее, – правило на forward с этим AddressList.
Защита телефонии Mikrotik-11
Если, все-таки, злоумышленник вас «нащупал» и к вам приходит огромное количество запросов, то вы, конечно, уже пользуетесь fail2ban для блокировки IP-адреса нарушителя. В этом случае можно применить скрипт, который будет передавать в Mikrotik IP-адрес нарушителя и он уже, на своем уровне, будет его блокировать.
Важно помнить о количестве правил и производительности устройства
Защита телефонии Mikrotik-12
Данная подстраховка, кстати, поможет собрать базу IP-адресов и использовать ее на всех ваших маршрутизаторах в сети.
Защита телефонии Mikrotik-13
Если у вас на сети несколько маршрутизаторов Mikrotik, то вы можете, при помощи скриптов, дополнять и тиражировать списки адресов нарушителей на все. Вообще, использование скриптов на Mikrotik дает ему неоспоримое преимущество перед другими маршрутизаторами в той же ценовой категории.

Далее – займемся ограничением числа пакетов (pps)

Защита телефонии Mikrotik-14
Для защиты от простых DDoS-атак на ваш сервер необходимо установить ограничение (лимит) числа пакетов проходящих через ваш маршрутизатор.
Защита телефонии Mikrotik-15
Вот такое правило на forward позволит нам ограничить число пакетов, а адрес источника поместить в AddressList (постоянно или с каким-либо тайм-аутом — временем жизни).
При этом воздействие злоумышленника на сервер ликвидируется, но определенная нагрузка на ваш Mikrotik останется. Если ресурсы у злоумышленника большие, то он сможет «положить» ваш интернет канал... Но, в любом случае, проблема перейдет в другую плоскость.
Защита телефонии Mikrotik-16
Списки в AddressList будут сохранены до первой перезагрузки маршрутизатора, поэтому рекомендуется периодически переводить их в статический вид при помощи скрипта и планировщика.
Защита телефонии Mikrotik-17
Mikrotik позволяет фильтровать трафик по регулярным выражениям, к примеру – реакция вашего сервера на неправильный пароль ответом 480 ошибки. Фильтруем это сообщение, и, если мы его часто шлем, точнее много (количественная характеристика) на один и тот же IP-адрес, то нам это сигнал – блокировать адресата. Скриншотов с маршрутизатора не будет, потому что это вопрос находится в стадии исследования и испытаний, и в продакшн мы такое не внедряем.
Защита телефонии Mikrotik-18
Связка: блокировка иностранных адресов, использование хони-пот, fail2ban с обратной связью на Mikrotik нейтрализуют 99% атак с перебором, причем не только на SIP, но и на другие сервисы. Если вас все-таки взломали, то это либо стандартные пароли или компрометация ваших учетных данных. Административные меры никто не отменял, поэтому в любом случае надо менять пароли на оборудование, использовать сложные пароли, включать встроенные в системы меры безопасности, как на Asterisk, так и на обычных IP-телефонах.
Защита телефонии Mikrotik-19
На примере одного известного телефона, – не снятая галочка позволяет позвонить на телефон без регистрации. Злоумышленник на этом не заработает, но обладателю этого телефона будут звонить. Конечно, если телефон находится за NAT, то нужны определенные условия чтобы сложилась такая ситуация, но наш опыт показывает, что эти условия возникают часто.

Что делать если ничего не помогло и это случилось?

Защита телефонии Mikrotik-20
Если, все-таки, пошли звонки на 810, то при определенном количестве звонков мы уже кладем транк на стороне Asterisk, – Mikrotik такого пока не умеет. Хотя, конечно, можно использовать фильтрацию по регулярным выражениям, по поиску, например, строки «to810..», то есть проверять начало строки to c цифрами 810 в заголовке SIP-пакета, и блокировать уже адрес провайдера.
Если вам интересно как это мы делаем на Asterisk, пишите на почту tech@avantelecom.ru – всем ответим.
Также не забудьте отослать уведомление дежурному инженеру, системному администратору. В нашем случае это e-mail, а при наличии GSM-модема можно настроить SMS.
В защите вашего сервера IP-телефонии не сосредотачивайтесь на одном аспекте, – самая эффективная защита это защита комплексная — на всех уровнях и во всех плоскостях. Не забудьте защитить, в первую очередь, ваш Mikrotik, регулярно обновляйте RouterOS: если вы не уделите этому должного внимания – его взломают и подберут пароли к вашим телефонам внутри локальной сети.
Я искренне рад, что вы дочитали до конца, хочу пожелать вам, чтобы у вас были образцово-показательные установки IP-телефонии, чтобы ваши Mikrotik работали, чтобы у вас перед глазами всегда была актуальная статистика и ясная картина вашей сетевой инфраструктуры! А если времени на проработку вопросов по телефонии у вас нет – обращайтесь, мы всегда поможем вам и делом и добрым советом!
Технологии