我已经使用 openssh 配置了一个 ubuntu 服务器,以便连接到它并从远程系统(如手机或笔记本电脑)执行命令。问题是……我可能不是唯一的。
有没有办法知道对服务器进行的所有登录尝试?
Ant*_*hon 67
在 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)
Run Code Online (Sandbox Code Playgroud)
Ram*_*esh 32
在基于 Red Hat 的发行版(例如 Fedora/CentOS/RHEL)上,您可以检查在文件中登录的用户/var/log/secure。
如果您想了解更多信息,请阅读标题为的超级用户问答:如何记录 SSH 访问尝试并跟踪 SSH 用户最终在我的服务器上执行的操作?.
小智 12
请注意,Ubuntu 上的默认配置是不将 ssh 登录记录到/var/log/auth文件中。这是INFO日志记录级别。
如果你想拥有它包括在日志文件中的登录尝试,你需要编辑的/etc/ssh/sshd_config文件(以root或使用sudo),改变LogLevel从INFO到VERBOSE。
之后,重新启动 sshd 守护进程
sudo service rsyslog restart
Run Code Online (Sandbox Code Playgroud)
之后,ssh 登录尝试将被记录到/var/log/auth.log文件中。
小智 10
在 Ubuntu 上,您可以通过 SSH 登录并使用 Linux tail 命令显示文件的最后 x 行/var/log/auth.log。当您通过 SSH 登录时,使用以下命令查看 SSH 日志的最后 100 行:
tail /var/log/auth.log -n 100
Run Code Online (Sandbox Code Playgroud)
甚至更干净
tail -100 /var/log/auth.log | grep 'sshd'
Run Code Online (Sandbox Code Playgroud)
我的建议是使用auditd。这是使用 Linux 内核的审计子系统进行日志记录,在我看来,如果你是认真的,这是正确的方法。鉴于问题{安全相关}的性质,您也应该使用PAM 。在仅安装auditd和PAM的默认级别下,您应该自动将所有成功和不成功的SSH尝试记录在audit.log文件中。因此,您实际上无需配置任何内容,只需安装auditd和PAM即可。我对 SLES 有第一手了解。并且我敢打赌 RHEL 和任何其他企业版本的 Linux 都会以类似的方式运行。
http://manpages.ubuntu.com/manpages/precise/man8/auditd.8.html
在auditd生成的原始审计日志中,您可以使用auditdaureport手册页中描述的类似过滤器,编写自己的文本解析器,或者仅使用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)'
Run Code Online (Sandbox Code Playgroud)
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=failed内容auid=0时acct=root,表明有人试图通过 ssh 进入您的 root 帐户,并且当您/etc/hosts.deny使用 SSHD 的 IP 地址进行修改时。
| 归档时间: |
|
| 查看次数: |
352686 次 |
| 最近记录: |