zoukankan      html  css  js  c++  java
  • 系统安全-系统审计

    audit审计

    audit子系统提供了一种纪录系统安全方面信息的方法,同时能为系统管理员在用户违反系统安全法则或者存在违反的潜在可能时,提供及时的警告信息,这些audit子系统所收集的信息包括:可被审计的事件名称,事件状态(成功或失败),别的安全相关信息。可被审计的事件,通常,这些事件都是定义在系统调用级别的。

    审计的软件包默认已经安装,

    [root@localhost ~]# ps aux | grep audit
    root         99  0.0  0.0      0     0 ?        S    07:54   0:00 [kauditd]
    root        680  0.0  0.0  55508   876 ?        S<sl 07:54   0:00 /sbin/auditd
    root       1258  0.1  1.8 338396 34784 tty1     Ssl+ 07:54   0:07 /usr/bin/X :0 -background none -noreset -audit 4 -ver
    bose -auth /run/gdm/auth-for-gdm-BYMFG9/database -seat seat0 -nolisten tcp vt1root       5058  0.0  0.0 112724   984 pts/2    S+   09:28   0:00 grep --color=auto audit
    [root@localhost ~]# ^C
    [root@localhost ~]# ps aux | grep auditd
    root         99  0.0  0.0      0     0 ?        S    07:54   0:00 [kauditd]
    root        680  0.0  0.0  55508   876 ?        S<sl 07:54   0:00 /sbin/auditd
    [root@localhost ~]# 

    而且服务一般默认就已经是启动状态

    [root@localhost ~]# service auditd status
    Redirecting to /bin/systemctl status auditd.service
    ● auditd.service - Security Auditing Service
       Loaded: loaded (/usr/lib/systemd/system/auditd.service; enabled; vendor preset: enabled)
       Active: active (running) since 二 2018-11-20 10:24:54 CST; 6 days ago
         Docs: man:auditd(8)
               https://github.com/linux-audit/audit-documentation
      Process: 686 ExecStartPost=/sbin/augenrules --load (code=exited, status=0/SUCCESS)
      Process: 673 ExecStart=/sbin/auditd (code=exited, status=0/SUCCESS)
     Main PID: 680 (auditd)
        Tasks: 5
       CGroup: /system.slice/auditd.service
               ├─680 /sbin/auditd
               ├─682 /sbin/audispd
               └─684 /usr/sbin/sedispatch
    
    11月 20 10:24:54 localhost.localdomain augenrules[686]: lost 0
    11月 20 10:24:54 localhost.localdomain augenrules[686]: backlog 0
    11月 20 10:24:54 localhost.localdomain augenrules[686]: enabled 1
    11月 20 10:24:54 localhost.localdomain augenrules[686]: failure 1
    11月 20 10:24:54 localhost.localdomain augenrules[686]: pid 680
    11月 20 10:24:54 localhost.localdomain augenrules[686]: rate_limit 0
    11月 20 10:24:54 localhost.localdomain augenrules[686]: backlog_limit 8192
    11月 20 10:24:54 localhost.localdomain augenrules[686]: lost 0
    11月 20 10:24:54 localhost.localdomain augenrules[686]: backlog 1
    11月 20 10:24:54 localhost.localdomain systemd[1]: Started Security Auditing Service.
    [root@localhost ~]# 

    查看audit状态,enabled=1开启审计

    [root@localhost ~]# auditctl -s
    enabled 1
    failure 1
    pid 680
    rate_limit 0
    backlog_limit 8192
    lost 0
    backlog 0
    loginuid_immutable 0 unlocked
    [root@localhost ~]# 

    如何设置审计策略可以看帮助手册

    [root@localhost ~]# man auditctl
    [root@localhost ~]# 

    一个实例

    EXAMPLES
           To see all syscalls made by a specific program:
    
           auditctl -a always,exit -S all -F pid=1005
    
           To see files opened by a specific user:
    
           auditctl -a always,exit -S openat -F auid=510
    
           To see unsuccessful openat calls:
    
           auditctl -a always,exit -S openat -F success=0
    
           To watch a file for changes (2 ways to express):
    
           auditctl -w /etc/shadow -p wa
           auditctl -a always,exit -F path=/etc/shadow -F perm=wa
    
           To recursively watch a directory for changes (2 ways to express):
    
           auditctl -w /etc/ -p wa
           auditctl -a always,exit -F dir=/etc/ -F perm=wa
    
           To see if an admin is accessing other user's files:
    
           auditctl -a always,exit -F dir=/home/ -F uid=0 -C auid!=obj_uid
    [root@localhost ~]# auditctl -w /tmp/ -p rwxa -k "TEST"
    [root@localhost ~]# auditctl -l
    -w /tmp -p rwxa -k TEST
    [root@localhost ~]# 

    auditctl -l 查看所有

    auditctl -D 删除清空

    开启一个新的终端,使用某个用户进行测试

    [root@localhost ~]# su user1
    [user1@localhost root]$ ls /tmp/
    passwd.des
    ssh-rmcshGoCa91Y
    systemd-private-dd46fe14386d4ab7afb92188413fd241-chronyd.service-RGcgLp
    systemd-private-dd46fe14386d4ab7afb92188413fd241-colord.service-wutL8A
    systemd-private-dd46fe14386d4ab7afb92188413fd241-cups.service-RT6X1Q
    systemd-private-dd46fe14386d4ab7afb92188413fd241-rtkit-daemon.service-SSh4Qs
    tracker-extract-files.1000
    user1.key
    vmware-root
    yum_save_tx.2018-11-13.14-35.1CMzyw.yumtx
    yum_save_tx.2018-11-15.11-01.WjmHL_.yumtx
    yum_save_tx.2018-11-19.16-33.Ivy05k.yumtx
    yum_save_tx.2018-11-20.09-33.OpWMe_.yumtx

    切换会管理员终端,查看审计信息。

    [user1@localhost root]$ su root
    密码:
    [root@localhost ~]# ausearch -k "TEST"
    ----
    time->Tue Nov 27 09:33:09 2018
    type=CONFIG_CHANGE msg=audit(1543282389.729:278): auid=0 ses=13 subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1
    023 op=add_rule key="TEST" list=4 res=1----
    time->Tue Nov 27 09:34:53 2018
    type=PROCTITLE msg=audit(1543282493.461:285): proctitle="bash"
    type=PATH msg=audit(1543282493.461:285): item=1 name="/tmp/sh-thd-1543285867" inode=18339887 dev=fd:00 mode=0100600 oui
    d=1004 ogid=1004 rdev=00:00 obj=unconfined_u:object_r:user_tmp_t:s0 objtype=CREATE cap_fp=0000000000000000 cap_fi=0000000000000000 cap_fe=0 cap_fver=0type=PATH msg=audit(1543282493.461:285): item=0 name="/tmp/" inode=16777288 dev=fd:00 mode=041777 ouid=0 ogid=0 rdev=00
    :00 obj=system_u:object_r:tmp_t:s0 objtype=PARENT cap_fp=0000000000000000 cap_fi=0000000000000000 cap_fe=0 cap_fver=0type=CWD msg=audit(1543282493.461:285):  cwd="/root"
    type=SYSCALL msg=audit(1543282493.461:285): arch=c000003e syscall=2 success=yes exit=3 a0=1506580 a1=2c1 a2=180 a3=7ffc
    a7383fa0 items=2 ppid=5238 pid=5239 auid=0 uid=1004 gid=1004 euid=1004 suid=1004 fsuid=1004 egid=1004 sgid=1004 fsgid=1004 tty=pts2 ses=13 comm="bash" exe="/usr/bin/bash" subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 key="TEST"----
    time->Tue Nov 27 09:34:53 2018
    type=PROCTITLE msg=audit(1543282493.461:286): proctitle="bash"
    type=PATH msg=audit(1543282493.461:286): item=0 name="/tmp/sh-thd-1543285867" inode=18339887 dev=fd:00 mode=0100600 oui
    d=1004 ogid=1004 rdev=00:00 obj=unconfined_u:object_r:user_tmp_t:s0 objtype=NORMAL cap_fp=0000000000000000 cap_fi=0000000000000000 cap_fe=0 cap_fver=0type=CWD msg=audit(1543282493.461:286):  cwd="/root"
    type=SYSCALL msg=audit(1543282493.461:286): arch=c000003e syscall=2 success=yes exit=4 a0=1506580 a1=0 a2=180 a3=7ffca7
    383fe0 items=1 ppid=5238 pid=5239 auid=0 uid=1004 gid=1004 euid=1004 suid=1004 fsuid=1004 egid=1004 sgid=1004 fsgid=1004 tty=pts2 ses=13 comm="bash" exe="/usr/bin/bash" subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 key="TEST"----
    time->Tue Nov 27 09:34:53 2018
    type=PROCTITLE msg=audit(1543282493.461:287): proctitle="bash"
    type=PATH msg=audit(1543282493.461:287): item=1 name="/tmp/sh-thd-1543285867" inode=18339887 dev=fd:00 mode=0100600 oui
    d=1004 ogid=1004 rdev=00:00 obj=unconfined_u:object_r:user_tmp_t:s0 objtype=DELETE cap_fp=0000000000000000 cap_fi=0000000000000000 cap_fe=0 cap_fver=0type=PATH msg=audit(1543282493.461:287): item=0 name="/tmp/" inode=16777288 dev=fd:00 mode=041777 ouid=0 ogid=0 rdev=00
    :00 obj=system_u:object_r:tmp_t:s0 objtype=PARENT cap_fp=0000000000000000 cap_fi=0000000000000000 cap_fe=0 cap_fver=0type=CWD msg=audit(1543282493.461:287):  cwd="/root"
    type=SYSCALL msg=audit(1543282493.461:287): arch=c000003e syscall=87 success=yes exit=0 a0=1506580 a1=0 a2=180 a3=7ffca
    7383fe0 items=2 ppid=5238 pid=5239 auid=0 uid=1004 gid=1004 euid=1004 suid=1004 fsuid=1004 egid=1004 sgid=1004 fsgid=1004 tty=pts2 ses=13 comm="bash" exe="/usr/bin/bash" subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 key="TEST"----
    time->Tue Nov 27 09:34:53 2018
    type=PROCTITLE msg=audit(1543282493.462:288): proctitle="bash"
    type=PATH msg=audit(1543282493.462:288): item=1 name="/tmp/sh-thd-3959805905" inode=18339887 dev=fd:00 mode=0100600 oui
    d=1004 ogid=1004 rdev=00:00 obj=unconfined_u:object_r:user_tmp_t:s0 objtype=CREATE cap_fp=0000000000000000 cap_fi=0000000000000000 cap_fe=0 cap_fver=0type=PATH msg=audit(1543282493.462:288): item=0 name="/tmp/" inode=16777288 dev=fd:00 mode=041777 ouid=0 ogid=0 rdev=00
    :00 obj=system_u:object_r:tmp_t:s0 objtype=PARENT cap_fp=0000000000000000 cap_fi=0000000000000000 cap_fe=0 cap_fver=0type=CWD msg=audit(1543282493.462:288):  cwd="/root"
    type=SYSCALL msg=audit(1543282493.462:288): arch=c000003e syscall=2 success=yes exit=3 a0=1506580 a1=2c1 a2=180 a3=63 i
    tems=2 ppid=5238 pid=5239 auid=0 uid=1004 gid=1004 euid=1004 suid=1004 fsuid=1004 egid=1004 sgid=1004 fsgid=1004 tty=pts2 ses=13 comm="bash" exe="/usr/bin/bash" subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 key="TEST"----
    time->Tue Nov 27 09:34:53 2018
    type=PROCTITLE msg=audit(1543282493.462:289): proctitle="bash"
    type=PATH msg=audit(1543282493.462:289): item=0 name="/tmp/sh-thd-3959805905" inode=18339887 dev=fd:00 mode=0100600 oui
    d=1004 ogid=1004 rdev=00:00 obj=unconfined_u:object_r:user_tmp_t:s0 objtype=NORMAL cap_fp=0000000000000000 cap_fi=0000000000000000 cap_fe=0 cap_fver=0type=CWD msg=audit(1543282493.462:289):  cwd="/root"
    type=SYSCALL msg=audit(1543282493.462:289): arch=c000003e syscall=2 success=yes exit=4 a0=1506580 a1=0 a2=180 a3=ffffff
    ff items=1 ppid=5238 pid=5239 auid=0 uid=1004 gid=1004 euid=1004 suid=1004 fsuid=1004 egid=1004 sgid=1004 fsgid=1004 tty=pts2 ses=13 comm="bash" exe="/usr/bin/bash" subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 key="TEST"----
    time->Tue Nov 27 09:34:53 2018
    type=PROCTITLE msg=audit(1543282493.462:290): proctitle="bash"
    type=PATH msg=audit(1543282493.462:290): item=1 name="/tmp/sh-thd-3959805905" inode=18339887 dev=fd:00 mode=0100600 oui
    d=1004 ogid=1004 rdev=00:00 obj=unconfined_u:object_r:user_tmp_t:s0 objtype=DELETE cap_fp=0000000000000000 cap_fi=0000000000000000 cap_fe=0 cap_fver=0type=PATH msg=audit(1543282493.462:290): item=0 name="/tmp/" inode=16777288 dev=fd:00 mode=041777 ouid=0 ogid=0 rdev=00
    :00 obj=system_u:object_r:tmp_t:s0 objtype=PARENT cap_fp=0000000000000000 cap_fi=0000000000000000 cap_fe=0 cap_fver=0type=CWD msg=audit(1543282493.462:290):  cwd="/root"
    type=SYSCALL msg=audit(1543282493.462:290): arch=c000003e syscall=87 success=yes exit=0 a0=1506580 a1=0 a2=180 a3=fffff
    fff items=2 ppid=5238 pid=5239 auid=0 uid=1004 gid=1004 euid=1004 suid=1004 fsuid=1004 egid=1004 sgid=1004 fsgid=1004 tty=pts2 ses=13 comm="bash" exe="/usr/bin/bash" subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 key="TEST"----
    time->Tue Nov 27 09:34:56 2018
    type=PROCTITLE msg=audit(1543282496.004:292): proctitle=6C73002D2D636F6C6F723D6175746F002F746D702F
    type=PATH msg=audit(1543282496.004:292): item=0 name="/tmp/yum_save_tx.2018-11-20.09-33.OpWMe_.yumtx" inode=17303205 de
    v=fd:00 mode=0100600 ouid=0 ogid=0 rdev=00:00 obj=system_u:object_r:rpm_tmp_t:s0 objtype=NORMAL cap_fp=0000000000000000 cap_fi=0000000000000000 cap_fe=0 cap_fver=0type=CWD msg=audit(1543282496.004:292):  cwd="/root"
    type=SYSCALL msg=audit(1543282496.004:292): arch=c000003e syscall=191 success=no exit=-61 a0=7ffda47ba760 a1=7f199012d1
    14 a2=7ffda47ba720 a3=14 items=1 ppid=5239 pid=5289 auid=0 uid=1004 gid=1004 euid=1004 suid=1004 fsuid=1004 egid=1004 sgid=1004 fsgid=1004 tty=pts2 ses=13 comm="ls" exe="/usr/bin/ls" subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 key="TEST"----
    time->Tue Nov 27 09:34:56 2018
    type=PROCTITLE msg=audit(1543282496.006:293): proctitle=6C73002D2D636F6C6F723D6175746F002F746D702F
    type=PATH msg=audit(1543282496.006:293): item=0 name="/tmp/yum_save_tx.2018-11-13.14-35.1CMzyw.yumtx" inode=17406228 de
    v=fd:00 mode=0100600 ouid=0 ogid=0 rdev=00:00 obj=system_u:object_r:rpm_tmp_t:s0 objtype=NORMAL cap_fp=0000000000000000 cap_fi=0000000000000000 cap_fe=0 cap_fver=0type=CWD msg=audit(1543282496.006:293):  cwd="/root"
    type=SYSCALL msg=audit(1543282496.006:293): arch=c000003e syscall=191 success=no exit=-61 a0=7ffda47ba760 a1=7f199012d1
    14 a2=7ffda47ba720 a3=14 items=1 ppid=5239 pid=5289 auid=0 uid=1004 gid=1004 euid=1004 suid=1004 fsuid=1004 egid=1004 sgid=1004 fsgid=1004 tty=pts2 ses=13 comm="ls" exe="/usr/bin/ls" subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 key="TEST"----
    time->Tue Nov 27 09:34:56 2018
    type=PROCTITLE msg=audit(1543282496.007:294): proctitle=6C73002D2D636F6C6F723D6175746F002F746D702F
    type=PATH msg=audit(1543282496.007:294): item=0 name="/tmp/yum_save_tx.2018-11-15.11-01.WjmHL_.yumtx" inode=18340303 de
    v=fd:00 mode=0100600 ouid=0 ogid=0 rdev=00:00 obj=system_u:object_r:rpm_tmp_t:s0 objtype=NORMAL cap_fp=0000000000000000 cap_fi=0000000000000000 cap_fe=0 cap_fver=0type=CWD msg=audit(1543282496.007:294):  cwd="/root"
    type=SYSCALL msg=audit(1543282496.007:294): arch=c000003e syscall=191 success=no exit=-61 a0=7ffda47ba760 a1=7f199012d1
    14 a2=7ffda47ba720 a3=14 items=1 ppid=5239 pid=5289 auid=0 uid=1004 gid=1004 euid=1004 suid=1004 fsuid=1004 egid=1004 sgid=1004 fsgid=1004 tty=pts2 ses=13 comm="ls" exe="/usr/bin/ls" subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 key="TEST"----
    time->Tue Nov 27 09:34:56 2018
    type=PROCTITLE msg=audit(1543282496.007:295): proctitle=6C73002D2D636F6C6F723D6175746F002F746D702F
    type=PATH msg=audit(1543282496.007:295): item=0 name="/tmp/passwd.des" inode=16789654 dev=fd:00 mode=0100644 ouid=0 ogi
    d=0 rdev=00:00 obj=unconfined_u:object_r:user_tmp_t:s0 objtype=NORMAL cap_fp=0000000000000000 cap_fi=0000000000000000 cap_fe=0 cap_fver=0type=CWD msg=audit(1543282496.007:295):  cwd="/root"
    type=SYSCALL msg=audit(1543282496.007:295): arch=c000003e syscall=191 success=no exit=-61 a0=7ffda47ba780 a1=7f199012d1
    14 a2=7ffda47ba740 a3=14 items=1 ppid=5239 pid=5289 auid=0 uid=1004 gid=1004 euid=1004 suid=1004 fsuid=1004 egid=1004 sgid=1004 fsgid=1004 tty=pts2 ses=13 comm="ls" exe="/usr/bin/ls" subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 key="TEST"----
    time->Tue Nov 27 09:34:56 2018
    type=PROCTITLE msg=audit(1543282496.007:296): proctitle=6C73002D2D636F6C6F723D6175746F002F746D702F
    type=PATH msg=audit(1543282496.007:296): item=0 name="/tmp/user1.key" inode=18340335 dev=fd:00 mode=0100664 ouid=1004 o
    gid=1004 rdev=00:00 obj=unconfined_u:object_r:user_tmp_t:s0 objtype=NORMAL cap_fp=0000000000000000 cap_fi=0000000000000000 cap_fe=0 cap_fver=0type=CWD msg=audit(1543282496.007:296):  cwd="/root"
    type=SYSCALL msg=audit(1543282496.007:296): arch=c000003e syscall=191 success=no exit=-61 a0=7ffda47ba780 a1=7f199012d1
    14 a2=7ffda47ba740 a3=14 items=1 ppid=5239 pid=5289 auid=0 uid=1004 gid=1004 euid=1004 suid=1004 fsuid=1004 egid=1004 sgid=1004 fsgid=1004 tty=pts2 ses=13 comm="ls" exe="/usr/bin/ls" subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 key="TEST"----
    time->Tue Nov 27 09:34:56 2018
    type=PROCTITLE msg=audit(1543282496.007:297): proctitle=6C73002D2D636F6C6F723D6175746F002F746D702F
    type=PATH msg=audit(1543282496.007:297): item=0 name="/tmp/yum_save_tx.2018-11-19.16-33.Ivy05k.yumtx" inode=18340309 de
    v=fd:00 mode=0100600 ouid=0 ogid=0 rdev=00:00 obj=system_u:object_r:rpm_tmp_t:s0 objtype=NORMAL cap_fp=0000000000000000 cap_fi=0000000000000000 cap_fe=0 cap_fver=0type=CWD msg=audit(1543282496.007:297):  cwd="/root"
    type=SYSCALL msg=audit(1543282496.007:297): arch=c000003e syscall=191 success=no exit=-61 a0=7ffda47ba760 a1=7f199012d1
    14 a2=7ffda47ba720 a3=14 items=1 ppid=5239 pid=5289 auid=0 uid=1004 gid=1004 euid=1004 suid=1004 fsuid=1004 egid=1004 sgid=1004 fsgid=1004 tty=pts2 ses=13 comm="ls" exe="/usr/bin/ls" subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 key="TEST"----
    time->Tue Nov 27 09:34:56 2018
    type=PROCTITLE msg=audit(1543282496.002:291): proctitle=6C73002D2D636F6C6F723D6175746F002F746D702F
    type=PATH msg=audit(1543282496.002:291): item=0 name="/tmp/" inode=16777288 dev=fd:00 mode=041777 ouid=0 ogid=0 rdev=00
    :00 obj=system_u:object_r:tmp_t:s0 objtype=NORMAL cap_fp=0000000000000000 cap_fi=0000000000000000 cap_fe=0 cap_fver=0type=CWD msg=audit(1543282496.002:291):  cwd="/root"
    type=SYSCALL msg=audit(1543282496.002:291): arch=c000003e syscall=257 success=yes exit=3 a0=ffffffffffffff9c a1=10125b0
     a2=90800 a3=0 items=1 ppid=5239 pid=5289 auid=0 uid=1004 gid=1004 euid=1004 suid=1004 fsuid=1004 egid=1004 sgid=1004 fsgid=1004 tty=pts2 ses=13 comm="ls" exe="/usr/bin/ls" subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 key="TEST"[root@localhost ~]# 

    以下两个命令的效果是一致的

    [root@localhost ~]# auditctl -w /tmp/ -p rwxa
    [root@localhost ~]# auditctl -a exit,always -F dir=/tmp -F perm=rwxa

    -a exit;always exit;行为完成后记录审计(一般常用),always:总是记录审计

    -F 规则字段

    auid为初始登录ID,auid不为0,uid为0,表示登录系统的时候为非root用户,执行操作时却变为root,危险行为。

    auditctl -a exit, always -F auit!=0 -F uid=0

    uid不为0,euid为0,表示执行者是一个非root用户,但是执行过程中却是以root的身份执行的,是一个提权操作,危险行为。

    auditctl -a exit, always -F uid!=0 -F euid=0 

    工作中常对/tmp/etc审计,攻击者常用/tmp 提权

    aureport可以用来查看系统审计日志的汇总信息,例如aureport -l可以用来查看login信息

  • 相关阅读:
    hdu 相遇周期
    神 上帝 以及天老爷·(递推应用)
    简单n! (本来只是一个·简单的地推,只是大数问题有点纠结·,本人用数组简单模拟了一下)
    顺序表的应用(删除链表重复元素)
    vuecli下的vuex的极简Demo(实现加1减1操作)
    vuebus全局事件中心简单Demo
    vuecli构建的项目中请求代理与项目打包
    Java 中的 static 使用之静态初始化块
    having和where的区别
    char、varchar和varchar2,以及nvarchar和nvarchar2的区别与联系
  • 原文地址:https://www.cnblogs.com/52-qq/p/10024588.html
Copyright © 2011-2022 走看看