Linux系统实战项目——sudo日志审计

 

由于企业内部权限管理启用了sudo权限管理,但是还是有一定的风险因素,毕竟运维、开发等各个人员技术水平、操作习惯都不相同,也会因一时失误造成误操作,从而影响系统运行

因此,征对sudo提权的操作,便于管理与后续维护,开启sudo日志审计功能对用户执行 sudo命令的操作行为,但又不记录其它命令的操作行为

一:生产环境中日志审计方案如下:

1、syslog全部操作日志审计,此种方法信息量大,不便查看

2、sudo日志配合syslog服务进行日志审计

3、堡垒机日志审计

4、bash安装监视器,记录用户使用操作

二:配置sudo日志审计

1、安装sudo与syslog服务

[root@Centos ~]# rpm -qa|grep sudo

sudo-1.8.6p3-24.el6.x86_64

[root@Centos ~]# rpm -qa|grep rsyslog

rsyslog-5.8.10-10.el6_6.x86_64

检查是否安装两种服务,如果没有安装,就使用下面的命令进行安装

yum install sudo -y

yum install rsyslog -y

备注:Centos 5.x 为syslog,Centos 6.x 为rsyslog

2、配置服务

创建日志保存目录

[root@Centos ~]# mkdir -p /var/log/

服务器环境查看

[root@Centos ~]# cat /etc/redhat-release

CentOS release 6.5 (Final)

[root@Centos ~]# uname -r

2.6.32-431.el6.x86_64

服务器环境为centos 6.5 所以syslog日志配置文件为/etc/rsyslog.conf

[root@Centos ~]#echo "local2.debug /var/log/sudo.log">>/etc/rsyslog.conf

查看配置

[root@Centos ~]# tail -1 /etc/rsyslog.conf

local2.debug  /var/log/sudo.log

如果服务器为centos 5.x 所以syslog日志配置文件为/etc/syslog.conf

[root@Centos ~]#echo "local2.debug /var/log/sudo.log">>/etc/syslog.conf

[root@Centos ~]#echo "Defaults logfile=/var/log/sudo.log">>/etc/sudoers

查看配置

[root@Centos ~]# tail -1 /etc/syslog.conf

local2.debug  /var/log/sudo.log

3、配置/etc/sudoers

[root@Centos ~]# echo "Defaults logfile=/var/log/sudo.log">>/etc/sudoers

[root@Centos ~]# tail -1 /etc/sudoers

Defaults logfile=/var/log/sudo.log

4、重启服务

[root@Centos ~]# /etc/init.d/rsyslog restart

Shutting down system logger:                               [  OK  ]

Starting system logger:                                    [  OK  ]

三:测试日记审计结果

[root@Centos ~]# su - cjkaifa001

[cjkaifa001@Centos ~]$ pwd

/home/cjkaifa001

[cjkaifa001@Centos ~]$ touch 123.txt

[cjkaifa001@Centos ~]$ sudo ls

123.txt

[cjkaifa001@Centos ~]$ cat /var/log/sudo.log

cat: /var/log/sudo.log: Permission denied

直接使用cat命令提示权限不足

[cjkaifa001@Centos ~]$ sudo cat /var/log/sudo.log 使用sudo提权后可查看

Sep 11 02:41:50 : cjkaifa001 : TTY=pts/1 ; PWD=/home/cjkaifa001 ; USER=root ;

COMMAND=/bin/ls

Sep 11 02:44:57 : cjkaifa001 : TTY=pts/1 ; PWD=/home/cjkaifa001 ; USER=root ;

COMMAND=/bin/cat /var/log/sudo.log

经过测试能正常记录用户使用sudo的操作日志记录,其它命令没有记录

[root@Centos ~]# rm -rf /var/log/sudo.log

[root@Centos ~]# /etc/init.d/rsyslog stop

Shutting down system logger:                               [  OK  ]

[root@Centos ~]# su - cjkaifa001

[cjkaifa001@Centos ~]$ cd /

[cjkaifa001@Centos /]$ pwd

/

[cjkaifa001@Centos /]$ ls /root

ls: cannot open directory /root: Permission denied

[cjkaifa001@Centos /]$ sudo ls /root

[sudo] password for cjkaifa001:

anaconda-ks.cfg  dead.letter  Downloads        install.log.syslog  Public           Videos

backup           Desktop      etc.tar.gz.2016  Music               tar.gz.20160820

data             Documents    install.log      Pictures            Templates

[cjkaifa001@Centos /]$ cat /var/log/sudo.log

cat: /var/log/sudo.log: Permission denied

[cjkaifa001@Centos /]$ sudo cat /var/log/sudo.log

[sudo] password for cjkaifa001:

Sep 11 03:24:39 : cjkaifa001 : TTY=pts/1 ; PWD=/ ; USER=root ; COMMAND=/bin/ls

/root

Sep 11 03:30:57 : cjkaifa001 : TTY=pts/1 ; PWD=/ ; USER=root ; COMMAND=/bin/cat

/var/log/sudo.log

经过测试,直接停掉rsyslog服务,只配置/etc/sudoers也可以记录用户sudo提权操作日志记录

 

备注:实际生产环境中,可将日志审计记录结果定期推送至指定的日志备份服务器上,后续会介绍具体操作过程(如何推送日志记录)

如需转载,烦请注明原出处,更多内容可以扫描下方二维码关注公众号

长按二维码关注微信公众号——友侃有笑

