今天學習了了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