Безопасность Asterisk, защита от сканирования портов

Приветствую!

Была задача объединить Dlink FXO и Asterisk. Все было сделано успешно встал вопрос о безопасности Asterisk.

  1. установили и настроили fail2ban
  2. закрыли доступ к веб серверу из вне точнее доступ по паролю
  3. запретили анонимные звонки

Вот вроде и все, fail2ban успешно ловит по правилу. Но настигла меня участь попасть под сканеров. В логе asterisk валились сообщения:

Timeout on a1ba91d3db3d751eb98dca1f0830407d on non-critical invite transaction.

либо

chan_sip.c: Failed to authenticate device 4006<sip:4006@My_IP>;tag=cfac1d5d

Естественно fail2ban здесь не помощник, надо на сетевом уровне смотреть кто такой. Выполняем в консоли asterisk sip show channels и видим некий IP который нам шлет INVITE как guest.

Посмотрели tcpdump что в заголовках и добавили в iptables правила:

-A INPUT -p udp -m udp –dport 5060 -m string –string “sipcli” –algo bm –to 65535 -j DROP
-A INPUT -p udp -m udp –dport 5060 -m string –string “sip-scan” –algo bm –to 65535 -j DROP
-A INPUT -p udp -m udp –dport 5060 -m string –string “iWar” –algo bm –to 65535 -j DROP
-A INPUT -p udp -m udp –dport 5060 -m string –string “sipvicious” –algo bm –to 65535 -j DROP
-A INPUT -p udp -m udp –dport 5060 -m string –string “sipsak” –algo bm –to 65535 -j DROP
-A INPUT -p udp -m udp –dport 5060 -m string –string “sundayddr” –algo bm –to 65535 -j DROP
-A INPUT -p udp -m udp –dport 5060 -m string –string “VaxSIPUserAgent” –algo bm –to 65535 -j DROP
-A INPUT -p udp -m udp –dport 5060 -m string –string “friendly-scanner” –algo bm –to 65535 -j DROP

Ну вот и все решение проблемы с защитой SIP порта от сканирования. iptables просматривает пакеты и если видит в них заголовки сразу отбрасывает их.

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


15 комментариев

  • habum

    2016-11-24

    Добрый день!
    Не копируйте команды в консоль. Пишите руками. не —string а –string кавычки не «» а “”
    Надеюсь пригодиться.

  • Это особенность движка wordpress 2 тире подменять одним.

  • Олег

    2017-02-26

    Имею такую же проблему:
    “[2017-02-26 17:37:45] WARNING[1809]: chan_sip.c:4130 retrans_pkt: Timeout on ac9152718d41145d98611c97191b07bb on non-critical invite transaction.”
    но sip show chanells ничего не показывает.
    Что посоветуете?

  • Для начала iptables настройте по агентам, как у меня в статье.

    Тупо прилетают спамерские Invite.

  • Олег

    2017-02-26

    ‘Bad argument `—dport’ –(((

  • Ну так правильно. Движок wordpress подменяет — надо писать двойное тиреdport

  • Олег

    2017-02-26

    iptables v1.4.21: unknown option “-m”

  • Олег

    2017-02-26

    Нашел эти правила с правильным синтаксисом, но “[2017-02-26 21:16:17] WARNING[1809]: chan_sip.c:4130 retrans_pkt: Timeout on f0986a3d678286a3b25c31d657e9b8f0 on non-critical invite transaction.” не прекратились…

  • тут только глянуть tcpdump каким агентом валится сообщение. У меня такое было на какой то версии Xlite.

    А вообще on non-critical invite transaction. Ничего критичного.

    P.S.: Правила верные, только не надо копировать. На Centos 6 работают.

  • И приведите вывод iptables -L -v
    Что-то подсказывает что где-то ошибка.

  • Ruza

    2017-03-02

    Сегодня нашёл:
    89.248.172.140 trunk VFIQVGEDOJYMUKZ (nothing) No Rx: INVITE
    tcpdump
    User-Agent: Cisco-SIPGateway/IOS-12.x

  • Oms

    2018-03-26

    Добрый день, спасибо большое за статью. Не могли бы Вы подробнее описать как использовать tcpdump

  • Евгений

    2018-04-25

    Здравствуйте,
    Хорошая статья, спасибо. Все заработало, только не понял зачем параметр —to 65535? Мы же вроде просто отбрасываем пакеты, а не редиректим?

  • ALGO name bm – значит используется алгоритм Бойера — Мура
    TO 65535 – подстрока ищется в первых 65535 байтах

  • Евгений

    2018-04-27

    Андрей, спасибо! Все перерыл, не нашел параметр –to. Думал это редирект на порт.

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

 

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.