Различия

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

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

nastrojka_fail2ban [2013/10/23 15:03] (текущий)
Строка 1: Строка 1:
 +====== Настройка fail2ban ======
 +===== Постановка задачи =====
  
 +Нужно чтобы закрыть доступ для атакующего IP по sip.
 +
 +===== Решение =====
 +  - Установка fail2ban.<​code bash>
 +apt-get install fail2ban </​code>​
 +  - Установка python и iptables. Возможно вам понадобиться установить эти пакеты,​ поэтому <code bash>
 +apt-get install iptables python </​code>​
 +  - Конфигурация fail2ban. Итак, займемся конфигурацией. Для этого перейдем в каталог ​ **/​etc/​fail2ban/​filter.d.** \\ Создаем новый фильтр:​ <code bash>
 +touch asterisk.conf ​
 +</​code>​ Содержимое файла **/​etc/​fail2ban/​filter.d/​asterisk.conf** должно быть примерно таким:<​code ini 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 ""​ can
 +#          be used for standard IP/hostname matching and is only an alias for
 +#          (?:::​f{4,​6}:​)?​(?​P\S+)
 +
 +# Values: ​ TEXT
 +failregex = NOTICE.* .*: Registration from '​.*'​ failed for ''​ - Wrong password
 +            NOTICE.* .*: Registration from '​.*'​ failed for ''​ - No matching peer found
 +            NOTICE.* .*: Registration from '​.*'​ failed for ''​ - Username/​auth name mismatch
 +            NOTICE.* .*: Registration from '​.*'​ failed for ''​ - Device does not match ACL
 +            NOTICE.* failed to authenticate as '​.*'​$
 +            NOTICE.* .*: No registration for peer '​.*'​ \(from \)
 +            NOTICE.* .*: Host failed MD5 authentication for '​.*'​ (.*)
 +            NOTICE.* .*: Failed to authenticate user .*@.*
 +# Option: ​ ignoreregex
 +# Notes.: ​ regex to ignore. If this regex matches, the line is ignored.
 +# Values: ​ TEXT
 +ignoreregex =
 +</​code>​
 +  - Редактируем **/​etc/​fail2ban/​jail.conf**. В конец файла добавляем следующее содержимое:<​code ini 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
 +</​code>​
 +  - Логирование Asterisk. Открываем **/​etc/​asterisk/​logger.conf** и раскомментируем:​ <code ini>
 +[general]
 +dateformat=%F %T
 +</​code>​В консоли перегружаем сервис логирования:​ <code bash>
 +asterisk -rx "​logger reload" ​
 +</​code>​
 +  - Запуск.<​code bash>
 +/​etc/​init.d/​iptables start
 +</​code>​Проверим:<​code bash>
 +iptables -L -v
 +</​code>​Должно появиться что то типа этого:<​code bash>
 +iptables -L -v
 +Chain INPUT (policy ACCEPT 20100 packets, 3866K bytes)
 + pkts bytes target ​    prot opt in     ​out ​    ​source ​              ​destination
 +   ​62 ​ 5692 fail2ban-ssh ​ tcp  --  any    any     ​anywhere ​            ​anywhere ​           multiport dports ssh
 + ​2049 ​ 471K fail2ban-ASTERISK ​ all  --  any    any     ​anywhere ​            ​anywhere
 +Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 + pkts bytes target ​    prot opt in     ​out ​    ​source ​              ​destination
 +Chain OUTPUT (policy ACCEPT 18948 packets, 5246K bytes)
 + pkts bytes target ​    prot opt in     ​out ​    ​source ​              ​destination
 +Chain fail2ban-ASTERISK (1 references)
 + pkts bytes target ​    prot opt in     ​out ​    ​source ​              ​destination
 + ​2049 ​ 471K RETURN ​    ​all ​ --  any    any     ​anywhere ​            ​anywhere
 +Chain fail2ban-ssh (1 references)
 + pkts bytes target ​    prot opt in     ​out ​    ​source ​              ​destination
 +   ​62 ​ 5692 RETURN ​    ​all ​ --  any    any     ​anywhere ​            ​anywhere
 +</​code>​
 +  - Автозапуск fail2ban и iptables:<​code bash>
 +update-rc.d iptables defaults
 +update-rc.d fail2ban defaults ​
 +</​code>​
 +Сайт программы http://​www.fail2ban.org/​wiki/​index.php/​Main_Page
 +
 +Источник статьи http://​my-debian.blogspot.com/​2010/​04/​asterisk-fail2ban.html
nastrojka_fail2ban.txt · Последние изменения: 2013/10/23 15:03 (внешнее изменение)
GNU Free Documentation License 1.3
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0 Яндекс.Метрика