今天学习了了sudo日志审计,专门对使用sudo命令系统的用户记录其执行的相关命令信息
说明:所谓sudo命令日志审计,不记录普通用户操作,而是记录执行sudo命令的用户操作
1、安装sudo命令,syslog服务
1 2 3 | [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 |
如果没有安装则执行下面的安装命令;
1 | [root@qzj ~] # yum install sudo rsyslog -y |
2、配置/etc/sudoers
增加配置"Defaults logfile=/var/log/sudo.log"到/etc/sudoers中
1 2 3 4 5 6 | [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有无操作
3、配置系统日志/etc/rsyslog.conf
增加配置local2.debug到/etc/rsyslog.conf中
1 2 3 | [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 |
4、重启syslog内核日志记录器
1 2 3 | [root@qzj ~] # /etc/init.d/rsyslog restart Shutting down system logger: [ OK ] Starting system logger: [ OK ] |
此时,会自动建立一个/var/log/sudo.log 文件(日志中配置的名字)并用文件权限为600,所有者和组均为root
5、测试sudo日志审计结果
本文以efg用户为例:
1 2 3 4 5 6 7 8 9 10 | [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 |
6、查看日志统计结果:
1 2 3 4 5 6 7 | [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
1 2 3 | [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 |