Несмотря на количество ответов, вроде, разобрался.
Проблема исключительно в том, что fail2ban хочет видеть IP, а vsftpd ресолвит их в днс-имена.
Здесь:
www.fail2ban.org/wiki/index.php/FAQ_english внизу есть совет:
Scenario: VSFTP configuration is set for PAM authentication, using xferlog in standard format. Fail2ban for vsftpd is watching /var/log/secure
Problem: PAM sends failed login information to /var/log/secure, but the remote server's IP address has been replaced by a DNS name. Resulting DNS name does not resolve or does not resolve correctly, thus fail2ban is unable to ban the IP address.
Fix: Configure VSFTP for "dual_log_enable=YES", and have fail2ban watch /var/log/vsftpd.log instead. This log file shows the incoming ip address instead of the DNS name.
Соответственно, дописал
dual_log_enable=YES
в
/etc/vsftpd/vsftpd.conf. Рестартнул сервис, проверил, что появился новый лог. Изменил в
/etc/fail2ban/jail.conf настройку местоположения лога на
/var/log/vsftpd.log
и рестартнул второй сервис.