Безопасность 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 и добавляю правила.