在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連接。選擇適合你需求的方法進行實施。