Page 2 of 3

Re: Правила для file2ban

Posted: Sun Mar 22, 2015 11:44 am
by imperio
Как определили что не банит?
Вот какие службы настроены для работы
/etc/fail2ban/jail.local

Re: Правила для file2ban

Posted: Sun Mar 22, 2015 12:32 pm
by gurvinek
[ssh-iptables]
[pam-generic]
[vsftpd-iptables]
[exim-iptables]
[dovecot-iptables]
[vesta-iptables]
[nginx-noscript]
[nginx-badbots]

Как определили - в логах Exim присутствуют следы перебора пароля, в логах vsftpd попытки входа на FTP, SSH из вне закрыт, поэтому не критично.
iptables -L показывает только то, что определено мною в настройках панели, в логах file2ban упоминаний о блокировке кого-либо нет.
Вот так примерно.

В логе file2ban вот это:

Code: Select all

2015-03-20 21:08:30,303 fail2ban.server : INFO   Changed logging target to /var/log/fail2ban.log for Fail2ban v0.8.6
2015-03-20 21:08:30,304 fail2ban.jail   : INFO   Creating new jail 'ssh'
2015-03-20 21:08:30,305 fail2ban.jail   : INFO   Jail 'ssh' uses Gamin
2015-03-20 21:08:30,307 fail2ban.filter : INFO   Added logfile = /var/log/auth.log
2015-03-20 21:08:30,308 fail2ban.filter : INFO   Set maxRetry = 6
2015-03-20 21:08:30,312 fail2ban.filter : INFO   Set findtime = 600
2015-03-20 21:08:30,313 fail2ban.actions: INFO   Set banTime = 86400
2015-03-20 21:08:30,348 fail2ban.jail   : INFO   Creating new jail 'pam-generic'
2015-03-20 21:08:30,349 fail2ban.jail   : INFO   Jail 'pam-generic' uses Gamin
2015-03-20 21:08:30,352 fail2ban.filter : INFO   Added logfile = /var/log/auth.log
2015-03-20 21:08:30,353 fail2ban.filter : INFO   Set maxRetry = 6
2015-03-20 21:08:30,357 fail2ban.filter : INFO   Set findtime = 600
2015-03-20 21:08:30,358 fail2ban.actions: INFO   Set banTime = 86400
2015-03-20 21:08:30,369 fail2ban.jail   : INFO   Creating new jail 'ssh-iptables'
2015-03-20 21:08:30,370 fail2ban.jail   : INFO   Jail 'ssh-iptables' uses Gamin
2015-03-20 21:08:30,372 fail2ban.filter : INFO   Added logfile = /var/log/auth.log
2015-03-20 21:08:30,373 fail2ban.filter : INFO   Set maxRetry = 5
2015-03-20 21:08:30,377 fail2ban.filter : INFO   Set findtime = 600
2015-03-20 21:08:30,378 fail2ban.actions: INFO   Set banTime = 86400
2015-03-20 21:08:30,410 fail2ban.jail   : INFO   Creating new jail 'vsftpd-iptables'
2015-03-20 21:08:30,429 fail2ban.jail   : INFO   Jail 'vsftpd-iptables' uses Gamin
2015-03-20 21:08:30,431 fail2ban.filter : INFO   Added logfile = /var/log/vsftpd.log
2015-03-20 21:08:30,433 fail2ban.filter : INFO   Set maxRetry = 3
2015-03-20 21:08:30,436 fail2ban.filter : INFO   Set findtime = 600
2015-03-20 21:08:30,438 fail2ban.actions: INFO   Set banTime = 3600
2015-03-20 21:08:30,447 fail2ban.jail   : INFO   Creating new jail 'exim-iptables'
2015-03-20 21:08:30,447 fail2ban.jail   : INFO   Jail 'exim-iptables' uses Gamin
2015-03-20 21:08:30,449 fail2ban.filter : INFO   Added logfile = /var/log/exim4/mainlog
2015-03-20 21:08:30,451 fail2ban.filter : INFO   Set maxRetry = 3
2015-03-20 21:08:30,455 fail2ban.filter : INFO   Set findtime = 600
2015-03-20 21:08:30,456 fail2ban.actions: INFO   Set banTime = 3600
2015-03-20 21:08:30,473 fail2ban.jail   : INFO   Creating new jail 'dovecot-iptables'
2015-03-20 21:08:30,473 fail2ban.jail   : INFO   Jail 'dovecot-iptables' uses Gamin
2015-03-20 21:08:30,476 fail2ban.filter : INFO   Added logfile = /var/log/dovecot.log
2015-03-20 21:08:30,477 fail2ban.filter : INFO   Set maxRetry = 3
2015-03-20 21:08:30,481 fail2ban.filter : INFO   Set findtime = 600
2015-03-20 21:08:30,482 fail2ban.actions: INFO   Set banTime = 3600
2015-03-20 21:08:30,490 fail2ban.jail   : INFO   Creating new jail 'vesta-iptables'
2015-03-20 21:08:30,490 fail2ban.jail   : INFO   Jail 'vesta-iptables' uses Gamin
2015-03-20 21:08:30,493 fail2ban.filter : INFO   Added logfile = /var/log/vesta/auth.log
2015-03-20 21:08:30,494 fail2ban.filter : INFO   Set maxRetry = 5
2015-03-20 21:08:30,498 fail2ban.filter : INFO   Set findtime = 600
2015-03-20 21:08:30,499 fail2ban.actions: INFO   Set banTime = 86400
2015-03-20 21:08:30,507 fail2ban.jail   : INFO   Creating new jail 'nginx-noscript'
2015-03-20 21:08:30,508 fail2ban.jail   : INFO   Jail 'nginx-noscript' uses Gamin
2015-03-20 21:08:30,510 fail2ban.filter : INFO   Added logfile = /var/log/nginx/error.log
2015-03-20 21:08:30,511 fail2ban.filter : INFO   Set maxRetry = 1
2015-03-20 21:08:30,515 fail2ban.filter : INFO   Set findtime = 86400
2015-03-20 21:08:30,516 fail2ban.actions: INFO   Set banTime = 2592000
2015-03-20 21:08:30,527 fail2ban.jail   : INFO   Creating new jail 'nginx-badbots'
2015-03-20 21:08:30,527 fail2ban.jail   : INFO   Jail 'nginx-badbots' uses Gamin
2015-03-20 21:08:30,530 fail2ban.filter : INFO   Added logfile = /var/log/nginx/access.log
2015-03-20 21:08:30,531 fail2ban.filter : INFO   Set maxRetry = 2
2015-03-20 21:08:30,535 fail2ban.filter : INFO   Set findtime = 3600
2015-03-20 21:08:30,536 fail2ban.actions: INFO   Set banTime = 2592000
2015-03-20 21:08:30,549 fail2ban.jail   : INFO   Jail 'ssh' started
2015-03-20 21:08:30,566 fail2ban.jail   : INFO   Jail 'pam-generic' started
2015-03-20 21:08:30,595 fail2ban.jail   : INFO   Jail 'ssh-iptables' started
2015-03-20 21:08:30,620 fail2ban.jail   : INFO   Jail 'vsftpd-iptables' started
2015-03-20 21:08:30,637 fail2ban.jail   : INFO   Jail 'exim-iptables' started
2015-03-20 21:08:30,667 fail2ban.jail   : INFO   Jail 'dovecot-iptables' started
2015-03-20 21:08:30,684 fail2ban.jail   : INFO   Jail 'vesta-iptables' started
2015-03-20 21:08:30,729 fail2ban.jail   : INFO   Jail 'nginx-noscript' started
2015-03-20 21:08:30,756 fail2ban.jail   : INFO   Jail 'nginx-badbots' started
2015-03-21 06:25:09,364 fail2ban.filter : INFO   Log rotation detected for /var/log/exim4/mainlog
2015-03-21 06:44:10,633 fail2ban.filter : INFO   Log rotation detected for /var/log/exim4/mainlog
2015-03-22 06:25:14,758 fail2ban.server : INFO   Changed logging target to /var/log/fail2ban.log for Fail2ban v0.8.6
Пути к логам прописаны правильно

