1 октября на сайте разработчика FreePBX (бесплатный веб-интерфейс к популярной системе организации телефонии Asterisk) появилась информация об обнаружении уязвимости, которая позволят выполнять произвольный код в системе любому желающему без аутентификации.В другом источнике, говорится, что уязвимость активно используется и приводит к массовым случаям “неожиданных” исходящих платных звонков. При использовании уязвимости в систему загружаются файлы c.sh и c2.pl, генерирующие call-файлы на специальные дорогие направления, после чего asterisk направляет на данные направления звонки расходуя все средства абонента.
На сайте разработчика данная проблема отмечена как “нерешенная” поэтому, в случае обнаружения данного взлома рекомендуют удалить модуль admindashboard и обновить fw_ari:
# amportal a ma upgrade fw_ari
# amportal a ma delete admindashboard
Кроме этого, мы хотели бы дать некоторые общие рекомендации, которые позволят вам повысить защиту Asterisk + FreePBX и помогут сохранить ваши деньги:
1. Отключите (попросите оператора заблокировать) те направление, которые вы 100% использовать не будете. К примеру, вы знаете, что колл-центр вашей компании не будет по рабочим вопросам общаться с клиентами из Африканских стран – попросите заблокировать данное направление. При необходимости, вы всегда можете снова включить то или иное направление. Эта рекомендация очень актуальна если услуги SIP предоставляются по постоплате и не ограничены максимальной суммой, которую можно использовать в рамках месяца.
2. Используйте сложные пароли и нестандартные порты для компонентов системы.
- Настроить порт SIP можно в секции General: Bindport=5060 => bindport=5172.
- Установить нестандартный порт для SSH можно в etc/ssh/sshd_config .
- Установить нестандартный порт для IAX можно тут /etc/asterisk/iax.conf (потребуется дополнительно перезапустить Asterisk: /etc/ininit.d/asterisk restart)
3. Доступ к серверу телефонии должен быть открыт только для IP вашего офиса или IP операторов. Если абоненты подключаются из локальной сети, в настройках следует разрешить регистрацию абонентов только из доверенных IP.
Deny=0.0.0.0/0.0.0.0
Permit=192.168.1.22
где 192.168.1.22 – IP компьютера абонента. В случае если нужно добавить подсеть – используйте 192.168.1.0/24
4. Создайте отдельного пользователя с правами доступа по SSH:
# useradd myasteriskuser
# passwd myasteriskpassword
Пароль должен быть сложным, содержать буквы разного регистра, цифры и спецсимволы. Для генерации пароля можно воспользоваться простым сервисом: http://genpas.narod.ru/
Отредактируйте /etc/ssh/sshd_config, добавив следующую строчку: AllowUsers myasteriskuser. Чтобы запретить пользователю root подключаться к Asterisk по SSH: PermitRootLogin no
5. В настройках абонента добавьте лимит на количество одновременных исходящих звонков: Call-limit=1 . Эта настройка может пригодиться в случае, если взломают SIP-клиент абонента.