如何使用Linux服务器的巡检用户和基础命令,捕捉用户登录痕迹?

本文使用一个 最普通的巡检用户,查看RedHat 7.4系统日志,检查 用户登录痕迹,说明如何判断是否存在 违规访问记录,如跳板访问等。

这里需要关心的日志列表如下

01


使用cat命令查看

如果只有cat等基础命令,二进制文件输出内容会以乱码形式出现

如何使用Linux服务器的巡检用户和基础命令,捕捉用户登录痕迹?

不过虽然乱码很多,但是也可以看到关键信息, 图中可以看出历史访问的IP信息,以及所用的访问用户。 如果发现可疑的IP地址,那就可以深入的行为分析了。

02


使用strings命令查看

用strings命令可以查看二进制文件信息,输出内容比较接近文本内容。分别查看文件内容如下:

执行命令: strings lastlog

  • 关注的要点是检查是否存在可疑IP地址

[root@test log]# strings lastlog
^pts/2
182.207.162.59
[pts/1
^pts/0
182.207.162.59
^pts/0
^pts/7

执行命令: strings wtmp

    ts/0cams
    182.207.177.97
    pts/0
    pts/0
    ts/0root
    182.207.177.122
    pts/0
    pts/0
    ts/0cams
    182.119.114.218
    pts/0
    pts/0
    ts/0cams
    182.207.162.59

    执行命令: strings /run/utmp

    • 关注当前是否还有其他IP地址连上服务器

      [cams@test log]$ strings /run/utmp 
      reboot
      3.10.0-693.el7.x86_64
      runlevel
      3.10.0-693.el7.x86_64
      pts/0
      ts/0cams
      182.207.162.59
      pts/1
      ts/1
      pts/2
      ts/2root
      182.207.162.59

      03


      其他情况

      但是也可能存在部分系统日志无权限访问的情况

        [cams@test log]$ strings btmp
        strings: btmp: 权限不够
        [cams@test log]$ strings secure
        strings: secure: 权限不够

        对于 执行cat命令 提示权限不够文件,如果有sudo cat权限就能看,如果没有sudo cat权限就不能看。一般情况下,生产环境巡检用户拥有sudo cat权限。

        对于btmp文件,可以结合secure文件判断是否存在 尝试登录行为,重点还是关注日志中的IP地址是否可疑,访问行为是否合规等!

        截取和展示/var/log/secure文本文件部分内容,可以清晰看到带时间戳的日志信息,失败的登录信息是Failed开头,成功的登录信息是Accepted开头,IP地址和用户等信息也清晰可见。

          Jun 18 19:13:09 test sshd[24648]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=182.207.162.59  user=root
          Jun 18 19:13:09 test sshd[24648]: pam_succeed_if(sshd:auth): requirement "uid >= 1000" not met by user "root"
          Jun 18 19:13:11 test sshd[24648]: Failed password for root from 182.207.162.59 port 28680 ssh3
          Jun 18 19:13:16 test sshd[24648]: error: Received disconnect from 182.207.162.59 port 28680:0:  [preauth]
          Jun 18 19:13:16 test sshd[24648]: disconnected from 182.207.162.59 port 28680 [preauth]
          Jun 18 19:13:59 test sshd[24683]: Accepted password for root from 182.207.162.59 port 28814 ssh3
          Jun 18 19:13:59 test sshd[24683]: pam_unix(sshd:session): session opened for user root by (uid=0)

          如何使用Linux服务器的巡检用户和基础命令,捕捉用户登录痕迹?

          可能有的同学会问,为什么不用grep、awk、sed等命令匹配日志文件中的IP地址,或者执行shell脚本,然后输出结果呢?

          答:因为一般生产环境有命令白名单,限制了很多命令的使用,最基础的命令才能适用于绝大多数生产环境。另外,巡检用户只有读权限,创建和执行shell脚本等也不会被允许。

          相关文章

          /etc/sysctl.conf这个目录主要是配置一些系统信息,/etc/sys...
          1.作用 useradd或adduser命令用来建立用户帐号和创建用户的起...
          它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅...
          不管是我们在安装软件还是监测软件的使用性能,我们都要随时...
          装好Tomcat7后,发现除了本机能访问外界访问不了,岂有此理。...
          修改防火墙配置需要修改 /etc/sysconfig/iptables 这个文件,...