首页 > 其他分享 >如何监控文件变化,比如密码修改导致 shadow 文件变化

如何监控文件变化,比如密码修改导致 shadow 文件变化

时间:2023-06-25 20:22:39浏览次数:40  
标签:文件 catpaw ## filechange toml shadow 变化 告警

原始需求是如果系统的密码被修改,或者创建了新用户,就告警出来。本质上,只需要监控 /etc/shadow 文件变化即可。但是在指标监控体系里,这个事情就比较棘手,只能把文件的 mtime 作为指标的值上报,服务端再利用 delta 或者 increase 函数来判断 mtime 是否发生了变化。告警出来的文本也会比较简陋。

使用 catpaw 搭配 FlashDuty 则可以很好的解决这个问题。告警的样例效果如下:

20230625181626

下面我们来看看如何实现。

1. 下载 catpaw

最新版本是 0.6.0,下载地址是:https://download.flashcat.cloud/catpaw-v0.6.0-linux-amd64.tar.gz 目前只提供了 linux-amd64 版本,如有其他版本的需求可以联系我。

解压后可以看到如下内容:

.
├── catpaw
├── conf.d
│   ├── config.toml
│   ├── p.exec
│   │   └── exec.toml
│   ├── p.filechange
│   │   └── filechange.toml
│   ├── p.http
│   │   └── http.toml
│   ├── p.journaltail
│   │   └── journaltail.toml
│   ├── p.mtime
│   │   └── mtime.toml
│   ├── p.net
│   │   └── net.toml
│   ├── p.ping
│   │   └── ping.toml
│   └── p.sfilter
│       └── sfilter.toml
└── scripts
    ├── demo.sh
    ├── df.sh
    ├── greplog.sh
    └── ulimit.sh

11 directories, 14 files

其中 catpaw 是二进制文件,conf.d 目录下是各个插件的配置文件,scripts 目录下是一些示例脚本。

2. 主配置

这里最核心的配置是conf.d/config.toml,需要配置一下 flashduty.url,您需要先注册 FlashDuty,注册地址是:https://console.flashcat.cloud/signup

FlashDuty 是一个事件 OnCall 中心,可以聚合各类监控系统的事件,比如 Zabbix、Prometheus、PagerDuty、云监控、蓝鲸、Nightingale、Elastalert 等等,然后统一进行事件聚合降噪、排班、认领、升级等等。

注册 FlashDuty 之后,系统会引导你创建协作空间,您可以在协作空间下面添加一个自定义集成:

20230625182506

完事点击这个自定义集成,就可以拿到 url 了,拷贝一下 url,贴到 catpaw 的 conf.d/config.toml 中即可。

3. 配置插件

监控文件变化,可以使用 filechange 插件,配置文件在 conf.d/p.filechange/filechange.toml,样例如下:

[[instances]]
time_span = "3m"
filepaths = ["/etc/shadow"]
check = "file changed"
interval = "30s"

[instances.alerting]
## Enable alerting or not
enabled = true
## Same functionality as Prometheus keyword 'for'
for_duration = 0
## Minimum interval duration between notifications
repeat_interval = "5m"
## Maximum number of notifications
repeat_number = 3
## Whether notify recovery event
recovery_notification = true
## Choice: Critical, Warning, Info
default_severity = "Warning"

4. 启动 catpaw

我这里简单测试,使用 nohup 启动,如果生产环境,自然是建议 systemd 或者 supervisor 托管:

nohup ./catpaw &> stdout.log &

5. 测试

手工创建个用户,比如 sudo useradd qinxiaohui,就会导致 /etc/shadow 文件发生变化,进而产生告警,大家可以自行尝试一下。效果如下:

20230625181626

扩展阅读

标签:文件,catpaw,##,filechange,toml,shadow,变化,告警
From: https://www.cnblogs.com/ulricqin/p/17503849.html

相关文章

  • 文件上传-js前端验证
    先上传一个文件看看  这里有标识文件类型 方法一:禁用js前端验证使用工具禁用所有的js脚本  或者修改onsubmit参数      保证 returncheckFile()函数返回值为true 第二种方法: 上传png文件改为php后缀远程执行命令,回显成功......
  • ESP(EFI System Partition)分区是UEFI固件中的一个特殊分区,通常位于硬盘上的第一个分区,
    ESP(EFISystemPartition)分区是UEFI固件中的一个特殊分区,通常位于硬盘上的第一个分区,用于存储引导加载程序、UEFI应用程序和其他与系统启动相关的文件。ESP分区使用FAT32文件系统,并拥有特定的分区类型GUID(GUIDPartitionTable,GPT)。ESP分区的主要作用是提供一个可被UEFI固件直接......
  • windows下批量新建文件夹
          特别注意:文件名之间不能有空格......
  • "Setuperr"是一个Windows系统安装过程中生成的错误日志文件
    "Setuperr"是一个Windows系统安装过程中生成的错误日志文件。它记录了安装过程中发生的错误和问题,以便帮助诊断和解决安装失败或出现问题的情况。通常,"Setuperr"日志文件位于以下目录中:C:$WINDOWS.~BT\Sources\Panther\setuperr.log要查看"Setuperr"日志文件,请按照以下步骤进行......
  • 代码审计——任意文件下载详解
    01漏洞描述网站可能提供文件查看或下载的功能,如果对用户查看或下载的文件不做限制,就能够查看或下载任意的文件,可以是源文件,敏感文件等等。02审计要点任意文件下载漏洞发生的根本原因是系统自带的查看或下载功能,用户可控制下载路径,且当服务器不做任何限制的时候,就可以完成对任意文......
  • Linux VM通过NFS3.0挂载Azure Blob Storage Container后访问共享文件夹Permission den
    问题描述如图所示,/root-squash是一个BlobStorageContainer的挂载点。ls-al查看该目录的权限为:drwxr-xr--2rootroot0Jun2323:15root-squash当前用户身份为root,但在尝试进入该目录时失败,报错信息为:-bash:cd:root-squash:Permissiondenied调查过程猜......
  • vue 解决 post请求下载文件,下载的文件损坏打不开,结果乱码
    axios.post('xxx',{responseType:'blob'//指定返回数据的格式为blob}).then(response=>{console.log(response);//把response打出来,看下图leturl=window.URL.createObjectURL(response.data);console.log(url)vara=document.cre......
  • EFI分区(也称为EFI系统分区或ESP)是一种特殊的分区,通常用于存储引导加载程序和其他与引
    EFI分区(也称为EFI系统分区或ESP)是一种特殊的分区,通常用于存储引导加载程序和其他与引导相关的文件。它是为了支持基于UEFI(统一固件接口)的系统而设计的。下面是一些理由说明为什么需要EFI分区:引导启动:EFI分区中存储着操作系统的引导加载程序(如GRUB、WindowsBootManager等)和相关......
  • Linux 文件系统 | mount & umount
    Linux中一切皆文件并且所有文件都统一在/根目录下面类比windows系统,插入U盘,或者硬盘等存储设备,可以直接看到并访问里面的内容。而在Linux系统中,需要进行挂载,将外来设备加入到系统管理中,才可以正常访问。上面的挂载就需要用到mount命令查看/etc/fstab配置文件,......
  • 博客园上传markdown文件
    博客园上传markdown文件......