О безопасности

Основной форум.
Для опытных

Модераторы: Admins, Модераторы

Аватара пользователя
anest
Модератор
Сообщения: 5633
Зарегистрирован: 28 ноя 2004, 10:04

Сообщение anest » 18 май 2011, 01:31


Cancer
Сообщения: 13
Зарегистрирован: 16 окт 2008, 08:01

Сообщение Cancer » 04 июн 2011, 20:08

Семь простых шагов по укреплению SIP безопасности на Астериск

1. Не разрешайте SIP аутентификацию со ВСЕХ ИП адресов. Используйте опции “permit=” и “deny=” в sip.conf как в глобальной секции, так и в параметрах пиров. Разрешайте только ожидаемые диапазоны ИП адресов. Даже если принимаете входящие "отовсюду" (через контекст [default]) не забывайте об аутентификации!

2. Укажите “alwaysauthreject=yes” в глобальной секции файла sip.conf. Эта опция доступна давно (уже с версии 1.2?) но по дефолту она в “no”, что позволяет получить информацию о внутренних номерах даже при неудавшейся регистрации. Устанавливая этот паратметр в “yes” мы отправляем такой же "reject" для существующего внутреннего номера, как и в случае несуществующего. Это уменьшает возможности удалённых хакеров получить список номеров, по которым уже начинается атака по подбору паролей методом brute force.

3. Используйте СЛОЖНЫЕ пароли для всех SIP пиров и юзеров. Это возможно наиболее важный шаг, который вы можете предпринять. Не используйте последовательно два одинаковых слова,разделите их хоть "1". Если бы вы видели инструменты по подбору паролей вы бы поняли смысл этой казалось бы простой рекомендации, так как такое задваивание является ничтожной помехой для современных процессоров. Используйте символы, цифры и буквы обеих регистров длиной не менее 12 знаков.

4. Блокируйте доступ к порту AMI. Используйте “permit=” и “deny=” параметры в manager.conf чтобы сократить число возможных подключений только с доверенных хостов. Используйте сложные пароли минимум из 12-ти знаков в различных сочетаниях символов, цифр и букв разного регистра.

5. Разрешайте только один или два одновременных вызова с каждого внутреннего SIP абонента, если возможно. В любом случае любые ограничения против мошенников являются мудрым шагом. Не допускайте разрешённым пользователям, которые имеют доступ к настройкам, хранить пароли в обозреваемом месте (например записаные снизу на телефоне).

6. Делайте SIP usernames отличными от внутренних номеров. Обычно внутренний номер “1234″ соответствует SIP пиру “1234″, который имеет аналогично SIP user “1234″, это лёгкая цель для хакеров в попытке угадать аутентифицированые SIP names. Используйте МАС адреса устройств или другие комбинации известных фраз + MD5 хэширование внутреннего номера (например исполните команду “md5 -s ThePassword5000″)

7. Убедитесь, что контекст [default] достаточно рационален. Не допускайте неаутентифицированным входящим соединениям попадать в любые контексты, откуда исполняются платные вызовы. Ограничивайте количество активных звонков в дефолтном контексте (используя функцию “GROUP” в качестве счётчика). Запретите неаутентифицированные звонки (если вы действительно их не хотите) установкой параметра “allowguest=no” в секции [general] файла sip.conf.


Взял с http://asterisk.ru/news/archive
http://asterisk.ru/news/142
Последний раз редактировалось Cancer 07 фев 2012, 20:58, всего редактировалось 1 раз.

denklu
Сообщения: 23
Зарегистрирован: 10 авг 2011, 11:11

Сообщение denklu » 01 дек 2011, 17:47

добавлю от себя: т.к. абсолютной защиты не существует
Самое первое что нужно сделать, это договориться с оператором:
1. о полном запрете ненужных вам направлений, типа Куба, Африка.
2. работать исключительно по предоплате или установить лимит на стоимость исходящих звонков, тогда ваши максимальные потери будут равны остатку на счете или кредитному лимиту. Это конечно не всегда удобно, но зато гарантированно убережет вас от необходимости продавать машину или квартиру.
а потом уже можете разбираться с разными программными защитами.

Аватара пользователя
anest
Модератор
Сообщения: 5633
Зарегистрирован: 28 ноя 2004, 10:04

Сообщение anest » 06 мар 2012, 22:29

У кого астериск-1.8 (возможно и 1.10 будет работать) -

