什么是sudo日志审计:
所谓sudo命令日志审计,并不记录普通用户的操作,而是记录那些sudo命令的用户的操作。
备注:
linux远程日志rsyslog服务的作用是:
1.防止系统崩溃无法获取系统日志分享崩溃原因,用rsyslog可以把日志传输到远程的日志服务器上
2.使用rsyslog日志可以减轻系统压力,因为使用rsyslog可以有效减轻系统的磁盘IO
3.rsyslog使用tcp传输非常可靠,可以对日志进行过滤,提取出有效的日志,rsyslog是轻量级的日志 软件,在大量日志写的情况下,系统负载基本上在0.1以下
如何实现sudo日志审计功能:
1.通过环境变量命令及syslog服务进行全部日审计(信息量大,不推荐使用)
2.sudo配合rsyslog服务,进行日记日志审计(信息较少,效果不错,推荐使用)
3.在bash解释器程序里嵌入一个监视器,所有被审计的系统用户使用修改过的增加了监视器的特殊 bash程序作为程序解释程序。
4.商业产品(价格高不推荐使用)
第2种实现方式:
[root@moban scripts]# rpm -qa | egrep "sudo|rsyslog" sudo-1.8.6p3-12.el6.i686 rsyslog-5.8.10-8.el6.i686 [root@moban scripts]# echo "Defaults logfile=/var/log/sudo.log" >> /etc/sudoers
#上面的命令是查询系统是否安装sudo,rsyslog服务
#如果安装,则把visudo的日志文件指定在/var/log/sudo.log下
[root@moban scripts]# echo "local2.debug /var/log/sudo.log" >> /etc/rsyslog.conf
#上面的命令是通过local2设置以debug的方式,把系统日志记录在sudo.log文件下
配置完毕,进行测试
当用户test1,在代码里执行 sudo useradd test2时,sudo.log日志文件里会记录以下内容:
Oct 23 17:30:35 : test1: user NOT in sudoers ; TTY=pts/1 ;PWD=/home/test1; USER=root ; COMMAND=/usr/sbin/useradd test2