Обеспечение безопасности телефонии
Содержание
Введение
Кому может быть интересен взлом IP телефонии? Зачем это делается? Может показаться, что во время взлома ваших серверов, хакер получает доступ к записям ваших разговоров, статистике звонков и другим отчетам. Однако, в действительности это мало кому интересно. Абсолютно также не интересно использование вашей телефонии для совершения бесплатных звонков по городу или предоставление этого канала другим компаниям.
На самом деле взлом IP-телефонии - это один из наиболее удобных способов зарабатывания денег для хакера. За рубежом или в России регистрируется номер телефона, звонок на который является платным. Чем выше стоимость минуты - тем прибыльнее бизнес. Затем специальным оборудованием атакующие сканируют случайные IP адреса в интернете с целью установить любой ответ от IP PBX. После нахождения IP адреса с установленной на нем IP АТС начинается подбор пары логин-пароль. Сканирование ведется очень интенсивно и в случае успешного подбора атакующие подключаются к IP АТС как IP телефон и получают возможность совершения исходящих звонков. Путем подбора различных вариантов набора номера атакующие совершают звонок на свой платный номер и за короткое время "наговаривают" вполне приличную сумму, которая будет выставлена вам оператором за услуги связи в конце месяца.
На практике, Oktell имеет сильные механизмы защиты от взлома. Однако еще больший вклад в защиту во многом зависит от интегратора и администратора системы. Важно очень серьезно относится к защите вашей IP-АТС.
Типовые ошибки безопасности
Рассмотрим способы взлома IP-АТС для совершения звонков на внешние номера.
1. Имеется доступ к серверу Oktell. Самый простой способ для совершения звонков - получить доступ к серверу Oktell. Добавив свою учетную запись администратора системы, хакер получает возможность использовать телефонию вашей компании.
2. Имеется доступ к SQL-серверу. Если хакер получил доступ к SQL-серверу, фактически он имеет доступ к серверу Oktell. Выполнив несколько запросов, создается пользователь с ролью администратора, а значит и возможно совершение звонков с вашего SIP-сервера.
3. Получена учетная запись пользователя или устройства. Получив учетную запись устройства, хакер регистрирует свой телефон на вашем SIP-сервере и начинает совершать звонки по международным направлениям. Если имеется учетная запись пользователя, то она используется для входа в клиентское приложение и совершение звонков.
4. Глупая маршрутизация звонка. Убедитесь, что входящий звонок не может совершить исходящий звонок из вашей системы в IVR сценариях.
5. Доступ к периферийному оборудования. Имея доступ к шлюзам (FXO, FXS), роутерам и другому оборудованию возможно перенаправления трафика. Проблема относится скорее к нежелательной прослушке разговоров, нежели к совершению звонков.
Способы обеспечения безопасности
Настройка firewall/брандмауэр/антивирус на сервере Oktell
- Необходимо ограничить доступ к серверу Oktell по RDP (по умолчанию, порт 3389) и обозначить только те IP адреса, которые могут осуществить вход на сервер.
- Запретите прием запросов от неизвестных IP-адресов по открытым портам. Разрешите прием запросов только от тех IP-адресов, которые относятся к вашим сотрудникам. Однако, будьте осторожны - некоторые сотрудники могут использовать веб-клиент Oktell, а значит и расширяется список возможных IP-адресов. Проверить порты слушателей можно с помощью командной строки:
netstat -anop udp netstat -anop tcp
- Если вы используете удаленный SQL-сервер, то аналогично закройте удаленный доступ для всех адресов, кроме разрешенных. Также рекомендуется сменить имя стандартное имя входа в базу данных.
Использование виртуальных частных сетей
- Создайте виртуальную частную сеть и используйте ее для подключения IP-телефонов и клиентских приложений. Таким образом, смогут подключиться только те пользователи, у которых есть доступ к вашей VPN-сети. С помощью VPN-сетей вы можете не беспокоиться за то, что трафик, идущий по открытым сетям, может быть перехвачен. А значит никто не сможет прослушать ваши разговоры. Может возникнуть проблема с использованием мобильных софтфонов и зависит от возможности настройки VPN на смартфонах.
- Существуют рекомендации по разделению вашей сети на несколько - сеть для SIP-телефонии, отдельно сеть для клиентских-приложений, а также сеть для для провайдеров связи. Таким образом, исключается возможное влияние на настройки телефонов из компьютеров пользователей.
Серверный конфигурационный файл Oktell
- Смените SIP-порт 5060 (установленный по умолчанию) на другой. Обуславливается это тем, что большинство BruteForce-атак нацелены именно на стандартный порт 5060. Сменив его, например, на порт 5090 вы сможете избежать большую часть проблем. Используйте следующий ключ:
<add key="START_SERVER_XX" value="SIP Server;oktell.HALSipSrv.dll;SIP;sip:*:5090" />
- Убедитесь, что у вас заблокирована учетная запись администратора по умолчанию (логин - Администратор, пароль пустой). Данная учетная запись автоматически блокируется после создания хотя бы одного пользователя с ролью Администратора. Ключ в конфигурационном файле:
<add key="EnableEmptyAdmin" value="0" />
- Программный код Oktell содержит возможность автоматической блокировки IP адреса, с которого осуществляется несколько неудачных попыток регистраций. Принцип действия режима автоматической блокировки следующий: При поступлении за 10 секунд более 20 регистрационных пакетов с неверной авторизационной информацией - IP адрес целиком записывается в бан-лист. По истечении срока давности в соответствии с параметром конфигурации происходит автоматическое удаление из бан-листа. При повторном получении неверной авторизационной информации после разбана размещение в бан-листе происходит уже сразу по второму пакету. В серверном лог журнале Exception при этом появляются записи, фиксирующие внесение адресов в бан-лист с указанием причины и адреса. Управление этим режимом производится в конфигурационном файле сервера строчкой:
<add key="EnableSipTransportFilter" value="1" /> 0 - выключено 1 - включено и банит до перезагрузки сервера NN - период в минутах, после которого производится автоматический разбан
По умолчанию режим включен без автоматического исключения из бан-листа.
Большинство атак по подбору авторизационных данных совершаются от имени User-Agent "friendly-scanner". В версиях Oktell, начиная с 121212 встроена дополнительная защита и пакеты от friendly-scanner игнорируются. Также существует возможность устанавливать фильтр и для других произвольных User-Agent с помощью конфигурационного файла сервера Oktell.
Настройка сервера Oktell
- Настоятельно рекомендуется использовать только сложные криптостойкие пароли для пользователей Oktell и для подключения устройств (более 8 символов в верхнем и нижнем регистре с использованием цифр). Небрежность администратора, прописавшего тестовые аккаунты с простыми паролями, или не убравшего простые пароли при переносе сервера из локальной сети на реальный IP адрес приведет к тому, что такой пароль с высокой степенью вероятности будет подобран скан-машинами. Рекомендуется использовать генерацию пароля средствами Oktell при создании каждого аккаунта для подключения IP телефона.
В версиях Oktell начиная с 130130 реализована и по умолчанию включена проверка сложности паролей учетных записей пользователей, а также SIP-телефонов и шлюзов, регистрирующихся на сервере. Система делает невозможным сохранение стандартным способом учетной записи с простым паролем.
- Обновляйте вашу версию Oktell. Разработчики постоянно совершенствуют систему защиты и оптимизируют работы программы. При обновлении ознакомьтесь со статьей Порядок обновления программы
- Ограничьте возможность совершения междугородних и международных звонков для пользователей. Самый удобный способ - модификация сценариев Oktell. Обратите особое внимание на следующие сценарии:
- Сценарий IVR маршрутизации исходящих звонков
- Сценарий IVR маршрутизации при переводе звонка
- Служебный сценарий набора внешних/быстрых номеров
- Служебный сценарий автодозвона
- Любой другой IVR, в который имеется переключение на внешние линии
В этих сценариях необходимо либо ввести некоторый пароль для совершения международных звонков, либо проводить маршрутизацию в зависимости от пользователей (их ролей, внутреннего номера и т.д.)