VIDEOCHAT  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

fail2ban установка и настройка

Проблемы Asterisk без вэб-оболочек и их решения

Модераторы: april22, Zavr2008

Ответить
Аватара пользователя
sorgchik
Сообщения: 183
Зарегистрирован: 31 авг 2010, 21:14

fail2ban установка и настройка

Сообщение sorgchik »

В инете много статей по настройке, но во многих опечатки и новичку как мне было трудно разобраться. Тут постараюсь привести минимум, после которого все должно работать без ошибок.
Итак начнем:
Установка:

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

yum install fail2ban
yum install python iptables 
Конфигурация fail2ban:
Создадим новый фильтр.

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

touch /etc/fail2ban/filter.d/asterisk.conf 
Содержимое файла /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 "<HOST>" can
#          be used for standard IP/hostname matching and is only an alias for
#          (?:::f{4,6}:)?(?P<host>\S+)
# Values:  TEXT
#

failregex = NOTICE.* .*: Registration from '.*' failed for '<HOST>' - Wrong password
            NOTICE.* .*: Registration from '.*' failed for '<HOST>' - No matching peer found
            NOTICE.* .*: Registration from '.*' failed for '<HOST>' - Username/auth name mismatch
            NOTICE.* .*: Registration from '.*' failed for '<HOST>' - Device does not match ACL
            NOTICE.* .*: Registration from '.*' failed for '<HOST>' - Peer is not supposed to register
            NOTICE.* <HOST> failed to authenticate as '.*'$
            NOTICE.* .*: No registration for peer '.*' \(from <HOST>\)
            NOTICE.* .*: Host <HOST> failed MD5 authentication for '.*' (.*)
            NOTICE.* .*: Failed to authenticate user .*@<HOST>.*

# Option:  ignoreregex
# Notes.:  regex to ignore. If this regex matches, the line is ignored.
# Values:  TEXT
#
ignoreregex =
в переменную ignoreregex через запятую, можете прописать ip, которые не будут блокироваться.

Следующим шагом мы редактируем файл /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/full
maxretry = 5
bantime = 259200
тут у нас следующая ситуация:
fail2ban@example.org - email куда будут отправляться репорты о банах
logpath = /var/log/asterisk/full - лог, который анализируется (смотрите куда пишется у вас лог)
maxretry = 5 - число неправильных попыток авторизации
bantime = 259200 - время бана в секундах

теперь включим полное логирование нашего asterisk:
Правим файл /etc/asterisk/logger.conf.
Должно получиться примерно такое:

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

[general]
dateformat=%F %T;

; Logging Configuration
;
; In this file, you configure logging to files or to
; the syslog system.
;
; For each file, specify what to log.
;
; For console logging, you set options at start of
; Asterisk with -v for verbose and -d for debug
; See 'asterisk -h' for more information.
;
; Directory for log files is configures in asterisk.conf
; option astlogdir
;
[logfiles]
;
; Format is "filename" and then "levels" of debugging to be included:
;    debug
;    notice
;    warning
;    error
;    verbose
;
; Special filename "console" represents the system console
;
;debug => debug
; The DTMF log is very handy if you have issues with IVR's
;dtmf => dtmf
;console => notice,warning,error
;console => notice,warning,error,debug
messages => notice,warning,error
full => notice,warning,error,debug,verbose

;syslog keyword : This special keyword logs to syslog facility
;
;syslog.local0 => notice,warning,error
;
ну и последний шаг, перезагрузим наши сервисы:

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

service fail2ban restrat
и

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

service iptables restart
ded
Сообщения: 15621
Зарегистрирован: 26 авг 2010, 19:00

Re: fail2ban установка и настройка

Сообщение ded »

sorgchik писал(а):В инете много статей по настройке, но во многих опечатки
sorgchik писал(а):ну и последний шаг, перезагрузим наши сервисы:

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

service fail2ban restrat
Аватара пользователя
sorgchik
Сообщения: 183
Зарегистрирован: 31 авг 2010, 21:14