Код: Выделить всё

cd /etc/fail2ban/filter.d
mv asterisk.conf asterisk14.conf
wget http://pbxinaflash.net/source/fail2ban/asterisk18.conf
mv asterisk18.conf asterisk.conf
/etc/init.d/fail2ban restart

http://llamarada-cinetica.heroku.com/bl ... l2ban-woes

Added after 55 minutes:

http://www.regular-expressions.info/examples.html

Аватара пользователя
alex286
Сообщения: 71
Зарегистрирован: 14 июн 2009, 07:41
Откуда: Москва

Сообщение alex286 » 17 июн 2012, 08:05

Спасибо!

Cybermind
Сообщения: 21
Зарегистрирован: 06 ноя 2011, 17:38

Сообщение Cybermind » 10 авг 2012, 06:28

Asterisk 1.8.15.0. Недавно начали надоедать господа из оккупированных палестинских территорий. В логах можно заметить такое:

Код: Выделить всё

Sending fake auth rejection for device 5550000<sip&#58;5550000@ip.addr.aste.risk>;tag=f140a208
Естественно правило fail2ban сработает только блокировкой внешнего IP Asterisk. Здесь на форуме предлагали лекарство правкой исходника, но оно не работает на 1.8.
Открыв исходник chan_sip.c, можно увидеть в нескольких местах строчки:

Код: Выделить всё

ast_log&#40;LOG_NOTICE, "Sending fake auth rejection for device %s\n", get_header&#40;req, "From"&#41;&#41;;
Поиском по форуму digium, нашлось решение. Заменил в исходнике вышеуказанные строчки на вот такую конструкцию:

Код: Выделить всё

ast_log&#40;LOG_NOTICE, "Sending fake auth rejection for device %s &#40;%s&#41;\n", get_header&#40;req, "From"&#41;, ast_sockaddr_stringify&#40;addr&#41;&#41;;
Теперь в логах детектится IP адрес:

Код: Выделить всё

Sending fake auth rejection for device 5550000<sip&#58;5550000@ip.addr.aste.risk>;tag=b80e9671 &#40;83.244.6.160&#58;10045&#41;
Правило в /etc/fail2ban/filter.d/asterisk.conf:

Код: Выделить всё

NOTICE.* .*&#58; Sending fake auth rejection for device.* \&#40;<HOST>&#58;.*\&#41;
Теперь палестинцы успешно отправляются в бан.

Update: 23.12.2014
В 1.8.21.0-1.8.32.1 в исходниках небольшие изменения. В 4-х местах:

Код: Выделить всё

ast_log&#40;LOG_NOTICE, "Failed to authenticate device %s\n", get_header&#40;req, "From"&#41;&#41;;
Меняем на:

Код: Выделить всё

ast_log&#40;LOG_NOTICE, "Failed to authenticate device %s &#40;%s&#41;\n", get_header&#40;req, "From"&#41;, ast_sockaddr_stringify&#40;addr&#41;&#41;;
Естественно правило в /etc/fail2ban/filter.d/asterisk.conf:

Код: Выделить всё

NOTICE.* .*&#58; Failed to authenticate device.* \&#40;<HOST>&#58;.*\&#41;
Последний раз редактировалось Cybermind 23 дек 2014, 08:09, всего редактировалось 3 раза.

Any0ne
Сообщения: 2
Зарегистрирован: 31 янв 2013, 06:34

xtables-addons

Сообщение Any0ne » 31 янв 2013, 09:52

А почему бы не использовать блокировку по странам?


1) Ставим из репозитория xtables-addons.
2) Скачиваем базу по странам GEOIP:
./xt_geoip_dl (в зависимости от дистрибутива файл может быть в разных папках).
3) Конвертируем базу для xtables-geoip:
Узнаём откуда она будет брать правила:

Код: Выделить всё

iptables -A INPUT ! -i lo -m geoip ! --source-country RU,UA -j DROP
Could not open /usr/share/xt_geoip/LE/RU.iv4&#58; No such file or directory
/usr/share/xt_geoip/LE/ - место где ищет базу модуль geoip iptables. Запоминаем это место(в зависимости от дистрибутива может быть другим).
Создаём саму базу по требуемому пути.

Код: Выделить всё

 /usr/share/doc/xtables-addons-1.46/geoip/xt_geoip_build -D  /usr/share/xt_geoip/LE/
