今天学习了了sudo日志审计,专门对使用sudo命令系统的用户记录其执行的相关命令信息bash
说明:所谓sudo命令日志审计,不记录普通用户操做,而是记录执行sudo命令的用户操做服务器
一、安装sudo命令,syslog服务ide
[root@qzj ~]# rpm -qa |egrep "sudo|syslog" rsyslog-5.8.10-10.el6_6.x86_64 sudo-1.8.6p3-29.el6_9.x86_64
若是没有安装则执行下面的安装命令;学习
[root@qzj ~]# yum install sudo rsyslog -y
二、配置/etc/sudoers测试
增长配置"Defaults logfile=/var/log/sudo.log"到/etc/sudoers中spa
[root@qzj ~]# echo "Defaults logfile=/var/log/sudo.log" >>/etc/sudoers #追加到文件结尾 [root@qzj ~]# tail -1 /etc/sudoers Defaults logfile=/var/log/sudo.log [root@qzj ~]# visudo -c #检查sudoers文件语法 /etc/sudoers: parsed OK [root@qzj ~]#
注:下面的3,4能够不执行,直接切到普通用户,而后查看/var/log/sudo.log有无操做debug
三、配置系统日志/etc/rsyslog.conf
rest
增长配置local2.debug到/etc/rsyslog.conf中日志
[root@qzj ~]# echo "ocal2.debug /var/log/sudo.log" >>/etc/rsyslog.conf [root@qzj ~]# tail -1 /etc/rsyslog.conf ocal2.debug /var/log/sudo.log
四、重启syslog内核日志记录器it
[root@qzj ~]# /etc/init.d/rsyslog restart Shutting down system logger: [ OK ] Starting system logger: [ OK ]
此时,会自动创建一个/var/log/sudo.log 文件(日志中配置的名字)并用文件权限为600,全部者和组均为root
五、测试sudo日志审计结果
本文以efg用户为例:
[root@qzj ~]# cat /etc/sudoers |grep efg #查看suoders配置文件里efg用户的权限 efg ALL=(ALL) /bin/rm,/bin/userdel,/bin/touch [efg@qzj ~]$ sudo mkdir kgk [sudo] password for efg: Sorry, user efg is not allowed to execute '/bin/mkdir kgk' as root on qzj. #提示没有权限建立kgk文件 [efg@qzj ~]$ sudo touch 123kkk [sudo] password for efg: [efg@qzj ~]$ ls 12 123kdk 12kgdk gxl
六、查看日志统计结果:
[root@qzj ~]# cat /var/log/sudo.log Oct 13 18:48:48 : efg : command not allowed ; TTY=pts/2 ; PWD=/home/efg ; USER=root ; COMMAND=/bin/mkdir kgk Oct 13 18:49:06 : efg : TTY=pts/2 ; PWD=/home/efg ; USER=root ; COMMAND=/bin/touch 123kkk [efg@qzj ~]$ ls #查看刚建立的文件 123kkk
所谓日志审计,就是记录全部系统及相关用户行为的信息、而且能够自动分析、处理、展现(包括文本或者录像)
日志集中管理目前能够经过scp+定时任务任务来推到日志服务器上116.196.68.28上/root/aildata/uploadlog
[root@qzj ~]# scp -r /var/log/sudo.log root@116.196.68.28:/root/alidata/uploadlog root@116.196.68.28's password: #此位置输入远程主机密码 sudo.log 100% 832 0.8KB/s 00:00
日志收集解决方案:scribe,flume,stom,logstash