在 Debian 上监控 FTP 服务器,通常取决于你使用的是哪种 FTP 服务(如 vsftpd、ProFTPD、Pure-FTPd)。下面以最常见的 vsftpd 为例,系统性地说明监控方法,并补充通用方案。
systemctl status vsftpd
或
service vsftpd status
systemctl enable vsftpd
systemctl start vsftpd
netstat -antp | grep :21
或(推荐)
ss -antp | grep :21
who
(仅对部分 FTP 服务有效)
tail -f /var/log/vsftpd.log
若无该文件,查看:
tail -f /var/log/syslog | grep vsftpd
编辑配置文件:
/etc/vsftpd.conf
确保包含:
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log
log_ftp_protocol=YES
重启服务:
systemctl restart vsftpd
查看上传/下载记录:
cat /var/log/vsftpd.log
top
htop
iotop
iftop
监控端口 21:
iftop -i eth0
安装:
apt install monit
示例配置 /etc/monit/conf.d/vsftpd:
check process vsftpd with pidfile /run/vsftpd.pid
start program = "/usr/sbin/service vsftpd start"
stop program = "/usr/sbin/service vsftpd stop"
if failed port 21 protocol ftp then restart
启动:
systemctl restart monit
grep "FAILED LOGIN" /var/log/vsftpd.log
apt install fail2ban
配置:
/etc/fail2ban/jail.local
[vsftpd]
enabled = true
port = ftp
logpath = /var/log/vsftpd.log
| FTP 服务 | 日志位置 |
|---|---|
| ProFTPD | /var/log/proftpd/ |
| Pure-FTPd | /var/log/syslog |
如果你能告诉我:
我可以给你更精确的方案。