在CentOS系统中,监控SFTP连接可以通过多种方法实现。以下是一些常用的方法:
tcpdumptcpdump是一个强大的网络抓包工具,可以用来监控和分析网络流量。
sudo tcpdump -i eth0 port 22 -w sftp_traffic.pcap
-i eth0:指定监听的网络接口。port 22:指定监听的端口(SFTP默认端口是22)。-w sftp_traffic.pcap:将抓包数据保存到文件中,方便后续分析。ssss是netstat的替代工具,可以用来查看网络连接状态。
sudo ss -tnp | grep ':22'
-t:显示TCP连接。-n:显示数字形式的地址和端口号。-p:显示进程信息。lsoflsof可以列出打开的文件和使用这些文件的进程。
sudo lsof -i :22
auditdauditd是Linux的审计系统,可以用来监控和记录系统调用和文件访问。
首先,确保auditd已安装并启用:
sudo yum install audit
sudo systemctl enable auditd
sudo systemctl start auditd
然后,添加规则来监控SFTP连接:
sudo auditctl -a exit,always -F arch=b64 -S connect -F auid>=1000 -F auid!=4294967295 -k sftp
-a exit,always:在系统调用退出时总是记录。-F arch=b64:指定架构为64位。-S connect:监控connect系统调用。-F auid>=1000:监控用户ID大于等于1000的连接。-F auid!=4294967295:排除root用户。-k sftp:为日志添加关键字sftp。查看审计日志:
sudo ausearch -k sftp
fail2banfail2ban可以监控日志文件并自动封禁恶意IP地址。
首先,安装fail2ban:
sudo yum install fail2ban
然后,配置fail2ban来监控SFTP日志:
sudo cp /etc/fail2ban/jail.local /etc/fail2ban/jail.local.bak
sudo nano /etc/fail2ban/jail.local
在jail.local文件中添加以下内容:
[DEFAULT]
bantime = 600
findtime = 600
maxretry = 3
[sshd]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/secure
maxretry = 3
bantime = 600
重启fail2ban服务:
sudo systemctl restart fail2ban
netstat和watch你可以使用watch命令定期运行netstat来监控SFTP连接。
watch -n 5 "netstat -tnp | grep ':22'"
-n 5:每5秒刷新一次。通过这些方法,你可以有效地监控CentOS系统上的SFTP连接。选择适合你需求的方法进行实施。