Linux下安全审计audit 系统审计 记录root操作

Linux下安全审计audit 系统审计

1.审计介绍

Linux 审计系统提供了一种跟踪系统上与安全相关的信息的方法。根据预先配置的规则,Audit 会生成日志条目,以尽可能多地记录有关系统上发生的事件的信息。此信息对于关键任务环境确定安全策略的违反者及其执行的操作至关重要。审计不会为您的系统提供额外的安全性;相反,它可用于发现违反您系统上使用的安全策略的情况。可以通过其他安全措施(例如 SELinux)进一步防止这些违规行为。

audit能够在日志中记录的信息有:

  • 时间的日期时间、类型和结果
  • 主体和客体的敏感度标签
  • 事件与触发事件的用户身份的关联
  • 对审计配置的所有修改和访问审计日志文件的尝试
  • 身份验证机制的所有用途,例如 SSH、Kerberos 等
  • 对任何受信任数据库的更改,例如/etc/passwd
  • 尝试将信息导入或导出系统
  • 根据用户身份、主题和对象标签以及其他属性包括或排除事件

使用审计系统也是许多与安全相关的认证的要求。审核旨在满足或超过以下认证或合规指南的要求:

  • 受控访问保护配置文件 (CAPP)
  • 标记安全保护配置文件 (LSPP)
  • 规则集基础访问控制 (RSBAC)
  • 国家工业安全计划操作手册 (NISPOM)
  • 联邦信息安全管理法案 (FISMA)
  • 支付卡行业 — 数据安全标准 (PCI-DSS)
  • 安全技术实施指南 (STIG)

审计还包括:

  • 由国家信息保障合作伙伴 (NIAP) 和最佳安全行业 (BSI) 评估。
  • 在 Red Hat Enterprise Linux 5 上通过 LSPP/CAPP/RSBAC/EAL4+ 认证。
  • 在 Red Hat Enterprise Linux 6 上通过操作系统保护配置文件/评估保证级别 4+ (OSPP/EAL4+) 认证。

2.审计能做什么

2.1 看文件访问

审计可以跟踪文件或目录是否已被访问、修改、执行,或者文件的属性是否已更改。这很有用,例如,检测对重要文件的访问并在这些文件之一损坏的情况下提供审计跟踪。

2.2 监控系统调用

可以将审计配置为每次使用特定系统调用时生成日志条目。这可以用来,例如,通过监控来跟踪更改系统时间settimeofdayclock_adjtime和其他时间相关的系统调用。

2.3 记录用户运行的命令

由于审计可以跟踪文件是否已被执行,因此可以定义许多规则来记录特定命令的每次执行。例如,可以为/bin目录中的每个可执行文件定义规则。然后可以通过用户 ID 搜索生成的日志条目,以生成每个用户执行命令的审计跟踪。

2.4 记录安全事件

pam_faillock认证模块能够记录失败的登录尝试的。还可以设置审核以记录失败的登录尝试,并提供有关尝试登录的用户的其他信息。

2.5 搜索事件

Audit 提供了ausearch实用程序,该实用程序可用于过滤日志条目并根据许多条件提供完整的审计跟踪。

2.6 运行摘要报告

aureport实用程序可用于生成,除其他事项外,记录的事件每日报告。然后系统管理员可以分析这些报告并进一步调查可疑活动。

2.7 监控网络访问

iptablesebtables实用程序可以被配置为触发审计事件,从而允许系统管理员监控网络访问。

3.审计系统架构

审计系统由两个主要部分组成:用户空间应用程序和实用程序,以及内核端系统调用处理。内核组件接收来自用户空间应用程序的系统调用,并通过三个过滤器之一过滤它们:usertaskexit。一旦系统调用通过这些过滤器之一,它就会通过排除过滤器发送,排除过滤器根据审核规则配置将其发送到审核守护程序以进行进一步处理。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KnMsoByf-1632449444073)(C:\Users\15856\AppData\Roaming\Typora\typora-user-images\image-20210923164817910.png)]

用户空间审计守护进程从内核收集信息并在日志文件中创建日志文件条目。其他审计用户空间实用程序与审计守护进程、内核审计组件或审计日志文件交互:

  • audisp — 审计调度程序守护进程与审计守护进程交互并将事件发送到其他应用程序以进行进一步处理。这个守护进程的目的是提供一个插件机制,以便实时分析程序可以与审计事件交互。
  • auditctl — 审计控制实用程序与内核审计组件交互,以控制事件生成过程的许多设置和参数。
  • 其余的审计实用程序将审计日志文件的内容作为输入,并根据用户的要求生成输出。例如,aureport实用程序生成所有记录事件的报告。

4.安装审计包

系统一般默认就有

yum install audit

5.配置审计服务

