今天学习了了sudo日志审计,专门对使用sudo命令系统的用户记录其执行的相关命令信息
说明:所谓sudo命令日志审计,不记录普通用户操作,而是记录执行sudo命令的用户操作
1、安装sudo命令,syslog服务
[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
2、配置/etc/sudoers
增加配置"Defaults logfile=/var/log/sudo.log"到/etc/sudoers中
[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中
[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内核日志记录器
[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用户为例:
[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、查看日志统计结果:
[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
转载于:https://blog.51cto.com/cainiaibage/1972275