Скомпрометировали сервер, точнее директорию, где лежал сайт. Все логи nginx были удалены, так как, по соображениям руководства они хранились в той же директории, где и сайт ( ~/site.com/www/ ~/site.com/log/ ) По логам vsftpd не понять, так как ротация логов была выполнена до ежемесячного backup-па. Очнулись поздно.
Скорее всего, доступ был получен через уязвимость в движке сайта, но все же хочется понять, с такой настройкой vsftpd существует ли возможность анонимно получить доступ по ftp протоколу? Вариант с авторизированным пользователем не рассматривается, логин и пароль не мог утечь, на сервере ещё старым админом хорошо настроен fail2ban. Грешим на ftp доступ и баг в php скрипте движка сайта.
cat /etc/vsftpd.conf
listen=YES
anonymous_enable=NO #<--- 100% ?
local_enable=YES
write_enable=YES
pasv_min_port=50000
pasv_max_port=60000
dirmessage_enable=YES
xferlog_enable=YES
file_open_mode=0644
local_umask=022
connect_from_port_20=YES
ascii_upload_enable=YES
ascii_download_enable=YES
ftpd_banner=Welcome to FTP service
chroot_local_user=YES
allow_writeable_chroot=YES
secure_chroot_dir=/var/run/vsftpd
pam_service_name=vsftpd
seccomp_sandbox=NO
ssl_enable=YES
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
require_ssl_reuse=NO
ssl_ciphers=HIGH
rsa_cert_file=/etc/ssl/private/vsftpd.pem