• Linux系统实战项目——sudo日志审计


    Linux系统实战项目——sudo日志审计

     

    由于企业内部权限管理启用了sudo权限管理,但是还是有一定的风险因素,毕竟运维、开发等各个人员技术水平、操作习惯都不相同,也会因一时失误造成误操作,从而影响系统运行

     

    因此,征对sudo提权的操作,便于管理与后续维护,开启sudo日志审计功能对用户执行 sudo命令的操作行为,但又不记录其它命令的操作行为

     

    一:生产环境中日志审计方案如下:

    1、syslog全部操作日志审计,此种方法信息量大,不便查看

    2、sudo日志配合syslog服务进行日志审计

    3、堡垒机日志审计

    4、bash安装监视器,记录用户使用操作

     

    二:配置sudo日志审计

    1、安装sudo与syslog服务

    [root@Centos ~]# rpm -qa|grep sudo

    sudo-1.8.6p3-24.el6.x86_64

    [root@Centos ~]# rpm -qa|grep rsyslog

    rsyslog-5.8.10-10.el6_6.x86_64

    检查是否安装两种服务,如果没有安装,就使用下面的命令进行安装

    yum install sudo -y

    yum install rsyslog -y

    备注:Centos 5.x 为syslog,Centos 6.x 为rsyslog

     

    2、配置服务

    创建日志保存目录

    [root@Centos ~]# mkdir -p /var/log/

    服务器环境查看

    [root@Centos ~]# cat /etc/redhat-release 

    CentOS release 6.5 (Final)

    [root@Centos ~]# uname -r

    2.6.32-431.el6.x86_64

     

    服务器环境为centos 6.5 所以syslog日志配置文件为/etc/rsyslog.conf

    [root@Centos ~]#echo "local2.debug /var/log/sudo.log">>/etc/rsyslog.conf

    查看配置

    [root@Centos ~]# tail -1 /etc/rsyslog.conf 

    local2.debug  /var/log/sudo.log

     

    如果服务器为centos 5.x 所以syslog日志配置文件为/etc/syslog.conf

     

    [root@Centos ~]#echo "local2.debug /var/log/sudo.log">>/etc/syslog.conf

    [root@Centos ~]#echo "Defaults logfile=/var/log/sudo.log">>/etc/sudoers

    查看配置

    [root@Centos ~]# tail -1 /etc/syslog.conf 

    local2.debug  /var/log/sudo.log

     

    3、配置/etc/sudoers

    [root@Centos ~]# echo "Defaults logfile=/var/log/sudo.log">>/etc/sudoers

    [root@Centos ~]# tail -1 /etc/sudoers 

    Defaults logfile=/var/log/sudo.log

     

    4、重启服务

    [root@Centos ~]# /etc/init.d/rsyslog restart

    Shutting down system logger:                               [  OK  ]

    Starting system logger:                                    [  OK  ]

     

    三:测试日记审计结果

    [root@Centos ~]# su - cjkaifa001

    [cjkaifa001@Centos ~]$ pwd

    /home/cjkaifa001

    [cjkaifa001@Centos ~]$ touch 123.txt

    [cjkaifa001@Centos ~]$ sudo ls

    123.txt

    [cjkaifa001@Centos ~]$ cat /var/log/sudo.log 

    cat: /var/log/sudo.log: Permission denied

    直接使用cat命令提示权限不足

    [cjkaifa001@Centos ~]$ sudo cat /var/log/sudo.log 使用sudo提权后可查看

    Sep 11 02:41:50 : cjkaifa001 : TTY=pts/1 ; PWD=/home/cjkaifa001 ; USER=root ;

        COMMAND=/bin/ls

    Sep 11 02:44:57 : cjkaifa001 : TTY=pts/1 ; PWD=/home/cjkaifa001 ; USER=root ;

        COMMAND=/bin/cat /var/log/sudo.log

    经过测试能正常记录用户使用sudo的操作日志记录,其它命令没有记录

     

    [root@Centos ~]# rm -rf /var/log/sudo.log 

    [root@Centos ~]# /etc/init.d/rsyslog stop

    Shutting down system logger:                               [  OK  ]

    [root@Centos ~]# su - cjkaifa001

    [cjkaifa001@Centos ~]$ cd /

    [cjkaifa001@Centos /]$ pwd

    /

    [cjkaifa001@Centos /]$ ls /root

    ls: cannot open directory /root: Permission denied

    [cjkaifa001@Centos /]$ sudo ls /root

    [sudo] password for cjkaifa001: 

    anaconda-ks.cfg  dead.letter  Downloads        install.log.syslog  Public           Videos

    backup           Desktop      etc.tar.gz.2016  Music               tar.gz.20160820

    data             Documents    install.log      Pictures            Templates

    [cjkaifa001@Centos /]$ cat /var/log/sudo.log

    cat: /var/log/sudo.log: Permission denied

    [cjkaifa001@Centos /]$ sudo cat /var/log/sudo.log

    [sudo] password for cjkaifa001: 

    Sep 11 03:24:39 : cjkaifa001 : TTY=pts/1 ; PWD=/ ; USER=root ; COMMAND=/bin/ls

        /root

    Sep 11 03:30:57 : cjkaifa001 : TTY=pts/1 ; PWD=/ ; USER=root ; COMMAND=/bin/cat

        /var/log/sudo.log

    经过测试,直接停掉rsyslog服务,只配置/etc/sudoers也可以记录用户sudo提权操作日志记录

     

    备注:实际生产环境中,可将日志审计记录结果定期推送至指定的日志备份服务器上,后续会介绍具体操作过程(如何推送日志记录)

    如需转载,烦请注明原出处,更多内容可以扫描下方二维码关注公众号

    长按二维码关注微信公众号——友侃有笑

     

  • 相关阅读:
    点名
    2017.6.11 NOIP模拟赛
    HEOI 2012 旅行问题
    【1】【JUC】JDK1.8源码分析之ReentrantLock
    Git撤销&回滚操作
    源码分析之CountDownLatch
    【1】AQS详解
    循环屏障CyclicBarrier以及和CountDownLatch的区别
    【JUC】CountDownLatch
    匿名内部类中使用的外部局部变量为什么只能是final变量
  • 原文地址:https://www.cnblogs.com/youkanyouxiao/p/5868814.html
Copyright © 2020-2023  润新知