Защита Asterisk от несанкционированного доступа

Если оставить всё как есть и зайти в консоль Asterisk, то вы будете наблюдать бесконечные попытки подбора внутреннего номера и его пароля для регистрации внешнего клиента со всех концов света с целью совершения звонков за вас счёт. Оно вам надо?

Для начала надо понять какие порты будем защищать. Для протокола SIP (установка параметров связи) по умолчанию это порт UDP 5060, а вот с протоколом RTP (передача медиаданных) не всё так однозначно. Лезем в файл конфигурации Asterisk под названием rtp.conf и смотрим диапазон портов, который Asterisk использует для RTP.

; /etc/asterisk/rtp.conf [general] ;... rtpstart=10000 rtpend=20000 ;...

Итак, диапазон найден. Это UPD с 10000 по 20000 порт. Вносим IP-адрес нашего офиса и имя хоста сервера провайдера. Офису можно всё, а провайдер работает только с SIP. Если политикой iptables всё что не запрещено, то разрешено (а это политика по умолчанию), то необходимо добавить в цепочку правило блокировки всего (последнее правило в примере).

host# iptables -A INPUT -s 1.2.3.4 -j ACCEPT host# iptables -A INPUT -s voip.provider.com -p udp -m multiport --dports 5060,10000:20000 -j ACCEPT host# iptables -A INPUT -j DROP

Если вы решите последнее правило написать первым или изменить политику до написания разрешений для своего офиса или откуда вы там ещё конфигурируете свой внешний сервер, то я вам сочувствую. Надеюсь, что у вас есть альтернативный способ доступа к серверу кроме как через сеть.

Далее

Настройка учётки и подключение клиента SIP
Другие сценарии