Страница 1 из 1

Как парализовать работу SMG1016 - практическое руководство

Добавлено: 21 фев 2012 22:19
IL_S
Есть SMG-1016 прошивка последняя доступная с сайта (сейчас SMG-1016 вообще убрали).
Версия ПО: V.2.0.10. L. Build: Sep 5 2011 17:20:16
Версия SIP-адаптера: 2.4.57

Стоит на глобальном ip. Лицензий для регистратора нет. Как абонентский вынос для отдачи клиентам потоков E1.

С утра сегодня перестало работать. В логе основная ошибка - нет доступного канала. Перезагрузка не помогала. В консоле вывод команды top
Mem: 364580K used, 148912K free, 0K shrd, 2052K buff, 51452K cached
CPU: 97.4% usr 0.0% sys 0.0% nic 0.0% idle 0.0% io 0.0% irq 2.5% sirq
Load average: 1.19 0.99 0.49 2/72 1081
PID PPID USER STAT VSZ %MEM CPU %CPU COMMAND
980 1 root R 101m 20.2 0 94.8 /usr/lib/erlang/erts-5.7.3/bin/bea
997 985 root S 257m 51.2 0 5.1 /root/smg/mgapp
1000 979 root S 58448 11.3 0 0.0 /root/smg/cfgmngr
981 1 root S 53760 10.4 0 0.0 /root/smg/msgcore
983 1 root S 38088 7.4 0 0.0 /root/smg/webspp
985 1 root S 21912 4.2 0 0.0 /root/smg/mgapp

Сняли всю нагрузку. Перезагрузили. Не помогло. Ступор и паника...

Объяснение простое - товарисчи хакеры из китая и германии (география по ip) производили подбор логина пароля для sip регистрации. Регистраций было сравнительно НЕ много - около 15 - 20 в секунду.

Вот таким образом можно парализовать работу сего довольно неплохого шлюза... Сейчас ситуацию решили, но осадок остался...

теперь вопросы к разработчикам.
1. все таки когда будет еще с год назад обещанный iptables? неужели сложно модуль для ядра собрать!?
2. почему на такую сравнительно безобидную ситуацию ПО реагирует, по сути, зависанием? Причем по tcpdump`у видно что звонок пришел, инициатор не дождался ответа а спустя 500!!! секунд шлюз начинает отвечать? Вот в качестве примера диаграмма звонка:
109,673 INVITE SDP (g729 g711U g711A
(5060) ------------------> (5060)
110,171 INVITE SDP (g729 g711U g711A
(5060) ------------------> (5060)
110,171 INVITE SDP (g729 g711U g711A
(5060) ------------------> (5060)
112,201 INVITE SDP (g729 g711U g711A
(5060) ------------------> (5060)
114,231 INVITE SDP (g729 g711U g711A
(5060) ------------------> (5060)
120,322 INVITE SDP (g729 g711U g711A
(5060) ------------------> (5060)
123,044 CANCEL SIP Request
(5060) ------------------> (5060)
123,545 CANCEL SIP Request
(5060) ------------------> (5060)
124,558 CANCEL SIP Request
(5060) ------------------> (5060)
125,570 CANCEL SIP Request
(5060) ------------------> (5060)
128,610 CANCEL SIP Request
(5060) ------------------> (5060)
129,624 CANCEL SIP Request
(5060) ------------------> (5060)
132,663 CANCEL SIP Request
(5060) ------------------> (5060)
659,301 100 Trying SIP Status
(5060) <------------------ (5060)
672,692 100 Trying SIP Status
(5060) <------------------ (5060)
694,229 100 Trying SIP Status
(5060) <------------------ (5060)

[первые цифры перед INVITE CANCEL это время в секундах от начала дампа]
или никак нельзя предположить что при таких задержках в обработке пакета отвечать уже нет смысла?
3 будут ли разработчики заниматься ЭТИМ? собирать стенд, эмулировать хак атаку? А проинформируют потом нас, простых пользователей, о том что проблема есть, решается, решена? или ограничатся сборкой модуля iptables и будь что будет?

Добавлено: 22 фев 2012 10:43
Женя
Здравствуйте!
Сразу хочу Вас поправить ПО на SMG1016 никуда не убирали все находится там же http://www.eltex.nsk.ru/programnoe-obespechenie?id=123 и версия ПО там от 28 декабря, в которой уже есть утилита iptables.
теперь вопросы к разработчикам.
1. все таки когда будет еще с год назад обещанный iptables? неужели сложно модуль для ядра собрать!?

см. выше
2. почему на такую сравнительно безобидную ситуацию ПО реагирует, по сути, зависанием? Причем по tcpdump`у видно что звонок пришел, инициатор не дождался ответа а спустя 500!!! секунд шлюз начинает отвечать?

на самом деле 15-20 запросов в сек. не так уж и мало. согласен что зависанием и перезагрузкой ПО не должно реагировать на СИП-флуд, на последнем релизе, который вот-вот должен появится, эта проблема должна быть устранена, следите за обновлениями на сайте.

3 будут ли разработчики заниматься ЭТИМ? собирать стенд, эмулировать хак атаку? А проинформируют потом нас, простых пользователей, о том что проблема есть, решается, решена? или ограничатся сборкой модуля iptables и будь что будет?


конечно будем.

На текущий момент дам Вам несколько советов, как уменьшить вероятность атаки брудфорсеров,
первое не рекомендуется выставлять шлюз во внешнюю сеть со стандартными портами, например 5060, необходимо его поменять и чем он будет больше непохож на стандартный – тем лучше, так же будьте внимательны новый порт не должен конфликтовать с уже открытыми в системе портами, второе необходимо обновить ПО и настроить iptables.
Так же в дальнейшем планируется внедрение утилиты fail2ban, для защиты.

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

Добавлено: 22 фев 2012 11:18
IL_S
Женя
Спасибо за ответы, где то в ноябре интересовался судьбой SMG1016 звонил в ТП разговаривал с кем то (сейчас не вспомню с кем) мне было сказано что SMG1016 снято с производства и поддерживаться не будет... На сайте без вас и не нашел бы.

По поводу предотвращения атак есть пара простых способов с использованием модуля string для iptables, но думаю он у вас не собран в ядре:
/sbin/iptables -A OUTPUT -o eth0 -p udp --sport 5060 -m string --algo kmp --string "SIP/2.0 403" -j REJECT

блокирует ответы sip регистратора 403 Forbiden, хакеры не получая ответов очень быстро теряют интерес.
также можно блокировать пакеты со строкой friendly-scanner
что то вида
/sbin/iptables -A INPUT -o eth0 -p udp --dport 5060 -m string --algo kmp --string "friendly-scanner" -j REJECT

Добавлено: 27 фев 2012 09:28
Bokrenok
IL_S писал(а):мне было сказано что SMG1016 снято с производства и поддерживаться не будет...


железка действительно больше не производится, но поддержка ее осуществляется в полной мере наравне с текущей версией SMG1016-M.
очень странно, что Вам так ответили.

Добавлено: 22 мар 2012 11:15
IL_S
есть ли ответы на вопросы 2 и 3? Хотя бы работа какая то велась??

Добавлено: 22 мар 2012 11:30
Женя
Да, работа ведется, на текущий момент выложено новое ПО (http://www.eltex.nsk.ru/programnoe-obespechenie), где исправленно зависание SMG при большом трафике SIP.
Также ведутся работы по внедрению fail2ban, так же обсуждаем, предложенный Вами метод, по поводу блокировки сообщения 403 Forbiden.
И не забывайте про уже имеющийся iptables.
Ну и готовы выслушать еще Ваши предложения по защите шлюза.

Добавлено: 22 мар 2012 12:51
grav
Женя писал(а):Здравствуйте!
первое не рекомендуется выставлять шлюз во внешнюю сеть со стандартными портами, например 5060, необходимо его поменять и чем он будет больше непохож на стандартный – тем лучше, так же будьте внимательны новый порт не должен конфликтовать с уже открытыми в системе портами


Женя, если все закрыто iptables, зачем менять порт 5060?
Сейчас последняя версия шлюза - декабрьская?

Добавлено: 23 мар 2012 17:24
Женя
> Женя, если все закрыто iptables, зачем менять порт 5060?
Потому что Вы собираетесь работать в недоверенной сети, в которой может быть все что угодно, порт 5060 известен всем как порт для SIP, и большенство атак происходят именно на него, вообще если если Вы доверяете разрешенным по iptables хостам, то можете не закрывать, но это лишнем не будет.

> Сейчас последняя версия шлюза - декабрьская?
нет, недавно вышла новая, следите за новостями в разделе тех. поддержка, там мы публикуем, когда обновляется ПО
http://www.eltex.nsk.ru/tekh-podderzhka

Добавлено: 23 мар 2012 18:06
grav
а где можно взять файлы обновления (а нас без буковки "М")?

Добавлено: 23 мар 2012 18:08
Женя
grav писал(а):а где можно взять файлы обновления (а нас без буковки "М")?

Без М тут:
http://www.eltex.nsk.ru/programnoe-obespechenie?id=123
С М тут:
http://www.eltex.nsk.ru/programnoe-obespechenie?id=434