记录 SSH 访问尝试

记录 SSH 访问尝试

我已经使用 openssh 配置了一个 ubuntu 服务器,以便连接到它并执行来自远程系统(如手机或笔记本电脑)的命令。问题是……我可能不是唯一一个这样的人。

有没有办法知道对服务器进行的所有登录尝试?

答案1

在 Ubuntu 服务器上,您可以在文件中找到谁在何时(以及从何处)登录/var/log/auth.log。在那里,您可以找到如下条目:

May  1 16:17:02 owl CRON[9019]: pam_unix(cron:session): session closed for user root
May  1 16:17:43 owl sshd[9024]: Accepted publickey for root from 192.168.0.101 port 37384 ssh2
May  1 16:17:43 owl sshd[9024]: pam_unix(sshd:session): session opened for user root by (uid=0)

答案2

在基于 Red Hat 的发行版(例如 Fedora/CentOS/RHEL)上,您可以检查文件中登录的用户/var/log/secure

如果您想了解更多信息,请阅读标题为的超级用户问答:如何记录 SSH 访问尝试并跟踪 SSH 用户最终在我的服务器上执行的操作?

答案3

请注意,Ubuntu 上的默认配置是不将 ssh 登录记录到/var/log/auth文件中。这是INFO日志记录级别。

如果您想让它在日志文件中包含登录尝试,您需要编辑该/etc/ssh/sshd_config文件(以 root 身份或使用 sudo)并将其LogLevel从更改INFOVERBOSE.

之后,重新启动 sshd 守护进程

sudo service rsyslog restart

之后,ssh 登录尝试将记录到该/var/log/auth.log文件中。

答案4

我的建议是使用审计。这是使用 Linux 内核的审计子系统进行日志记录在我看来,如果你是认真的,正确的方法就是做到这一点。考虑到您应该使用的问题{安全相关}的性质聚丙烯酰胺以及。在默认级别只有审计聚丙烯酰胺安装后,您应该会自动将所有成功和不成功的 SSH 尝试记录在audit.log 文件中。所以你真的不需要配置任何东西,只需审计聚丙烯酰胺安装。我对 SLES 有第一手了解。并打赌 RHEL 和任何其他企业Linux 版本的操作类似。

http://manpages.ubuntu.com/manpages/precise/man8/auditd.8.html

在生成的原始审核日志中审计您可以使用类似的方法aureport来过滤它,这在审计手册页,编写您自己的文本解析器,或者仅使用 VI 并搜索关键字。

/var/log/audit/audit.log这是我通过 ssh 进入 Linux 服务器的文件的例外情况。

node=shark type=CRED_DISP msg=audit(1480622612.317:2211277): user pid=117768 uid=0 auid=23456 ses=2201 msg='op=PAM:setcred acct="ron" exe="/usr/sbin/sshd" (hostname=abc415.mycompany.us, addr=172.16.152.5, terminal=ssh res=success)'
  • 从上面,我的服务器名称是鲨鱼
  • 诸如此类的许多行都在audit.log中,我希望这一行基于exe=“/usr/sbin/sshd”
  • ssh 进入的帐户的 uid 是 auid 的值,在本例中为 23456
  • 与 auid 关联的用户帐户的名称由 acct="ron" 指定
  • 大多数情况下,审核系统会记录尝试连接的系统的 dns 主机名,但它始终具有其 IP 地址
  • 条目的日期是纪元时间,所以你必须通过类似的方法来转换它,date --date @1480622612.317结果是Thu Dec 1 15:03:32 EST 2016and is 当我 ssh 进入我的服务器时。

res=failed您想要调查这些 IP 地址和主机名以查看哪些系统在尝试的用户名下尝试连接时。显然,成功的 ssh 会尝试了解您的系统上发生的情况 - 例如,您的同事 bob 每天坐在同一张桌子上,主机名=bobscomputer,ip 地址=192.168.5.5;例如,如果您在昨天凌晨 2 点看到他的用户名从 IP 地址 10.10.5.6 成功进行了 ssh 尝试,那么与 Bob 进行调查可能最符合您的利益。其他人可能进行黑客攻击吗?不久之后,su 是否尝试从 Bob 的帐户中获取审核日志?

当您看到重复的内容时res=failedauid=0表明acct=root有人试图通过 ssh 进入您的 root 帐户,并且当您/etc/hosts.deny使用 SSHD 的 IP 地址进行修改时。

相关内容