Linux ssh日志审计

Linux ssh日志审计

我想监控 Linux 系统的 ssh 登录:谁、从哪里(IP 地址)以及何时登录。如何打开相关日志?一份简单的文件值得赞赏。

答案1

请提供有关您使用的 SSH 服务器的更多信息(OpenSSH、dropbear 等)。我正在使用 OpenSSH-6.6。它的配置文件通常位于“/etc/ssh/sshd_config”中,尽管您可以将自己的配置文件作为“-f”选项的参数指定给服务器(例如,“sshd -f /my/config/文件”)。配置文件有两个您感兴趣的选项:

  • 根据文档,“SyslogFacility”:

    给出从 sshd(8) 记录消息时使用的设施代码

  • 根据文档,“LogLevel”:

    给出从 sshd(8) 记录消息时使用的详细级别

我在“/etc/ssh/sshd_config”中的设置:

SyslogFacility AUTH
LogLevel INFO

您可能还想安装一些日志守护进程(例如 rsyslog 或Metalog)来处理所有日志记录的去向。我已经安装了“rsyslog”,并将其配置为将设施“AUTH”的所有日志记录删除到“/var/log/auth.log”,我可以在其中找到如下行:

May 28 20:54:33 MY-HOSTNAME-HERE sshd[2025]: Accepted password for myuser from 127.0.0.1 port 50984 ssh2
May 28 20:54:34 MY-HOSTNAME-HERE sshd[2025]: pam_unix(sshd:session): session opened for user myuser by (uid=0)
May 28 20:55:12 MY-HOSTNAME-HERE sshd[2107]: Received disconnect from 127.0.0.1: 11: disconnected by user
May 28 20:55:12 MY-HOSTNAME-HERE sshd[2025]: pam_unix(sshd:session): session closed for user myuser

我认为这就是您正在寻找的。使 rsyslog 放入该文件 sshd 日志记录的具体配置是:

auth,authpriv.*                 /var/log/auth.log

要在 Debian 衍生版本中安装这些软件:

$ sudo apt-get install rsyslog openssh-server

参考:

  • SSHD_CONFIG(5):OpenSSH 服务器的配置文件。
  • SSHD(8):OpenSSH 服务器的命令行手册。
  • SYSLOG(3):Linux 程序员手册,描述设施和日志记录级别。
  • RSYSLOG.CONF(5):rsyslog 守护进程的配置文件。
  • RSYSLOGD(8):rsyslog 守护进程的命令行手册。

答案2

您可以在 /var/log/messages 中找到您要查找的大部分内容,这是 Linux 通常放置日志的位置。我通常使用 root 权限运行以下三个搜索以获得良好的图片

grep -ir ssh /var/log/*
grep -ir breakin /var/log/*
grep -ir security /var/log/*

相关内容