Re: fail2ban установка и настройка

Сообщение sorgchik »

))) согласен, прошу модератора поправить, а это сообщение удалить :)
надеюсь пригодиться хоть кому-нибудь данная маленькая заметочка.
esveka
Сообщения: 19
Зарегистрирован: 09 сен 2010, 15:40

Re: fail2ban установка и настройка

Сообщение esveka »

sorgchik, спасибо!
Хочу только добавить, что в ubuntu 10.04 и ubuntu 10.10 вместо iptables в качестве главного файервола используется ufw. И поэтому, чтобы постввить fail2ban, надо поколдовать с iptables. Как поколдовать, написано здесь.
maza11
Сообщения: 26
Зарегистрирован: 02 сен 2020, 22:51

Re: fail2ban установка и настройка

Сообщение maza11 »

в jail.conf прописан в разделе Default
ignoreip = 127.0.0.1/8 192.168.0.1/24 XXX.XXX.XX.XX XXX.XXX.XXX.XX (это два внешних наших IP через пробел)

когда добавляю одиночный адрес для блокировки

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

fail2ban-client set asterisk banip 191.96.5.1
все ок и добавляется без ошибок, адрес блокируется

а когда добавляю подсетью

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

fail2ban-client set asterisk banip 191.96.5.1/24
то в лог пишется

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


2023-04-06 00:56:58,074 fail2ban.filter         [20462]: WARNING Unable to find a corresponding IP address for 127.0.0.1/8: [Errno -2] Name or service not known
2023-04-06 00:57:02,130 fail2ban.filter         [20462]: WARNING Unable to find a corresponding IP address for 192.168.0.1/24: [Errno -2] Name or service not known
2023-04-06 00:57:02,756 fail2ban.actions        [20462]: NOTICE  [asterisk] Ban 191.96.5.1/24

он добавляется, но вот это сообщение про сети 127 и 192 меня пугает каждый раз

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

