生产环境日志审计

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

相关推荐

  • linux初期了解

    计算机的组成及其功能 计算机有运算器,控制器,存储器,输出设备和输入设备组成: 1.运算器:运算器又称算术逻辑单元(Arithmetic Logic Unit简称ALU)。它是计算机对数据进行加工处理的部件,包括算术运算2.控制器:控制器负责从存储器中取出指令,并对指令进行译码 3.存储器:存储器是计算机记忆或暂存数据的部件。 4.输入设备:输入设备是给计算…

    Linux干货 2016-10-30
  • MBR分区和GPT分区详解

    什么是磁盘分区?               磁盘分区是使用分区编辑器(partition editor)在磁盘上划分几个逻辑部分,盘片一旦划分成数个分区(Partition),不同类的目录与文件可以存储进不同的分区。越多分区,也就有更多不同的地方,可以将文件的性质区分得更细,按…

    Linux干货 2016-08-29
  • 第一周作业

    一、计算机的组成及功能(参照书籍:《计算机的组成原理》)  按照冯•诺伊曼结构,计算机的硬件由运算器、控制器、存储器、输入设备和输出设备五部分组成。  CPU   :由运算器与控制器组成。主要功能就是控制各部件协调工作。         运…

    Linux干货 2017-02-06
  • Linux计算机基础及Linux入门

    计算机,Linux发型版,Linux 哲学思想,基本命令,startx ,pwd tty ,shutdown ,ifconfig , echo, export, historybo, poweroff,reboot, date, hwclock, Linux 获取命令帮助信息,Linux发行版的基础目录,

    2017-09-18
  • 浅谈bash shell 变量

    一、简述 变量是指内存空间的命名,指向内存中一个或一组地址。bash shell中的变量属于弱类型变量,使用变量无需声明、不需要指定类型,默认为字符型变量。 二、变量命名、赋值、引用 (1)命名规则:     1.只能使用字母,数字,下划线;并且不能使用数字开头。     2.不…

    Linux干货 2016-08-15
  • dd命令详解及实战应用

    dd简述 dd在linux中是 一个强大的命令,常用于拷贝大量数据,测试读写效能 ,清空硬盘数据(慎用),不仅如此,由于dd 允许以二进制方式读写,所以特别适合在原始设备上输入、输出。 dd与cp的区别 这里有必要说明一下,两个命令都可用于拷贝,但是级别却完全不一样:cp是文件级别的读取方式,而dd更底层,可以数据块级别去读取硬盘,由此可看出在效率…

    Linux干货 2017-04-04