我正在 Ubuntu 10.04 中设置fail2ban
各种服务。SSH 运行顺利,但到目前为止我还没有成功vsftpd
。问题是我找不到让失败的登录尝试出现在日志中的方法。
我在 中auth.log
和 中都什么也没看到vsftpd.log
。
在这里的例子中有几行应该出现在各个日志中但是却没有出现。
以下是我现在的配置文件内容:
listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
dual_log_enable=YES
xferlog_std_format=NO
xferlog_file=/var/log/vsftpd.log
session_support=YES
connect_from_port_20=YES
chroot_local_user=YES
userlist_deny=NO
userlist_enable=YES
userlist_file=/etc/vsftpd.allowed_users
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/private/vsftpd.pem
ssl_enable=YES
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_tlsv1=YES
ssl_sslv2=YES
ssl_sslv3=YES
在日志中我只看到成功的登录,但是当客户端获得时530 permission denied
,没有任何记录。
我不想记录整个 FTP 聊天。
答案1
看起来 vsftpd 首先检查用户名,userlist_file
并且仅在允许用户时才执行 PAM(使用上述配置)。我建议禁用userlist_*
选项并在 PAM 配置中实施拒绝列表。
# put this line into /etc/pam.d/vsftpd as first "auth" check
auth required pam_listfile.so item=user sense=allow file=/etc/vsftpd.allowed_users onerr=fail
然后您应该会看到被拒绝的日志尝试auth.log
。
更多信息 -pam_列表文件