温馨提示×

ubuntu ftpserver如何审计

小樊
40
2026-09-20 20:08:28
栏目: 智能运维

在 Ubuntu 上做 FTP 服务器审计,通常取决于你使用的 FTP 服务软件(最常见的是 vsftpd、proftpd、pure-ftpd)。下面以 vsftpd(最常用) 为主,兼顾其他方案,系统性说明如何做审计。


一、FTP 审计一般包含哪些内容

  1. 登录审计(谁、何时、从哪登录)
  2. 操作审计(上传、下载、删除、重命名)
  3. 异常行为审计(失败登录、暴力破解)
  4. 日志集中 & 告警

二、vsftpd 审计(Ubuntu 默认推荐)

1. 启用详细日志

编辑配置文件:

sudo nano /etc/vsftpd.conf

确保以下参数开启:

xferlog_enable=YES
xferlog_std_format=NO
log_ftp_protocol=YES
dual_log_enable=YES

重启服务:

sudo systemctl restart vsftpd

2. 日志文件位置

  • /var/log/vsftpd.log —— 详细 FTP 协议日志(推荐审计用)
  • /var/log/xferlog —— 传输日志(标准格式)

查看日志:

sudo tail -f /var/log/vsftpd.log

示例记录:

CONNECT: Client "192.168.1.10"
LOGIN: User "alice"
DOWNLOAD: File "/pub/test.txt"

三、系统级审计(推荐强制开启)

1. 使用 auditd 审计 FTP 文件操作

安装:

sudo apt install auditd

监控 FTP 目录(如 /srv/ftp):

sudo auditctl -w /srv/ftp -p rwxa -k ftp_audit

查看审计记录:

sudo ausearch -k ftp_audit

持久化规则:

echo "-w /srv/ftp -p rwxa -k ftp_audit" | sudo tee -a /etc/audit/rules.d/ftp.rules
sudo systemctl restart auditd

四、失败登录 & 安全审计

1. 查看登录失败

sudo grep "FAIL" /var/log/vsftpd.log

2. 使用 fail2ban 防暴力破解

sudo apt install fail2ban

配置 vsftpd jail:

sudo nano /etc/fail2ban/jail.d/vsftpd.conf
[vsftpd]
enabled = true
port = ftp,ftp-data,ftps,ftps-data
logpath = /var/log/vsftpd.log
maxretry = 5
bantime = 3600

重启:

sudo systemctl restart fail2ban

五、ProFTPD / Pure-FTPd 简要说明

ProFTPD

sudo nano /etc/proftpd/proftpd.conf
SystemLog /var/log/proftpd/proftpd.log
ExtendedLog /var/log/proftpd/xfer.log ALL

Pure-FTPd

sudo touch /var/log/pureftpd.log
sudo pure-ftpd -O clf:/var/log/pureftpd.log

六、日志集中 & 合规建议

  • 使用 rsyslog / journald 转发到日志服务器
  • 生产环境建议 FTPS / SFTP(FTP 明文不安全)
  • 审计日志应 只读 + 定期归档

七、总结(最小可用审计方案)

✅ vsftpd 详细日志
✅ auditd 文件级监控
✅ fail2ban 防爆破
✅ 定期日志审查

如果你能告诉我:

  • 使用的 FTP 软件
  • 是否要求等保 / 合规
  • 是否允许 SFTP 替代 FTP

我可以给你一套可直接用的配置模板。

0 踩