我已经使用 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
从更改INFO
为VERBOSE
.
之后,重新启动 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 2016
and is 当我 ssh 进入我的服务器时。
当res=failed
您想要调查这些 IP 地址和主机名以查看哪些系统在尝试的用户名下尝试连接时。显然,成功的 ssh 会尝试了解您的系统上发生的情况 - 例如,您的同事 bob 每天坐在同一张桌子上,主机名=bobscomputer,ip 地址=192.168.5.5;例如,如果您在昨天凌晨 2 点看到他的用户名从 IP 地址 10.10.5.6 成功进行了 ssh 尝试,那么与 Bob 进行调查可能最符合您的利益。其他人可能进行黑客攻击吗?不久之后,su 是否尝试从 Bob 的帐户中获取审核日志?
当您看到重复的内容时res=failed
,auid=0
表明acct=root
有人试图通过 ssh 进入您的 root 帐户,并且当您/etc/hosts.deny
使用 SSHD 的 IP 地址进行修改时。