linux内核2.6以上自带的审计模块audit
linux 记录删除动作的审计日志
linux 记录删除动作的审计日志在Linux中,要记录删除动作(如文件删除)的审计日志,通常需要使用审计框架(Audit Framework)或称为Linux审计系统(Linux Audit System,简称auditd)。
auditd是Linux内核的一部分,它可以跟踪系统上发生的安全相关事件,并将这些事件记录到审计日志中。
以下是设置Linux审计系统以记录删除动作的步骤:安装auditd服务:1.对于大多数Linux发行版,auditd服务默认已经安装。
如果没有,你可以使用包管理器安装它。
例如,在Debian/Ubuntu上,可以使用apt安装:复制代码bash`sudo apt updatesudo apt install auditd`在Red Hat/CentOS上,可以使用yum或dnf安装:复制代码bash`sudo yum install audit# 或者sudo dnf install audit`启动并启用auditd服务:2.启动auditd服务:复制代码bash`sudo systemctl start auditd`3.设置auditd服务在系统启动时自动启动:复制代码bash`sudo systemctl enable auditd`配置audit规则:4.auditd使用规则来确定要跟踪哪些事件。
你可以使用auditctl 命令来添加规则。
要跟踪文件删除事件,你可以使用-w选项来指定要监视的文件或目录,并使用-p选项来指定要跟踪的权限(在这种情况下是删除权限)。
例如,要跟踪/etc/passwd文件的删除事件,你可以执行:复制代码bash`sudo auditctl -w /etc/passwd -p wa`这里,-w指定了要监视的文件,-p wa指定了要跟踪的权限(w 表示写权限,用于跟踪文件删除;a表示属性更改)。
5.你可以根据需要添加更多的规则来跟踪其他文件或目录的删除事件。
audit_backlog_limit参数
audit_backlog_limit参数
在Linux 操作系统中,`audit_backlog_limit` 参数与Linux 审计系统(Linux Audit)相关。
Linux Audit 是一个强大的工具,用于记录系统中发生的各种安全相关事件,以便审计和分析。
`audit_backlog_limit` 参数用于配置内核中审计事件的日志缓冲区大小。
以下是关于`audit_backlog_limit` 参数的一些信息:
1. 含义:
- `audit_backlog_limit` 定义了内核审计子系统的事件日志缓冲区的大小限制。
2. 作用:
-当系统上发生大量的审计事件时,这个参数决定了内核能够缓存的事件数量。
3. 设置方法:
-你可以通过修改`/etc/audit/auditd.conf` 文件中的`audit_backlog_limit` 参数的值来进行设置。
在配置文件中,你可能会找到类似如下的行:
```
audit_backlog_limit = 8192
```
这表示缓冲区的大小为8192。
4. 默认值:
-默认情况下,`audit_backlog_limit` 的值可能因Linux 发行版而异,但通常会有一个合理的默认值。
5. 注意事项:
-如果系统上的审计事件非常频繁,你可能需要根据实际需要调整`audit_backlog_limit` 的值,以确保不会丢失任何关键的审计信息。
请注意,以上信息可能随时间和Linux 发行版的更新而变化。
要获取最准确和最新的信息,请查阅你使用的Linux 发行版的官方文档或手册。
添加audit规则
添加audit规则在Linux系统中,audit是一个非常重要的安全工具,它可以记录系统中发生的各种事件,如用户登录、文件访问、进程启动等等。
通过对这些事件的记录和分析,可以帮助管理员及时发现系统中的安全问题,并采取相应的措施进行处理。
本文将介绍如何添加audit 规则来记录系统中的事件。
1. 安装audit在添加audit规则之前,需要先安装audit工具。
在大多数Linux 发行版中,audit都是默认安装的,如果没有安装,可以使用以下命令进行安装:```sudo apt-get install auditd```2. 添加audit规则添加audit规则的方法有很多种,这里介绍两种常用的方法。
方法一:使用auditctl命令添加规则auditctl是audit工具的一个命令行工具,可以用来添加、删除、修改audit规则。
以下是一个添加规则的示例:```sudo auditctl -a always,exit -F arch=b64 -S execve```这个规则的含义是:每当有一个64位进程执行execve系统调用时,就会记录一条日志。
方法二:编辑audit规则文件audit规则文件位于/etc/audit/rules.d/目录下,可以使用文本编辑器进行编辑。
以下是一个添加规则的示例:```sudo nano /etc/audit/rules.d/audit.rules```在文件中添加以下内容:```-a always,exit -F arch=b64 -S execve```保存文件后,使用以下命令重启audit服务:```sudo service auditd restart```3. 查看audit日志添加了audit规则后,系统会自动记录相应的事件,并将日志保存在/var/log/audit/目录下。
可以使用以下命令查看audit日志:```sudo ausearch -m USER_LOGIN -ts today```这个命令的含义是:查找今天发生的所有用户登录事件。
linux audit.rules 常用规则
linux audit.rules 常用规则Linux audit.rules是Linux操作系统中一个系统审计框架,可以用来记录各种系统事件和行为,如登录、文件访问、进程启停等等,从而提高系统的安全性和可审计性。
以下是一些常用的audit.rules规则:1. 监控特定目录或文件的访问:```-w /etc/passwd -p wa -k passwd-file```该规则用于监控/etc/passwd文件的写入和修改操作,并将相关事件标记为passwd-file。
2. 监控用户或用户组的变更:```-w /etc/group -p wa -k group-file-w /etc/passwd -p wa -k passwd-file-w /etc/gshadow -p wa -k gshadow-file-w /etc/shadow -p wa -k shadow-file```该规则用于监控/etc/group、/etc/passwd、/etc/gshadow、/etc/shadow 这几个敏感文件的写入和修改操作,并将相关事件标记为group-file、passwd-file、gshadow-file、shadow-file。
3. 监控系统的网络连接:```-a exit,always -F arch=b64 -S socket -F success=1 -k network-a exit,always -F arch=b32 -S socket -F success=1 -k network```该规则用于监控系统中所有成功的网络连接,并将相关事件标记为network。
4. 监控用户登录和退出:```-w /var/log/faillog -p wa -k login-failures-w /var/log/lastlog -p wa -k login-failures-w /var/log/btmp -p wa -k login-failures-w /var/log/wtmp -p wa -k login```该规则用于监控/var/log/faillog、/var/log/lastlog、/var/log/btmp、/var/log/wtmp这些文件的读写操作,从而监控用户的登录和退出行为,并将相关事件标记为login-failures和login。
Linux中与安全审计有关的函数audit
static DECLARE_WAIT_QUEUE_HEAD(audit_backlog_wait);
struct audit_buffer *audit_log_start(struct audit_context *ctx, gfp_t gfp_mask,int type)
ab->gfp_mask = gfp_mask;
//扩展套接字缓冲区skb的已使用数据区,将netlink消息头数据nlmsghdr加到
skbnlh = (struct nlmsghdr *)skb_put(ab->skb, NLMSG_SPACE(0));
nlh->nlmsg_type = type;
remove_wait_queue(&audit_backlog_wait, &wait);continue;
}
//检查每秒发送的记录数不能超过上限,以防止受非法攻击
if (audit_rate_check())
printk(KERN_WARNING "audit: audit_backlog=%d > " "audit_backlog_limit=%d\n", skb_queue_len(&audit_skb_queue), audit_backlog_limit);
return ab;
}
函数audit_buffer_alloc申请审计缓冲区,先尝试从空闲链表上取下一个缓冲区,如果空闲链表中没有,就分配一个缓冲区。然后,填充netlink消息头。
该函数列出如下:
static DEFINE_SPINLOCK(audit_freelist_lock);//定义自旋锁,用于锁住链表
auditd审计历史命令
auditd是Linux系统下的一个审计工具,可以用来对系统中的各种活动进行监控和记录。
默认情况下,auditd只会记录当前时间点之后的活动。
如果要查看之前的命令记录,需要使用工具进行查询。
要查看auditd审计历史命令,可以使用以下步骤:1. 安装auditd工具。
在大多数Linux发行版中,auditd已经预装。
如果没有预装,可以从官方网站下载并安装。
2. 启动auditd服务。
使用命令service auditd start或/etc/init.d/auditd start启动auditd服务。
3. 查看auditd日志文件。
默认情况下,auditd的日志文件位于/var/log/audit/audit.log。
使用cat或less等命令可以查看该文件的内容。
4. 使用ausearch命令搜索历史命令记录。
ausearch命令是auditd 提供的一个工具,可以用来搜索审计日志文件中的历史命令记录。
使用命令ausearch -m command可以搜索所有包含"command"关键词的记录。
例如,ausearch -m ls将搜索所有包含"ls"命令的记录。
5. 查看特定用户的命令记录。
如果要查看特定用户的命令记录,可以在ausearch命令中指定-u参数,后跟用户名。
例如,ausearch -u username将搜索所有该用户执行的命令记录。
需要注意的是,由于auditd的日志文件可能会非常大,因此需要使用适当的工具或脚本进行筛选和分析。
同时,为了保护系统安全,应该谨慎处理和存储审计日志文件。
linux audit审计日志
linux audit审计日志摘要:一、Linux 审计概述1.审计的作用2.审计的种类3.审计日志的存储位置二、Linux audit 审计日志工具1.auditctl2.ausearch3.aureport三、如何进行Linux 审计日志分析1.使用ausearch 搜索审计日志文件2.分析audit.log 文件3.使用aureport 生成审计报告四、案例分享1.Oracle 审计2.MySQL 审计正文:一、Linux 审计概述审计是系统安全和合规性的重要组成部分。
在Linux 系统中,审计可以记录系统的操作和事件,以便管理员能够监控和审查系统的活动。
审计分为两种类型:日志审计和文件审计。
日志审计主要用于记录系统的事件,如登录、登录失败、文件访问等。
文件审计则用于记录文件的访问和修改情况。
审计日志文件通常存储在/var/log/audit目录下。
这个目录包含了所有审计日志文件,例如audit.log、audit.log.1、audit.log.2等。
二、Linux audit 审计日志工具在Linux 系统中,有多个工具可以用于审计日志。
下面介绍三个常用的工具:1.auditctlauditctl 是Linux 系统中的一个审计工具,可以用于控制审计日志的开启和关闭,以及设置审计日志的级别。
它位于/usr/bin/auditctl。
使用方法如下:```auditctl -l /path/to/audit.log```2.ausearchausearch 是Linux 系统中的一个审计工具,可以用于搜索审计日志文件中的特定事件。
它位于/usr/bin/ausearch。
使用方法如下:```ausearch /path/to/audit.log "event_name"```3.aureportaureport 是Linux 系统中的一个审计工具,可以用于生成审计报告。
linux audit 例子
linux audit 例子Linux Audit是一种用于记录系统事件的安全审计工具。
它可以跟踪并记录与系统安全相关的事件,例如用户登录、文件访问、系统调用、系统配置更改等。
在这篇文章中,我们将探讨一些Linux Audit 的实际应用例子。
首先,让我们看一个简单的例子。
假设我在一个多用户的Linux 系统上进行管理,我想要监控用户登录活动。
我可以使用Linux Audit 来审计登录事件并记录下来。
为了实现这一点,我需要编辑Audit规则配置文件`/etc/audit/rules.d/login.rules`,并添加以下规则:```-w /var/log/lastlog -p wa -k login```上述规则中,“-w”用于监控文件`/var/log/lastlog`的写入操作,“-p wa”表示监控写操作和属性更改,“-k login”表示将审计事件与登录相关的关键字“login”关联起来。
一旦有用户登录系统并写入了`/var/log/lastlog`文件,Linux Audit将记录这一事件。
此外,我们还可以使用Linux Audit来监控敏感文件的访问。
例如,我想要监控`/etc/passwd`文件的读取操作。
为了实现这一点,我需要编辑Audit规则配置文件`/etc/audit/rules.d/passwd.rules`,并添加以下规则:```-w /etc/passwd -p r -k passwd```上述规则中,“-w”用于监控文件`/etc/passwd`的读取操作,“-p r”表示监控读操作,“-k passwd”表示将审计事件与密码文件相关的关键字“passwd”关联起来。
一旦有用户读取了`/etc/passwd`文件,Linux Audit将记录这一事件。
除了文件访问审计,我们还可以使用Linux Audit来跟踪系统调用。
例如,我想要监控系统中的所有fork()系统调用,我可以编辑Audit规则配置文件`/etc/audit/rules.d/fork.rules`,并添加以下规则:```-a always,exit -F arch=b64 -S fork -k fork```上述规则中,“-a always,exi t”表示监控所有退出的系统调用,“-F arch=b64”表示监控64位系统调用,“-S fork”表示监控fork()系统调用,“-k fork”表示将审计事件与fork相关的关键字“fork”关联起来。
添加audit规则
添加audit规则audit规则是Linux系统审计的核心,也是服务器安全的重要一环。
audit规则可以用于跟踪对系统文件的访问情况,实时记录用户的操作,并记录操作产生的结果。
1、安装审计工具auditdauditd是一款审计工具,它可以收集、解析和存储操作系统的审计数据。
auditd在系统中可以监控几乎所有的活动,甚至是改变系统状态的活动,还可以跟踪用户对系统、文件、网络资源的使用情况。
在CentOS系统中,我们可以使用yum命令安装auditd:```# yum install auditd```安装完成后,可以通过以下命令检查auditd服务是否已经启动: ```# service auditd status```如果auditd服务未启动,可以使用以下命令启动它:```# service auditd start```2、修改auditd配置文件auditd的配置信息存储在/etc/audit/auditd.conf文件中,在修改该文件之前,建议您备份一份原始文件。
默认情况下,auditd是以守护进程的形式运行的,如果守护进程发生故障,auditd会自动重启。
此外,auditd也支持定期清理审计日志的功能,这可以通过修改auditd.conf文件实现。
审计日志的收集也是需要配置的,例如,我们可以设置auditd 收集哪些类型的操作系统动作,收集的信息有哪些等等。
这一切都可以通过修改auditd.conf文件来实现。
3、添加audit规则audit规则用于指定auditd要收集哪些活动,以及收集的信息有哪些,这些规则有多种类型,如:系统调用、文件系统访问、账号活动、系统配置等。
我们可以使用auditctl命令来添加audit规则,其用法如下: ```# auditctl [-e <options>] [action] <rule>```其中,-e <options>表示审计动作的优先级,action表示添加、修改或删除规则,而<rule>代表要添加的审计规则。
linux audit 审计规则
linux audit 审计规则Linux 操作系统具备强大的审计功能,可以通过 Linux Audit 工具来监控系统中发生的各种事件和活动。
在本文中,我们将介绍一些常见的Linux Audit 审计规则,以提高系统的安全性和追踪能力。
1. 登录事件审计规则:- 审计成功和失败的登录尝试- 记录登录用户的身份和IP地址- 如果登录尝试失败,记录失败的原因2. 文件和目录审计规则:- 监测文件和目录的创建、修改和删除操作- 记录操作者的身份和操作时间- 监控对系统关键文件的访问,如/etc/passwd 等3. 系统配置审计规则:- 监测对系统配置文件的更改- 记录更改前后的配置信息- 确保只有授权用户可以修改系统配置4. 特权命令审计规则:- 记录对特权命令的执行,如sudo、su 等- 记录执行特权命令的用户和执行结果- 确保只有授权用户才能执行特权命令5. 网络活动审计规则:- 监测网络连接的建立和终止- 记录连接的源IP和目标IP- 检测和记录异常网络流量,如大量连接尝试等6. 审计日志保留规则:- 确保审计日志的持久性和完整性- 配置合适的日志保留周期和大小限制- 定期备份审计日志,防止丢失或篡改通过应用上述的 Linux Audit 审计规则,可以增强系统的安全性并提高对系统事件的追踪能力。
定期审查审计日志,可以及时发现潜在的安全威胁和异常活动,并采取相应的措施加以应对。
同时,我们还应定期更新审计规则,以适应系统配置和安全需求的变化。
请根据具体的系统环境和安全要求,对上述审计规则进行相应的调整和优化。
同时,与操作系统和服务器管理员密切合作,确保审计规则的有效性和正确实施。
linux 配置审计服务策略
linux 配置审计服务策略摘要:1.Linux 配置审计服务策略背景2.Linux 审计服务简介3.配置审计服务的步骤a.安装审计服务工具b.配置审计服务c.启动审计服务d.配置防火墙4.审计服务策略示例5.总结正文:Linux 配置审计服务策略在Linux 系统中,审计服务是一种用于记录系统和用户活动的工具,可以帮助管理员了解系统运行状况、发现安全问题和优化系统性能。
通过配置审计服务策略,可以确保系统安全并满足合规要求。
本文将介绍Linux 配置审计服务策略的相关内容。
Linux 审计服务简介Linux 审计服务(Audit Service)是一个基于内核的安全模块,可以收集系统事件并生成审计报告。
审计服务支持多种事件类型,包括进程创建、文件访问、用户登录等。
通过审计服务,管理员可以实时了解系统活动,快速发现并解决问题。
配置审计服务的步骤要配置审计服务策略,需要遵循以下步骤:1.安装审计服务工具首先,需要确保系统中已安装审计服务工具。
在基于Debian 的系统中,可以使用以下命令安装:```sudo apt-get install auditd audispd-plugins```在基于RHEL 的系统中,可以使用以下命令安装:```sudo yum install audit audit-libs```2.配置审计服务安装完成后,需要配置审计服务的相关参数。
编辑`/etc/audit/auditd.conf` 文件,设置审计事件级别、日志文件路径等:```# 设置日志文件路径log_file = /var/log/audit/audit.log# 设置审计事件级别event_level = "info"# 设置审计事件类型,例如:进程创建、文件访问等type = "all"```3.启动审计服务保存配置文件后,需要启动审计服务。
在基于Debian 的系统中,可以使用以下命令启动:```sudo systemctl start auditd```在基于RHEL 的系统中,可以使用以下命令启动:```sudo service auditd start```4.配置防火墙为了确保审计服务的安全性,需要配置防火墙规则,允许审计服务端口(默认端口为514)的流量:```sudo ufw allow 514/tcp```审计服务策略示例以下是一个简单的审计服务策略示例:- 收集所有登录事件的审计报告,并保存到/var/log/audit/login.log 文件中;- 收集所有文件访问事件的审计报告,并保存到/var/log/audit/file_access.log 文件中;- 禁止审计进程创建事件的记录。
auditd添加审计规则etc -回复
auditd添加审计规则etc -回复如何向auditd添加审计规则(etc)Auditd是一个用于记录系统活动的Linux内核功能模块。
它可以监视文件的访问、进程和用户的活动,并将其写入/var/log/audit/audit.log 文件中。
这样的审计功能对于确保系统的安全性和合规性非常重要。
在本文中,我们将讲解如何向auditd添加审计规则,并重点关注/etc目录。
第一步:了解audit规则语法在开始添加审计规则之前,我们需要了解audit规则的语法。
audit 规则由以下几个部分组成:1. 规则字段:用于指定要监视的系统对象,比如文件路径、进程ID、用户ID等。
2. 动作字段:用于指定当规则匹配时要执行的操作,如记录到日志、触发警报等。
3. 可选字段:用于指定规则的其他参数,如规则的优先级、审计类别等。
第二步:编辑auditd配置文件auditd的配置文件位于/etc/audit/auditd.conf。
我们可以使用文本编辑器打开该文件,并查找audit_rules配置段。
在这个配置段中,auditd 会读取并应用预定义的审计规则。
但是,我们可以向其中添加自定义的规则。
找到如下注释的行:this file controls the rules used by auditd我们需要在这行的下方添加我们自己的审计规则。
第三步:添加审计规则在添加审计规则之前,我们需要确认我们要监视的文件路径或目录。
在这个例子中,我们将关注/etc目录。
为了添加一个监视/etc目录的审计规则,我们可以使用以下命令:auditctl -w /etc -p wa -k etc_audit上述命令的各个部分的含义如下:- -w:指定要监视的文件路径或目录。
在这个例子中,我们指定了/etc 目录。
- -p:指定要监视的操作。
wa表示监视文件的写入(w)和访问(a)操作。
- -k:指定规则的唯一标识符。
在这个例子中,我们使用etc_audit作为标识符。
linux audit详解
linux audit详解Linux Audit是一种用于监控和分析Linux系统上发生的事件的工具,可以帮助管理员了解和分析系统中的安全相关事件。
它主要通过三个部分工作:内核模块、auditd进程和命令行工具。
1. 内核模块:内核模块负责监听系统调用,记录有价值的事件。
这些事件包括系统调用、文件访问、权限变更等。
内核模块将收集到的审计事件发送给auditd进程。
2. auditd进程:auditd(audit daemon)是一个后台运行的进程,负责将内核模块收集的审计事件写入磁盘。
默认情况下,审计事件会被写入到“/var/log/audit/audit.log”文件。
auditd还负责定期清理旧的审计日志,以节省存储空间。
3. 命令行工具:Linux Audit提供了多个命令行工具,用于分析和处理审计日志。
这些工具包括:- aureport:展示审计事件的汇总报告,可以根据事件类型、时间范围等条件进行筛选。
- ausearch:在审计日志中搜索特定事件。
- aupolicy:查看和配置审计策略。
- auditctl:控制审计服务的启动、停止和配置。
Linux Audit的优势在于它能实时监控系统事件,帮助管理员发现潜在的安全问题。
例如,通过分析审计日志,可以检测到多次失败的登录尝试、用户对系统文件的不成功访问等异常行为。
此外,Linux Audit 符合强制访问控制(MAC)原则,可以对系统资源进行更严格的控制。
总之,Linux Audit是一个强大的安全监控工具,可以帮助管理员保障系统的安全性和稳定性。
通过内核模块、auditd进程和命令行工具,它可以实时收集、分析和处理系统事件,为管理员提供有关安全状况的详细信息。
linuxaudit审计(2)--audit启动
linuxaudit审计(2)--audit启动1、启动audit内核模块有些系统audit的内核模块时默认关闭的。
可以查看/proc/cmdline,看audit=0,如果为0,则默认不启动audit。
通过设置/boot/grub2/grub.cfg⽂件,使audit=1,或者去掉audit=0,然后重启系统,使audit内核模块启动。
再次查看/proc/cmdline已修改为audit=1。
如果audit的内核模块启动了,⽤auditctl -s查询enabled为1,但是⽤户空间的auditd守护进程没有运⾏,审计⽇志⽆⼈接管,就会被写到/var/log/messages中。
2、启动auditd守护进程我们习惯使⽤systemctl start xxx来启动⼀个服务,但是auditd⼿册中,明确指出使⽤service命令是唯⼀⼀个正确开启auditd守护进程的⽅式。
使⽤systemctl只是enable,status这两个动作可以。
正常⼀个服务,我们使⽤service xx start时都会显⽰Redirecting to /bin/systemctl start xxx.service。
我们可以通过which service来查看这个命令的源⽂件,/usr/sbin/service。
这⾥对于不同的情况,有不同的处理。
1)/etc/init.d⽬录下有这个服务;2)/usr/libexec/initscripts/legacy-actions⽬录下有这个服务;3)除了以上两种情况,其他情况下会定向到systemctl cmd xxx.service。
auditd属于第⼆种情况,/usr/libexec/initscripts/legacy-actions⽬录有auditd⽬录,如下:linux-xdYUnA:/usr/libexec/initscripts/legacy-actions/auditd # lscondrestart restart resume rotate stop1)设置开机启动/不启动systemctl enable auditdsystemctl disable auditd2)stopservice auditd stop3) reloadservice auditd reload重新加载auditd的配置⽂件/etc/audit/auditd.conf。
auditd审计规则
auditd审计规则auditd审计规则是一种用于监控和记录系统活动的工具,它可以帮助管理员检测和调查潜在的安全事件。
本文将详细介绍auditd审计规则的相关内容,包括其基本原理、配置方法以及常用规则示例。
一、基本原理auditd是Linux系统上的一个强大的审计框架,它能够监控系统内核的各种活动并生成相应的日志记录。
其基本原理是通过内核模块将需要监控的事件注册到内核中,并且在事件发生时触发相应的处理函数进行日志记录。
这些事件可以包括文件访问、进程创建、网络连接等。
二、配置方法要使用auditd进行系统审计,需要进行以下配置:1. 安装auditd软件包:在大多数Linux发行版中,auditd软件包已经预装,如果没有,可以通过包管理工具进行安装。
2. 启动auditd服务:可以使用systemctl命令启动auditd服务,并设置开机自启动。
3. 配置审计规则:审计规则定义了需要监控的事件类型和相应的处理方式。
可以通过修改/etc/audit/audit.rules文件来配置审计规则,也可以使用auditctl命令动态添加或删除规则。
4. 重启auditd服务:在修改了审计规则后,需要重启auditd服务使新规则生效。
三、常用规则示例以下是一些常用的auditd审计规则示例:1. 监控用户登录和注销事件:```-a exit,always -F arch=b64 -S execve -C uid!=euid -k login-a exit,always -F arch=b32 -S execve -C uid!=euid -k login-w /var/log/wtmp -p wa -k login```2. 监控文件和目录访问:```-w /etc/passwd -p r -k passwd-w /etc/shadow -p r -k shadow-w /etc/sudoers -p r -k sudoers-w /home -p rw -k home```3. 监控系统调用:```-a exit,always -F arch=b64 -S open,creat,unlink,rename -F success=1 -k file-a exit,always -F dir=/etc/ -F perm=wa -k etc```4. 监控网络连接:```-a exit,always -F arch=b64 -S socket -F a0=2 -k ipv4_connect -a exit,always -F arch=b64 -S socket -F a0=10 -k ipv6_connect ```这些规则可以根据实际需求进行调整和修改,以满足不同的审计需求。
linux中的audit审计日志
linux中的audit审计⽇志这⾥⾸先介绍auditctl的应⽤,具体使⽤指南查看man auditctl。
auditctl的man 描述说明这个⼯具主要是⽤来控制audit系统⾏为,获取audit 系统状态,添加或者删除audit系统的规则。
控制audit系统⾏为和获取audit系统状态参数:-s 或者auditd 状态 auditctl -s 显⽰:AUDIT_STATUS: enabled=1 flag=1 pid=2792 rate_limit=0 backlog_limit=320 lost=0 backlog=0-e [0|1|2] 设置audit使能标识, 0 表⽰临时关闭audit,1 表⽰启⽤audit,2表⽰锁住audit规则配置⽂件,这条命令⼀般设这在audit.rules的最后⼀条,任何⼈试图修改audit规则都会被记录,并且禁⽌修改。
-f [0|1|2]控制失败标识。
也就flag位,这个位的主要作⽤是This option lets you determine how you want the kernel to handle critical errors -r 设置速率,也就是每秒钟消息数⽬,⾮0的话如果系统在1秒钟⼤于设定的值,就会触发系统flag标识的⾏为-b 设置backlog_limitaudit系统规则设置:⽂件系统audit设置:-w path path是⼀个⽂件或者⽬录的绝对路径。
-p [r|w|x|a] 和-w⼀起使⽤,监测⽤户对这个⽬录的读写执⾏或者属性变化如时间戳变化。
-k 指定⼀个key,在ausearch的时候使⽤系统调⽤的监控:-a 添加⼀条系统调⽤监控规则-S 后⾯接需要监测的系统调⽤的名称显⽰规则和移除规则:-D 删除所有规则-d 删除⼀条规则和-a对应-W 删除⼀条规则和-w对应-l 列出所有规则-s根据名称或数字指定⼀个系统。
要指定所有系统调⽤,可使⽤all作为系统调⽤名称。
linuxaudit审计(6)--audit永久生效的规则配置
linuxaudit审计(6)--audit永久⽣效的规则配置定义reboot系统后,仍然⽣效的审计规则,有两种办法:1、直接写⼊/etc/audit/audit.rules⽂件中,在service⽂件中需要加⼊ExecStartPost=-/sbin/auditctl -R /etc/audit/audit.rules2、将规则⽂件放⼊到/etc/audit/rules.d/⽬录下,在service⽂件中加⼊ExecStartPost=-/sbin/augenrules --load以上两种⽅法都有对应的命令:1、auditctl -R path-to-rules,如auditctl -R /etc/audit/rules.d/30-pci-dss.rules2、augenrules --load使⽤这个命令可以将/etc/audit/rules.d⽬录下的规则,按照顺序编辑到audit.rules中。
在/usr/share/doc/audit/rules/路径下,audit包提供了已经配置好的规则⽂件,⽤于各种认证,如PCI DSS,STIG等。
如下:linux-xdYUnA:/usr/share/doc/audit-2.7.6/rules # lltotal 96-rw-r--r-- 1 root root 163 Mar 29 17:19 10-base-config.rules-rw-r--r-- 1 root root 284 Apr 19 2017 10-no-audit.rules-rw-r--r-- 1 root root 93 Apr 19 2017 11-loginuid.rules-rw-r--r-- 1 root root 329 Apr 19 2017 12-cont-fail.rules-rw-r--r-- 1 root root 323 Apr 19 2017 12-ignore-error.rules-rw-r--r-- 1 root root 516 Apr 19 2017 20-dont-audit.rules-rw-r--r-- 1 root root 273 Apr 19 2017 21-no32bit.rules-rw-r--r-- 1 root root 252 Apr 19 2017 22-ignore-chrony.rules-rw-r--r-- 1 root root 4915 Apr 19 2017 30-nispom.rules-rw-r--r-- 1 root root 5952 Apr 19 2017 30-pci-dss-v31.rules-rw-r--r-- 1 root root 6663 Apr 19 2017 30-stig.rules-rw-r--r-- 1 root root 1498 Apr 19 2017 31-privileged.rules-rw-r--r-- 1 root root 218 Apr 19 2017 32-power-abuse.rules-rw-r--r-- 1 root root 156 Apr 19 2017 40-local.rules-rw-r--r-- 1 root root 439 Apr 19 2017 41-containers.rules-rw-r--r-- 1 root root 672 Apr 19 2017 42-injection.rules-rw-r--r-- 1 root root 424 Apr 19 2017 43-module-load.rules-rw-r--r-- 1 root root 326 Apr 19 2017 70-einval.rules-rw-r--r-- 1 root root 151 Apr 19 2017 71-networking.rules-rw-r--r-- 1 root root 86 Apr 19 2017 99-finalize.rules-rw-r--r-- 1 root root 1202 Apr 19 2017 README-rules注意,每个rules有⼀个数字,这些表⽰的是加载顺序。
linux audit用法 -回复
linux audit用法-回复“Linux Audit用法”作为主题,将在本文中一步一步回答有关该主题的问题。
第一步:了解Linux Audit首先,我们需要了解什么是Linux Audit。
Linux Audit是一个安全审计工具,用于监控系统中的各种事件和活动。
它可以帮助管理员识别潜在的安全威胁和问题,并提供相关的日志记录。
第二步:安装Linux Audit在大多数Linux分发版中,Linux Audit默认是预安装的。
如果您的系统上没有安装它,您可以使用包管理工具(如apt、yum等)安装。
在Debian或Ubuntu上,您可以使用以下命令安装:sudo apt-get updatesudo apt-get install auditd在Red Hat或CentOS上,您可以使用以下命令安装:sudo yum install audit第三步:配置Linux Audit一旦安装完Linux Audit,您需要配置它以监视感兴趣的事件。
配置文件位于“/etc/audit/auditd.conf”。
您可以使用编辑器(如vi或nano)打开此文件,并对其中的参数进行更改。
以下是一些常见的配置选项:- log_file:指定日志文件的位置。
- log_format:指定日志文件的格式。
- num_logs:指定日志文件的数量。
- max_log_file:指定每个日志文件的最大大小。
- space_left:指定文件系统上必须保留的空间。
- flush反向指定审计日志的刷新频率。
- admin_email:指定管理员的电子邮件地址。
您可以根据自己的需求进行适当的配置更改。
配置文件中还提供了很多其他选项,您可以根据需要调整它们。
第四步:启动和停止Linux Audit一旦完成配置,您可以使用以下命令启动Linux Audit:sudo service auditd start如果您要停止Linux Audit,可以使用以下命令:sudo service auditd stop第五步:查看审计日志完成以上步骤后,Linux Audit将开始记录系统中的各种事件和活动。
linux的审计功能(audit)
linux的审计功能(audit)PART ONE为了满足这样的需求:记录文件变化、记录用户对文件的读写,甚至记录系统调用,文件变化通知。
什么是auditThe Linux Audit Subsystem is a system to Collect information regarding events occurring on the system(s)Kernel events (syscall events)User events (audit-enabled programs)syslog会记录系统状态(硬件警告、软件的log), 但syslog属于应用层, log归咎与软件, 并不会记录所有动作. 于是audit来记录更多信息。
audit命令auditctl audit系统管理工具,用来获取状态,增加删除监控规则。
ausearch 查询audit log工具aureport 输出audit系统报告auditctl示例auditctl -w /etc/passwd -p war -k password_fileauditctl -w /tmp -p e -k webserver_watch_tmp-w 监控文件路径 /etc/passwd,-p 监控文件筛选 r(读) w(写) x(执行) a(属性改变)-k 筛选字符串,用于查询监控日志auditctl -a exit,never -S mountauditctl -a entry,always -S all -F pid=1005-S 监控系统调用-F 给出更多监控条件(pid/path/egid/euid等)日志查询设置了监控后,会在/var/log/audit/audit.log里出现日志。
可以用此命令查看日志:ausearch -f /etc/passwd -x rm-k 利用auditctl指定的key查询-x 执行程序# ausearch -ts today -k password-file# ausearch -ts 3/12/07 -k password-file-ts 指定时间后的log (start time)-te 指定时间前的log (end time)audit库libaudit和libaudit-python不过完全找不到文档。
linux audit 审计规则总结与介绍
linux audit 审计规则总结与介绍Linux系统的安全性对于企业来说至关重要。
Audit审计作为一种监控和记录系统上各种操作的技术手段,可以帮助管理员及时发现并追踪可疑行为。
本文将为您详细介绍Linux Audit的审计规则,帮助您更好地理解和运用这一强大的系统监控工具。
一、Linux Audit审计规则概述Linux Audit审计是一种基于内核的审计机制,可以监控系统调用和文件访问等操作。
审计规则定义了哪些事件应该被记录下来,它们通常存储在/etc/audit/audit.rules文件中。
二、审计规则类型1.系统调用规则:监控指定的系统调用,如open、read、write等。
2.文件监控规则:监控对特定文件的访问,如读、写、执行等。
3.用户监控规则:监控特定用户的操作。
4.框架规则:用于定义审计策略的通用规则。
三、审计规则配置1.启用审计服务首先需要确保auditd服务已经安装并启动。
```bashsudo apt-get install auditd # 在Debian/Ubuntu系统中安装sudo systemctl start auditd # 启动审计服务```2.修改审计规则编辑/etc/audit/audit.rules文件,添加以下规则:- 记录所有登录和登出事件:```-a always,exit -F arch=b64 -S login -S logout -k session```- 记录所有文件删除操作:```-a always,exit -F arch=b64 -S unlink -S unlinkat -k delete```- 记录特定用户的所有操作:```-a always,exit -F arch=b64 -F auid=1000 -S all -k user```- 记录对特定文件的访问:```-w /etc/passwd -p wa -k password```四、审计日志分析审计日志通常存储在/var/log/audit/audit.log文件中。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
linux内核2.6以上版本自带的审计模块audit查看linux下是否已安装audit 模块:rpm –qa|grep audit启动audit模块:auditd启动审计:service auditd start/var/log/audit只有根用户有读、写和执行权限。
所有其他用户都不能访问这个目录或这个目录中的日志文件chmod 600 /var/log/auditchmod 600 /var/log/audit/audit.log25.1 配置审计守护进程默认审计守护进程参数/etc/audit/auditd.conf可以配置下面这些选项:log_file审计日志文件的完整路径。
如果您配置守护进程向除默认/var/log/audit/外的目录中写日志文件时,一定要修改它上面的文件权限,使得只有根用户有读、写和执行权限。
所有其他用户都不能访问这个目录或这个目录中的日志文件。
log_format写日志时要使用的格式。
当设置为RAW时,数据会以从内核中检索到的格式写到日志文件中。
当设置为NOLOG时,数据不会写到日志文件中,但是如果用dispatcher选项指定了一个,则数据仍然会发送到审计事件调度程序中。
priority_boost审计应采用多少优先级推进守护进程。
必须是非负数。
0表示没有变化。
flush多长时间向日志文件中写一次数据。
值可以是NONE、INCREMENTAL、DATA和SYNC 之一。
如果设置为NONE,则不需要做特殊努力来将数据刷新到日志文件中。
如果设置为INCREMENTAL,则用freq选项的值确定多长时间发生一次向磁盘的刷新。
如果设置为DA TA,则审计数据和日志文件一直是同步的。
如果设置为SYNC,则每次写到日志文件时,数据和元数据是同步的。
freq如果flush设置为INCREMETNAL,审计守护进程在写到日志文件中前从内核中接收的记录数。
num_logsmax_log_file_action设置为ROTATE时要保存的日志文件数目。
必须是0~99之间的数。
如果设置为小于2,则不会循环日志。
如果递增了日志文件的数目,就可能有必要递增/etc/audit/audit.rules中的内核backlog设置值,以便留出日志循环的时间。
如果没有设置num_logs值,它就默认为0,意味着从来不循环日志文件。
dispatcher当启动这个守护进程时,由审计守护进程自动启动程序。
所有守护进程都传递给这个程序。
可以用它来进一步定制报表或者以与您的自定义分析程序兼容的不同格式产生它们。
自定义程序的示例代码可以在/usr/share/doc/audit- <version>/skeleton.c中找到。
由于调度程序用根用户特权运行,因此使用这个选项时要极其小心。
这个选项不是必需的。
disp_qos控制调度程序与审计守护进程之间的通信类型。
有效值为lossy和lossless。
如果设置为lossy,若审计守护进程与调度程序之间的缓冲区已满(缓冲区为128千字节),则发送给调度程序的引入事件会被丢弃。
然而,只要log_format没有设置为nolog,事件就仍然会写到磁盘中。
如果设置为lossless,则在向调度程序发送事件之前和将日志写到磁盘之前,调度程序会等待缓冲区有足够的空间。
max_log_file以兆字节表示的最大日志文件容量。
当达到这个容量时,会执行max_log_file _action指定的动作。
max_log_file_action当达到max_log_file的日志文件大小时采取的动作。
值必须是IGNORE、SYSLOG、SUSPEND、ROTA TE和KEEP_LOGS之一。
如果设置为IGNORE,则在日志文件达到max_log_file后不采取动作。
如果设置为SYSLOG,则当达到文件容量时会向系统日志/var /log/messages中写入一条警告。
如果设置为SUSPEND,则当达到文件容量后不会向日志文件写入审计消息。
如果设置为ROTATE,则当达到指定文件容量后会循环日志文件,但是只会保存一定数目的老文件,这个数目由num_logs参数指定。
老文件的文件名将为audit.log.N,其中N是一个数字。
这个数字越大,则文件越老。
如果设置为KEEP_LOGS,则会循环日志文件,但是会忽略num_logs参数,因此不会删除日志文件。
space_left以兆字节表示的磁盘空间数量。
当达到这个水平时,会采取space_left_action参数中的动作。
space_left_action当磁盘空间量达到space_left中的值时,采取这个动作。
有效值为IGNORE、SYSLOG、EMAIL、SUSPEND、SINGLE和HALT。
如果设置为IGNORE,则不采取动作。
如果设置为SYSLOG,则向系统日志/var/log/messages写一条警告消息。
如果设置为EMAIL,则从action_mail_acct向这个地址发送一封电子邮件,并向/var/log/messages中写一条警告消息。
如果设置为SUSPEND,则不再向审计日志文件中写警告消息。
如果设置为SINGLE,则系统将在单用户模式下。
如果设置为HALT,则系统会关闭。
action_mail_acct负责维护审计守护进程和日志的管理员的电子邮件地址。
如果地址没有主机名,则假定主机名为本地地址,比如root。
必须安装sendmail并配置为向指定电子邮件地址发送电子邮件。
admin_space_left以兆字节表示的磁盘空间数量。
用这个选项设置比space_left_action更多的主动性动作,以防万一space_left_action没有让管理员释放任何磁盘空间。
这个值应小于space_left。
如果达到这个水平,则会采取admin_space_left_ action所指定的动作。
admin_space_left_action当自由磁盘空间量达到admin_space_left指定的值时,则采取动作。
有效值为IGNORE、SYSLOG、EMAIL、SUSPEND、SINGLE和HALT。
与这些值关联的动作与space_left_action 中的相同。
disk_full_action如果含有这个审计文件的分区已满,则采取这个动作。
可能值为IGNORE、SYSLOG、SUSPEND、SINGLE和HALT。
与这些值关联的动作与space_left _action中的相同。
提示:如果不循环审计日志文件,则含有/var/log/audit/的分区可能变满并引起系统错误。
因此,建议让/var/log/audit/位于一个单独的专用分区。
disk_error_action如果在写审计日志或循环日志文件时检测到错误时采取的动作。
值必须是IGNORE、SYSLOG、SUSPEND、SINGLE和HALT之一。
与这些值关的动作与space_left_action中的相同。
/etc/sysconfig/auditd文件可以用来设置带EXTRAOPTIONS参数的auditd的命令行选项。
唯一的命令行选项-f以调试模式安排守护进程。
如果启用了调试模式,则会出现标准错误消息而不是日志文件。
AUDITD_LANG设置值可以用来修改守护进程的位置。
如果设置为none,则所有位置信息会从审计环境中删除。
如果AUDITD_CLEAN _STOP选项设置为yes,则当用service auditd stop命令停止守护进程时,会删除审计规则与观察器。
要了解关于审计规则的更多信息,请参见下一节。
25.2 编写审计规则与观察器Linux Auditing System可以用来为事件写规则,比如系统调用,比如用auditctl命令行实用程序观察文件或目录上的操作。
如果用初始化脚本启动auditd(用service auditd start命令),则规则和观察器可以添加到/etc/audit/audit.rules中,以便在启动守护进程时执行它们。
只有根用户可以读或修改这个文件。
/etc/audit.audit.rules中的每个规则和观察器必须单独在一行中,以#开头的行会被忽略。
规则和观察器是auditctl命令行选项,前面没有auditctl命令。
它们从上到下阅读文件。
如果一个或多个规则或观察器互相冲突,则使用找到的第一个。
25.2.1 编写审计规则要添加审计规则,可在/etc/audit/audit.rules文件中用下面的语法:-a <list>,<action> <options>警告:如果在运行守护进程时添加规则/etc/audit/audit.rules,则一定要以根用户身份用service auditd restart命令启用修改。
也可以使用service auditd reload命令,但是这种方法不会提供配置文件错误的消息。
<list>列表名必须是下列名称之一。
task每个任务的列表。
只有当创建任务时才使用。
只有在创建时就已知的字段(比如UID)才可以用在这个列表中。
entry系统调用条目列表。
当进入系统调用确定是否应创建审计时使用。
exit系统调用退出列表。
当退出系统调用以确定是否应创建审计时使用。
user用户消息过滤器列表。
内核在将用户空间事件传递给审计守护进程之前使用这个列表过滤用户空间事件。
有效的字段只有uid、auid、gid和pid。
exclude事件类型排除过滤器列表。
用于过滤管理员不想看到的事件。
用msgtype字段指定您不想记录到日志中的消息。
<action>这个动作必须下面的动作之一:never不生成审计记录。
always分配审计上下文,总是把它填充在系统调用条目中,总是在系统调用退出时写一个审计记录。
<options>可以包括下面几个选项中的一个或多个。
-s <syscall>根据名称或数字指定一个系统。
要指定所有系统调用,可使用all作为系统调用名称。
如果程序使用了这个系统调用,则开始一个审计记录。
可以为相同的规则指定多个系统调用,每个系统调用必须用-S启动。
在相同的规则中指定多个系统,而不是列出单独的规则,这样可以导致更好的性能,因为只需要评价一个规则。
- F <name[=,!=,<,>,<=]value>指定一个规则字段。
如果为一个规则指定了多个字段,则只有所有字段都为真才能启动一个审计记录。
每个规则都必须用-F启动,最多可以指定64个规则。
如果用用户名和组名作为字段,而不是用UID和GID,则会将它们解析为UID和GID以进行匹配。