FreePBX: первые шаги по граблям

в 6:37, , рубрики: asterisk, centos-admin.ru, freepbx, Блог компании centos-admin.ru, грабли

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

FreePBX: первые шаги по граблям - 1

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

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

Настройки — Установки Asterisk для SIP — Общие настройки SIP

FreePBX: первые шаги по граблям - 2

Настройки — Установки Asterisk для SIP — Установки канала SIP

FreePBX: первые шаги по граблям - 3

Несмотря на то, что FreePBX постоянно обновляется, и разработчики прикладывают большие усилия к обеспечению безопасности системы, периодически обнаруживаются уязвимости в коде, используя которые злоумышленники могут получить, например, параметры доступа к вашим операторам связи. Несмотря на то, что в таком случае звонки будут поступать не с вашей станции, оператор, скорее всего, потребует оплаты именно с вас. Поэтому не следует забывать о защите веб-интерфейса: если сервер установлен в вашей локальной сети, не стоит пробрасывать 80 порт наружу — для удаленной настройки вы можете использовать vpn, ssh-тоннель или любой другой способ доступа. Если же FreePBX установлен на удаленном сервере или по какой-то другой причине имеет прямой доступ в сеть, можно ограничить возможность подключения по 80 порту на уровне iptables, а также использовать парольную защиту Basic Auth как дополнительное средство обеспечения безопасности.

В случае, если вы установили FreePBX с официального образа, вам нужно будет отредактировать файл

/etc/httpd/conf.d/freepbx.conf

В самый конец, перед последней строкой нужно добавить следующее

AuthType Basic
AuthName «Administrative zone»
AuthUserFile /.htpasswd
Require valid-user

Обратите внимание на путь к файлу .htpasswd — вы можете задать любой путь для его хранения. Затем потребуется собственно создать аккаунт. Перейдя в выбранную директорию, выполните

htpasswd -c .htpasswd admin

и введите пароль для пользователя admin.
Не забудьте перезагрузить apache:

service httpd reload

И проверьте результат:

FreePBX: первые шаги по граблям - 4

Также следует обратиться к вашему оператору связи и ограничить возможность подключения с вашими учетными данными по ip-адресу: в таком случае, даже если злоумышленники получат ваш логин и пароль, воспользоваться ими не получится.

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

Приложения — Внутренние номера — Внутренний номер — Расширенный

FreePBX: первые шаги по граблям - 5

Бывают ситуации, когда ограничить пользователя по ip не представляется возможным — например, аккаунт используется с мобильного телефона, из разных 3g, 4g, и wifi-сетей. В таком случае, в первую очередь, проверьте надежность ваших паролей. Запомните, даже на “пустой” станции, даже для тестирования, никогда не нужно ставить пароли типа qwerty, ведь забыть впоследствии о таком аккаунте проще простого, как и подобрать такой пароль.

Приложения — Внутренние номера — Внутренний номер — Общие

FreePBX: первые шаги по граблям - 6

Необходимо задуматься и о переборе паролей. Естественно, если ваш сервер обслуживает клиентов из одной сети и подключается к одному оператору связи, вы можете и даже должны ограничить возможность подключения к sip-порту (обычно, 5060) для всех, кроме известных адресов своих сетей и провайдеров, например, так, если вы устанавливали FreePBX вручную

-A INPUT -s xxx.xxx.xxx.xxx/32 -p udp -m udp --dport 5060 -j ACCEPT
-A INPUT -s yyy.yyy.yyy.yyy/32 -p udp -m udp --dport 5060 -j ACCEPT
-A INPUT -p udp -m udp --dport 5060 -j DROP

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

Подключения-Firewall-Zones-Network

FreePBX: первые шаги по граблям - 7

И затем определить, к каким сервисам будет открыт доступ в закладке

Подключения-Firewall-Services

FreePBX: первые шаги по граблям - 8

Но не всегда возможно оставить только несколько подсетей для sip-порта. В таком случае крайне рекомендуется поставить fail2ban и настроить его на использование с asterisk. Этот демон, основываясь на логах попыток авторизации, блокирует слишком настойчивых на определенное время после заданного числа попыток авторизации, что позволяет пресекать брутфорс. В последних версиях fail2ban правила для asterisk уже включены в поставку, но рекомендуется проверить его работоспособность — выполнить несколько попыток регистрации с заведомо неверным логином и паролем (только обязательно не с того же ip-адреса, с которого вы подключаетесь к серверу!) и проверить, заблокируется ли этот адрес командой

