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审计框架一定是个很好的朋友!

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

    关注

    87

    文章

    11191

    浏览量

    208623
收藏 人收藏

    评论

    相关推荐

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

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

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

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

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

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

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

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

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

    工控机什么系统?Windows与Linux操作系统的较量。工控机(工业控制计算机)作为工业自动化和监控系统的核心组件,其稳定性、可靠性和性
    的头像 发表于 06-14 14:38 590次阅读
    研华工控机<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

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

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

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

    %攀升至2025年的55%。   由国联易安的研究团队自主研发的工业互联网安全审计系统从管理层面提供工业互联网安全性的有效监管,实现对工业控制系统
    的头像 发表于 01-15 17:34 464次阅读
    工业互联网<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>

    首批!中软国际四款审计产品入选“高质量智能审计工具目录”

    ‍ ‍ 在中国信通院组织的智能审计工具能力验证权威评估中, 中软国际智审工具、审计智搜、协同文书编辑工具、非结构化数据分析工具等四款审计产品顺利通过检验 , 以突出的技术能力成功入选 首批
    的头像 发表于 12-16 16:10 996次阅读

    linux怎么执行vim编辑的程序

    Linux系统执行vim编辑的程序非常简单,只需要依次执行以下步骤: 打开终端:在Linux系统
    的头像 发表于 11-28 15:23 808次阅读

    linux文件访问权限怎么设置

    Linux 文件访问权限是操作系统中一个非常重要的概念。正确地设置文件访问权限可以保护系统安全性,防止未经授权的人员对文件进行修改、删除或执行
    的头像 发表于 11-23 10:20 1389次阅读

    linux重启命令有哪些

    。 reboot命令:reboot命令用于立即重启系统。可以在终端中运行以下命令来执行重启操作: reboot 这个命令会立即关闭系统并重新启动。需要注意的是,在执行此命令之前,请确保
    的头像 发表于 11-17 09:49 1929次阅读

    linux系统基础入门教程

    Linux是一种开源的操作系统,它被广泛应用于服务器、嵌入式系统以及个人电脑上。本篇文章将带领读者从入门的角度,详细介绍Linux系统的基础
    的头像 发表于 11-16 16:45 976次阅读

    malloc在Linux执行的是哪个系统调用

    malloc底层为什么是内存池 malloc大家都用过,其是库函数。我们都知道库函数在不同的操作系统中其实执行的是系统调用,那么malloc在Linux
    的头像 发表于 11-13 10:36 900次阅读
    malloc在<b class='flag-5'>Linux</b>上<b class='flag-5'>执行</b>的是哪个<b class='flag-5'>系统</b>调用

    介绍一种基于eBPF的Linux安全防护系统

    针对操作系统、内核安全,联通云操作系统团队开发了的一个基于 eBPF 的 Linux 安全防护系统
    的头像 发表于 11-07 17:43 805次阅读
    介绍一种基于eBPF的<b class='flag-5'>Linux</b><b class='flag-5'>安全</b>防护<b class='flag-5'>系统</b>