1 用Audit执行Linux系统和安全审计-德赢Vwin官网 网
0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

用Audit执行Linux系统和安全审计

汽车玩家 来源:今日头条 作者:新钛云服 2020-05-05 22:17 次阅读

Linux Audit守护进程是一个可以审计Linux系统事件的框架。在本文中,我们一起看看安装、配置和使用这个框架来执行Linux系统和安全审计。

审计目标

通过使用一个强大的审计框架,系统可以追踪很多事件类型来监控和并审计它。这样的例子包括:

审计文件访问和修改

看看谁改变了一个特殊文件

检测未授权的改变

监控系统调用和函数

检测异常,比如崩溃的进程

为入侵检测目的设置“导火线”

记录各个用户使用的命令

组件

这个框架本身有数个组件:

内核:

audit:钩在内核中来捕获事件并将它们发送到auditd

二进制文件:

auditd:捕捉事件并记录它们(记录在日志文件中)的守护进程

auditctl:配置auditd的客户端工具

audispd:多路复用事件的守护进程

aureport:从日志文件(auditd.log)中读取内容的报告工具

ausearch:事件查看器(查看的内容是auditd.log)

autrace:使用内核中的审计组件来追踪二进制文件

aulast:和上一个类似,但是使用的是审计框架

aulastlog:和lastlog类似,但是也使用的是审计框架

ausyscall:映射系统调用ID和名字

auvirt:展示和审计有关虚拟机的信息

文件:

audit.rules:auditctl使用,它读取该文件来决定需要使用什么规则

auditd.conf:auditd的配置文件

安装

Debian/Ubuntu使用命令:apt-get install auditd audispd-plugins

Red Hat/CentOS/Fedora:通常已经安装了(包:audit和audit-libs)

配置

2个文件管理审计守护进程的配置,一个用于守护进程本身(auditd.conf),另一个是用于auditctl工具的规则(audit.rules)。

auditd.conf

文件auditd.conf对Linux audit守护进程的配置聚焦在它应该在哪里以及如何记录事件。它也定义了如何应对磁盘满的情况、如何处理日志轮转和要保留的日志文件数量。通常,对大多数系统来说,默认配置是足够的。

audit.rules

为了配置应该审计什么日志,审计框架使用了一个名为audit.rules的文件。

和大多数情况一样,从零开始而不加载任何规则。通过用-l参数来运行auditctl,我们可以确定使用中的规则。

[root@host ~]# auditctl -l

No rules

万一加载了任何规则的话,用-D参数运行auditctl来删除已加载规则。

现在是时候来监控点东西了,比如/etc/passwd文件。通过定义要查看的路径和权限,我们在这个文件上放一个观察点:

auditctl -a exit,always -F path=/etc/passwd -F perm=wa

通过定义path选项,我们告诉审计框架来监视什么目录或者文件。权限决定了什么类型的访问将触发一个事件。虽然这里的权限看起来类似文件的权限,但是要注意,在这2者之间有一个重大的区别。这里的4个选项是:

r = 读取

w = 写入

x = 执行

a = 属性改变

通过使用ausearch工具,我们可以快速的追踪对文件的访问和找到相关的事件。

用Audit执行Linux系统和安全审计

这个输出里面的一些重点是:

事件的时间(time)和对象的名称(name),当前的工作路径(cwd),相关的系统调用(syscall),审计用户ID(auid)和在这个文件上执行行为的二进制(exe)。请注意,auid定义了在登录过程中的原始用户。其他的用户ID字段可能指向了一个不同的用户,取决于在触发一个事件时在使用的实际用户。

转换系统调用

系统调用是以数字类型的值来记录的。因为在不同的服务器架构之间,这些值会有重叠,所以当前的服务器架构也记录了下来。

通过使用uname -m,我们可以确定服务器架构并使用ausyscall 来确定数字为188的系统调用代表了什么。

[root@host audit]# ausyscall x86_64 188

setxattr

现在,我们知道了这是属性的变化,这是讲得通的,因为我们定义了观察点,在属性变化(perm=a)的时候触发一个事件。

使用了临时规则并想再用老的规则?使用一个文件来刷新审计规则:

auditctl -R /etc/audit/audit.rules

审计Linux的进程

和使用strace类似,审计框架有一个名为autrace的工具。它使用了审计框架并增加了合适的规则来捕获信息并记录。收集到的信息可以使用ausearch来展示。

执行一次追踪:

使用ausearch来展示相关的文件:

按照用户来审计文件访问

审计框架可以用于监控系统调用,包括对文件的访问。如果你希望知道一个特定的用户ID访问了什么文件,使用像下面的这样一条规则:

auditctl -a exit,always -F arch=x86_64 -S open -F auid=80

-F arch=x86_64定义了使用什么架构(uname -m)来监控正确的系统调用(一些系统调用在不同的架构之间是不同的)。

-S open 选择 “open”系统调用

-F auid=80 相关的用户ID

这种类型的信息对于入侵检测确实是很有用的,而且对于在Linux系统上取证也确实是很有用的。

自动化

因为Linux审计守护进程可以提供有价值的审计数据,Lynis会检查这个框架的存在。如果没有这个框架,Lynis会建议你安装它。