4) Добавляем страны в черный/белый список используя синтаксис iptables(параметры -m geoip --source-country.код_страны)
К примеру дропать весь китай:

Код: Выделить всё

iptables -A INPUT  -m geoip  --source-country CH -j DROP 
[spoiler="Для пользователей Fedora"]
В fedora надо выполнить

Код: Выделить всё

chmod +x /usr/share/doc/xtables-addons-1.46/geoip/xt_geoip_dl
chmod +x /usr/share/doc/xtables-addons-1.46/geoip/xt_geoip_build
1.46 версия, она может отличаться.
[/spoiler]

Так же как вариант для защиты TCP порта(вдруг) использовать TARPIT, а не DROP.
Можно так же настроить ipset со списком сетей/адресов(к примеру своего города) как белый список.

[spoiler="Как замена fail2ban с быстрой реакцией на количество попытко входа"]Ещё можно попробовать сделать так:
recent,hashlimit
Так дропается самим iptables не доходя до астериска, то есть ресурсы на проверку регистрации тратится не будут + не надо парсить лог, да и скорость реакции естественно выше чем в варианте fail2ban
[/spoiler]

Аватара пользователя
andrey1969
Сообщения: 120
Зарегистрирован: 18 янв 2010, 12:01
Откуда: 3/9 царство

Сообщение andrey1969 » 07 июн 2013, 20:12

Первый пост по ентой теме (Aster 1.6) я дал - Добавлено: Вт Июл 03, 2012 09:39 - http://asteriskforum.ru/viewtopic.php?t=9372&start=0
Последний раз редактировалось andrey1969 16 сен 2013, 17:20, всего редактировалось 2 раза.

Аватара пользователя
anest
Модератор
Сообщения: 5633
Зарегистрирован: 28 ноя 2004, 10:04

Сообщение anest » 07 июн 2013, 22:35

добавить в правила файрвола еще одну строчку - открыть порт для vpn. из китая всеравно никакого нативного воипа не получится а вот vpn клиент в смартфоне пригодится в любом месте и всегда. раз настроил и забыл про наты и файрволы навсегда.

Аватара пользователя
andrey1969
Сообщения: 120
Зарегистрирован: 18 янв 2010, 12:01
Откуда: 3/9 царство

Сообщение andrey1969 » 08 июн 2013, 17:23

Походу секурити в астере (доработано в F2B) более глобально для отлова хакеров по IP ( Работает астер 11 и 12) ...
Последний раз редактировалось andrey1969 16 сен 2013, 17:19, всего редактировалось 1 раз.

avryabov
Сообщения: 2
Зарегистрирован: 11 авг 2013, 14:11

Сообщение avryabov » 11 авг 2013, 14:23

собрал патч для исправления логов для fail2ban для астериск 11.5.0
юзать так:

Код: Выделить всё

root@star&#58;/usr/src/asterisk-11.5.0# patch -p0 < ../sip_fail2ban.patch
раньше логи были такие:

Код: Выделить всё

&#91;Aug 11 14&#58;18&#58;27&#93; NOTICE&#91;2296&#93;&#91;C-0000009d&#93; chan_sip.c&#58; Failed to authenticate device 401<sip&#58;401@81.13.33.92>;tag=b832c932
&#91;Aug 11 14&#58;18&#58;28&#93; NOTICE&#91;2296&#93;&#91;C-0000009e&#93; chan_sip.c&#58; Failed to authenticate device 401<sip&#58;401@81.13.33.92>;tag=a32efdbc
&#91;Aug 11 14&#58;18&#58;30&#93; NOTICE&#91;2296&#93;&#91;C-0000009f&#93; chan_sip.c&#58; Failed to authenticate device 401<sip&#58;401@81.13.33.92>;tag=edd8e5f9
теперь такие:

Код: Выделить всё

&#91;Aug 11 15&#58;40&#58;03&#93; NOTICE&#91;13245&#93;&#91;C-0000000e&#93; chan_sip.c&#58; Failed to authenticate device 11<sip&#58;11@81.13.33.92>;tag=f5bb5a21 &#40;176.58.75.70&#58;19498&#41;
&#91;Aug 11 15&#58;40&#58;04&#93; NOTICE&#91;13245&#93;&#91;C-0000000f&#93; chan_sip.c&#58; Failed to authenticate device 11<sip&#58;11@81.13.33.92>;tag=a46203d8 &#40;176.58.75.70&#58;19498&#41;
&#91;Aug 11 15&#58;40&#58;06&#93; NOTICE&#91;13245&#93;&#91;C-00000010&#93; chan_sip.c&#58; Failed to authenticate device 11<sip&#58;11@81.13.33.92>;tag=fbafc92e &#40;176.58.75.70&#58;19498&#41;
[spoiler]
sip_fail2ban.patch

