场景

安全最重要的一步是内部安全,如何监控用户的行为是一个永恒不变的话题。
audit可以详细监控用户的行为,详细到查看或修改了某个文件。这些都可以在日志中查看到。

安装

小贴士:
CentOS默认已经安装

yum -y install audit*

开启audit服务

service auditd start		#开启
service auditd stop #关闭
service auditd restart #重启

配置文件

vim /etc/audit/auditd.conf
log_file = /var/log/audit/audit.log		#日志保存文件
max_log_file = 6 #单个日志文件最大占用空间(MB)
max_log_file_action = ROTATE #日志文件达到最大空间的动作: ROTATE为将旧日志文件重命名,再新建日志文件继续写入
freq = 20 #每隔20条记录写入日志中(flush = INCREMENTAL时有效)

添加规则

1.临时有效
auditctl -w /bin/rm -p x -k removefile
-w #指定所要监控的文件或命令
-p #监控属性(如x执行)
-k #指定关键词(方便在日志中查询)
-D #清除规则(临时,不会清除配置文件规则)
2.永久生效

小贴士:
/etc/audit/rules.d/audit.rules为规则配置文件
/etc/audit/audit.rules根据/etc/audit/rules.d/audit.rules里的规则自动生成
所以我们编辑/etc/audit/rules.d/audit.rules就好了

vim vim /etc/audit/rules.d/audit.rules
-w /bin/rm -p x -k removefile #添加这一句
service auditd restart #重启服务

查看规则

auditctl -l

查看日志

小贴士:
实验过程中记得把配置文件/etc/audit/auditd.conf中freq设置为1,不然很可能查看不到结果。

方式1-直接查看
cat /var/log/audit/audit.log

例如:运行命令rm -rf /root/123
发现可以详细的看到谁在什么时候对谁干了些什么

字段解释
type=PATH							#类型
msg=audit(1558846158.888:141) #时间戳和事件id(同一事件则id相同)
方式2-ausearch

一般查日志的方式很不方便,所以audit给出了非常友好的日志查看命令。

ausearch
-i #显示信息更清晰,比如显示日期而不是时间戳
-k #指定关键词(auditctl -k指定的关键词)
-c commond #只显示与指令相关日志(如-c rm)

例如:运行命令ausearch -i
可以看到不同事件用----分割开;
显示了日期而不是时间戳;
显示了用户名而不是uid。

Linux安全审计之audit安装与使用的更多相关文章

  1. centOS Linux下用yum安装mysql

    centOS Linux下用yum安装mysql      第一篇:安装和配置MySQL   第一步:安装MySQL   [root@192 local]# yum -y install mysql- ...

  2. Hyper-V上运行的Linux虚拟机验证是否安装了集成服务

    Hyper-V上运行的Linux虚拟机验证是否安装了集成服务 ps aux|grep "hv"root       311  0.0  0.0      0     0 ?     ...

  3. Linux Hadoop2.7.3 安装(单机模式) 一

    Linux Hadoop2.7.3 安装(单机模式) 一 Linux Hadoop2.7.3 安装(单机模式) 二 java环境安装 http://www.cnblogs.com/zeze/p/590 ...

  4. 【Oracle 集群】11G RAC 知识图文详细教程之RAC在LINUX上使用NFS安装前准备(六)

    RAC在LINUX上使用NFS安装前准备(六) 概述:写下本文档的初衷和动力,来源于上篇的<oracle基本操作手册>.oracle基本操作手册是作者研一假期对oracle基础知识学习的汇 ...

  5. Linux下命令行安装weblogic10.3.6

    Linux下命令行安装weblogic10.3.6 一.安装前准备工作: 1.创建用户useradd weblogic;创建用户成功linux系统会自动创建一个和用户名相同的分组,并将该用户分到改组中 ...

  6. Linux下MongoDB服务安装

    Linux下MongoDB服务安装 MongoDB是一个基于分布式文件存储的数据库.由C++语言编写.旨在为WEB应用提供可扩展的高性能数据存储解决方案.MongoDB是一个介于关系数据库和非关系数据 ...

  7. Linux Hadoop2.7.3 安装(单机模式) 二

    Linux Hadoop2.7.3 安装(单机模式) 一 Linux Hadoop2.7.3 安装(单机模式) 二 YARN是Hadoop 2.0中的资源管理系统,它的基本设计思想是将MRv1中的Jo ...

  8. .Net Core Linux centos7行—hyper-v安装linux系统和.net core sdk

    下载linux系统,选择安装centos7 下载地址:https://www.centos.org/download/ 安装centos7 hyper-v选择新建虚拟机 根据向导一路next,虚拟机代 ...

  9. Linux CentOS6.5下安装Oracle ASM

    Oracle版本:Oracle 11g 1.确定自己的Linux版本: [root@localhost ~]#uname -r 2.6.32-431.el6.x86_64 2.6.32-431.el6 ...

  10. Windows下的Memcache安装 linux下的Memcache安装

    linux下的Memcache安装: 1. 下载 memcache的linux版本,注意 memcached 用 libevent 来作事件驱动,所以要先安装有 libevent. 官方网址:http ...