Re: Правила для file2ban

Posted: Tue Mar 24, 2015 7:04 pm
by gurvinek
Отвечу сам себе.

По умолчанию из репозиториев устанавливается версия file2ban 0.8.6 (могу ошибаться, но версия старая)
На этой версии завести file2ban так и не получилось. Было проделано множество телодвижений и все в пустую.
При очередных поисках в интернете наткнулся на статью, где настоятельно рекомендуют обновить file2ban
Ссылка для обновления:
http://neuro.debian.net/install_pkg.html?p=fail2ban

После обновления получаем свежую версию 0.8.13 (правда на данный момент бета-версия) и радуемся жизни :))

P.S. Сначала вылетала ошибка в лог

Code: Select all

Error in FilterPyinotify callback: invalid literal for long() with base 10: '8,'
но как потом выяснилось косяк был в перечислении ignoreip (они должны перечисляться через пробел, а у меня перечислялись через запятую)
Возможно, это и было причиной того, что старая версия так и не завелась, но тут хотя бы в логе ошибки появились.

Re: Правила для file2ban

Posted: Wed Mar 25, 2015 10:11 am
by skurudo
Довольно интересный случай, спасибо, что описали! )

Re: Правила для file2ban

Posted: Sat Feb 06, 2016 3:32 pm
by gurvinek
правило recidive