Код: Выделить всё

--- channels/chan_sip.c.org	2013-05-14 01&#58;05&#58;38.000000000 +0400
+++ channels/chan_sip.c	2013-08-11 14&#58;31&#58;14.111704400 +0400
@@ -18520,7 +18520,7 @@
 			return;
 		&#125;
 		if &#40;res < 0&#41; &#123; /* Something failed in authentication */
-			ast_log&#40;LOG_NOTICE, "Failed to authenticate device %s\n", sip_get_header&#40;req, "From"&#41;&#41;;
+			ast_log&#40;LOG_NOTICE, "Failed to authenticate device %s &#40;%s&#41;\n", sip_get_header&#40;req, "From"&#41;, ast_sockaddr_stringify&#40;addr&#41;&#41;;
 			transmit_response&#40;p, "403 Forbidden", req&#41;;
 			sip_scheddestroy&#40;p, DEFAULT_TRANS_TIMEOUT&#41;;
 			return;
@@ -24616,7 +24616,7 @@
 			return 0;
 		&#125;
 		if &#40;res < 0&#41; &#123; /* Something failed in authentication */
-			ast_log&#40;LOG_NOTICE, "Failed to authenticate device %s\n", sip_get_header&#40;req, "From"&#41;&#41;;
+			ast_log&#40;LOG_NOTICE, "Failed to authenticate device %s &#40;%s&#41;\n", sip_get_header&#40;req, "From"&#41;, ast_sockaddr_stringify&#40;addr&#41;&#41;;
 			transmit_response&#40;p, "403 Forbidden", req&#41;;
 			sip_scheddestroy&#40;p, DEFAULT_TRANS_TIMEOUT&#41;;
 			return 0;
@@ -25279,7 +25279,7 @@
 			goto request_invite_cleanup;
 		&#125;
 		if &#40;res < 0&#41; &#123; /* Something failed in authentication */
-			ast_log&#40;LOG_NOTICE, "Failed to authenticate device %s\n", sip_get_header&#40;req, "From"&#41;&#41;;
+			ast_log&#40;LOG_NOTICE, "Failed to authenticate device %s &#40;%s&#41;\n", sip_get_header&#40;req, "From"&#41;, ast_sockaddr_stringify&#40;addr&#41;&#41;;
 			transmit_response_reliable&#40;p, "403 Forbidden", req&#41;;
 			p->invitestate = INV_COMPLETED;
 			sip_scheddestroy&#40;p, DEFAULT_TRANS_TIMEOUT&#41;;
@@ -27325,7 +27325,7 @@
 		p->lastinvite = seqno;
 		return 0;
 	&#125; else if &#40;auth_result < 0&#41; &#123;
-		ast_log&#40;LOG_NOTICE, "Failed to authenticate device %s\n", sip_get_header&#40;req, "From"&#41;&#41;;
+		ast_log&#40;LOG_NOTICE, "Failed to authenticate device %s &#40;%s&#41;\n", sip_get_header&#40;req, "From"&#41;, ast_sockaddr_stringify&#40;addr&#41;&#41;;
 		transmit_response&#40;p, "403 Forbidden", req&#41;;
 		sip_scheddestroy&#40;p, DEFAULT_TRANS_TIMEOUT&#41;;
 		ast_string_field_set&#40;p, theirtag, NULL&#41;;
@@ -27540,7 +27540,7 @@
 		if &#40;res == AUTH_CHALLENGE_SENT&#41;	/* authpeer = NULL here */
 			return 0;
 		if &#40;res != AUTH_SUCCESSFUL&#41; &#123;
-			ast_log&#40;LOG_NOTICE, "Failed to authenticate device %s for SUBSCRIBE\n", sip_get_header&#40;req, "From"&#41;&#41;;
+			ast_log&#40;LOG_NOTICE, "Failed to authenticate device %s for SUBSCRIBE &#40;%s&#41;\n", sip_get_header&#40;req, "From"&#41;, ast_sockaddr_stringify&#40;addr&#41;&#41;;
 			transmit_response&#40;p, "403 Forbidden", req&#41;;
 
 			pvt_set_needdestroy&#40;p, "authentication failed"&#41;;