Linux系统实战项目——sudo日志审计的更多相关文章

  1. Django项目:堡垒机(Linux服务器主机管理系统)--03--03堡垒机在Linux系统里记录会话日志02/02

    #main.py #本文件写所有的连接交互动作程序 # ————————————————03堡垒机在Linux系统里记录会话日志 开始———————————————— from Fortress im ...

  2. linux系统tomcat项目部署和tomcat访问日志

    一.只用ip地址访问 先把端口号改成80,然后用 <Host name="localhost"  appBase="webapps"    137     ...

  3. sudo日志审计

    一般企业生产环境都会用跳板机把操作日志记录下来,不过有些公司内部的测试机可以用本机的sudo日志审计功能将执行的sudo命令保存日志. 为什么要使用sudo审计,因为可以通过sudo授权给普通用户执行 ...

  4. Linux系统下分割tomcat日志

    在Linux系统下,tomcat日志catalina.out并不会像window系统下,按日期进行重写备份,因此在Linux系统下会造成日志文件过大的情况,本文介绍采用 cronolog工具进行如在w ...

  5. 如何查看linux系统下的各种日志文件 linux 系统日志的分析大全

    日志分类: 1. 连接时间的日志 连接时间日志一般由/var/log/wtmp和/var/run/utmp这两个文件记录,不过这 两个文件无法直接cat查看,并且该文件由系统自动更新,可以通过如下: ...

  6. Linux 系统中如何查看日志 (常用命令) tail -f

    Linux 系统中如何查看日志 (常用命令)  tail -f 日志文件 日 志 文 件 说 明 /var/log/message 系统启动后的信息和错误日志,是Red Hat Linux中最常用的日 ...

  7. 云服务器 ECS Linux 系统中常见的日志文件介绍

    云服务器 ECS Linux 系统中,日志文件是非常重要的文件,它们记录了很多系统中重要的事.Linux 系统中常见日志文件概述如下: /var/log/cron可以在 cron 文件中检查 cron ...

  8. linux系统中如何查看日志(转)

    cat tail -f 日 志 文 件 说    明 /var/log/message 系统启动后的信息和错误日志,是Red Hat Linux中最常用的日志之一 /var/log/secure 与安 ...

  9. 【夯实Mysql基础】MySQL在Linux系统下配置文件及日志详解

    本文地址 分享提纲: 1. 概述 2. 详解配置文件 3. 详解日志 1.概述 MySQL配置文件在Windows下叫my.ini,在MySQL的安装根目录下:在Linux下叫my.cnf,该文件位于 ...

随机推荐

  1. WPF DataGrid分页功能实现代码 修改原作者不能实现的部分

    这两天需要给Datagrid加个分页,查找了一些相关的文章,发现有一个写了一个控件比较好,地址是 http://blog.csdn.net/zdw_wym/article/details/822189 ...

  2. 《JS语言精粹》学习笔记 函数部分の闭包

    要理解闭包,首先要理解变量作用域,变量的作用域就两种,全局变量和局部变量,函数内部可以直接读取全局变量,函数外部无法读取函数内部的局部变量. 闭包定义:能读取函数内部局部变量的函数就是闭包,而只有函数 ...

  3. 前端学PHP之数据类型

    × 目录 [1]总括 [2]布尔型 [3]整型[4]浮点型[5]字符串[6]数组[7]对象[8]NULL[9]资源 前面的话 同javascript一样,php也是一门弱类型语言,或者说成类型松散的语 ...

  4. linux内核中的每cpu变量

    一.linux中的每cpu变量 看linux内核代码的时候,会发现大量的per_cpu(name, cpu),get_cpu_var(name)等出现cpu字眼的语句.从语句的意思可以看出是要使用与当 ...

  5. EntityFramework 7 Linq Contains In 奇怪问题

    这篇博文纪录一下:当使用 EF7,Linq 实现类似 where filename in('','','') SQL 代码,使用 Contains 出现报错问题. project.json 配置文件( ...

  6. 在Excel表里面插入背景图

    工作中我们会经常用到MS Excel,通常我们打开MS Excel,里面的工作表都是空白单调的背景.当然了,MS Excel可以在工作簿里面插入背景图片.那么问题来了,如果你没有安装Microsoft ...

  7. http 错误代码表

    所有 HTTP 状态代码及其定义.  代码  指示  2xx  成功  200  正常:请求已完成.  201  正常:紧接 POST 命令.  202  正常:已接受用于处理,但处理尚未完成.  2 ...

  8. ZOJ Problem Set - 1006 Do the Untwist

    今天在ZOJ上做了道很简单的题目是关于加密解密问题的,此题的关键点就在于求余的逆运算: 比如假设都是正整数 A=(B-C)%D 则 B - C = D*n + A 其中 A < D 移项 B = ...

  9. 数据库SQL Service 2014中文版的安装和配置教程

    一.我的电脑环境 1.windows8.1(64位) 2.之前电脑没有安装数据库的软件 二.装机之前准备(我这儿提供百度云保存和下载) 1.下载一个“Sql service 2014中文版” http ...

  10. canvas刮刮乐和画笔

    这周有点迷茫,不知道干嘛了,一天天就过去了!我在博客右侧公告栏加了qq交流,各位有好的主题,或者有趣的技术,欢迎交流!今天突发奇想,就写了2个h5 canvas的demo玩玩! demo一:刮刮乐 舍 ...