审计守护进程可以在/etc/audit/auditd.conf配置文件中进行配置。此文件包含修改审核守护程序行为的配置参数。任何空行或井号 ( #)后面的任何文本都将被忽略。

5.1 配置auditd CAPP环境

默认auditd配置应该适用于大多数环境。但是,如果您的环境必须满足受控访问保护配置文件(CAPP)设置的标准,这是通用标准认证的一部分,则必须使用以下设置配置审核守护程序:

  • 保存审核日志文件的目录(通常为/var/log/audit/)应驻留在单独的分区上。这可以防止其他进程占用此目录中的空间,并为审计守护程序提供对剩余空间的准确检测。
  • 该*max_log_file*参数指定单个审计日志文件的最大大小,必须设置为充分利用保存审计日志文件的分区上的可用空间。
  • 该*max_log_file_action参数决定一旦max_log_file*达到设置的限制时采取的操作,应设置keep_logs为防止审计日志文件被覆盖。
  • 该*space_left参数指定磁盘上剩余的可用空间量,在该space_left_action参数中设置的操作将被触发,必须设置为一个数字,以便管理员有足够的时间来响应并释放磁盘空间。该space_left*值取决于生成审核日志文件的速率。
  • 建议将*space_left_action*参数设置为emailexec使用适当的通知方法。
  • 该*admin_space_left参数指定admin_space_left_action*触发参数中设置的操作的绝对最小可用空间量,必须设置为一个值,以便留出足够的空间来记录管理员执行的操作。
  • 该*admin_space_left_action*参数必须设置为single使系统进入单用户模式并允许管理员释放一些磁盘空间。
  • 该*disk_full_action*参数指定在保存审核日志文件的分区上没有可用空间时触发的操作,必须设置为haltsingle。这可确保系统在 Audit 无法再记录事件时关闭或以单用户模式运行。
  • 的*disk_error_action*,其中规定,被触发的情况下,上保存审计日志文件的分区检测到错误的动作,必须设置为syslogsinglehalt,这取决于你的本地安全策略有关硬件故障的处理。
  • 所述*flush*配置参数必须设置为syncdata。这些参数确保所有审计事件数据与磁盘上的日志文件完全同步。

其余配置选项应根据您的本地安全策略进行设置。

6.定义审计规则

审计系统根据一组规则运行,这些规则定义了要在日志文件中捕获的内容。可以指定三种类型的审计规则:

  • 控制规则 — 允许修改审计系统的行为及其某些配置。
  • 文件系统规则——也称为文件监视,允许审计对特定文件或目录的访问。
  • 系统调用规则——允许记录任何指定程序进行的系统调用。

可以使用auditctl实用程序在命令行上指定审计规则(请注意,这些规则在重新启动后不会持久),或写入/etc/audit/audit.rules文件。以下两节总结了定义审计规则的两种方法。

6.1 使用auditctl实用程序定义审计规则

与审计服务和审计日志文件交互的所有命令都需要 root 权限。确保以 root 用户身份执行这些命令。

auditctl命令允许您控制审计系统的基本功能并定义决定记录哪些审计事件的规则。

6.1.1 定义控制规则

以下是一些允许您修改审计系统行为的控制规则:

  • -b

    设置内核中现有审计缓冲区的最大数量,例如:

    auditctl -b 8192
    
  • -f

    auditctl -f 2
    

    上述配置会在发生严重错误时触发内核恐慌。

  • -e

    auditctl -e 2
    
  • -r

    设置每秒生成消息的速率,例如:

    auditctl -r 0
    

    上述配置对生成的消息没有设置速率限制。

  • -s

    报告审计

  • 4
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
Linux安全审计和数据保护是Linux系统中非常重要的一部分,以下是一些相关的方法和步骤: 1. SELinuxLinux系统中的一个强制访问控制(MAC)系统,它可以限制进程只能访问它被授权的资源。可以通过以下命令来检查SELinux是否开启: ```shell sestatus ``` 如果SELinux处于enforcing模式,则表示它正在强制执行安全策略。如果SELinux处于permissive模式,则表示它只记录违规行为而不强制执行安全策略。如果SELinux处于disabled模式,则表示它已被完全禁用。 2. 可以使用Linux Audit框架来记录系统上发生的安全事件。可以使用以下命令来检查Linux Audit是否已安装: ```shell rpm -q audit ``` 如果未安装,则可以使用以下命令安装: ```shell yum install audit ``` 安装完成后,可以使用以下命令来启用Linux Audit: ```shell systemctl enable auditd.service systemctl start auditd.service ``` 然后,可以使用以下命令来查看Linux Audit日志: ```shell ausearch -m USER_AUTH ``` 这将显示所有与用户身份验证相关的事件。 3. 可以使用Linux系统中的加密文件系统来保护敏感数据。可以使用以下命令来创建一个加密文件系统: ```shell cryptsetup luksFormat /dev/sdb1 cryptsetup luksOpen /dev/sdb1 my_encrypted_fs mkfs.ext4 /dev/mapper/my_encrypted_fs mount /dev/mapper/my_encrypted_fs /mnt/my_encrypted_fs ``` 这将创建一个名为my_encrypted_fs的加密文件系统,并将其挂载到/mnt/my_encrypted_fs目录中。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

河 静

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值