fail2ban - Настройка
Re: fail2ban - Настройка
Извиняюсь, за задержку с ответом. Озадачил и исчез :)
Решил врубиться сам и вроде получилось. Как честный человек делюсь:
Идем в /etc/rc.d/init.d/proftpd
Находим
daemon proftpd $PROFTPD_OPTIONS 2>/dev/null
Если их два то для двух до этой строки вставляем:
export LC_MESSAGES="en_US.UTF-8"
export LC_ALL="en_US.UTF-8"
export LANG="en_US.UTF-8"
Выглядит результат как то так:
Идем /etc/fail2ban/jail.conf
Отправку почты специально отключил - и так хватает писем - пусть просто блокирует.
Фильтр привожу полностью, поскольку не помню корректировал ли его
Идем в /etc/fail2ban/filter.d/proftpd.conf
И вот это сочетание заработало - блокирует.
Одна из проблем, как оказалось, что proftpd как то при загрузке определяет локаль системы (у меня русская), и правила потом отрабатываются криво - то есть не видит он ошибок, поэтому и блокировок не создает в iptables.
Решил врубиться сам и вроде получилось. Как честный человек делюсь:
Идем в /etc/rc.d/init.d/proftpd
Находим
daemon proftpd $PROFTPD_OPTIONS 2>/dev/null
Если их два то для двух до этой строки вставляем:
export LC_MESSAGES="en_US.UTF-8"
export LC_ALL="en_US.UTF-8"
export LANG="en_US.UTF-8"
Выглядит результат как то так:
Code: Select all
prog="proftpd"
start() {
echo -n $"Starting $prog: "
export LC_MESSAGES="en_US.UTF-8"
export LC_ALL="en_US.UTF-8"
export LANG="en_US.UTF-8"
daemon proftpd $PROFTPD_OPTIONS 2>/dev/null
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/proftpd
}
Code: Select all
[proftpd-iptables]
enabled = true
filter = proftpd
action = iptables[name=ProFTPD, port=ftp, protocol=tcp]
logpath = /var/log/proftpd/proftpd.log
maxretry = 3
Фильтр привожу полностью, поскольку не помню корректировал ли его
Идем в /etc/fail2ban/filter.d/proftpd.conf
Code: Select all
# Fail2Ban fitler for the Proftpd FTP daemon
#
[INCLUDES]
before = common.conf
[Definition]
_daemon = proftpd
__suffix_failed_login = (User not authorized for login|No such user found|Incorrect password|Password expired|Account disabled|Invalid shell: '\S+'|User in \S+|Limit (access|configuration) denies login|Not a UserAlias|maximum login length exceeded).?
failregex = ^%(__prefix_line)s%(__hostname)s \(\S+\[<HOST>\]\)[: -]+ USER .*: no such user found from \S+ \[\S+\] to \S+:\S+ *$
^%(__prefix_line)s%(__hostname)s \(\S+\[<HOST>\]\)[: -]+ USER .* \(Login failed\): %(__suffix_failed_login)s\s*$
^%(__prefix_line)s%(__hostname)s \(\S+\[<HOST>\]\)[: -]+ SECURITY VIOLATION: .* login attempted\. *$
^%(__prefix_line)s%(__hostname)s \(\S+\[<HOST>\]\)[: -]+ Maximum login attempts \(\d+\) exceeded *$
ignoreregex =
# Author: Yaroslav Halchenko
# Daniel Black - hardening of regex
Одна из проблем, как оказалось, что proftpd как то при загрузке определяет локаль системы (у меня русская), и правила потом отрабатываются криво - то есть не видит он ошибок, поэтому и блокировок не создает в iptables.
Re: fail2ban - Настройка
Хорошо что разобрались :)
Re: fail2ban - Настройка
Можно как-то менее прожорливым сделать fail2ban?
Re: fail2ban - Настройка
Предлагается его лимитировать через ulimit -s 256abst wrote:Можно как-то менее прожорливым сделать fail2ban?
через fail2ban.service (LimitSTACK=256) или /etc/default/fail2ban
Re: fail2ban - Настройка
Добавляю:
В файле chains.conf появляется. В Iptables тоже.
Перезагружаю через панель fail2ban - пропадает из chains.conf, в iptables присутствует.
При перезагрузке сервера нет ни там, ни там. Приходится добавлять заново.
Пробовал в custom.sh добавить - не помогает.
Похоже, что v-stop-firewall чистит chains.conf. Причем цепочка WEB (родная), которую я добавил ручками в chains.conf, не слетает.
Как сделать так, чтобы chain не слетала?
Вообще, я решил использовать новую цепочку, потому что не работает это действие:
Срабатывает только последняя команда.
Code: Select all
v-add-firewall-chain ALL "22,80,443,8083" "TCP"
Перезагружаю через панель fail2ban - пропадает из chains.conf, в iptables присутствует.
При перезагрузке сервера нет ни там, ни там. Приходится добавлять заново.
Пробовал в custom.sh добавить - не помогает.
Похоже, что v-stop-firewall чистит chains.conf. Причем цепочка WEB (родная), которую я добавил ручками в chains.conf, не слетает.
Как сделать так, чтобы chain не слетала?
Вообще, я решил использовать новую цепочку, потому что не работает это действие:
Code: Select all
action = vesta[name=SSH]
vesta[name=WEB]
vesta[name=VESTA]
Re: fail2ban - Настройка
а как правильно настроить для почты?
в dovecot постоянно сыпятся примерно такие
включил
[dovecot] и [exim]
начало потихоньку банить
в dovecot постоянно сыпятся примерно такие
Code: Select all
Jul 26 15:13:02 auth: Info: passwd-file([email protected],181.214.206.189): unknown user
[dovecot] и [exim]
начало потихоньку банить
Re: fail2ban - Настройка
Здравствуйте! А можно подробней где и что прописать, чтобы ограничить потребление ОЗУ fail2ban?
" fail2ban.service (LimitSTACK=256) или /etc/default/fail2ban" - как новечку не совсем понятно где, что и как править. Пробовал по-разному, перезапускал сервис, но видимо не там ковыряю что-то. Заранее спасибо.
Re: fail2ban - Настройка
у кого в панели Vesta CP fail2ban выделено серым цветом (Как будто не активно, но сам f2b работает), вот решение.
fail2ban-server -V 0.10.5
viewtopic.php?f=40&t=19593
fail2ban-server -V 0.10.5
viewtopic.php?f=40&t=19593