温馨提示×

如何监控Ubuntu FTPServer

小樊
40
2026-08-28 22:12:19
栏目: 智能运维

监控 Ubuntu 上的 FTPServer(通常指 vsftpd、ProFTPD 或 Pure-FTPd) 可以从服务状态、连接情况、日志、性能、安全几个层面来做。下面以 vsftpd(最常见) 为主,同时给出通用方案。


一、确认 FTPServer 类型和状态

1️⃣ 查看是否正在运行

systemctl status vsftpd

ps aux | grep ftp

启动 / 重启:

sudo systemctl start vsftpd
sudo systemctl enable vsftpd

二、实时连接监控(谁在连 FTP)

1️⃣ 查看当前 FTP 连接

netstat -anp | grep :21
# 或
ss -antp | grep :21

2️⃣ 查看当前登录用户(vsftpd)

vsftpd 本身不提供内置命令,可通过日志或进程查看:

ps aux | grep vsftpd

如果是 ProFTPD

ftpwho

三、日志监控(最重要)

1️⃣ vsftpd 日志位置

常见路径:

/var/log/vsftpd.log
/var/log/syslog

查看实时日志:

tail -f /var/log/vsftpd.log

搜索登录记录:

grep "OK LOGIN" /var/log/vsftpd.log
grep "FAIL" /var/log/vsftpd.log

2️⃣ 启用详细日志(推荐)

编辑配置文件:

sudo nano /etc/vsftpd.conf

确保:

xferlog_enable=YES
log_ftp_protocol=YES

重启:

sudo systemctl restart vsftpd

四、性能与资源监控

1️⃣ CPU / 内存

top
htop

2️⃣ 网络流量

iftop

nload

3️⃣ 磁盘 IO(FTP 大文件传输)

iotop

五、被动模式端口监控(FTPS 常见)

1️⃣ 查看被动端口范围

grep pasv_ /etc/vsftpd.conf

例如:

pasv_min_port=30000
pasv_max_port=31000

2️⃣ 监控这些端口

ss -ant | grep 3000

防火墙确认:

ufw status

六、安全监控(防止暴力破解)

1️⃣ 使用 fail2ban(强烈推荐)

sudo apt install fail2ban

示例 jail 配置:

[vsftpd]
enabled = true
port = ftp,ftp-data,ftps,ftps-data
filter = vsftpd
logpath = /var/log/vsftpd.log
maxretry = 5
bantime = 3600

2️⃣ 查看被封 IP

fail2ban-client status vsftpd

七、自动化 / 长周期监控方案

✅ 推荐组合

目的 工具
实时日志 tail / journalctl
安全 fail2ban
性能 netdata / zabbix
长期统计 ELK / Grafana + Loki

netdata(开箱即用)

bash <(curl -Ss https://my-netdata.io/kickstart.sh)

浏览器访问:

http://服务器IP:19999

八、TLS(FTPS)监控注意点

  • 看证书是否过期:
openssl x509 -in /etc/ssl/certs/ftp.pem -noout -dates
  • 抓包(调试用):
tcpdump -i eth0 port 21

九、快速检查清单 ✅

  • [ ] FTP 服务是否运行
  • [ ] 日志是否正常记录
  • [ ] 是否有异常登录
  • [ ] 被动端口是否开放
  • [ ] fail2ban 是否启用
  • [ ] CPU / 磁盘 IO 是否正常

如果你愿意,可以告诉我:

  • ✅ 用的是 vsftpd / ProFTPD / Pure-FTPd
  • ✅ 是否启用 TLS(FTPS)
  • ✅ 是 公网服务器还是内网

我可以给你一套完整监控脚本 + 报警方案

0