Linux 的 audit (in Redhat, Suse) 服務是什麼?以前我也不會去注意,直到有一天系統 crash,不知道為什麼,打開 Monitor,只出現一堆這樣的訊息:

audit: audit_backlog=326 > audit_backlog_limit=320

audit: audit_lost=39095317 audit_rate_limit=0 audit_backlog_limit=320

audit: backlog limit exceeded

這也許不是 crash 的主因,不過先解決吧,下面是 FedoraForum 的建議:

It means that you are getting flooded with audit events. You can increase the audit daemon's priority to make sure it has enough run time to empty its

queue or lengthen the backlog.

才引起我的注意,因此來研究一下 audit。

1. 什麼是 audit ?

Linux 系統中已經 syslog 了,syslog 會記錄系統狀態、如硬體的警告或應用軟體的記錄等。但是syslog屬於應用層,且僅只於此一應用而已,沒辦法記錄太多資訊。因此,audit 誕生以取代 syslog 的責任,來記錄核心層的事件:檔案的讀寫、系統呼叫、權限的狀態等。

2. 來看看 audit 運作的流程(圖片取自參考資料4)

Audit Daemon 運作和一般的daemon 一樣,運作後會引入selinux的系統。

3. audit 有三個操作的工具

audit 可用的三個指令:

=> auditctl - 控制 kernel audit system,能取得狀態,增或刪除rules、設定某個檔案的「檢視」(watch)。

=> ausearch- 用來查詢 audit logs 的工具。

=> aureport - 產生 audit 系統簡報的工具。

4. 設定檔

audit 的設定檔為 /etc/audit/audit.rules,主要分為三種類別:

• Basic audit system parameters

• File and directory watches

• System call audits

# basic audit system parameters

-D    (刪除舊記錄,預設-D)

-b 8192  (buffer大小,預設256,改為8192)

