温馨提示×

linux ftpserver怎样监控

小樊
45
2026-10-11 03:31:41
栏目: 智能运维

在 Linux 上监控 FTP Server(如 vsftpd、proftpd、pure-ftpd),可以从服务状态、连接情况、日志、流量、文件变更、告警几个层面来做。下面按常见场景给你一个实用指南。


一、确认 FTP 服务是否运行

1. 查看服务状态(systemd)

systemctl status vsftpd
# 或
systemctl status proftpd

2. 查看监听端口

ss -tlnp | grep -E ':21|:20'
# 或
netstat -tlnp | grep ftp

二、实时监控 FTP 连接

1. 查看当前连接用户

ftpwho
# vsftpd 可用

或:

ss -tnp | grep :21

2. 实时查看登录情况

watch -n 1 "ss -tnp | grep :21"

三、通过日志监控(最重要)

vsftpd 日志位置

/var/log/vsftpd.log
/var/log/xferlog

实时查看登录 & 上传下载

tail -f /var/log/vsftpd.log

常见内容:

  • CONNECT
  • LOGIN
  • PUT
  • GET
  • FAIL LOGIN

统计失败登录(暴力破解监控)

grep "FAIL LOGIN" /var/log/vsftpd.log | wc -l

四、监控上传 / 下载行为

xferlog 示例

tail -f /var/log/xferlog

字段示例:

Mon Jan 01 12:00:00 2024 1 192.168.1.10 1024 /test.txt b _ o r user ftp 0 *

含义:

  • 时间
  • 传输耗时
  • 客户端 IP
  • 文件大小
  • 文件名
  • 上传(b)/下载(i)
  • 用户名

五、文件级监控(防篡改 / 异常上传)

1. inotify(实时)

inotifywait -m -r -e create,delete,modify /ftp/upload

2. auditd(推荐生产环境)

auditctl -w /ftp/upload -p wa -k ftp_upload
ausearch -k ftp_upload

六、系统资源 & 流量监控

1. 网络流量

iftop
nload

2. 进程资源

top -p $(pgrep vsftpd)

七、自动化告警(生产必备)

1. fail2ban(防暴力破解)

apt install fail2ban

配置示例:

[vsftpd]
enabled = true
port = ftp
logpath = /var/log/vsftpd.log
maxretry = 5

2. 自定义脚本告警

#!/bin/bash
count=$(grep "FAIL LOGIN" /var/log/vsftpd.log | wc -l)
if [ $count -gt 20 ]; then
  echo "FTP 暴力破解告警" | mail -s "FTP Alert" admin@x.com
fi

八、可视化监控(进阶)

  • Zabbix / Prometheus + Grafana
    • 监控端口、进程、日志关键字
  • ELK / Loki
    • 集中分析 FTP 日志

九、安全建议(监控同时)

  • 禁用匿名登录
  • 限制 IP
  • 使用 SFTP(SSH)替代 FTP
  • 定期分析日志

如果你能告诉我:

  • 用的是 vsftpd / proftpd / pure-ftpd?
  • 是 内网还是公网?
  • 想要 实时监控 / 告警 / 审计?

我可以给你一套可直接用的配置方案。

0 踩