日志审计,就是记录所有系统和相关用户行为的信息,并且可以自动分析,处理。在中小企业环境中,一般都是在单个服务器上记录日志,而大型企业的生产环境当中,会有专门的日志服务器乃至集群。本文通过sudo配合centos自带的rsyslog(syslog)服务,进行日志审计。
项目描述:
1.权限控制后进一步实施对所有用户日志记录方案
2.通过sudo 和syslog配合实现对所有用户进行日志审计并将记录集中管理
3.实施后让所有运维和开发的所有执行的命令都有记录可查,杜绝了内部人员的操作安全隐患
这里要记录的日志,并不记录普通用户的普通操作,而是记录执行sudo命令的用户的操作。
实施步骤:
1.确认rsyslog(syslog),sudo有没有安装。没有安装的话直接使用Yum安装
2.配置sudoers配置文件,把执行了sudo命令的用户信息存放到指定的日志文件,然后使用visudo -c检查sudoers配置文件是否编译正确:
echo "Defaults logfile=/var/log/sudo.log">>/etc/sudoers ##then syntax the config file visudo -c
3.接下来配置rsyslog服务的配置文件:
echo "local2.debug /var/log/sudo.log">>/etc/rsyslog.conf
表示制定local2的设备打印debug级别的错误,并将结果打印至sudo.log文件里面
4.配置好rsyslog的配置文件以后,重启syslog服务
/etc/init.d/rsyslog restart
这个时候发现rsyslog服务已经自动创建好了sudo.log这个文件:
[root@localhost ~]# ll /var/log/sudo.log -rw-------. 1 root root 276 Oct 21 05:11 /var/log/sudo.log
5.测试
切换到其他用户,执行sudo命令:
[chuji001@localhost ~]$ sudo useradd testuser [sudo] password for chuji001: Sorry, user chuji001 is not allowed to execute '/usr/sbin/useradd testuser' as root on localhost.localdomain.
切换回root用户,发现相关操作已经记录到了日志文件当中去:
[root@localhost ~]# cat /var/log/sudo2.log Oct 21 05:11:46 : chuji001 : command not allowed ; TTY=pts/0 ; PWD=/home/chuji001 ; USER=root ; COMMAND=/usr/sbin/useradd kkkkkkk Oct 21 05:11:57 : chuji001 : command not allowed ; TTY=pts/0 ; PWD=/home/chuji001 ; USER=root ; COMMAND=/usr/sbin/useradd lkajsdflkajsfld Oct 21 06:01:34 : chuji001 : command not allowed ; TTY=pts/0 ; PWD=/home/chuji001 ; USER=root ; COMMAND=/usr/sbin/useradd testuser
结语:上述的日志记录只是单机的日志记录,之后的文章会推出rsync+inotify将日志推送到专门的日志服务器当中去。
原创文章,作者:21期王逸凡,如若转载,请注明出处:http://www.178linux.com/53300