如何在Linux中启用SSH日志并列出失败的登录
众所周知,SSH协议提供了远程登录功能,因此维护登录日志非常重要。
系统管理员可以通过在syslogd服务中进行配置来实现此目的。
在Linux中,syslogd是unix日志记录服务,用于维护程序发送到syslog守护程序的日志,syslogd将它们转发到另一个目标,例如控制台或者文件。
在syslog配置文件/etc/syslog.conf中指定了目标。
在本教程中,我们将学习如何启用ssh日志并检查Linux命令以列出失败的ssh登录尝试。
启用系统日志记录
首先检查配置文件是否启用了ssh日志记录,请使用以下命令:
[root@localhost ~]# cat /etc/syslog.conf | grep -i ssh # sshlog *.* /var/log/sshd/sshd.log
默认情况下,启用ssh日志记录,如果未启用,则启用SSH日志记录,我们需要通过添加/etc/syslog.conf文件来配置syslog.conf。
*.* /var/log/sshd/sshd.log
SSH服务器运行时,它将在sshd.log中生成日志消息以描述正在发生的事情。
这些日志消息系统管理员跟踪系统详细信息(例如谁登录和注销)以及解决问题。
/etc/ssh/sshd_config文件是用于开放SSH服务的系统范围的配置文件,该文件允许我们设置用于修改守护程序操作的选项。
此配置文件包含关键字/值对,每行一对,关键字区分大小写。
SyslogFacility AUTH和AUTHPRIV
syslogd收到的消息将根据其指示消息来源的功能进行处理。
标准SyslogFacility包括KERN(来自操作系统内核的消息),DAEMON(来自服务或者守护程序的消息),USER(来自用户进程的消息),MAIL(来自电子邮件系统的消息)等。
默认情况下,SSH服务器消息的功能是AUTHPRIV。
可以使用SSH关键字SyslogFacility更改此选择,该关键字确定用于记录SSH消息的syslog工具代码。
SyslogFacility的其他可能值是DAEMON,USER,AUTH,AUTHPRIV,LOCAL0,LOCAL1,LOCAL2,LOCAL3,LOCAL4,LOCAL5,LOCAL6和LOCAL7.
默认值为AUTHPRIV。
SyslogFacility选项指定从sshd记录消息时使用的设施代码。
该设施指定产生消息的子系统-在我们的例子中为AUTH。
通常,所有与身份验证相关的消息都使用AUTHPRIV(或者AUTH)功能记录,而正常的操作消息则使用DAEMON功能记录。
在sshd_config文件中启用身份验证
[root@localhost ssh]# cat sshd_config | grep -i SyslogFacility #SyslogFacility AUTH SyslogFacility AUTHPRIV
日志级别
它提供了从sshd记录消息时使用的详细级别。
可能的其他值是QUIET,FATAL,ERROR,INFO,VERBOSE,DEBUG,DEBUG1,DEBUG2和DEBUG3.
默认值为INFO。
DEBUG和DEBUG1是等效的。
DEBUG2和DEBUG3分别指定更高级别的调试输出。
如果要记录更多信息,例如登录尝试失败,则应将日志记录级别提高到VERBOSE。
确保取消注释以下行以启用日志级别。
[root@localhost ssh]# cat sshd_config | grep -i LogLevel #LogLevel INFO [root@localhost ssh]#
现在我们需要重新启动ssh服务
要启用SSH服务,请使用service sshd start命令。
[root@localhost ~]# service sshd start Starting sshd: [ OK ]
我们可以使用watch命令查看实时ssh日志文件更新。
[root@localhost ~]# watch /var/log/messages
检查失败的ssh登录
我们可以使用以下任何命令在Centos和Ubuntu上检查失败的ssh登录会话。
# grep "Failed password" /var/log/auth.log # egrep "Failed|Failure" /var/log/auth.log
关于Centos和Redhat
# egrep "Failed|Failure" /var/log/secure # grep "authentication failure" /var/log/secure
在使用systemd的Centos 7和更新的Linux发行版上
# journalctl _SYSTEMD_UNIT=sshd.service | egrep "Failed|Failure"
如果我们已安装“ auditd”软件包,则可以使用“ aureport”工具获取身份验证报告。
要获得所有失败尝试的报告,请执行以下操作:
# aureport -au -i --failed | more