在Ubuntu系统中,SFTP(SSH File Transfer Protocol)的监控和日志记录可以通过以下几种方法实现:
sshd
配置文件sshd
是SSH服务器的守护进程,它也负责处理SFTP连接。你可以通过编辑/etc/ssh/sshd_config
文件来配置SFTP的日志记录。
打开/etc/ssh/sshd_config
文件:
sudo nano /etc/ssh/sshd_config
找到或添加以下行来启用详细的日志记录:
LogLevel VERBOSE
保存并关闭文件。
重启sshd
服务以应用更改:
sudo systemctl restart sshd
auditd
auditd
是一个强大的审计系统,可以用来监控和记录系统调用和文件访问。
安装auditd
:
sudo apt-get install auditd audispd-plugins
配置auditd
来监控SFTP目录:
sudo auditctl -w /path/to/sftp/directory -p wa -k sftp_monitor
查看审计日志:
sudo ausearch -k sftp_monitor
syslog
syslog
是Linux系统中用于记录系统消息的标准机制。你可以通过配置rsyslog
来记录SFTP日志。
编辑/etc/rsyslog.conf
或/etc/rsyslog.d/50-default.conf
文件:
sudo nano /etc/rsyslog.d/50-default.conf
添加以下行来记录SFTP日志:
auth,authpriv.* /var/log/auth.log
保存并关闭文件。
重启rsyslog
服务以应用更改:
sudo systemctl restart rsyslog
fail2ban
fail2ban
是一个入侵防御软件框架,可以用来监控日志文件并禁止恶意IP地址。
安装fail2ban
:
sudo apt-get install fail2ban
创建或编辑fail2ban
的jail配置文件:
sudo nano /etc/fail2ban/jail.local
添加以下内容来监控SFTP日志并禁止恶意IP:
[sftp]
enabled = true
port = sftp
filter = sftp
logpath = /var/log/auth.log
bantime = 600
findtime = 600
maxretry = 3
创建或编辑过滤器文件:
sudo nano /etc/fail2ban/filter.d/sftp.conf
添加以下内容来定义SFTP的过滤规则:
[Definition]
failregex = ^%(__prefix_line)s(?:error: PAM: )?Authentication failure for invalid user <HOST> from <HOST>
ignoreregex =
保存并关闭文件。
重启fail2ban
服务以应用更改:
sudo systemctl restart fail2ban
通过以上方法,你可以有效地监控和记录Ubuntu系统中的SFTP活动。选择适合你需求的方法进行配置即可。