我的服务器出现了一些安全问题,因为一些 SSH 用户造成了问题。
因此我想:
- 跟踪用户登录和注销
- 跟踪这些 SSH 用户的活动,以便发现任何恶意活动
- 防止用户删除日志
答案1
ssh 守护进程sshd
已内置并启用了其中的大部分功能。以下是/var/log/secure
我机器上的一些示例行(名称和 IP 地址已更改):
Sep 7 08:34:25 myhost sshd[6127]: Failed password for illegal user root from 62.75.999.999 port 52663 ssh2
Sep 7 08:34:26 myhost sshd[7253]: User root not allowed because listed in DenyUsers
Sep 7 08:34:28 myhost sshd[7253]: Failed password for illegal user root from 62.75.999.999 port 53393 ssh2
Sep 7 11:55:18 myhost sshd[11672]: Accepted password for gooduser from 98.999.26.41 port 43104 ssh2
Sep 7 23:01:28 myhost sshd[22438]: Did not receive identification string from 999.56.32.999
Sep 8 06:31:30 myhost sshd[21814]: Accepted password for gooduser from 98.999.26.41 port 5978 ssh2
此示例显示某人以 root 身份通过 ssh 进入此计算机的几次尝试 - 两次尝试均被拒绝,因为 root 被禁止。它还显示了名为“gooduser”的用户成功登录。
进行微调什么你会看到哪个文件,详情请阅读sshd_配置手册页——特别是 LogLevel 和 SyslogFacility 的选项。
答案2
按照 Doug Harris 的回答(并且只回答了您问题的一部分 - 这似乎是我的工作方式),Logwatch 包将通过电子邮件向您发送大量服务器日志(包括 SSHd 日志)的每日摘要。我会收到一份摘要,其中列出了哪些人通过 SSH 成功登录、登录了多少次、从哪里登录,以及哪些 IP 尝试登录失败以及他们使用了哪些凭据。如果有人试图对我允许密码验证的主机进行暴力 SSH 攻击,那么这个过程会很长(我尽量避免这种情况,而是使用 RSA 密钥,但客户永远是对的,他们并不总是理解公钥验证。无论如何。)
要在 Ubuntu 上安装 Logwatch(它基本上只是一组用于消化各种日志格式的 Perl 过滤器),请使用apt-get install logwatch
,然后编辑/etc/cron.daily/00logwatch
,将 替换--output mail
为。您每天会收到一个。您可以添加更多标志来调整 Logwatch 实际读取的日志。--mailto [email protected]
答案3
跟踪用户的一个非常完整的方法是使用审计。这是内核级的跟踪审计所需内容的方法。它应该与 Ubuntu Server 捆绑在一起,如果尚未运行,则应该可以使用 启动sudo service auditd start
。
有很多配置示例/usr/share/doc/auditd/或类似的东西,当然如果你用 Google 搜索 auditd tutorial,你会得到很多很多的教程。
auditd 生成的报告存储在/var/日志/审计/目录。它们还可以使用以下工具解析为更易于阅读的形式:奥雷波特和澳搜,也应该已经与 Ubuntu Server 捆绑在一起。
答案4
我不会泄露 ssh 帐户,尤其是对于发行版组类型的人。
这里有几件事:
- 最后,为您提供最近登录的历史记录。
- 强化 bash 历史记录,防止命令历史记录被清除 http://sock-raw.org/papers/bash_history
Insert the command shopt -s histappend in your .bashrc.
This will append to the history file instead of overwriting it.
Also in your .bashrc, insert
PROMPT_COMMAND="$PROMPT_COMMAND;history -a; history -n"
and the history file will be re-written and re-read each time
bash shows the prompt.