1. 确定日志文件位置
Debian系统中,FTP服务器日志路径取决于所用软件(如vsftpd、ProFTPD)。常见路径包括:vsftpd的/var/log/vsftpd.log
(服务日志)、/var/log/auth.log
(认证日志);ProFTPD的/var/log/proftpd.log
。可通过软件配置文件确认(如vsftpd的/etc/vsftpd/vsftpd.conf
中logfile
参数)。
2. 基础日志查看命令
tail -f /var/log/vsftpd.log
实时查看最新日志,快速捕捉异常活动(如频繁登录尝试);less /var/log/vsftpd.log
逐页查看,适合分析历史日志;cat /var/log/vsftpd.log
输出全部内容(适合小文件)。3. 过滤关键信息
grep 'username' /var/log/vsftpd.log
筛选某用户的登录、上传/下载记录;grep -E 'Failed password|Login incorrect' /var/log/vsftpd.log
(vsftpd)或grep "sshd.*Failed password" /var/log/auth.log
(SSH关联认证)查找暴力破解痕迹;grep -E 'UPLOAD|DOWNLOAD' /var/log/vsftpd.log
统计文件传输活动,分析带宽使用情况。4. 高级分析与统计
awk '/[A-Z][a-z]{2} [0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2} [0-9]{4}/ && $1=="$(date +%b %d)"' /var/log/vsftpd.log
提取当天日志(需调整时间格式匹配日志风格);awk '{print $5}' /var/log/vsftpd.log | sort | uniq -c | sort -nr
统计访问IP的出现次数,识别高频或异常IP(如短时间内大量连接);awk '/username/ {count++} END {print count}' /var/log/vsftpd.log
统计某用户的总连接次数,发现异常活跃账户。5. 日志轮转配置
避免日志文件过大占用磁盘空间,使用logrotate
工具(Debian预装)。编辑/etc/logrotate.d/vsftpd
文件,可设置:
weekly
每周轮转);maxsize 100M
超过100MB则轮转);rotate 4
保留最近4份)。示例配置:/var/log/vsftpd.log {
weekly
missingok
rotate 4
compress
delaycompress
notifempty
create 640 root adm
}
```。
6. 常用日志分析工具
grep
(文本搜索)、awk
(字段提取与统计)、sed
(文本替换);