Блокировка IP-адреса в Asterisk

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

Очень часто , после установки Asterisk , зайдя в CLI , можно наблюдать такую запись:

WARNING[29402]: chan_sip.c:4131 retrans_pkt: Timeout on 578575048-1807594427-1920923374 on non-critical invite transaction.

Это означает, что по вам работает сканер портов или подобный софт.

Первым делом устанавливаем пакет ipset , как я описал в статье.

После установки пакета открываем CLI и ждем:

asterisk -rvvv

Как только видим надпись типа:

WARNING[29402]: chan_sip.c:4131 retrans_pkt: Timeout on 818082455-775386827-1672123641 on non-critical invite transaction.

Сразу пишем:

sip show channels

Выпадет список с активными соединениями. Обычно, сканеры портов шлют пакеты типа Rx:INVITE.

Пример:

62.173.154.76 10001  1938227049-9844  (nothing)  No Rx: INVITE  <guest>

Копируем ip, в нашем случае 62.173.154.76. Выходим из CLI и пишем:

ipset add blacklist 62.173.154.76

Можно блокировать весь диапазон адресов. Для этого идем на сервис whois или любой подобный, вставляем ip адрес злоумышленника и смотрим на строку route или подобную. В нашем случае route: 62.173.128.0/19

ipset add blacklist 62.173.128.0/19

Проверить,что IP в блоке можно командой

ipset list

Безопасность sip аккаунтов

Рекомендую ставить сложные пароли для sip аккаунтов и разрешить доступ только с локальной сети. Для этого редактируем файл /etc/asterisk/sip.conf

Например:

[123]
username = 123
secret =               #ЗДЕСЬ ДОЛЖЕН БЫТЬ СЛОЖНЫЙ ПАРОЛЬ 
callerid = 123
host = dynamic
insecure=port,invite
canreinvite=no
context = default
nat=no
qualify=yes
type = friend
dtmfmode=rfc2833
allow=alaw
allow=ulaw
deny=0.0.0.0/0.0.0.0    #ЗАПРЕТИТЬ ВСЕ ВНЕШНИЕ СОЕДИНЕНИЯ
permit=192.168.1.0/255.255.255.0  #РАЗРЕШИТЬ ЛОКАЛЬНО
pickupgroup=1
callgroup=1
call-limit=1

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *