Защита VoIP сетей


    Приветствую всех. В сети уже достаточно много написано статей о том, что SBC защищает VoIP сеть и предотвращает воровство трафика, отражает DoS/DDoS атаки и обеспечивает полноценную безопасность VoIP сервисов. Но очень мало написано о том, какие в реальности есть атаки в мире VoIP и SIP, и какие именно технологии обеспечивают безопасность. В данной статье я постарался описать какие бывают атаки в мире VoIP, в чем их особенность, какое у них отличие от обычных сетевых атак и каким образом AudioCodes SBC предотвращает данные атаки и обеспечивает ту самую защиту, про которую все пишут.

    Для начала определим две основные конфигурации SBC:
    1. SIP Trunk – наиболее распространённое использование SBC, когда он используется для подключения к SIP операторам поверх IP сети
    2. Registration – использование SBC для подключения удаленных абонентов к IP АТС (например Asterisk) из сети Интернет.

    С точки зрения безопасности они очень сильно отличаются, так как в первом случае вам известно от куда приходит вызов (хотя опять же не всегда, но об этом чуть позже более подробно). Во втором случае, вы изначально не знаете от куда может прийти регистрация и вызов. Все мои примеры в дальнейшем будут ссылаться на эти два варианта подключения SBC (SIP).
    Настройку безопасности следует производить с самых простых вещей, а именно:
    1. Сделать настройку интерфейса управления только во внутренней сети, желательно отдельно от сигнализации. Сетевые роли интерфейсов на AudioCodes SBC имеют несколько значений. Для управления SBC используется интерфейс с ролью OAMP. Данный интерфейс должен находиться во внутренней сети, а в идеале (особенно для крупных компаний, где атака может происходить изнутри компании) в выделенной подсети, которая к сети VoIP не имеет никакого отношения.
    2. По возможности используйте не стандартные порты. Особенно это относится к корпоративным сетям, так как операторы связи вынуждены информировать о портах для подключения своих клиентов, и узнать по какому адресу и порту работает оператор не составляет проблем. Если говорить о корпоративной сети, то информация об адресах и портах нигде не публикуется, соответственно вариант узнать их — это проверить порт каким-либо сообщением, либо просто прослушать данный адрес. В большинстве случаев мошенники, кто взламывают VoIP сеть, начинают с того, что просто посылают на большое количество адресов тестовое SIP сообщение и ожидают на него ответа. Если ответ поступил, то далее они начнут систему «ломать». Если использовать для SIP не стандартный SIP порт 5060, то это уже как минимум уменьшит вероятность того, что ваш SIP адрес найдут. AudioCodes SBC позволяет использовать любой порт в сторону интернет, причем порт может быть отличный от порта, который используется внутри сети. SIP порты, по которым работает SBC, настраивается в SIP Interface table. Также важно настраивать только тот протокол, по которому планируется работать (UDP/TCP/TLS). Если порт не используется, то просто оставляете значение «0», в этом случае данный порт по этому SIP интерфейсу работать не будет.
    3. Для конфигурации SIP Trunk, по возможности, требуется настроить Firewall 3-го уровня и оставить для доступа к SBC только те адреса, с которых могут прийти SIP сообщения и RTP трафик. Данные настройки делаются в меню: (Configuration tab > VoIP menu > Security > Firewall Settings). Но тут есть несколько моментов, которые надо обязательно учитывать при настройке:
      • В большинстве случаев SIP Trunk настраивается не на IP адрес, а на доменное имя. Таким образом, не стоит забывать открыть порт на DNS сервер, который используется для публичного интернета, иначе SBC просто не найдет адрес сервера.
      • Если стык идёт с крупным оператором, или крупной системой, то далеко не всегда возможно корректно определить IP адрес/адреса. Это связано с тем, что операторы используют несколько систем, которые работают под одним именем. Более того, IP адреса там могут как удаляться, так и добавляться, а это может быть причиной того, что либо все вызовы в какой-то момент перестанут работать, либо часть вызовов.
      Таким образом, использование стандартного Firewall желательно, но использовать его надо осторожно и с умом, чтобы не навредить сервису телефонии.
    4. Далее следует настроить Call Admission Control – контроль над вызовами. Это различные ограничения как для вызовов, так и для сообщений SIP. Тут значения для разных конфигураций SBC (SIP Trunk и Registration) будут разные.
      • Одновременные сессии. Обязательно требуется ограничить количество одновременных соединений. Если говорить о SIP транке, то количество сессий на каждого оператора должно быть не более того количества сессий, которое вы у него покупаете. Теоретически, оператор должен заблокировать большее количество сессий, но тут стоит подойти к данному вопросу по принципу «лучше доверять, но проверять дополнительно у себя». Если же говорить о подключении пользователей через Интернет (конфигурация Registration), то тут ограничивать следует достаточно жестко, до 1, максимум 2 одновременных вызовов. 2 вызова порой требуется, для того, чтобы была возможность сделать перевод вызова. Хотя в тоже самое время, перевод вызова может использоваться злоумышленником как дополнительная «дырка» в системе. Так, при такой настройке, вызов может поступать на систему, далее переводиться, куда требуется, после этого можно устанавливать второй вызов и так же его переводить.
      • Для SIP Trunk так же стоит настроить предел прироста голосового трафика. Если вы используете достаточно крупное VoIP подключение, то его контролировать становится сложнее, а определить всплеск прироста достаточно сложно. Одним из механизмов выступает ограничение сессий в секунду каждого направления. Если же говорить про конфигурацию с регистрацией, то это особенно актуально для ограничений количества попыток регистраций в секунду, когда злоумышленник пытается подобрать пароль, то он начинает посылать большое количество сообщений SIP Register, ограничив количество регистраций в секунду, данный процесс вы очень сильно усложните для злоумышленника.

      На AudioCodes SBC вы можете настроить Call Admission Control как на всю систему, так и на отдельные направления или отдельные SIP интерфейсы. А для удаленных абонентов, вы можете настроить ограничения на отдельного пользователя. Call Admission Control настраивается так: (Configuration tab > VoIP menu > SBC > Admission Control)
    5. Следующим шагом для настройки безопасности является настройка маршрутизации. При настройке маршрутизации требуется внимательно смотреть на формат номеров, который используется для маршрутизации. Следует избегать маленькие префиксы, символы * и какие-либо общие правила. Чаще используйте формат номера с заданным значением длины номера. Маршрутизация вызовов должна быть наиболее детальна, таким образом, чтобы вызов мог быть совершен только по нужным номерам и с определенных номеров. Это достаточно простое правило, про которое, к сожалению, многие забывают.
    6. Еще важной настройкой является квалификация сообщений, чтобы удостовериться, что данное сообщение отвечает определенным требованиям. Как простой пример, могу привести следующий. В качестве корпоративного стандарта, компания использует программные клиенты на смартфоны от компании sipphone (в качестве примера). Они используют поле user-agent следующего формата: “User-Agent: sipphone-version-9.99”. На SBC мы в данном случае должны настроить, что принимаем регистрации и вызовы, только с тех устройств, у которых поле user-agent содержит (sipphone-version-)(.*). Так, можно задать достаточно большое количество правил, которые будут идентифицировать устройство достаточно точно и злоумышленнику потребуется потратить достаточно много времени, чтобы подобрать правильный формат SIP сообщения, которое используется у вас.
    7. В любой компании (особенно у оператора связи) воровство трафика осуществляется банальным воровством пароля (человеческий фактор). Имея параметры доступа и логин с паролем, возможно легко и просто взломать сеть и сгенерировать трафик куда требуется. В качестве защиты, можно использовать отдельные логины/пароли на SIP телефоны, которые не сообщаются сотрудникам. Но к сожалению, это не всегда возможно, по разным причинам. Например, операторы предоставляют логин/пароль для доступа к собственному программному коммутатору для того, чтобы клиент мог зарегистрироваться, используя любое устройство. Для того, чтобы дополнительно обезопасить вашу сеть IP телефонии, на AudioCodes настраивается отдельный список пользователей со своими отдельными паролями. Это позволяет уменьшить влияние человеческого фактора, так как знание пароля для регистрации изнутри сети не позволит с этим же паролем зарегистрироваться извне, а контроль на пароли извне сделать более сложным, например настраивать смартфоны только IT департаментом. Для операторов связи такое решение делается с использованием RestAPI, но эта тема отдельной статьи. Так же, это позволяет предоставлять доступ извне только тем пользователем, кто есть в базе данных SBC.
    8. Одним из способов атак (хоть и редким) является посылка на ваше устройство не корректных SIP сообщений. Это делается с целью вывода вашей IP АТС из строя, так как есть вероятность, что при обработке такого сообщения IP АТС может не корректно воспринять данное сообщение и либо выйти из строя, либо отработать его не корректно. Для предотвращения таких сообщения, на AudioCodes SBC настраивается Message Policy Table (Configuration tab > VoIP > SIP Definitions > Message Policy Table). А данной таблице вы можете описать различные параметры сообщения SIP, при котором сообщение будет считаться корректным или нет, например: Максимальная длина сообщения, максимальная длина заголовка, максимальная длина body элемента, максимальное количество заголовков. Так же возможно определить те методы сообщений SIP, которые разрешены или запрещены (INVITE\BYE\REFER и прочие). Всё это позволяет детально проверить сообщения SIP на корректность и отправлять на IP-АТС/программный коммутатор только те сообщения, которые корректно будут восприняты им.

    9. Скрытие топологии. Одной из задач SBC, это полностью скрывать топологию сети заказчика, причем не просто IP адреса, но и всё, что может выдать хоть какую-то внутреннюю инфраструктуру. Какой-то специальной галочки для скрытия топологии на SBC не существует, так как IP-АТС вправе использовать любые типы полей и в них использовать информацию о себе. Таким образом, единственным действенным способом скрытия топологии является анализ сообщений и дальнейшее его преобразования с помощью SIP Manipulation Rules. Как эти правила работают я писал ранее в статье: habrahabr.ru/company/audiocodes/blog/253015
    10. Ограничение исходящих вызовов. Как известно, атака может происходить как из вне, так и из внутренней сети предприятия. А значит ограничивать надо не только из вне, но и при исходящем трафике. А именно, как я писал ранее, в первую очередь требуется избегать общих планов маршрутизации и настраивать маршрутизацию только туда, куда требуется. Но не мало важным аспектом, также, является проверка номера звонящего. Так, например, разрешать вызовы только с внутренних номеров сотрудников, а если номер не совпадает с внутренним номером, то вызов просто отбивать. На AudioCodes SBC есть несколько вариантов проверки данных номеров: сделать соответствующие правила квалификации для входящих номеров, либо при написании правил маршрутизации указывать возможные префиксы внутренних номеров. Еще один способ, который может быть интересен для корпоративной среды, это проверки по LDAP. То есть, каждый вызов проверяется по LDAP на то, есть ли такой номер в организации или нет. Более того, таким же образом можно сделать ограничения по политикам. Например, если пользователь входит в группу по работе с европейскими партнёрами, то ему разрешены вызовы на европейские номера, если нет, то не разрешены. Данное правило хорошо применяется в тех организациях, когда АТС компании не поддерживает политики, либо когда в компании есть несколько АТС, где политики требуется объединить в одну. Так же, есть смысл сделать отдельные ограничения (например только на внутренние или местные вызовы) для абонентов, которые подключаются через публичную сеть.


    Все вышеперечисленные правила актуальны в первую очередь для защиты вашей инфраструктуры IP телефонии от воровства трафика и являются базовыми настройками, которые прямо или косвенно обеспечивают вашу безопасность. А вот для защиты от DoS/DDoS атак используется другой механизм, который называется IDS (Intrusion Detect System) – функция AudioCodes Mediant SBC, которая детектирует атаки по заранее настроенным критериям и реагирует на эти атаки соответствующим образом, в зависимости от настройки. Варианты реакции могут быть различные: посылка SNMP Trap на сервер мониторинга информации об атаке, причем в зависимости от порогового значения, ошибка может быть Minor, Major или Critical; блокировка направления на определенное время. Данные пороговых значений и действий настраиваются в IDS Rule Table. Разберем более подробно, что тут можно настроить. Первое, что требуется настроить, это тип сообщения, на которое надо делать какое-либо действие. Тут есть следующие варианты:
    • Connection abuse – проблемы при авторизации TLS
    • Malformed message – не корректные сообщения SIP. SBC проверяет сообщения как на корректность стандарту SIP, так и на заданные значения, такие как: максимальная длина сообщения, соответствие SIP Message Policy Rules.
    • Authentication failure – Ошибка при проверке авторизации, регистрации, либо при установлении соединения
    • Dialog establish failure – Ошибки при установлении диалога (например соединения). Это может быть проблемы с квалификацией сообщения, проблемы с маршрутизацией или какие-либо иные локальные ошибки.
    • Abnormal flow – не корректный диалог. Какие-либо ответы, которые не относятся к существующему диалогу. Запросы, не относящиеся к пользователям.


    Далее идут настройки времени, в течении которого мы собираем данные значения и пороговые значения, при достижении которых в течении настроенного времени срабатывают определенные триггеры: посылка SNMP Trap alarm (Minor, Major или Critical); блокировка адреса, с которых приходит данные сообщения (атака). Если мы говорим о блокировке, то тут так же указывается количество секунд, на которое происходит блокировка данного адреса.
    Как пример использования данного правила – при более чем 2 неудачных регистраций в течении 5 секунд, идёт блокировка IP адреса, с которого происходит попытка подбора паролей с предупреждением, что происходит атака. Тем самым, мы сводим к минимуму шанс для злоумышленника подобрать пароль методом перебора. Но, при использовании данных правил, стоит быть очень осторожным, так как при чрезмерной защите вы можете столкнуться с ситуацией, когда может быть заблокировано корректно работающее направление.
    В любом случае, каждая инсталляция своего рода уникальна, и где-то требуется использовать одни правила, где-то другие. Именно поэтому не существует универсальной схемы защиты VoIP сетей, а каждый раз требуется анализировать бизнес требования и уже подстраивать систему под бизнес требования, как безопасности, так и функционала. Наша задача — это предоставить максимальное количество возможностей по обеспечению защищенного подключения, чтобы была возможность обеспечить защищенное и надежное подключение для любого типа подключения.
    Если подытожить написанное выше, то хочется отметить, что количество атак VoIP в мире только растет, вместе с количеством VoIP подключений. Более того, операторы увеличивают объем VoIP трафика, и контролировать его со стороны оператора становится всё сложнее и сложнее. Всё это приводит к тому, что безопасность VoIP становится важной составляющей любой компании, которая переходит на Voice over IP. И тут SBC выполняет важную роль для обеспечении безопасного подключения к SIP операторам, особенно через публичную сеть. А если говорить о подключении SIP телефонов к IP-АТС, то тут SBC становится просто необходимой составляющей, так как большинство взломов систем происходит именно через такой тип подключения.
    Периодически я слышу, что SBC это правильное и нужное устройство, но оно слишком дорогое и предназначено для операторов связи, либо для крупных предприятий. Наш SBC ориентирован для различного типа бизнеса, и может представлять из себя как бюджетное решение, начинающиеся от 5 одновременных соединений и заканчивая решение операторского класса. Таким образом, SBC становится доступным оборудованием даже для небольшой компании. При этом, по функциональности малые SBC не отличаются от высокопроизводительных SBC

    Ну и под конец, желаю Вам безопасного, надежного и качественного использования всей полноты возможности вашей IP телефонии!
    AudioCodes
    20.50
    Company
    Share post

    Comments 0

    Only users with full accounts can post comments. Log in, please.