-f 1  (失敗控制旗標,可設為 0 (silent), 1 (印出錯誤,預設), and 2 (panic, 把系統關閉—非正常關閉,所以會有資料遺失的風險).

-e 1 (生失效,0為失效,1為生效(預設)

# some file and directory watches

-w /var/log/audit/   (觀查目錄/var/log/audit/)

-w /etc/auditd.conf -p rxwa  (觀查檔案/etc/auditd.conf,-p 設定權限為rxw及a屬性變更)

-w /etc/audit.rules -p rxwa

-w /etc/passwd -p rwxa

-w /etc/sysconfig/

# an example system call rule

-a entry,always -S umask

對於設定檔有幾點要說明:

• 目錄觀察的詳細度比檔案觀察低

• 無法使用任何的,如?或*

• 只能設定已存在的檔案,若設定觀察目錄而有新增檔案,新檔案只會在下次 audit 重啟後才會加入

利用 -k 產生 key string,以供ausearch 直接索引

-w /etc/var/log/audit/ -k LOG_audit

5. 操作實務

重啟 auditd

# service auditd restart

更新 auditd

# yum update audit

檢查檔案及系統的更動狀態

# aureport --start today --event --summary -i

查詢單一檔案

# ausearch -f filename

利用 -ts 指定日期 -k 指定 key string,其中password-file 使用 auditctl -k 來產生。

# ausearch -ts today -k password-file

# ausearch -ts 3/12/07 -k password-file

-ui 來指定 user name (UID),例如找出  (uid 506) 的操作

# ausearch -ts today -k password-file -x rm -ui 506

# ausearch -k password-file -ui 506

[參考資料]

1. FedoraForum.org

2. 檢查誰修改檔的動作

4. The Linux Audit Subsystem Deep Dive

转:

linux audit 服务,linux 的 audit 服務相关推荐

  1. linux中audit服务,linux下的audit服务

    audit   ['??d?t]  审计 auditd是linux的一个审计服务. 这是man下的解释 auditd is the userspace component to the Linux A ...

  2. linux进程服务,Linux服务及进程

    简介 介绍Linux中服务及进程的操作使用 服务以及进程 vmstat 结果: procs -----------memory---------- ---swap-- -----io---- -sys ...

  3. linux 文件服务,Linux操作系统之文件服务(ftp、nfs)

    一.FTP server 1.简介 名词解释:FTP(File Transfer Protocol,文件传输协议) 是 TCP/IP 协议组中应用层的协议之一. logo: 作用: 提供文件共享服务, ...

  4. linux cvs服务,Linux环境下轻松搭建CVS服务器

    CVS是一种广泛应用的.开源的.透明于网络的版本控制系统.用户使用CVS时,首先要架设一台CVS服务器,在CVS服务器上导入项目实例.设置CVS项目访问控制等.而客户则通过客户端来访问CVS服务器,客 ...

  5. linux 文件服务,linux系统文件服务

    我们之前的学习都是以个人计算机的形式去操作,今天则可以作为服务器来操作.服务器必备的功能是文件的传输,所以我们现在讲的是怎么让用户能在你这里下载和上传文件. 环境准备 做本次实验前,需要你关闭防火墙和 ...

  6. linux 管理 服务,Linux服务管理 详述

    一 服务的分类与简介 1 服务的分类 Linux服务包含RPM包默认的安装服务和源码包安装的服务,RPM包默认安装的服务又分为独立的服务和基于xinetd服务,独立的服务相当于直接在内存中,只要用到这 ...

  7. linux netstat服务,linux netstat查看服务和端口状态

    netstat可以查看linux系统中正在使用的服务和端口情况 常见参数 -a (all)显示所有选项,默认不显示LISTEN相关 -t (tcp)仅显示tcp相关选项 -u (udp)仅显示udp相 ...

  8. linux ssh服务,Linux配置SSH服务以便实现远程连接

    Linux用户们一定想要知道该怎么开启SSH服务吧,SSH服务是Linux系统远程连接的重要方式,所以如何配置SHH服务也让很多用户感到纠结.现在小编就帮大家解决这个问题. 配置方法: 查询\安装SS ...

  9. linux基础服务,Linux基础

    系统常识 通过xshell工具来连接Linux服务器 Linux,windows,macos 三大操作系统 windows(win7,win10,winxp) linux(Redhat/红帽,cent ...

  10. linux cron 服务,Linux定时任务Crontab详解(推荐)

    今天做了个数据库的备份脚本,顺便系统得学习一下linux下定时执行脚本的设置.Linux下的定时执行主要是使用crontab文件中加入定制计划来执行,设置比Windows稍微复杂一些(因为没有图形界面 ...

最新文章

  1. python创建类的实例方法-Python中动态创建类实例的方法
  2. open***在Windows客户端权限那些事
  3. VSCODE编译头文件时函数没有定义的解决方案(VSCODE手动链接C文件方法)
  4. linux使用yum本地源
  5. postgres 显示变量_sql - 如何在PostgreSQL查询中声明变量
  6. linux 下按内容查找文件
  7. linux 查看cpu核数
  8. C++轻量级Json解析工具—TinyJson
  9. 一个OA系统升级实施方案
  10. 计算机自举过程是什么问题,操作系统原理(一)——自举过程
  11. 连接共享服务器显示拒绝访问权限,无权限访问共享打印机,windows无法连接到打印机拒绝访问 怎么办?...
  12. Excel文档中字符型数据转化为数字类型
  13. 计算机有什么考研专业,2021考研专业选择:计算机专业考研方向有哪些?
  14. ES6数组得扩展与对象的扩展
  15. 玩3D游戏头晕怎么办?为什么会头晕?如何解决?
  16. RSS精选(一)-文摘
  17. python除法编程_跟老齐学Python之啰嗦的除法
  18. 计算机网络基础之表示层的功能和服务
  19. ArcGIS API for javascript开发笔记 —— 地图打印
  20. Linux进程管理(4):进程调度

热门文章

  1. oracle经典分数排名,力扣数据库题目: 分数排名(中等)
  2. HEX编码、Base64编码
  3. 计算机二级vbf课百度云,2021年度计算机二级考试考前冲刺卷新整理版.doc
  4. osg qt 三维模型加载
  5. 最新 --》》如何推销自己
  6. linux优化deepin启动速度,如何优化 Deepin 引导开机速度?
  7. windows powershell激活anaconda虚拟环境
  8. 工科学生计算机二级报什么类别,学科门类(二级类)工学.doc
  9. 一:以理论结合实践方式梳理前端 ES 6+ ——— ES 6+ 能干什么
  10. 现代程序设计 homework-06