生产环境日志审计

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

相关推荐

  • RAID特性和常见级别

    简介:    RAID全称为独立磁盘冗余阵列(Redundant Array of Independent Disks),基本思想就是把多个相对便宜的硬盘组合起来,成为一个硬盘阵列组,使性能达到甚至超过一个价格昂贵、 容量巨大的硬盘。RAID通常被用在服务器电脑上,使用完全相同的硬盘组成一个逻辑扇区,因此操作系统只会把它当做一个硬盘。 R…

    Linux干货 2016-02-14
  • CentOS7修改网卡为eth0

    1.编辑网卡信息 [root@linux~]# cd /etc/sysconfig/network-scripts/  #进入网卡目录 [root@linux~network-scripts]# mv ifcfg-eno16777728 ifcfg-eth0  #重命名网卡名称 [root@linux network-…

    Linux干货 2016-10-25
  • N28-第一周

    *计算机的组成以其功能: 当今计算机系统由硬件系统和软件系统两大部分组成。硬件系统是指计算机的物理设备,包括CPU,存储器,输入/输出模块等。软件系统则是各种程序和数据的集合。 硬件结构的基本构成: 处理器: 用于控制计算机的操作,执行数据处理功能,是计算机硬件的核心。由控制器,运算器和一组寄存器组成。 控制器:负责根据读入的指令决定计算机的操作 运算器:负…

    2017-12-06
  • mysql进阶之MySQL查询

    一、MySQL多表查询和子查询 别名:as        表别名        字段别名        查询结果亦可命名别名   联结查询:事先将两张或多张表join,根…

    2016-11-18
  • 马哥教育网络班21期+第11周课程练习

    1、详细描述一次加密通讯的过程,结合图示最佳。 首先发送方用单向加密的方法提取数据的特征码,用自己的私钥加密这段特征码,并附加到数据的后面。 发送方用对称加密算法把数据及特征码整个进行加密。 发送方用接收发的公钥加密对称密钥并附加到数据后面。 接收方用私钥解密对称密钥。 接收方用对称密钥解密出数据及加密的特征码。 接收方用发送方的公钥解密特征码,并用相同的算…

    Linux干货 2016-10-09
  • 管道:管道符;cat和more命令 重定向:文件标识符:I/O重定向符号及其用法;exec命令;代码块重定向 命令行处理:命令行处理流程;eval命令 管道: 管道是Linux编程中最常用的技术之一,Shell编程中竖杠符号:“|” command1 | command2 | command3 | … |commandn command1到commandn表…

    Linux干货 2016-08-05