随机推荐

  1. 大模型必备 - 中文最佳向量模型 acge_text_embedding

    近期,上海合合信息科技股份有限公司发布的文本向量化模型 acge_text_embedding 在中文文本向量化领域取得了重大突破,荣获 Massive Text Embedding Benchmar ...

  2. IEC104 从站/服务端模拟器 调试工具推荐

    目录 IEC104 从站/服务端模拟器 调试工具推荐 主要功能 软件截图 IEC104 从站/服务端模拟器 调试工具推荐 下载地址:http://www.redisant.cn/iec104serve ...

  3. ChatGPT,我的 .NET 应用该选择哪种日志框架?

    When using .NET 6, compare different main stream third-party logging packages, and give suggestions ...

  4. van-tab吸顶后头部透明色渐变响应

    方法一:监听滚动事件 $('.scrollContent').bind('touchmove', function(e){             var  winHeight = $(window) ...

  5. Java设计模式-策略模式-基于Spring实现

    1.策略模式 1.1.概述 策略模式是一种行为设计模式,它允许在运行时选择算法的行为.它将算法封装在独立的策略类中,使得它们可以相互替换,而不影响客户端代码.这种模式通过将算法的选择从客户端代码中分离 ...

  6. ffmpeg7.0常用命令笔记 windows下

    1.多媒体格式转换 ffmpeg -i input.mov -acodec copy -vcodec copy out.mp4 2.从多媒体文件中抽取音频 ffmpeg -i input.mov -v ...

  7. 【详细教程】手把手教你开通YouTube官方API接口(youtube data api v3)

    一.背景调查 1.1 youtube介绍 众所周知,youtube是目前全球最大的视频社交平台,该平台每天产生大量的视频内容,涵盖各种主题和类型,从音乐视频到教育内容,再到娱乐节目和新闻报道等.You ...

  8. anaconda安装cv2库

    在安装cv2库之前,需要进行以下准备工作: 安装Anaconda 如果还没有安装Anaconda,可以在官网上下载对应操作系统的Anaconda安装包,然后按照提示进行安装.安装完成后,可以在终端中输 ...

  9. Javascript返回顶部和砸金蛋,跑马灯等游戏代码实现

    1. 我们经常写页面的时候会遇到页面很长需要做返回顶部的操作:$("id /class").animate({scrollTop:$('.class').offset().top} ...

  10. C语言:输入一串字符串,统计字符串中有多少个数字

    gets函数会在输入完字符后自动补上一个\0,所以用这个特性可以计算出字符串是否结束. 因为数字在字符中对应的ascii码就是0~9,只要遇到小于9的字符就是数字,所以计数器加一 #include&l ...