root@aster:/var/log/asterisk# fail2ban-client get asterisk ignoreip
These IP addresses/networks are ignored:
|- 127.0.0.1/8
|- 192.168.0.1/24
|- XXX.XXX.XX.XX
`- XXX.XXX.XXX.XX
правила игнора обрабатываются правильно

во всех мануалах так и писали. что адреса добавляются в ignoreip через пробел и подсетями через слеш
В эту строку вы можете через пробел добавить как несколько IP адресов, так и целые подсети, например 172.16.1.0/24
Собственно вопрос почему так?

убунта
Debian GNU/Linux 9.13 (stretch)
ded
Сообщения: 15621
Зарегистрирован: 26 авг 2010, 19:00

Re: fail2ban установка и настройка

Сообщение ded »

В ignoreip не стоит добавлять реальные адреса.
Ответ, собственно:
нет понимания что такое CIDR
maza11 писал(а):когда добавляю подсетью

fail2ban-client set asterisk banip 191.96.5.1/24
Формат записи адресов в бесклассовом виде (CIDR) предполалгает точность подсеть или единичный адрес.
В последнем случае, для указания одного конкретного адреса нужно использовать маску /32
То есть правильно указывать - 191.96.5.1/32
а если захочется заблокировать диапазон (предполагаем, что там прямо хакерское гнездо), то, например так -
191.96.4.0/22
maza11
Сообщения: 26
Зарегистрирован: 02 сен 2020, 22:51

Re: fail2ban установка и настройка

Сообщение maza11 »

целью у меня забанить всю подсеть 191.96.5.1-254
Когда я вижу что начали с одной сети 191.96.5.1, 191.96.5.5, 191.96.5.7 и т.д. подбирать и чтобы не ждать пока все их 200 адресов поделают 5 попыток и улетят в бан, забанить сразу весь пул
Не очень понимаю почему надо банить пулом и 4 и 5 и 6 и 7 подсеть, если я хочу забанить только 5 подсеть по 24 маске 191.96.5.0/24
Собственно оно банит, правила отрабатывают.
Я советуюсь с вами как со старшим товарищем который понимает в этом чуть больше меня.

Вот пример

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

root@aster:/home/aster# fail2ban-client set asterisk banip 164.132.31.243
164.132.31.243
root@aster:/home/aster# fail2ban-client set asterisk banip 164.132.31.0/24
164.132.31.0/24
и лог

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

2023-04-06 18:05:48,735 fail2ban.filter         [20462]: INFO    [asterisk] Found 164.132.31.243
2023-04-06 19:08:25,219 fail2ban.actions        [20462]: NOTICE  [asterisk] Ban 164.132.31.243
2023-04-06 19:09:05,449 fail2ban.filter         [20462]: WARNING Unable to find a corresponding IP address for 127.0.0.1/8: [Errno -2] Name or service not known
2023-04-06 19:09:09,507 fail2ban.filter         [20462]: WARNING Unable to find a corresponding IP address for 192.168.0.1/24: [Errno -2] Name or service not known
2023-04-06 19:09:10,189 fail2ban.actions        [20462]: NOTICE  [asterisk] Ban 164.132.31.0/24

ded
Сообщения: 15621
Зарегистрирован: 26 авг 2010, 19:00

Re: fail2ban установка и настройка

Сообщение ded »

Старший товарищ советует:
fail2ban-client set asterisk banip 191.96.5.1/24 - неправильно
fail2ban-client set asterisk banip 191.96.5.0/24 - правильно
fail2ban-client set asterisk banip 164.132.31.0/24 - тоже правильно.
maza11 писал(а):Не очень понимаю почему надо банить пулом и 4 и 5 и 6 и 7 подсеть, если я хочу забанить только 5 подсеть по 24 маске 191.96.5.0/24
Нет таких 4 и 5 и 6 и 7 подсетей. Пример 191.96.4.0/22 дан для наглядности, чтобы показать, что это одна подсеть с маской .22 (по другой нотации, не бесклассовой - 255.255.252.0.
Это одна подсеть.
Для примера.
maza11
Сообщения: 26
Зарегистрирован: 02 сен 2020, 22:51

Re: fail2ban установка и настройка

Сообщение maza11 »

как блокировать разобрались ,вот так

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

fail2ban-client set asterisk banip 191.96.5.0/24 - правильно
fail2ban-client set asterisk banip 164.132.31.0/24 - тоже правильно.
Почему в логе тогда ругается на подсети 127 и 128 я не понимаю

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

2023-04-06 00:56:58,074 fail2ban.filter         [20462]: WARNING Unable to find a corresponding IP address for 127.0.0.1/8: [Errno -2] Name or service not known
2023-04-06 00:57:02,130 fail2ban.filter         [20462]: WARNING Unable to find a corresponding IP address for 192.168.0.1/24: [Errno -2] Name or service not known
пример

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

ignoreip = 127.0.0.1/8
был прописан в родном конфиге как пример
в etc\hostname прописано имя компа aster
в etc\hosts

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

127.0.0.1	localhost
127.0.1.1	aster.domain.local	aster
127 сеть же прописана, че на нее тогда ругается, я бы понял еще на 192,168,0,0 т.к. она не прописана, но 127,0,0,1 почему ?
ded
Сообщения: 15621
Зарегистрирован: 26 авг 2010, 19:00

Re: fail2ban установка и настройка

Сообщение ded »

127.0.0.1/8 - это не сеть, это адрес
и 192.168.0.1/24: - это адрес, а не сеть.
Такие конструкции могут быть применимы к интерфейсам, но не к правилам маршрутизации, фильтрации или блокировки. Таким образом -
fail2ban-client set asterisk banip 127.0.0.1/8 - неправильно
fail2ban-client set asterisk banip 192.168.0.1/24 - неправильно
а
fail2ban-client set asterisk banip 127.0.0.0/8 - правильно
fail2ban-client set asterisk banip 192.168.0.0/24 - правильно
fail2ban-client set asterisk banip 192.168.0.0/16- правильно
Ответить
© 2008 — 2024 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH