生产环境日志审计

     日志审计,就是记录所有系统和相关用户行为的信息,并且可以自动分析,处理。在中小企业环境中,一般都是在单个服务器上记录日志,而大型企业的生产环境当中,会有专门的日志服务器乃至集群。本文通过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

(1)
21期王逸凡21期王逸凡
上一篇 2016-10-20 21:41
下一篇 2016-10-20 22:46

相关推荐

  • N22-℡浮生.若夢 ╮第八周作业

    1、请描述网桥、集线器、二层交换机、三层交换机、路由器的功能、使用场景与区别。 集线器:集线器的主要功能是对接收到的信号进行再生整形放大,以扩大网络的传输距离 网桥:是早期的两端口二层网络设备,用来连接不同网段。网桥的两个端口分别有一条独立的交换信道,       不是共享一条背板总线,可隔离冲突域…

    Linux干货 2016-11-28
  • linux 学习(2)

    1 linux 常见的文件管理命令都有哪些?其常用的使用方法。 ls 文件列出命令   常见选项  -l 显示长文本信息          -d 显示当前目录信息          -a 显示所有文件信息     &nb…

    Linux干货 2016-10-09
  • Linux文本处理工具grep,egrep

    简介:     grep即(Global search REgular expression and Print out the line)全局的搜索正则表达式并且打印显示出来。     通俗点讲:根据用户指定的文本模式(搜索条件)对目标文件进行逐行搜索,显示能匹配到的行。 &n…

    Linux干货 2015-05-11
  • Linux文件系统总结(7.4课上作业)

    一、什么是文件系统         文件系统是对一个存储设备上的数据和元数据进行组织的机制。它使用文件和树形目录的抽象逻辑概念代替了硬盘和光盘等物理设备使用的数据块的概念,用户使用文件系统来保存数据而不必关心数据实际保存在硬盘(or光盘)的地址为多少数据块上,只需要记住这个文件的…

    Linux干货 2016-07-10
  • Linux中的man命令使用方法

      Linux中的man命令就是manual的缩写,此命令是用来查看系统中自带的各种参考手册,帮助用户更好的了解并使用命令。   man命令的使用格式为: man COMMAND,即man后面跟上需要查询的命令,进到手册后有如下快捷按钮帮助用户更好的操作手册。     1.按键-j &nb…

    Linux干货 2016-10-20
  • week5

    1、显示当前系统上root、fedora或user1用户的默认shell; useradd fedora useradd user1 egrep "^(root|fedora|user1)" /etc/passwd | cut -d: -f1,7 2、找出/e…

    Linux干货 2016-11-24