iptables -L

В официальной сборке FreePBX система защиты от перебора паролей уже установлена и настроена. Заблокированные адреса можно найти в закладке

Подключения-Firewall-Статус

FreePBX: первые шаги по граблям - 9

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

Подключения — Исходящая маршрутизация — маршрут — Правила набора

FreePBX: первые шаги по граблям - 10

Здесь мы задаем, что номер должен быть 11-значным, начинаться с 8, и вторая цифра должна быть 3,4,8 или 9, что полностью перекрывает все Российские номера, а также разрешаем звонить через этот маршрут только внутренним номерам 100-199. В случае, если кому-то из сотрудников нужно открыть международные звонки, следует добавить дополнительный маршрут для него перед основным, и обязательно в поле CID указать его номер или шаблон номеров, если таких сотрудников несколько.

FreePBX: первые шаги по граблям - 11

А также стоит всегда указывать количество одновременных исходящих вызовов в настройках транков, особенно в том случае, если они не ограничены на стороне оператора (10 сотрудников никак не смогут сделать 100 исходящих вызовов), а вот в случае несанкционированных звонков взломщики пытаются звонить в максимальное количество потоков.

Подключения — Транки — Настройки Транка — Общие

FreePBX: первые шаги по граблям - 12

Следующая частая ошибка — создание очереди звонков без ограничения по времени и без условия “покидать пустую очередь”. Особенно опасно такое действие, если вы используете номер 8-800 с оплатой за входящие — определенный отдел может остаться без связи (завис свитч, пропал свет, крысы съели витую пару), а входящие звонки для него будут продолжать поступать на очередь, и особо упорные звонящие могут ждать на линии часами. Неприятности могут возникнуть и в том случае, если вы не используете 8-800, но оператор связи ограничивает количество одновременных входящих звонков, или используются медные линии или поток. В таком случае ресурс канала будет расходоваться просто на проигрывание музыки вызывающим абонентам, и в итоге может возникнуть ситуация, когда все ваши входящие каналы заняты ожидающими в пустой очереди. Именно поэтому нужно всегда ограничивать время ожидания в очереди и не допускать звонков в пустых очередях.

Приложения — Очереди — Настройки очереди — Параметры времени и операторов

FreePBX: первые шаги по граблям - 13

Приложения — Очереди — Настройки очереди — Параметры емкости очереди

FreePBX: первые шаги по граблям - 14

Голосовые приветствия и голосовые меню — безусловно, полезные и нужные функции, используемые почти каждой организацией, решившей перейти на FreePBX, но и при их настройке часто допускаются ошибки. Во-первых, модуль Приветствие, то есть просто воспроизведение голосового ролика, который нельзя пропустить (или можно пропустить по нажатию клавиши, о чем обычно забывают уведомить пользователя), стоит использовать только тогда, когда в этом есть насущная необходимость. Мне доводилось видеть как в Приветствие помещают ролик длительностью одна минута, и только после него следует IVR с предложением выбрать нужный отдел. Когда клиент звонит в первый раз, это воспринимается нормально, но когда он перезванивает пятый раз за час, и пятый раз подряд слушает о том, как компания рада его звонку, он начинает сомневаться в этом. Клиент уже точно знает, что ему нужно нажать кнопку 2 и переключиться на нужный отдел, но его раз от раза заставляют прослушать приветствие целиком. По максимуму сократите использование Приветствий, используйте IVR и разрешите прямые наборы — это позволит сократить время ожидания клиента и не раздражать его.

Еще при создании Интерактивного меню IVR часто забывают сменить настройки по умолчанию, касающиеся неверного набора — при нажатии клавиши, которая не описана в правилах, ролик повторяется несколько раз. Такое поведение уместно только в случае, если выбор должен быть сделан обязательно (крайне редкий случай), и совершенно неуместно в первом, приветственном голосовом меню. Отключайте повторы голосового меню и переводите звонок на назначение, используемое по умолчанию: на секретаря, в очередь менеджеров и так далее. То же касается и тайм-аута набора.

Приложения — Интерактивное меню (IVR) — Настройки IVR

FreePBX: первые шаги по граблям - 15

Если вы не уверены в том, что на вашем FreePBX исключены эти и другие ошибки, и хотите чувствовать себя в безопасности, обратитесь к нам, и профессионалы с многолетним опытом работы в сфере ip-телефонии проведут аудит системы и исправят все допущенные ошибки.

Автор: Centos-admin.ru

Источник


* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js