另外,Lynis会执行一些测试来判定日志文件、可用的规则等等。

为了有效的入侵检测目的,和入侵检测系统集成对于事件发生的时候发现它们并采取恰当的行动是很关键的。

后记

审计守护进程有更多的用途。在本博客未来的文章中将列出其他例子。如果你是严肃对待Linux平台审计的,Linux审计框架一定是个很好的朋友!

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表德赢Vwin官网 网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    87

    文章

    11292

    浏览量

    209317
收藏 人收藏

    评论

    相关推荐

    如何判断Linux系统的位数

    给你一个 Linux 系统,如何判断它的位数? 我经常用的,有这么几种方式。 第一个,使用命令: uname -m。 uname命令在 Linux 中用于显示与操作系统内核相关的信息,
    的头像 发表于 11-24 10:28 229次阅读

    Linux系统中shell命令解析

    shell是Linux系统的用户界面,提供了用户与内核交互的一种接口,它接收用户输入的命令并到送到内核去执行,因此也被称为Linux的命令解释器。
    的头像 发表于 11-05 15:40 216次阅读

    混合部署 | 在迅为RK3568上同时部署RT-Thread和Linux系统

    的任务,则可以在独立的 RT-Thread 分区中运行,与 Linux 系统相隔离,以确保系统安全性和关键任务的稳定执行。 烧写支持RT-
    发表于 11-01 10:31

    linux操作系统安装步骤 linux操作系统的特点及组成

    Linux操作系统安装步骤 Linux操作系统是一种开源的操作系统,它以其稳定性、安全性和灵活性
    的头像 发表于 10-21 11:24 531次阅读

    混合部署 | 在迅为RK3568上同时部署RT-Thread和Linux系统

    的任务,则可以在独立的 RT-Thread 分区中运行,与 Linux 系统相隔离,以确保系统安全性和关键任务的稳定执行。 烧写支持RT-
    发表于 09-18 10:54

    3568F-Linux系统使用手册

    -version 2 Linux系统镜像编译、生成 2.1配置编译选项 执行如下命令,读取BoardConfig-t3568f-evm.mk文件配置编译选项。首次执行如下 命令时,将
    发表于 07-25 15:45

    数据库安全审计系统:筑牢数据安全防线 提高数据资产安全

    随着万物互联的技术演进,以及数字化转型的快速发展,数据库成为最具有战略性的数字资产载体,保障数据库安全也就保障了存储其中的数据安全,数据库安全审计是对数据库“增、删、改、查”具体操作的
    的头像 发表于 07-17 13:38 722次阅读

    数据库安全审计系统:满足数据安全治理合规要求

    、等级保护、业务连续性安全和大数据安全产品解决方案与相关技术研究开发的领军企业——国联易安自主研发的数据库安全审计系统,可以帮助政府、企事业
    的头像 发表于 07-04 13:04 274次阅读

    伺服驱动系统执行元件的基本要求

    伺服驱动系统是一种高精度、高响应速度的控制系统,广泛应用于工业自动化、机器人、航空航天等领域。伺服驱动系统的核心是伺服电机和伺服驱动器,它们共同控制执行元件的运动。本文将详细介绍伺服驱
    的头像 发表于 06-14 15:30 615次阅读

    研华工控机什么系统?Windows与Linux操作系统的较量

    工控机什么系统?Windows与Linux操作系统的较量。工控机(工业控制计算机)作为工业自动化和监控系统的核心组件,其稳定性、可靠性和性
    的头像 发表于 06-14 14:38 685次阅读
    研华工控机<b class='flag-5'>用</b>什么<b class='flag-5'>系统</b>?Windows与<b class='flag-5'>Linux</b>操作<b class='flag-5'>系统</b>的较量

    Linux是做什么的?

    Linux是做什么的?Linux是一种开源的操作系统,广泛用于服务器、嵌入式设备和个人电脑等领域。它具有以下特点和用途: Linux是做什
    发表于 04-28 15:40

    linux和windows的区别 linux系统一般用来干嘛

    Linux的设计理念 Linux是一个开源操作系统,其设计理念是自由、共享和开放。Linux系统遵循类Unix的设计原则,注重
    的头像 发表于 02-05 14:06 941次阅读

    源代码审计怎么做?有哪些常用工具

    。 3、CodeQL:在 CodeQL 中,代码被视为数据,安全漏洞则被建模为可以对数据库执行的查询语句。 4、SonarQube:是一个用于代码质量管理的开源平台,用于管理源代码的质量。 在审计源代码
    发表于 01-17 09:35

    工业互联网安全管控与审计系统“保障”工控系统网络安全

    %攀升至2025年的55%。   由国联易安的研究团队自主研发的工业互联网安全审计系统从管理层面提供工业互联网安全性的有效监管,实现对工业控制系统
    的头像 发表于 01-15 17:34 506次阅读
    工业互联网<b class='flag-5'>安全</b>管控与<b class='flag-5'>审计</b><b class='flag-5'>系统</b>“保障”工控<b class='flag-5'>系统</b>网络<b class='flag-5'>安全</b>

    MES制造执行系统的应用

    德赢Vwin官网 网站提供《MES制造执行系统的应用.docx》资料免费下载
    发表于 01-10 11:44 0次下载