本文介绍如何通过阿里云Auditbeat收集Linux系统的审计框架数据,监控系统文件的更改情况,并生成可视化图表。
背景信息
Auditbeat是轻量型的审计日志采集器,可以收集Linux审计框架的数据,并监控文件完整性。例如使用Auditbeat从Linux Audit Framework收集和集中审核事件,以及检测对关键文件(如二进制文件和配置文件)的更改,并确定潜在的安全策略冲突,生成标准的结构化数据,方便分析。而且Auditbeat能够与Logstash、Elasticsearch和Kibana无缝集成。
Auditbeat支持两种模块:
Auditd
Auditd模块接收来自Linux审计框架的审计事件,审计框架是Linux内核的一部分。Auditd模块可以建立对内核的订阅,以便在事件发生时接收它们,详情请参见官方Auditd文档。
重要在启用Auditd模块的情况下运行Auditbeat时,您可能会发现其他监控工具会干扰Auditbeat。例如,如果注册了另一个进程(例如auditd)来从Linux Audit Framework接收数据,则可能会遇到错误。此时可以使用
service auditd stop
命令停止该进程。File Integrity
File Integrity模块可以实时监控指定目录下的文件的更改情况。如果要在Linux系统中使用File Integrity,请确保Linux内核支持inotify(2.6.13以上内核均已安装inotify),详情请参见官方File Integrity文档。
说明目前官方Auditbeat System模块还处于实验阶段,将来的版本中可能删除或者更改,建议不要使用。更多模块详情请参见modules。
前提条件
您已完成以下操作:
创建阿里云Elasticsearch实例。
详情请参见创建阿里云Elasticsearch实例。
开启阿里云ES实例的自动创建索引功能。
出于安全考虑,阿里云ES默认不允许自动创建索引。但是Beats目前依赖该功能,因此如果采集器Output选择为Elasticsearch,需要开启自动创建索引功能,详情请参见快速访问与配置。
创建阿里云ECS实例,且该ECS实例与阿里云ES实例处于同一专有网络VPC(Virtual Private Cloud)下。
详情请参见自定义购买实例。
重要Beats目前仅支持Alibaba Cloud Linux (Alinux)、RedHat和CentOS这三种操作系统。
在目标ECS实例上安装云助手和Docker服务。
操作步骤
- 登录阿里云Elasticsearch控制台。
在左侧导航栏,单击Beats数据采集中心。
在创建采集器区域中,单击Auditbeat。
安装并配置采集器。
详情请参见采集ECS服务日志和采集器YML配置,本文使用的配置如下。
说明勾选启用Monitoring,系统会在Kibana控制台开启Auditbeat服务的监控。
勾选启用Kibana Dashboard,系统会在Kibana控制台中生成图表,无需额外配置Yml。由于阿里云Kibana配置在VPC内,因此需要先在Kibana配置页面开通Kibana私网访问功能,详情请参见配置Kibana公网或私网访问白名单。
本文使用默认的auditbeat.yml配置文件,无需更改。相关模块配置说明如下:
Auditd模块配置
- module: auditd # Load audit rules from separate files. Same format as audit.rules(7). audit_rule_files: [ '${path.config}/audit.rules.d/*.conf' ] audit_rules: |
audit_rule_files
:指定加载的审计规则文件,支持通配符,默认提供了32位和64位两种,请根据您的系统选择其一。audit_rules
:定义审计规则。可连接ECS,执行./auditbeat show auditd-rules
命令,查看默认的审计规则。-a never,exit -S all -F pid=26253 -a always,exit -F arch=b32 -S all -F key=32bit-abi -a always,exit -F arch=b64 -S execve,execveat -F key=exec -a always,exit -F arch=b64 -S connect,accept,bind -F key=external-access -w /etc/group -p wa -k identity -w /etc/passwd -p wa -k identity -w /etc/gshadow -p wa -k identity -a always,exit -F arch=b64 -S open,truncate,ftruncate,create,openat,open_by_handle_at -F exit=-EACCES -F key=access -a always,exit -F arch=b64 -S open,truncate,ftruncate,create,openat,open_by_handle_at -F exit=-EPERM -F key=access
说明一般情况下默认规则就可以满足审计需求。如果需要自定义审计规则,可修改audit.rules.d目录下的审计规则文件。
File Integrity模块配置
- module: file_integrity paths: - /bin - /usr/bin - /sbin - /usr/sbin - /etc
paths
:指定被监控文件的路径,默认监控的路径包括/bin
、/usr/bin
、/sbin
、/usr/sbin
、/etc
。
选择采集器安装的ECS实例。
启动并查看采集器安装情况。
单击启动。
启动成功后,系统弹出启动成功对话框。
单击前往采集中心查看,返回Beats数据采集中心页面,在采集器管理区域中,查看启动成功的Auditbeat采集器。
等待采集器状态变为已生效1/1后,单击右侧操作栏下的查看运行实例。
在查看运行实例页面,查看采集器安装情况,当显示为心跳正常时,说明采集器安装成功。
查看结果
登录目标阿里云ES实例的Kibana控制台。
登录控制台的具体步骤请参见登录Kibana控制台。
在左侧导航栏,单击Discover,选择预定义的auditbeat-*模式,并选择一个时间段,查看对应时间段内的Auditbeat收集的数据。
在左侧导航栏,单击Dashboard。
在Dashboard列表中,单击[Auditbeat File Integrity] Overview,然后选择一个时间段,查看该时间段内监控文件的更改情况。