Есть такая прога sipautohack, она сканирует лигины пароли к астериску. http://enablesecurity.com/products/enabl ... hack-demo/
Хочу себя просканировать, посмотреть на дыры.
Где скачать бесплатную на нашел.
Где взять, кто знает?
#2: Автор: Samael, Откуда: Киев
Добавлено: Вт Июл 19, 2011 14:31
—
А sipp освоить?
#3: Автор: just_user, Откуда: Izhevsk
Добавлено: Вт Июл 19, 2011 15:29
—
#4: Автор: ale812,
Добавлено: Вт Июл 19, 2011 16:02
—
#5: Автор: xela,
Добавлено: Вт Июл 19, 2011 16:03
—
так sipp насколько я знаю она же не покажет дыры в
астериске, я читал про нее, по моему она процессор только тестирует и память. а
sipautohack, по ней могут вычислить ip астериска и логин пароль подобрать, ну
по ссылке можно посмотреть ролик как она работает. А sipvicious, это помоему
ерунда. у меня астериск был вообще открыт, я попробовал ей пароли посмотреть и
ничего она не показала. А вот sipautohack, по ней похоже могут и сервак
взломать, если мер не предпринять надлежащих.
#6: Автор: lv333,
Добавлено: Вт Июл 19, 2011 16:27
—
Защита от подобных программ достаточно просто выполняется:
устанавливаем iptales и fail2ban дальше настраиваем:
/etc/fail2ban/filter.d/asterisk.conf
Код:
|
# Fail2Ban
configuration file
#
#
#
$Revision: 250 $
#
[INCLUDES]
# Read
common prefixes. If any customizations available -- read them from
#
common.local
#before =
common.conf
[Definition]
#_daemon =
asterisk
#
Option: failregex
#
Notes.: regex to match the password failures
messages in the logfile. The
# host must be matched by a group
named "host". The tag "
# be used for standard
IP/hostname matching and is only an alias for
#
(?:::f{4,6}:)?(?P
#
Values: TEXT
#
failregex
= NOTICE.* .*: Registration from '.*' failed for '
NOTICE.* .*: Registration from '.*' failed
for '
NOTICE.* .*: Registration from '.*' failed
for '
NOTICE.* .*: Registration from '.*' failed
for '
NOTICE.* .*: Registration from '.*' failed
for '
NOTICE.* .*: Registration from '.*' failed
for '
NOTICE.*
NOTICE.* .*: No registration for peer '.*'
\(from
NOTICE.* .*: Host
NOTICE.* .*: Failed to authenticate user
.*@
#
Option: ignoreregex
#
Notes.: regex to ignore. If this regex matches,
the line is ignored.
#
Values: TEXT
#
ignoreregex
=
|
в /etc/fail2ban/jail.conf добавляем:
Код:
|
[asterisk-iptables]
enabled = true
filter = asterisk
action = iptables-allports[name=ASTERISK, protocol=all]
sendmail-whois[name=ASTERISK, dest=root,
sender=fail2ban@example.org]
logpath = /var/log/asterisk/messages
maxretry =
5
bantime =
259200
|
в файле
/etc/asterisk/logger.conf
Код:
|
[general]
dateformat=%F
%T
[logfiles]
messages
=> notice,warning,error
|
после этих действий
/etc/init.d/fail2ban
restart
asterisk -r
asterisk*CLI>
logger reload
asterisk*CLI>
quit
И спим спокойно
ЗЫ Категорически рекомендую выполнить эти действия, особенно если сервер с астериском
смотрит в мир. У меня в день по 3-5 IP адресов в бан лист попадает.
#7: Автор: xela,
Добавлено: Вт Июл 19, 2011 19:32
—
Круто. Мерси от всего сообщества *.
Вот только если подскажите как для данного случая iptable настроить было бы вообще крутяк.
Я ставл эту прогу, ssh она банит, а вот паролей я сколько хочешь софтфоном подбирал и ничего не банило
меня. Я так понял, что iptable настроить надо чтобы подбор паролей банило, но
это это не так просто оказалось. Если кто подскажет что там делать с iptable
было бы совсем хорошо.
#8: Автор: dim, Откуда: MSK
Добавлено: Вт Июл 19, 2011 21:10
—
Описанный выше способ подходит для версии 1.4
Какой версии у Вас Астериск?
Специально настраивать iptables для fail2ban не нужно, просто устанавливаете и всё.
1.6 в продакшн не использовал, а на 1.8 настройки
/etc/fail2ban/filter.d/asterisk.conf такие:
Код:
|
[INCLUDES]
[Definition]
failregex
= Registration from '.*' failed for '
Registration from '.*' failed for
'
Registration from '.*' failed for
'
Registration from '.*' failed for
'
Registration from '.*' failed for
'
NOTICE.*
NOTICE.* .*: No registration for peer '.*'
(from
NOTICE.* .*: Host
NOTICE.* .*: Failed to authenticate user
.*@
VERBOSE.* logger.c: --
.*IP/
ignoreregex
=
|
и всё прекрасно банится.
Added after 10 minutes:
Ещё можно в контекст [default]
extentions.conf добавить:
Код:
|
exten
=> _X.,1,System(echo '${CHANNEL}' >> /var/log/asterisk/hackers.log)
|
Создать скрипт vim
/home/asterisk/hackers.sh
Код:
|
#!/bin/bash
cat
/var/log/asterisk/hackers.log | awk -v FS="[/-]+"
"/^SIP\/[0-9.]+-[0-9a-zA-z]+/ {print \$2; }" | sort -u | awk "/[0-9.]+/ { str=\"iptables -A INPUT -s \"
\$1 \" -j DROP\"; system(str); }"
sleep 1
rm
/var/log/asterisk/hackers.log
touch
/var/log/asterisk/hackers.log
|
и пускать его по крону каждую минуту:
Код:
|
0-59
* * * * root
/home/asterisk/hackers.sh
|
#9: Автор: xela,
Добавлено: Ср Июл 20, 2011 05:42
—
у меня астериск 1.8 . так если просто установить она же не банит
ничего. я пробовал. я ставил
вот по этой ссылке
http://my-debian.blogspot.com/2010/04/asterisk-fail2ban.html
Там есть Шаг 6. Запуск. #
/etc/init.d/iptables start . Если оставить iptable то файла /etc/init.d/iptables не будет. его надо
делать самому. Ну и наверное что то туда вписать надо будем. Я честно говоря в
этом деле новичок, поэтому что писать не знаю. Да наверное не только я один тут
такой лох. Так что будем безмерно благодарны за помощь в настройке iptable.
#10: Автор: Samael, Откуда: Киев
Добавлено: Ср Июл 20, 2011 07:31
—
1.
Sipvicious (да, сорри, ошибся) умеет находить в сети сип-серверы и ломать пароли.
2. Освойте iptables и его реализацию в дебиане или в том дистрибутиве, что вы пользуте. Долго, муторно, но того стоит.
#11: Автор: xela,
Добавлено: Ср Июл 20, 2011 08:22
—
во блин, значит теперь никто нам не поможет c iptables?
#12: Автор: _Pavel_,
Добавлено: Ср Июл 20, 2011 08:25
—
#13: Автор: xela,
Добавлено: Ср Июл 20, 2011 08:29
—
будем читать тогда. а может может тем временем кто нить
содержание рабочего файла iptables показать?
#14: Автор: Samael, Откуда: Киев
Добавлено: Ср Июл 20, 2011 10:10
—
У iptables нет рабочего файла. Есть утилитки типа iptables-save и iptables-restore, которые
пишут файлики, но это не совсем то. Реально, учите iptables.
#15: Автор: xela,
Добавлено: Ср Июл 20, 2011 10:48
—
Распечатал. Начал читать. Но вы учтите, я еще буду задавать вопросы!
#16: Автор: lv333,
Добавлено: Сб Июл 23, 2011 08:20
—
Цитата:
|
Описанный выше способ подходит для версии 1.4
|
у меня на 1.6 прекрасно работает
Цитата:
|
Если кто подскажет что там делать с iptable было бы совсем хорошо.
|
да ничего дополнительно не настраивал для iptables
проверить функциональность можно так:
#
iptables-save
Код:
|
#
Generated by iptables-save v1.3.5 on Sat Jul 23 10:11:08 2011
*filter
:INPUT
ACCEPT [1171038:267748973]
:FORWARD
ACCEPT [0:0]
:OUTPUT
ACCEPT [797168:178561167]
:fail2ban-ASTERISK
- [0:0]
:fail2ban-SSH
- [0:0]
-A INPUT
-p tcp -m tcp --dport 22 -j fail2ban-SSH
-A INPUT
-j fail2ban-ASTERISK
-A
fail2ban-ASTERISK -j RETURN
-A
fail2ban-SSH -j RETURN
COMMIT
#
Completed on Sat Jul 23 10:11:08 2011
|
тут видим созданные цепочки:
:fail2ban-ASTERISK
- [0:0]
и
:fail2ban-SSH
- [0:0]
если бы был забаненный ip то он бы фигурировал в правилах... просто что бы не загромождать лишними правилами iptables, fail2ban банит не
перманетно, а на определенное время указанное в конфигах для каждого сервиса.
[asterisk-iptables]
enabled =
true
filter =
asterisk
action =
iptables-allports[name=ASTERISK, protocol=all]
sendmail-whois[name=ASTERISK,
dest=root, sender=fail2ban@example.org]
logpath =
/var/log/asterisk/messages
maxretry = 5
bantime = 259200
#17: Автор: Cruiser78, Откуда: Санкт-Петербург
Добавлено: Сб Июл 23, 2011 12:14
—
lv333 писал(а):
|
ЗЫ Категорически рекомендую выполнить эти действия, особенно если сервер с астериском
смотрит в мир. У меня в день по 3-5 IP адресов в бан лист попадает.
|
По моему, если * выставлена а мир, то в большинстве случаев он смотрит
только на определенных провайдеров. Вот коммуникацию с ними и надо ограничить в
iptables. А попытки соединения со всех остальных адресов - режектить с ответом
host-unreachable. Если, конечно tarpit не настроить. С ним еще веселее будет.
Мое мнение такое - разрешать доступ к
казенному астериску надо только с очень ограниченного круга IP-адресов. Если это
невозможно (есть юзеря на динамике, на серых адресах домашних сетей), то
поднимать VPN между ними и астериском. Ну и правило - всё, что не разрешено
явно - запрещено.
#18: Автор: lv333,
Добавлено: Пн Июл 25, 2011 11:40
—
Цитата:
|
По моему, если *
выставлена а мир, то в большинстве случаев он смотрит только на определенных
провайдеров. Вот коммуникацию с ними и надо ограничить в iptables. А попытки
соединения со всех остальных адресов - режектить с ответом host-unreachable.
Если, конечно tarpit не настроить. С ним еще веселее будет.
Мое мнение такое - разрешать доступ к казенному астериску надо только с очень ограниченного круга IP-адресов. Если
это невозможно (есть юзеря на динамике, на серых адресах домашних сетей), то
поднимать VPN между ними и астериском. Ну и правило - всё, что не разрешено
явно - запрещено.
|
Да, я не спорю к к дополнению iptables можно в самом астериске в пирах прописывать пермит IP делается так
[permit-from](!)
deny=0.0.0.0/0.0.0.0
permit=xxx.xxx.xxx.xxx
;или по сети
permit=ххх.ххх.ххх.0/24
дальше в пире например:
[100](permit-from)
;тут настройка самого пира
Но иногда стоит задача разрешить авторизацию с любого
IP, причем без использования VPN.
#19: Автор: dotprint, Откуда: Коломна
Добавлено: Ср Авг 03, 2011 13:38
—
Немного подтёр (для читаемости, удалил лишние адреса), но вот мой рабочий iptables-save:
Код:
|
*filter
:INPUT
DROP [0:0]
:FORWARD
DROP [0:0]
:OUTPUT
DROP [0:0]
-A
INPUT -s 10.158.x.x -i eth1 -p udp -m udp --dport 5060 -j ACCEPT //SIP сигнализация до провайдера
-A
INPUT -s 10.158.x.x -i eth1 -p udp -m udp --dport 10000:20000 -j ACCEPT
//RTP-трафик до провайдера
-A
INPUT -s 192.168.0.0/255.255.254.0 -i eth0 -p udp -m udp --dport 5060 -j
ACCEPT //SIP сигнализация до внутренней сетки
-A
INPUT -s 10.0.0.0/255.255.255.0 -i eth0 -p udp -m udp --dport 5060 -j ACCEPT
//SIP сигнализация до второй внутренней сетки
-A
INPUT -s 192.168.0.0/255.255.254.0 -i eth0 -p udp -m udp --dport 10000:20000
-j ACCEPT //RTP трафик до внутренней сетки
-A
INPUT -s 10.0.0.0/255.255.255.0 -i eth0 -p udp -m udp --dport 10000:20000 -j
ACCEPT //RTP трафик до второй внутренней сетки
-A
INPUT -s 192.168.0.0/255.255.254.0 -i eth0 -p tcp -m tcp --dport 80 -j ACCEPT
//Даём веб-доступ
-A
INPUT -s 192.168.0.0/255.255.254.0 -i eth0 -p tcp -m tcp --dport 443 -j
ACCEPT //Защищённый веб-доступ
-A
INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT //Разрешаем все уже установленные соединения
-A
INPUT -s 192.168.0.0/255.255.254.0 -p icmp -m icmp --icmp-type 8 -j ACCEPT //Разрешаем пинг из внутренней сетки
-A
INPUT -s 10.0.0.0/255.255.255.0 -i eth0 -p udp -m udp --dport 123 -j ACCEPT
//Астериск так же сервер времени для айпишных телефонов
-A
INPUT -s 192.168.1.х -i eth0 -p tcp
-m tcp --dport 22 -j ACCEPT //Разрешаем ssh только для одного айпишника
-A
INPUT -d 127.0.0.1 -j ACCEPT //Разрешаем "внутреннее" общение
-A
OUTPUT -d 172.16.2.11 -p tcp -m tcp --dport 8025 -j ACCEPT //разрешаем работать с почтой с внутреннего корпоративного сервака
-A
OUTPUT -p udp -m udp --sport 123 -j ACCEPT //разрешаем ntp-подключения
-A
OUTPUT -p tcp -m tcp --dport 80 -j ACCEPT //веб
-A
OUTPUT -p tcp -m tcp --dport 8080 -j ACCEPT //веб
-A
OUTPUT -p tcp -m tcp --dport 443 -j ACCEPT //веб
-A
OUTPUT -p tcp -m tcp --dport 21 -j ACCEPT //фтп
-A
OUTPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT //разрешаем пинговать кого хотим
-A
OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT //все установленные и зависимые соединения - ок
-A
OUTPUT -p tcp -m tcp --dport 22 -j ACCEPT //разрешаем ssh с астериска
-A
OUTPUT -s 127.0.0.1 -j ACCEPT //разрешаем "внутреннее" общение
COMMIT
|
Комменты перед использованием тереть.
Часовой пояс: GMT + 1
Страница 1 из 1
Комментариев нет:
Отправить комментарий