温馨提示×

centos sftp如何监控连接

小樊
79
2025-04-10 17:05:09
栏目: 智能运维

在CentOS系统中,监控SFTP连接可以通过多种方法实现。以下是一些常用的方法:

1. 使用tcpdump

tcpdump是一个强大的网络抓包工具,可以用来监控和分析网络流量。

sudo tcpdump -i eth0 port 22 -w sftp_traffic.pcap
  • -i eth0:指定监听的网络接口。
  • port 22:指定监听的端口(SFTP默认端口是22)。
  • -w sftp_traffic.pcap:将抓包数据保存到文件中,方便后续分析。

2. 使用ss

ssnetstat的替代工具,可以用来查看网络连接状态。

sudo ss -tnp | grep ':22'
  • -t:显示TCP连接。
  • -n:显示数字形式的地址和端口号。
  • -p:显示进程信息。

3. 使用lsof

lsof可以列出打开的文件和使用这些文件的进程。

sudo lsof -i :22

4. 使用auditd

auditd是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

5. 使用fail2ban

fail2ban可以监控日志文件并自动封禁恶意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

6. 使用netstatwatch

你可以使用watch命令定期运行netstat来监控SFTP连接。

watch -n 5 "netstat -tnp | grep ':22'"
  • -n 5:每5秒刷新一次。

通过这些方法,你可以有效地监控CentOS系统上的SFTP连接。选择适合你需求的方法进行实施。

0