在CentOS系统中,SFTP(SSH File Transfer Protocol)的日志审计可以通过以下步骤进行:
首先,确保SSH和SFTP的日志记录功能已启用。
打开SSH配置文件 /etc/ssh/sshd_config
:
sudo vi /etc/ssh/sshd_config
找到并确保以下行未被注释(即没有 #
在行首):
LogLevel VERBOSE
这会启用详细的日志记录。
保存并退出编辑器后,重启SSH服务以应用更改:
sudo systemctl restart sshd
SFTP的日志通常会包含在SSH的通用日志中,但你可以进一步细化日志记录。
如果你使用PAM(Pluggable Authentication Modules)进行认证,可以编辑 /etc/pam.d/sshd
文件:
sudo vi /etc/pam.d/sshd
确保以下行存在:
session required pam_tally2.so onerr=fail deny=5 unlock_time=600
这会启用登录失败计数器,并在5次失败后锁定账户600秒。
SSH和SFTP的日志通常记录在 /var/log/secure
文件中。你可以使用以下命令查看日志:
sudo tail -f /var/log/secure
例如,搜索所有SFTP连接尝试:
sudo grep "sftp" /var/log/secure
你可以使用 grep
、awk
、sed
等工具进一步分析日志。例如,统计某个时间段的SFTP连接次数:
sudo grep "sftp" /var/log/secure | awk '{print $1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15, $16, $17, $18, $19, $20, $21, $22, $23, $24, $25, $26, $27, $28, $29, $30, $31, $32, $33, $34, $35, $36, $37, $38, $39, $40, $41, $42, $43, $44, $45, $46, $47, $48, $49, $50, $51, $52, $53, $54, $55, $56, $57, $58, $59, $60, $61, $62, $63, $64, $65, $66, $67, $68, $69, $70, $71, $72, $73, $74, $75, $76, $77, $78, $79, $80, $81, $82, $83, $84, $85, $86, $87, $88, $89, $90, $91, $92, $93, $94, $95, $96, $97, $98, $99, $100' | sort | uniq -c | sort -nr
为了更方便地管理和分析日志,你可以使用一些日志管理工具,如 ELK Stack
(Elasticsearch, Logstash, Kibana)或 Splunk
。
安装Elasticsearch:
sudo yum install elasticsearch
sudo systemctl start elasticsearch
sudo systemctl enable elasticsearch
安装Logstash:
sudo yum install logstash
sudo systemctl start logstash
sudo systemctl enable logstash
安装Kibana:
sudo yum install kibana
sudo systemctl start kibana
sudo systemctl enable kibana
配置Logstash:
编辑 /etc/logstash/conf.d/sftp.conf
文件,添加以下内容:
input {
file {
path => "/var/log/secure"
start_position => "beginning"
}
}
filter {
grok {
match => { "message" => "%{SYSLOGTIMESTAMP:syslog_timestamp} %{SYSLOGHOST:syslog_hostname} %{DATA:programname}(?:\[%{POSINT:pid}\])?: %{DATA:msg}" }
}
}
output {
elasticsearch {
hosts => ["localhost:9200"]
index => "sftp-logs-%{+YYYY.MM.dd}"
}
}
重启Logstash:
sudo systemctl restart logstash
访问Kibana:
打开浏览器,访问 http://your_server_ip:5601
,配置索引模式并开始分析日志。
通过以上步骤,你可以有效地进行CentOS SFTP的日志审计。