Asterisk security

И все таки маркетологи в чем то гениальны, могут успешно впарить все что угодно) Например продать Красношапочный Линух+ява приложение, за 50тыщ$) Я правда на это не падкий, я предпочитаю сам формировать функционал АТС, но есть товарищи которые не пропускают сеансы по зомбированию, и навязывают свое мнение начальству, не отличая сип прокси от софтсвича 4 и 5 класса(. Дык вот для таких товарищей заметочка, о безопасности в звездочке.

Чтобы вас не сломали для начала выполним это простые советы:
По Диалплану:
1. Забыть о существовании контекста default
2. Использовать только шаблоны определенной длины, не использовать что-то типа _X.
3. Использовать фильтр набора, например, в номере использовать только цифры, это усложнит набор через & если Вас таки сломали.
exten => _XXXXXXX,1,Set(SAFE_EXTEN=${FILTER(0-9,${EXTEN})})
same => n,Dial(IAX2/otherserver/${SAFE_EXTEN},30)
4. Использовать ограничение на количество одновременных звонков

exten => _X.,1,Set(GROUP(users)=${CHANNEL(peername)})
    same => n,NoOp(There are ${GROUP_COUNT(${CHANNEL(peername)})} calls for account ${CHANNEL(peername)}.)
    same => n,GotoIf($[${GROUP_COUNT(${CHANNEL(peername)})} > 2]?denied:continue)
    same => n(denied),NoOp(There are too many calls up already.  Hang up.)
    same => n,HangUp()
    same => n(continue),NoOp(continue processing call as normal here ...)

По учеткам(SIP,IAX)
5. Не использовать цифровые логины(сложнее будет подбирать), логично но неудобно
6. использовать стойкие пароли.
7. Добавить alwaysauthreject=yes в [general] /usr/local/etc/asterisk/sip.conf. эта опция заставит * отвечать, как будто все аккаунты действительны, сканирование будет бесполезным!
8. Использовать ACL(deny/permit) для разграничения какие телефоны могут логинится из вне, а какие только локально

[phoneA]
type = friend
deny = 0.0.0.0/0.0.0.0
permit = 192.168.0.0/255.255.0.0

9. Шифровать аудиопоток srtp, iax2 и использовать ключи вместо md5, Могут снифать трафик(сложно но можно) в IAX шифрование у меня заработало только при md5, так что тут палка в 2 концах.
10. Защита от DoS (по умолчанию включен)
Каждый IAX2 пакет содержит уникальный идентификатор звонка, аналог Call-ID в SIP заголовке. Прежде чем передать номер, проходит процедура 3го рукопожатия -используется технология call token — мы отдадим номер только легитимному участнику. iax2 show callnumber usage — покажет использование номеров.

Другие методы:
11. Использовать фаервол, для ограничения доступа к FastAGI серверу. использовать шифрование в AMI.Максимально ограничить доступ к AMI аккаунтах. В файле конфигурации manager.conf используйте строки «permit=» и «deny=», чтобы сузить входящие соединения с интерфейсом управления только для доверительных хостов.
12. fail2ban блокировка брутфорса, любители халявы сейчас более предприимчивы, 3 скана с одно ипа потом с другого. Особой закономерности нет, но все же лучше пусть бан будет.
13. Для тестирования системы используйте http://blog.sipvicious.org/

Если есть еще рекомендации которые я забыл упомянуть, то пожалуйста напишите об этом в коментах.

Комментарии: