Тема: Сервис komendant-ip-pbx.exe пожирает память и валится
утром мне пожаловались на неработоспособность телефонии. Вскрытие показало:
Имя журнала: System
Источник: Service Control Manager
Дата: 26.01.2018 6:43:08
Код события: 7034
Категория задачи:Отсутствует
Уровень: Ошибка
Ключевые слова:Классический
Пользователь: Н/Д
Компьютер: EPSILON
Описание:
Служба “Komendant IP PBX Server” неожиданно прервана. Это произошло (раз): 1.
Этому предшествовало событие
Имя журнала: System
Источник: Microsoft-Windows-Resource-Exhaustion-Detector
Дата: 26.01.2018 6:40:33
Код события: 2004
Категория задачи:События диагностики исчерпания ресурсов
Уровень: Предупреждение
Ключевые слова:События, связанные с нехваткой системных ресурсов (виртуальная память).
Пользователь: система
Компьютер: EPSILON
Описание:
Нехватка виртуальной памяти в системе успешно обнаружена. Наибольший объем виртуальной памяти был выделен следующим программам: для komendant-ip-pbx.exe (6368) выделено 5374685184 байт, для config.exe (3872) выделено 320348160 байт и для mysqld.exe (1912) выделено 176504832 байт.
Я стартанул сервис в 9 утра, он занимал 27 мегов.
к 10:30 уже сожрал 449 мегов
Смутно предполагаю, что это связано с попыткой авторизоваться левых клиентов:
В логах freeswitch.log ежесекундно сыпятся события:
2018-01-26 10:33:57.254018 [WARNING] sofia_reg.c:2906 Can’t find user [2000@10.1.2.25] from 82.205.2.169
You must define a domain called ‘10.1.2.25’ in your directory and add a user with the id=“2000” attribute
and you must configure your device to use the proper domain in it’s authentication credentials.
Конечно один IP 82.205.2.169 я могу забанить, но что делать если это будет массово?
Винда Windows 2008 R2 std SP1
Я стартанул сервис в 9 утра, он занимал 27 мегов.
к 10:30 уже сожрал 449 мегов
Давайте посмотрим сколько будет занимать дальше, оставьте на 1-2 дня.
И пришлите еще раз файл freeswitch.log и komendant-ip-pbx.log для анализа на почту.
Я стартанул сервис в 9 утра, он занимал 27 мегов.
к 10:30 уже сожрал 449 мегов
Давайте посмотрим сколько будет занимать дальше, оставьте на 1-2 дня.
Поздно. Я убедился, что отжирание памяти напрямую связано с массовой долбёжкой левых аккаунтов
2018-01-26 10:44:47.953236 [WARNING] sofia_reg.c:2906 Can’t find user [4061@10.1.2.25] from 82.205.2.169
Я забанил на роутере конкретный IP 82.205.2.169.
Записи в логах прекратились, и сразу объём памяти занятой сервисом застабилизировался на 450 Мб
Для очистки памяти я рестартанул сервис, сейчас он стабильно занимает 31 Мб. Продолжаю наблюдение.
Логи на почту выслал
рановато я успокоился
Этот дятел сменил IP на 37.8.58.187 и опять долбится. Пока вручную заполняю блэклист на фаерволе. Но это некрасивый метод.
Все таки надо решать проблему отжирания памяти у самого сервиса
Вас атакуют подключениями к IP АТС, примерно 50 попыток подключения в секунду. Защитите свой комп и сеть от атак.
Разрешите доступ для подключения к порту SIP(5060) IP АТС только определенных IP и/или подсетей.
Вас атакуют подключениями к IP АТС, примерно 50 попыток подключения в секунду. Защитите свой комп и сеть от атак.
А как вы это видите в данном случае ?
Ничего невероятного в том, что кто-то стабильно долбится по открытому порту я не вижу.
Постоянно кто-то сканит роутер в поисках открытых портов и потом долбится в найденный порт в надежде найти уязвимость ПО, которое слушает этот порт.
В данном случае я преднамеренно открыл порт 5060 и сделал проброс трафика этого на АТС.
Дефолтный SIP порт нужен, чтобы мои клиенты могли с минимумом знаний легко подключиться к АТС.
А вот ПО, слушающее этот порт должно быть устойчиво к таким дятлам.
Разрешите доступ для подключения к порту SIP(5060) IP АТС только определенных IP и/или подсетей.
Это очевидное решение проблемы, но нереальное.
Я вчера так и сделал, и сразу столкнулся, что мобильные клиенты могут иметь абсолютно любой IP
Тогда добро пожаловать в траблы мира предоставления услуг связи. Потребуется специальное ПО с гео IP фильтрами (обновляемыми), фаерволом и т.п. прелестями, крайне схожими с ПО защитой от ddos. В современном мире нельзя выложить в общий доступ sip сервер и наслаждаться спокойствием и одиночеством.
Тогда добро пожаловать в траблы мира предоставления услуг связи. Потребуется специальное ПО с гео IP фильтрами (обновляемыми), фаерволом и т.п. прелестями, крайне схожими с ПО защитой от ddos. В современном мире нельзя выложить в общий доступ sip сервер и наслаждаться спокойствием и одиночеством.
Признаюсь, что я не ожидал такой проблемы с приватным SIP сервером. Будем защищаться.
А где дают эти “гео IP фильтры”? Денег за них хотят ? Я бы прикрутил такой к роутеру.
Приватный sip сервер это когда он в вашей закрытой подсети, вы же выложили его в открытую сеть. Теперь он общедоступный. Открыв порт в открытой сети вы как бы крикнули всему миру - добро пожаловать.
Закройте хотя бы то, что заведомо не нужно .. ARIN, AfriNIC, APNIC, LACNIC, .. уже легче будет.
В способы защиты при открытой раздаче услуг связи мы углубляться не будем, ибо тема настолько обширная, не простая, да и дорогая, что совсем не вписывается в рамки текущей ситуации.
Для отражения подобных атак по подбору паролей в Linux используют программу fail2ban совместно с FreeSWITCH и Asterisk. В Windows также есть нечто подобное wail2ban, но только для Windows Server 2012 R2.