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. Dnsmasq安装与配置

    默认的情况下,我们平时上网用的本地DNS服务器都是使用电信或者联通的,但是这样也导致了不少的问题,首当其冲的就是上网时经常莫名地弹出广告,或者莫名的流量被消耗掉导致网速变慢.其次是部分网站域名不能正常 ...

  2. C指针(一)

    原文链接:http://www.orlion.ga/916/ 一.指针的基本操作 例: int i; int *pi = &i; char c; char *pc = &c; &quo ...

  3. 前端工程师技能之photoshop巧用系列第三篇——切图篇

    × 目录 [1]切图信息 [2]切图步骤 [3]实战 前面的话 前端工程师除了使用photoshop进行测量之外,更重要的是要使用该软件进行切图.本文是photoshop巧用系列的第三篇——切图篇 切 ...

  4. 分享一个LiteDB做的简单考试系统辅助工具

    凌晨,被安排在公司值班,因为台风“灿鸿”即将登陆,风力太大,办公楼,车间等重要部分需要关注.所以无聊,那就分享一下,今天给朋友临时做的一个小的考试系统辅助工具吧.其实非常小,需求也很简单,但是可以根据 ...

  5. Java设计模式之建造者模式(Builder)

    前言: 最近一直在学习okHttp,也对其做了一些整理,okHttp和Retrofit结合大大加速我们的开发效率,源码里面采用了很多设计模式,今天我们来学习一下其中的设计模式之一建造者模式. 建造者模 ...

  6. VXLAN 概念(Part II)- 每天5分钟玩转 OpenStack(109)

    上一节我们介绍了 VXLAN 的封装格式以及 VTEP.今天我们将通过例子讨论 VXLAN 封装和转发包的过程,以及 Linux 对 VXLAN 的原生支持. VXLAN 包转发流程 VXLAN 在 ...

  7. 编写简单的ramdisk(无请求队列)

    最近在研究块设备驱动的编写,看了赵磊大牛的<写一个块设备驱动>,受益匪浅,虽然能看懂里面说的,但动手写写代码还是能加深理解的,下面实现的ramdisk写的很简单,如果有错误,欢迎大牛们指正 ...

  8. Oracle管理磁盘空间和资源

    1.可恢复的空间分配 2.可移动表空间 3.Oracle段收缩功能 4.Oracle数据库资源管理 Reference 1.可恢复的空间分配 1.1 了解可恢复的空间分配 一般情况,我们发出一个大型数 ...

  9. 【JUC】JUC集合框架综述

    一.前言 完成了JUC的锁框架的分析后,现在分析JUC集合框架,之前分析过的集合框架,很大程度上都不是线程安全的,其在多线程环境下会出现很多问题,为了保证在多线程环境下仍然能够正确安全的访问集合,出现 ...

  10. Web页面实现后台数据处理进度与剩余时间的显示

    1.页面后台代码添加如下属性: /// <summary> /// 总数 /// </summary> private double total { set { Session ...