[/spoiler]
У вас нет необходимых прав для просмотра вложений в этом сообщении.

Аватара пользователя
anest
Модератор
Сообщения: 5633
Зарегистрирован: 28 ноя 2004, 10:04

Сообщение anest » 12 авг 2013, 00:04

зачётно! но было бы еще лучше отправить этот патч разработчику f2b. ведь нужно всем по большому счету.

avryabov
Сообщения: 2
Зарегистрирован: 11 авг 2013, 14:11

Сообщение avryabov » 12 авг 2013, 13:50

ИМХО его надо тупо интегрировать в астериск. Но пинать их мне пока опыта не хватает - я только около пары месяцев с астериском работаю.

Аватара пользователя
anest
Модератор
Сообщения: 5633
Зарегистрирован: 28 ноя 2004, 10:04

Сообщение anest » 07 сен 2013, 10:26

я ошибся, конечно в астериск. достаточно отправить в багтрак заявку, уверен народ поддержит бодро ибо необходим этот патчик потенциально всем.
[spoiler]ps: просьба не злоупотреблять цитированием без особой на то нужды, спасибо.[/spoiler]

Аватара пользователя
anest
Модератор
Сообщения: 5633
Зарегистрирован: 28 ноя 2004, 10:04

Сообщение anest » 11 сен 2013, 14:07

обновил под asterisk-11.5.1:
[spoiler]
nano chan_sip.patch

Код: Выделить всё

--- channels/chan_sip.c	2013-08-27 12&#58;25&#58;11.000000000 -0700
+++ channels/chan_sip.c.new	2013-09-11 06&#58;16&#58;10.673613358 -0700
@@ -18520,7 +18520,7 @@
 			return;
 		&#125;
 		if &#40;res < 0&#41; &#123; /* Something failed in authentication */
-			ast_log&#40;LOG_NOTICE, "Failed to authenticate device %s\n", sip_get_header&#40;req, "From"&#41;&#41;;
+			ast_log&#40;LOG_NOTICE, "Failed to authenticate device %s &#40;%s&#41;\n", sip_get_header&#40;req, "From"&#41;, ast_sockaddr_stringify&#40;addr&#41;&#41;;
 			transmit_response&#40;p, "403 Forbidden", req&#41;;
 			sip_scheddestroy&#40;p, DEFAULT_TRANS_TIMEOUT&#41;;
 			return;
@@ -24616,7 +24616,7 @@
 			return 0;
 		&#125;
 		if &#40;res < 0&#41; &#123; /* Something failed in authentication */
-			ast_log&#40;LOG_NOTICE, "Failed to authenticate device %s\n", sip_get_header&#40;req, "From"&#41;&#41;;
+			ast_log&#40;LOG_NOTICE, "Failed to authenticate device %s &#40;%s&#41;\n", sip_get_header&#40;req, "From"&#41;, ast_sockaddr_stringify&#40;addr&#41;&#41;;
 			transmit_response&#40;p, "403 Forbidden", req&#41;;
 			sip_scheddestroy&#40;p, DEFAULT_TRANS_TIMEOUT&#41;;
 			return 0;
@@ -25279,7 +25279,7 @@
 			goto request_invite_cleanup;
 		&#125;
 		if &#40;res < 0&#41; &#123; /* Something failed in authentication */
-			ast_log&#40;LOG_NOTICE, "Failed to authenticate device %s\n", sip_get_header&#40;req, "From"&#41;&#41;;
+			ast_log&#40;LOG_NOTICE, "Failed to authenticate device %s &#40;%s&#41;\n", sip_get_header&#40;req, "From"&#41;, ast_sockaddr_stringify&#40;addr&#41;&#41;;
 			transmit_response_reliable&#40;p, "403 Forbidden", req&#41;;
 			p->invitestate = INV_COMPLETED;
 			sip_scheddestroy&#40;p, DEFAULT_TRANS_TIMEOUT&#41;;
@@ -27325,7 +27325,7 @@
 		p->lastinvite = seqno;
 		return 0;
 	&#125; else if &#40;auth_result < 0&#41; &#123;
