8(499)-709-97-83
Работаем с 8:00 до 19:00

Установка и настройка fail2ban с Asterisk и ufw

  • 12 марта 2015

В интернете выложено множество статей о том, как настроить fail2ban с iptables, но очень мало написано про fail2ban и ufw. В сегодняшней статье мы расскажем, как установить и настроить fail2ban с FreePBX(Asterisk 13) и ufwFreePBX установлена у нас на Ubuntu Server 12.04.

 

Установка:

apt-get install iptables fail2ban
 

Настройка:

Настраиваем действия с использованием ufw. Создаем файл /etc/fail2ban/action.d/ufw-asterisk.conf

[Definition]
actionstart =
actionstop =
actioncheck =
actionban = ufw insert 1 deny from 
actionunban = ufw delete deny from 

Далее шаблонами описываем фильтр /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 "" 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 .*@.*
VERBOSE.*SIP/-.*Received incoming SIP connection from unknown peer
WARNING.* Ext. s: "Rejecting unknown SIP connection from "

# Option: ignoreregex
# Notes.: regex to ignore. If this regex matches, the line is ignored.
# Values: TEXT
#
ignoreregex =

Основной конфигурационный файл Fail2Ban находится  /etc/fail2ban/jail.conf. В самый низ данного файла помещаем наш новый блок:

[asterisk-ufw]

enabled = true
filter = asterisk
action = ufw-asterisk
logpath = /var/log/asterisk/messages
maxretry = 3
bantime = 3600

Описание параметров:

enabled = вкл/выкл true/false

filter = название нашего фильтра, который находится в /etc/fail2ban/filter.d/

action = название нашего действия, которое находится в /etc/fail2ban/action.d/

logpath = /var/log/asterisk/messages - лог, который анализируется (место можно менять в зависимости от того, куда у вас пишутся логи)

maxretry = 3 - число неправильных попыток авторизации

bantime = 3600 - время бана в секундах

 

Теперь нужно, чтобы Asterisk писал необходимые логи событий в определенный файл. Открываем /etc/asterisk/logger_logfiles_custom.conf и добавляем следующее:

messages => notice,warning,error,verbose

Если у вас голый Asterisk, то делаем следующее в /etc/asterisk/logger.conf:

[general]
dateformat=%F %T
[logfiles]
console => notice,warning,error
messages => notice,warning,error
messages => security
 

Сохраняем, заходим в консоль Asterisk, делаем следующие действия:

logger rotate
logger reload
 

Нам остается только перезагрузить наш сервис, включить ufw  и все должно работать:

service fail2ban restrat

ufw enable

На этом наша настройка завершена.  

Если вы в статье нашли ошибки или несоответствия, мы будем благодарны, если вы напишите нам о них в комментариях.

 
 
Powered by SEO CMS ver.: 23.1 TOP 2 (opencartadmin.com)
 
Метки: ufw, fail2ban, Asterisk