今天我发现该/var/log/auth.log
文件只有最近一周的记录,我怀疑我被使用了不安全的 SSH 密码被黑客入侵,攻击者删除了访问日志以避免被发现。
以下是日志中的第一行:
Jun 26 06:44:58 server CRON[14297]: pam_unix(cron:session): session closed for user root
Jun 26 06:47:01 server CRON[14484]: pam_unix(cron:session): session opened for user root by (uid=0)
Jun 26 06:47:02 server CRON[14484]: pam_unix(cron:session): session closed for user root
Jun 26 07:17:01 server CRON[14515]: pam_unix(cron:session): session opened for user root by (uid=0)
Jun 26 07:17:01 server CRON[14515]: pam_unix(cron:session): session closed for user root
Jun 26 08:17:01 server CRON[14518]: pam_unix(cron:session): session opened for user root by (uid=0)
Jun 26 08:17:01 server CRON[14518]: pam_unix(cron:session): session closed for user root
Jun 26 09:17:01 server CRON[14521]: pam_unix(cron:session): session opened for user root by (uid=0)
Jun 26 09:17:01 server CRON[14521]: pam_unix(cron:session): session closed for user root
Jun 26 10:17:01 server CRON[14524]: pam_unix(cron:session): session opened for user root by (uid=0)
Jun 26 10:17:01 server CRON[14524]: pam_unix(cron:session): session closed for user root
Jun 26 11:17:01 server CRON[14527]: pam_unix(cron:session): session opened for user root by (uid=0)
Jun 26 11:17:01 server CRON[14527]: pam_unix(cron:session): session closed for user root
Jun 26 12:17:01 server CRON[14530]: pam_unix(cron:session): session opened for user root by (uid=0)
Jun 26 12:17:01 server CRON[14530]: pam_unix(cron:session): session closed for user root
Jun 26 13:16:29 server login[1022]: pam_unix(login:auth): check pass; user unknown
Jun 26 13:16:29 server login[1022]: pam_unix(login:auth): authentication failure; logname=LOGIN uid=0 euid=0 tty=/dev/tty1 ruser= rhost=
Jun 26 13:16:32 server login[1022]: FAILED LOGIN (1) on '/dev/tty1' FOR 'UNKNOWN', Authentication failure
Jun 26 13:17:01 server CRON[14533]: pam_unix(cron:session): session opened for user root by (uid=0)
Jun 26 13:17:01 server CRON[14533]: pam_unix(cron:session): session closed for user root
Jun 26 13:17:09 server login[1022]: pam_unix(login:auth): authentication failure; logname=LOGIN uid=0 euid=0 tty=/dev/tty1 ruser= rhost= user=root
Jun 26 13:17:13 server login[1022]: FAILED LOGIN (2) on '/dev/tty1' FOR 'root', Authentication failure
Jun 26 13:17:18 server login[1022]: FAILED LOGIN (3) on '/dev/tty1' FOR 'root', Authentication failure
Jun 26 13:17:23 server login[1022]: pam_unix(login:auth): authentication failure; logname=LOGIN uid=0 euid=0 tty=/dev/tty1 ruser= rhost= user=vagrant
Jun 26 13:17:34 server login[14536]: pam_unix(login:auth): authentication failure; logname=LOGIN uid=0 euid=0 tty=/dev/tty1 ruser= rhost= user=vagrant
Jun 26 13:17:36 server login[14536]: FAILED LOGIN (1) on '/dev/tty1' FOR 'vagrant', Authentication failure
这是正常的吗?这应该是完整的吗?
您的问题的答案取决于您配置的日志轮换。默认情况下,Ubuntu 配置为轮换日志文件,因此您应该在 /var/log 中看到类似于以下内容的文件
第一个文件 (auth.log) 是当前日志,其中 auth.log.1 是较旧的条目,而 auth.log.2.gz 是用 gz 压缩的更旧的条目。数字越大,日志条目越远。
您可以通过查看 /etc/logrotate.d/rsyslog 来检查您的日志轮换设置,在 Ubuntu 14.04 上它包含如下部分:
第一行表示应保留 4 个旧版本,下一行将它们设置为每周轮换一次。
如果您的日志轮换相同,您可以期望 auth.log 文件每周轮换一次(重命名为 auth.log.1)。查看 auth.log.1 日志并确保它的最新条目遵循 auth.log 中最旧的条目。如果是这种情况,您似乎有一个连续的日志,并且事情以“正常”的方式运行(日志按预期轮换)。
关于日志的安全性,日志文件的修改日期不应晚于该文件中最近的日志条目或压缩日期。如果您看到数周或数月前的日志在过去几天被修改,这是一个警告信号。
主要是日志的内容有意义吗?登录时间是否与管理员或其他有权访问的用户使用的时间相匹配?对于禁用了 root 登录的人来说,您的日志会很麻烦 - 但这种活动对于您的系统来说可能是正常的。
注意:拥有从 auth.log 到 auth.log.1(等等)的“连续”日志条目并不意味着您的服务器是安全的。攻击者可能只会删除与其活动相关的条目 - 而不是删除使其入侵明显的大部分内容。如果您担心安全问题,您应该检查 Rootkit 和其他恶意软件以及异常活动。