-		ast_log&#40;LOG_NOTICE, "Failed to authenticate device %s\n", sip_get_header&#40;req, "From"&#41;&#41;;
+		ast_log&#40;LOG_NOTICE, "Failed to authenticate device %s &#40;%s&#41;\n", sip_get_header&#40;req, "From"&#41;, ast_sockaddr_stringify&#40;addr&#41;&#41;;
 		transmit_response&#40;p, "403 Forbidden", req&#41;;
 		sip_scheddestroy&#40;p, DEFAULT_TRANS_TIMEOUT&#41;;
 		ast_string_field_set&#40;p, theirtag, NULL&#41;;
@@ -27540,7 +27540,7 @@
 		if &#40;res == AUTH_CHALLENGE_SENT&#41;	/* authpeer = NULL here */
 			return 0;
 		if &#40;res != AUTH_SUCCESSFUL&#41; &#123;
-			ast_log&#40;LOG_NOTICE, "Failed to authenticate device %s for SUBSCRIBE\n", sip_get_header&#40;req, "From"&#41;&#41;;
+			ast_log&#40;LOG_NOTICE, "Failed to authenticate device %s for SUBSCRIBE &#40;%s&#41;\n", sip_get_header&#40;req, "From"&#41;, ast_sockaddr_stringify&#40;addr&#41;&#41;;
 			transmit_response&#40;p, "403 Forbidden", req&#41;;
 
 			pvt_set_needdestroy&#40;p, "authentication failed"&#41;;
[/spoiler]

Аватара пользователя
andrey1969
Сообщения: 120
Зарегистрирован: 18 янв 2010, 12:01
Откуда: 3/9 царство

Сообщение andrey1969 » 12 сен 2013, 21:22

В Asterisk 12 внёс те же изменения что и в 11 -й версии всё работает ! :) .

Аватара пользователя
anest
Модератор
Сообщения: 5633
Зарегистрирован: 28 ноя 2004, 10:04

Сообщение anest » 28 сен 2013, 22:07


Аватара пользователя
andrey1969
Сообщения: 120
Зарегистрирован: 18 янв 2010, 12:01
Откуда: 3/9 царство

Сообщение andrey1969 » 31 дек 2013, 17:36