в процессе работы этого правила часто file2ban вываливался с ошибками:
ERROR iptables -n -L INPUT | grep -q 'fail2ban-recidive[ \t]' returned 100
ERROR Invariant check failed. Trying to restore a sane environment
и все рецидивисты соответственно разблокировались

решение тут
https://blog.laimbock.com/2013/01/11/fa ... ck-failed/

три дня - полет нормальный

Re: Правила для file2ban

Posted: Sun Apr 03, 2016 8:23 am
by Dadley
sol wrote:Вот мой конфиг file2ban все работает

Code: Select all

cat /etc/fail2ban/jail.local 

[ssh-iptables]
enabled  = true
filter   = sshd
action   = vesta[name=SSH]
logpath  = /var/log/secure
maxretry = 3

[vsftpd-iptables]
enabled  = true
filter   = vsftpd
action   = vesta[name=FTP]
logpath  = /var/log/vsftpd.log
maxretry = 3

[exim-iptables]
enabled = true
filter  = exim
action  = vesta[name=MAIL]
logpath = /var/log/exim/main.log

[dovecot-iptables]
enabled = true
filter  = dovecot
action  = vesta[name=MAIL]
logpath = /var/log/dovecot.log

[mysqld-iptables]
enabled  = true
filter   = mysqld-auth
action   = vesta[name=DB]
logpath  = /var/log/mysqld.log
maxretry = 5

[vesta-iptables]
enabled = true
filter  = vesta
action  = vesta[name=VESTA]
logpath = /var/log/vesta/auth.log
maxretry = 3
Настойки срабатываний по умолчанию для всех фильров (если не конкретно не определено)

Code: Select all

# "bantime" is the number of seconds that a host is banned.
bantime  =  86400

# A host is banned if it has generated "maxretry" during the last "findtime"
# seconds.
findtime  = 600

# "maxretry" is the number of failures before a host get banned.
maxretry = 3
Еще добавил от себя

Code: Select all

cat /etc/fail2ban/fail2ban.conf |grep logtarget
# Option: logtarget
#         If you change logtarget from the default value and you are
logtarget = /var/log/fail2ban.log
И фильтр для рецедивистов

Code: Select all

[recidive]

enabled  = true
filter   = recidive
logpath  = /var/log/fail2ban.log
action   = iptables-allports[name=recidive,protocol=all]
           sendmail-whois-lines[name=recidive, logpath=/var/log/fail2ban.log]
bantime  = 1814400  ;3 week
findtime = 345600   ;4 day
maxretry = 3
на выходе имею вот такое
Image
Можно еще к этому содержимое /etc/fail2ban/filter.d/vesta.conf посмотреть, а то по умолчанию такой файл у меня отсутствует. При перезапуске его хотят, но не могут иметь...

p.s. Как можно такой красивый график заиметь?

Re: Правила для file2ban

Posted: Sun Apr 03, 2016 8:52 am
by Mr.Erbutw
Dadley wrote: Можно еще к этому содержимое /etc/fail2ban/filter.d/vesta.conf посмотреть, а то по умолчанию такой файл у меня отсутствует.
файлик содержит

Code: Select all

# Fail2Ban filter for unsuccesfull Vesta authentication attempts
#

[INCLUDES]
before = common.conf

[Definition]
failregex =  .* <HOST> failed to login
ignoreregex =




Re: Правила для file2ban

Posted: Sun Apr 03, 2016 5:07 pm
by Dadley
Не сочтите за наглость, опубликуйте содержимое /etc/fail2ban/action.d/vesta.conf
Его тоже у меня нет 8(

И если есть дополнительные файлы vesta вызываемые vesta.conf

Re: Правила для file2ban

Posted: Sun Apr 03, 2016 7:36 pm
by Mr.Erbutw
Dadley wrote:Не сочтите за наглость, опубликуйте содержимое /etc/fail2ban/action.d/vesta.conf
Его тоже у меня нет 8(

И если есть дополнительные файлы vesta вызываемые vesta.conf
http://c.vestacp.com/0.9.8/debian/fail2ban.tar.gz

Re: Правила для file2ban

Posted: Sun Apr 03, 2016 8:25 pm
by Dadley
Mr.Erbutw wrote:
Dadley wrote:Не сочтите за наглость, опубликуйте содержимое /etc/fail2ban/action.d/vesta.conf
Его тоже у меня нет 8(

И если есть дополнительные файлы vesta вызываемые vesta.conf
http://c.vestacp.com/0.9.8/debian/fail2ban.tar.gz
The Best!!! малость подправил пути и fail2ban фурычить. Спасибо тебе добрый человек 9)

Осталось разобраться, как график добавить?