配置 Linux 文件系统监控
本页介绍了如何配置 Elastic Defend 在 Linux 主机上监控哪些文件系统。
默认情况下,Elastic Defend 会监控 Elastic 已测试过兼容性的特定 Linux 文件系统类型,并忽略所有其他文件系统。
查看默认监控的文件系统
Elastic Defend 默认监控以下文件系统
- ext2
- ext3
- ext4
- overlay
- tmpfs
- vfat
- xfs
- btrfs
- zfs
但是,您可以通过配置与 fanotify(一项监控文件系统事件的 Linux 功能)相关的高级设置来实现不同的行为。
- 在导航菜单中找到 Policies,或使用 全局搜索字段 查找。
- 单击策略名称。
- 向下滚动并选择 Show advanced settings。
在此处,您可以更改以下设置
linux.advanced.fanotify.ignore_unknown_filesystems(布尔值)linux.advanced.fanotify.monitored_filesystems(列表)linux.advanced.fanotify.ignored_filesystems(列表)
有关每个设置的更多详细信息,请参见下文。
linux.advanced.fanotify.ignore_unknown_filesystems-
决定是否忽略既不是默认监控、也没有在
linux.advanced.fanotify.monitored_filesystems中列出的文件系统。输入以下选项之一true:(默认)仅监控默认监控的文件系统以及在monitored_filesystems中列出的任何文件系统。false:监控所有文件系统,但默认忽略的文件系统以及在ignored_filesystems中列出的任何文件系统除外。
即使 ignore_unknown_filesystems 为 false,Elastic Defend 仍会忽略以下文件系统,除非它们位于 linux.advanced.fanotify.monitored_filesystems 中
查看默认忽略的文件系统
Elastic Defend 不会监控以下文件系统,除非它们位于 linux.advanced.fanotify.monitored_filesystems 中
- cifs
- lustre
- nfs
- nfs4
- smbfs
- autofs
- binfmt_misc
- bpf
- cgroup
- cgroup2
- configfs
- debugfs
- devpts
- devtmpfs
- efivarfs
- fuse.gvfsd-fuse
- fuse.portal
- fusectl
- hugetlbfs
- inotifyfs
- mqueue
- nfsd
- nsfs
- proc
- pstore
- rpc_pipefs
- securityfs
- selinuxfs
- sysfs
- tracefs
linux.advanced.fanotify.monitored_filesystems-
指定要监控的文件系统。输入以逗号分隔的文件系统名称列表,格式与其在
/proc/filesystems中显示的一致(例如:jfs,ufs,ramfs)。注意建议避免监控基于网络的文件系统。
此设置中的条目会被
ignored_filesystems中的条目覆盖。
linux.advanced.fanotify.ignored_filesystems-
指定要忽略的文件系统。输入以逗号分隔的文件系统名称列表,格式与其在
/proc/filesystems中显示的一致(例如:ext4,tmpfs)。此设置中的条目会覆盖
monitored_filesystems中的条目以及linux.advanced.fanotify.ignore_unknown_filesystems: false设置。
忽略文件系统可能会在您的安全覆盖范围内造成漏洞。请为忽略的文件系统使用额外的安全层。
Btrfs(B树文件系统)是一种支持子卷的 Linux 文件系统——子卷是在单个文件系统中可以单独挂载的独立目录树。某些 Linux 发行版仅挂载 Btrfs 子卷而不挂载根卷。
由于 fanotify 的限制,Elastic Defend 无法直接监控 Btrfs 子卷。Fanotify 只能监控 Btrfs 文件系统的根目录。
如果您的 Linux 主机使用仅挂载子卷的 Btrfs,则必须同时挂载 Btrfs 根卷以启用恶意软件防护覆盖。如果未挂载根卷,Elastic Defend 将无法检测或阻止这些子卷内文件上的恶意软件。
本节提供了几种方法来确定 linux.advanced.fanotify.monitored_filesystems 和 linux.advanced.fanotify.ignored_filesystems 所需的文件系统名称。
在典型设置中,当您安装 Elastic Agent 时,Filebeat 会与 Elastic Endpoint 一起安装,并会自动将 Elastic Endpoint 日志传输到 Elasticsearch。当事件发生时,Elastic Endpoint 将生成一条关于所扫描文件的日志消息。
查找文件系统名称
在导航菜单中找到 Hosts,或者使用全局搜索字段搜索
Security/Explore/Hosts。在 Hosts 页面中,搜索
message: "Current sync path"以显示文件路径。如果您有权访问端点,请运行
findmnt -o FSTYPE -T <file path>以返回文件系统。例如> findmnt -o FSTYPE -T /etc/passwd FSTYPE ext4这将返回文件系统名称为
ext4。
或者,您还可以通过关联来自其他两条日志消息的数据来查找文件系统名称
在日志中搜索
message: "Current fdinfo"以显示文件路径的mnt_id值。在本例中,mnt_id值为29pos: 12288 flags: 02500002 mnt_id: 29 ino: 2367737在日志中搜索
message: "Current mountinfo"以显示与您在上一步中找到的mnt_id值相对应的文件系统<snip> 29 1 8:2 / / rw,relatime shared:1 - ext4 /dev/sda2 rw,errors=remount-ro <snip>第一个数字
29是mnt_id,连字符 (-) 之后的第一个字段是文件系统名称ext4。