Debian
對 vsftp 伺服器的暴力攻擊未在日誌中顯示身份驗證失敗
我的伺服器正在執行帶有 vsftpd 版本 3.0.2-17 的 Debian 8。最近我的 vsftpd.log 充滿了以下內容:
vsftpd.log
Mon Mar 7 18:13:44 2016 [pid 13499] CONNECT: Client "::ffff:xxx.xxx.xx.xx" Mon Mar 7 18:13:45 2016 [pid 13501] CONNECT: Client "::ffff:xxx.xxx.xx.xx" Mon Mar 7 18:13:46 2016 [pid 13503] CONNECT: Client "::ffff:xxx.xxx.xx.xx" Mon Mar 7 18:13:47 2016 [pid 13505] CONNECT: Client "::ffff:xxx.xxx.xx.xx" ... ...
這持續了超過 6000 行,全部來自同一個 IP 地址(我在日誌文件片段中混淆了 IP)。我有一個使用預設 vsftpd.conf 文件執行的 fail2ban(版本 0.8.13-1)監獄,但沒有記錄身份驗證失敗,因此沒有禁令。這是供參考的過濾器:
fail2ban vsftpd.conf 正則表達式
failregex = ^%(__prefix_line)s%(__pam_re)s\s+authentication failure; logname=\S* uid=\S* euid=\S* t$ ^ \[pid \d+\] \[.+\] FAIL LOGIN: Client "<HOST>"\s*$
這是我的 vsftpd 配置文件:
vsftpd.conf
listen=NO listen_ipv6=YES anonymous_enable=NO local_enable=YES write_enable=YES dirmessage_enable=YES use_localtime=YES xferlog_enable=YES connect_from_port_20=YES secure_chroot_dir=/var/run/vsftpd/empty pam_service_name=vsftpd rsa_cert_file=<path to .pem file> rsa_private_key_file=<path to key file> ssl_enable=YES ssl_tlsv1=YES ssl_ciphers=HIGH pasv_min_port=XXXX pasv_max_port=XXXX
有人可以幫助我了解發生了什麼嗎?為什麼日誌中沒有失敗的登錄嘗試?我找不到任何其他證據表明有人確實獲得了對系統的訪問權限。
順便說一句,我的意圖是僅在我需要自己使用 vsftpd 服務時啟動和停止它,但我未能將其從啟動中刪除,所以當我重新啟動時,它在我沒有意識到的情況下再次啟動。我已經糾正了這個問題,但我仍然想了解這個問題,以及如何讓 fail2ban 在這種情況下工作。
連接操作和登錄操作不是一回事。
網際網路上的一些機器人可以檢查您的 FTP 伺服器是否處於活動狀態並斷開連接,甚至無需嘗試登錄(有時像您的情況一樣在循環中)。這很正常。這裡沒有問題。
你可以自己試試。只需執行:
$ telnet whatever-domain.com 21 Trying 999.9.9.9... Connected to whatever-domain.com. Escape character is '^]'. 220 (vsFTPd 3.0.2) ^] telnet> Connection closed.
並檢查
vsftpd log
,應該只出現你想要的行CONNECT
,就是這樣。