Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

nastrojka_asterisk_dlja_zaschity_ot_vzloma [2013/10/23 15:03]
ansealk создано
nastrojka_asterisk_dlja_zaschity_ot_vzloma [2016/12/24 18:51] (текущий)
adm1n [Защита динамическими правилами фаэрвола]
Строка 1: Строка 1:
 +====== Настройка Asterisk для защиты от взлома ======
 +В интернете гуляет много историй о взломах астериска и последующей кары от оператора. Где-то лежала байка о некой маленькой компании в Австралии,​ которую угораздило залететь на $15000-20000. Думаю никто не хочет оказаться в подобной ситуации. Гораздо лучше, не дожидаясь беды, провести некоторый комплекс мероприятий,​ который значительно сократит количество вариантов взлома и минимизирует опасность.
  
 +===== Защита динамическими правилами фаервола =====
 +Защита программой **fail2ban** . Работает тоже довольно эффективно,​ однако существует некоторая загвоздка. Asterisk не поддерживает таймаут между попытками регистрации и по-этому злоумышленник за очень короткий период времени (несколько секунд),​ пока реагирует fail2ban, может успеть провести гораздо больше попыток подбора,​ чем мы указываем в настройках. У меня есть примеры,​ когда блокировка происходила на ~95й попытке подбора,​ что не есть гуд.
 +
 +===== Нестандартный порт вместо 5060 =====
 +Если имеется техническая возможность – ОБЯЗАТЕЛЬНО меняем стандартный порт 5060 на любой другой. Чем он будет больше непохож на стандартный – тем лучше. Настройка порта производится в файле **sip.conf** ​
 +<code ini sip.conf>​
 +[general]:
 +bindport=5060 => bindport=5172
 +</​code>​
 +После таких действий,​ количество подборщиков уменьшится практически до нуля.
 +
 +===== Отключаем guest-звонки =====
 +Если у вас необходимости принимать звонки без регистрации,​ обязательно выключаем следующую опцию в **sip.conf**:​
 +<code ini sip.conf>​
 +allowguest=yes => allowguest=no ; Allow or reject guest calls (default is yes)
 +</​code>​
 +
 +===== Отключаем оповещение о неверном пароле =====
 +По умолчанию астериск выдает одну ошибку о неверном пароле для существующего аккаунта и другую для несуществующего аккаунта. С помощью спец. софта для подбора паролей,​ злоумышленник может быстро перебрать все короткие номера и подбирать пароли только к существующим аккаунтам,​ которые ответили «неверный пароль». Чтобы препятствовать этому, меняем опцию в **sip.conf**:​
 +<code ini sip.conf>​
 +alwaysauthreject = no => alwaysauthreject = yes
 +</​code>​
 +После такой настройки,​ астериск будет давать одинаковый отбой для любых неверных авторизаций.
 +
 +===== Используем сложные пароли для аккаунтов =====
 +Без комментариев
 +
 +===== Используем deny/permit для аккаунтов =====
 +Обязательный момент! Указываем для всех аккаунтов,​ которые не подразумевают подключение из интернета следующие строки:​
 +<code ini>
 +[100]
 +...
 +deny=0.0.0.0/​0.0.0.0
 +permit=192.168.0.0/​20
 +permit=172.16.0.0/​24
 +</​code>​
 +Где 192.168.0.0,​172.16.0.0 – диапазоны локальных адресов,​ с которых будет производится подключение. Подключения с других адресов asterisk принимать не будет.
 +
 +===== Устанавливаем лимит звонков =====
 +В случае взлома,​ для уменьшения затрат,​ рекомендуется установить лимит одновременных звонков для аккаунтов в 1-3, чтобы злоумышленник не мог одновременно звонить на много направлений и, тем самым, быстрее расходовать ваши деньги.
 +<code ini>
 +[100]
 +call-limit=1
 +...
 +</​code>​
 +
 +===== Не используем default-экстеншн без необходимости =====
 +Не надо оно нам. ​ Все, что должно быть в дефолте:​
 +<code ini>
 +[default]
 +exten => _X.,​1,​Hangup
 +</​code>​
 +
 +===== Не делаем одно универсальное правило для всех звонков =====
 +Скажем нет правилам вида:
 +<code ini>
 +exten => _X.,​1,​Dial(SIP/​${EXTEN}@operator)
 +</​code>​
 +Прописываем четко все необходимые комбинации номеров,​ передаваемых оператору. Если нет необходимости использовать международную связь – не описывайте правила для нее вообще. Практически все случаи взломов используются для звонков заграницу.
 +<code ini>
 +;​Экстренные службы
 +exten => _0X,1, Dial(SIP/​${EXTEN}@operator)
 +exten => _0X,n, Hangup
 +;​Москва
 +exten => _8495XXXXXXX,​1,​ Dial(SIP/​${EXTEN}@operator)
 +exten => _8495XXXXXXX,​n,​ Hangup
 +exten => _8499XXXXXXX,​1,​ Dial(SIP/​${EXTEN}@operator)
 +exten => _8499XXXXXXX,​n,​ Hangup
 +exten => _XXXXXXX,1, Dial(SIP/​${EXTEN}@operator)
 +exten => _XXXXXXX,n, Hangup
 +;​Межгород Россия/​Мобильные
 +exten => _8XXXXXXXXXX,​1,​ Dial(SIP/​${EXTEN}@operator)
 +exten => _8XXXXXXXXXX,​n,​ Hangup
 +</​code>​
 +
 +Источник http://​www.mahno.su/​freebsd/​asterisk-freebsd/​zashhita-asterisk-ot-vzloma
nastrojka_asterisk_dlja_zaschity_ot_vzloma.txt · Последние изменения: 2016/12/24 18:51 — adm1n
GNU Free Documentation License 1.3
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0 Яндекс.Метрика