如何检查ec2 linux实例的login历史或时间戳

我们是两个用户访问相同的Linux EC2实例。 我们如何看到带时间戳的整个login历史logging? 包括每个用户在可能的情况下执行的命令

我们都从不同的IP远程访问它

  • 整个login历史与时间戳

1)使用默认search/ var / log / wtmp文件的最后一个命令,并显示上次login的用户列表。 该文件logging所有login和注销。

last last -f /var/log/other_wtmp_file 

输出示例:

 ec2-user pts/0 212.141.41.42 Mon Sep 23 09:21 still logged in ec2-user pts/1 212.141.41.42 Mon Sep 23 08:33 - 01:46 (17:12) 
  • 包括每个用户执行的命令

1)默认情况下通常不启用。 你可以依靠标准的shell历史loggingfunction,这并不是那么简单,但可能就足够了。 在bash shell的情况下,使用history命令和HISTTIMEFORMATvariables来打印每个历史logging条目的时间戳记。 您可以尝试将此行添加到系统bashconfiguration文件(例如/etc/profile文件或在RHEL系统上的/etc/profile.d目录中创build一个新的/etc/profile文件):

 HISTTIMEFORMAT="%d.%m.%y %T" export HISTTIMEFORMAT 

2)或者您可以使用Linux审计系统和PAM模块pam_tty_audit来审计用户。 只需在RHEL系统(或其他发行版中的类似configuration文件)上将此行放置到/etc/pam.d/system-auth

 session required pam_tty_audit.so disable=* enable=root 

然后,您可以使用auarch tool tty事件来查询审计守护进程日志:

 ausearch -ts today -m tty -i ausearch -ts yesterday -m tty -i ausearch -ts recent -m tty -i 

输出(会话注销后):

 type=TTY msg=audit(09/24/2013 02:29:56.394:31312) : tty pid=7032 uid=ec2-user auid=ec2-user ses=1239 major=136 minor=0 comm=bash data="ls",<ret>,"last",<ret>,<^D> 

3)最后,还有一个选项来启用进程记帐。 在RHEL系统上安装psacct软件包,启用服务psacct并使用lastcomm工具打印出有关以前执行的命令的信息。

lastcomm

输出:

 man root pts/1 0.00 secs Tue Sep 24 02:19 sh root pts/1 0.00 secs Tue Sep 24 02:19 sh F root pts/1 0.00 secs Tue Sep 24 02:19 less root pts/1 0.00 secs Tue Sep 24 02:19 

对于当前在系统上的login,你可以使用命令“w”,对于Ubuntu等其他一些linux版本,你可以检查/var/log/auth.log,对于Centos或者Fedora你可以检查/ var / log /安全,您可以在auth.log下查看用户login和授权信息

您应该通过检查例如.bash_history来检查用户(单独)最后执行的命令

您可以通过更改Bashconfiguration将执行的命令logging到文件中,然后将该文件同步到Cloudwatch Logs。 这里有一个博客文章详细说明如何做到这一点: http : //www.technowise.in/2016/12/log-ec2-bashlinux-commands-to.html