Потестил китай - работет круто тока через IAX2 - между серваками (GSM-GSM) . Проблема в том что пинг 430 -520 (19 хопов ) , постоянный IP Там стоит 150 грн. укр. в месяц ((( . dyn-dns - при смене IP плохо отрабатывает надо перезагружать роутер в китае .
Сейчас буду тестить Zoiper по IAX ((( .
в f2b надо добавить строчку - полная копия в конце написано - No matchig peer found$ === скопируйте эту строку ниже и удалите не нужные (:[0-9]+)? !!!!
в 1.6 версии точно .

siti
Сообщения: 48
Зарегистрирован: 09 авг 2009, 12:28

Сообщение siti » 04 янв 2014, 18:51

Рабочий вариант fail2ban без правки исходников для Asterisk10+:
1. Включаем лог security
Добавить в logger_logfiles_custom.conf

Код: Выделить всё

security => security 
убедится, что в logger.conf прописано

Код: Выделить всё

dateformat=%F %T
перезапускаем логгер:
#asterisk -rx "logger reload"

2. /etc/fail2ban/filter.d/asterisk.conf
[spoiler]

Код: Выделить всё

# Fail2Ban configuration file
#
#
# $Revision&#58; 250 $
#

&#91;INCLUDES&#93;

# Read common prefixes. If any customizations available -- read them from
# common.local
#before = common.conf


&#91;Definition&#93;

#_daemon = asterisk

# Option&#58;  failregex
# Notes.&#58;  regex to match the password failures messages in the logfile. The
#          host must be matched by a group named "host". The tag "" can
#          be used for standard IP/hostname matching and is only an alias for
#          &#40;?&#58;&#58;&#58;f&#123;4,6&#125;&#58;&#41;?&#40;?P\S+&#41;
# Values&#58;  TEXT
#

failregex = SECURITY.* SecurityEvent=\"InvalidPassword\".*RemoteAddress=\"IPV4/UDP/<HOST>/
            SECURITY.* SecurityEvent=\"FailedACL\".*RemoteAddress=\"IPV4/UDP/<HOST>/
            SECURITY.* SecurityEvent=\"InvalidAccountID\".*RemoteAddress=\"IPV4/UDP/<HOST>/
            SECURITY.* SecurityEvent=\"ChallengeResponseFailed\".*RemoteAddress=\"IPV4/UDP/<HOST>/

# Option&#58;  ignoreregex
# Notes.&#58;  regex to ignore. If this regex matches, the line is ignored.
# Values&#58;  TEXT
#
ignoreregex = 
[/spoiler]

3.jail.conf
добавить в конец:
[spoiler]

Код: Выделить всё

&#91;asterisk-iptables&#93;

enabled  = true
filter   = asterisk
action   = iptables-allports&#91;name=ASTERISK, protocol=all&#93;
sendmail-whois&#91;name=ASTERISK, dest=root, sender=fail2ban@yourdomain.ru&#93;
logpath  = /var/log/asterisk/security
maxretry = 3
findtime = 60000
bantime = 259200
[/spoiler]

У меня работает, при обновлении астериска не надо будет ничего патчить.
Последний раз редактировалось siti 05 янв 2014, 06:33, всего редактировалось 2 раза.

awsswa
Сообщения: 1706
Зарегистрирован: 28 апр 2012, 10:19
Откуда: Russia, Пермь

Сообщение awsswa » 05 янв 2014, 05:22

Я такого описания уже штук 100 под копирку видел.
Только не забывайте что кроме астера существует другие процессы в linux и один из них logrotate
который не знает не про какой файл security и через полгода он распухнет до пару гигов и перезапуск fail2ban будет веть машину на полчаса

правильный вариант:

security_log => security

[asterisk-iptables]

enabled = true
filter = asterisk
action = iptables-allports[name=ASTERISK, protocol=all]
sendmail-whois[name=ASTERISK, dest=root, sender=fail2ban@yourdomain.ru]
logpath = /var/log/asterisk/security_log
maxretry = 3
findtime = 60000
bantime = 259200

logrotate от астера по умолчанию правильно работает с файлами с окончанием *log
или надо брать уже обновленный вариант где уже прописаны файлы security или править самому.

siti
Сообщения: 48
Зарегистрирован: 09 авг 2009, 12:28

Сообщение siti » 05 янв 2014, 06:33

logrotate от астера по умолчанию правильно работает с файлами с окончанием *log
Интересно, а где это настраивается? Или где про это почитать?

Везде описан стандартный logrotate через файл /etc/logrotate.d/asterisk
и типовая его конфигурация будет обрабатывать все файлы в папке включая security

Аватара пользователя
anest
Модератор
Сообщения: 5633
Зарегистрирован: 28 ноя 2004, 10:04

Сообщение anest » 03 фев 2014, 03:28

ASTERISK
Security Hardening Guide v1.0


читается на одном дыхании
У вас нет необходимых прав для просмотра вложений в этом сообщении.

Lonely_Ghost
Сообщения: 223
Зарегистрирован: 15 янв 2007, 15:00
Откуда: Украина, Киев

Сообщение Lonely_Ghost » 09 фев 2014, 11:53

Следующие пара строк заставит отвалиться 90% "кулхацкеров" из Китая, Мексики, Африки etc.

Запросы сканеров даже до астериска не дойдут, их на месте прибивает iptables.

Код: Выделить всё

......
-A INPUT -p udp -m udp --dport 5060 -j SIP-BORDER-CONTROLLER
......
-A SIP-BORDER-CONTROLLER -m string --string "friendly-scanner" --algo bm -j DROP
-A SIP-BORDER-CONTROLLER -m string --string "sip-cli" --algo bm -j DROP
......
Упс, Поднебесная, не подфартило :)

Link
Сообщения: 874
Зарегистрирован: 20 апр 2007, 12:24
Откуда: Ukraine, Kyiv

Сообщение Link » 17 фев 2014, 20:39

Здравствуйте!

В тестовом режиме решил использовать IDS систему OSSEC. Rules для asterisk есть и подгружаются при старте (идут по default). Проверял работу системы через sipvicious, результат 0.
Asterisk и OSSEC на одном сервере.

Соответственно вопрос, у кого есть рабочий пример ossec-server.conf и asterisk_rules.xml и active-response.

Заранее благодарен.

Настроил, использовал syslog в logger.conf и syslog.conf

Но, в alerts.log вижу попытки подбора, написано active-response на конкретный rule_id, но не срабатывает скрипт firewall-drop.sh.

Подскажите!

Аватара пользователя
anest
Модератор
Сообщения: 5633
Зарегистрирован: 28 ноя 2004, 10:04

Сообщение anest » 09 апр 2014, 12:38


Ответить