Для защиты нашего FTP создаем в папке /etc/fail2ban/filter.d/ файл например с именем pureftpd.conf и пишем туда:
# Fail2Ban configuration file
#
# Author: Cyril Jaquier
# Modified: RUSUA
#
# $Revision: 3$
#
[Definition]
# Error message specified in multiple languages
__errmsg = (?:Authentication failed for user)
#
# 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>[\w\-.^_]+)
# Values: TEXT
#
failregex = pure-ftpd(?:\[\d+\])?: \(.+?@<HOST>\) \[WARNING\] %(__errmsg)s \[.+\]\s*$
pure-ftpd: \(\?\:?@<HOST>\) \[WARNING\] (?:Authentication failed for user) \[.+\]\s*$
# Option: ignoreregex
# Notes.: regex to ignore. If this regex matches, the line is ignored.
# Values: TEXT
#
ignoreregex =
Сохраняем и добавляем(или активируем) в /etc/fail2ban/jail.conf правило:
[pure-ftpd]
enabled = true
port = ftp,ftp-data,ftps,ftps-data
filter = pure-ftpd
logpath = /var/log/messages
maxretry = 3
После перезапуска, fail2ban будет успешно отлавливать и банить всех китайцев и не только)
Важное замечание — у вас должна быть включена опция отображения ip адресов атакующих,без конвертации в имена,иначе fail2ban не сможет их банить. Для этого создайте файл DontResolve со строчкой внутри yes в /etc/pure-ftpd/conf/