首页 > 系统相关 >shell脚本-入侵检测与告警

shell脚本-入侵检测与告警

时间:2023-07-23 21:33:48浏览次数:46  
标签:脚本 文件 inotifywait shell format -- 监控 告警

shell脚本-入侵检测与告警

原理

利用inotifywait命令对一些重要的目录作一个实施监控,例如:当/root 、/usr/bin 等目录发生改变的,利用inotifywait看可以对其作一个监控作用。

inotifywait

介绍

inotifywait 是一个 Linux 下的命令行工具,用于监视文件系统的变化。它基于 inotify 机制,可以实时监控文件或目录的变化,并在发生变化时触发相应的动作。它可以监控文件的创建、删除、修改、移动等操作,并提供了丰富的选项和参数,可以根据需要进行定制化配置。inotifywait 可以用于实时监控日志文件、备份文件、配置文件等,可以方便地进行文件同步、备份、自动化处理等任务。

安装

yum install inotifywait -y

常用参数

--timefmt 时间格式
    %y年 %m月 %d日 %H小时 %M分钟
--format 输出格式
    %T时间 %w路径 %f文件名 %e状态
 
-m 始终保持监听状态,默认触发事件即退出
-r 递归查询目录
-q 减少不必要的输出(只打印事件信息)
 
-e 定义监控的事件,可用参数:
    open   打开文件
    access 访问文件
    modify 修改文件
    delete 删除文件
    create 新建文件
    attrib 属性变更
 
--exclude <pattern> 指定要排除监控的文件/目录

示例

inotifywait /usr/local -r --timefmt '%d/%m/%y %H:%M' --format "%T %f" -e MODIFY --exclude '^.*.swp$'

shell脚本

#!/bin/bash
MON_DIR=/opt/scripts
inotifywait -mqr --format %f -e create $MON_DIR | \
while read files; do
        echo "`date +%F_%T` _$files" >> file_mon.log
done

推荐使用采用email通知shell脚本:

#!/bin/bash
MON_DIR=/opt/scripts
inotifywait -mqr --format %f -e create $MON_DIR | \
while read files; do
        # 实时同步
        rsync -avz /opt/scripts /tmp/
        # 发送邮件通知
        echo "`date +'%F_%T  '`$files" | mail  -s "inotifywait" [email protected]
done

脚本运行测试:

1.bash 18.sh 

2.再开一个终端,去/opt/scripts/文件下创建文件
touch test.txt

3.检查邮箱

这里如果采用邮箱通知需要先做好配置 可以查看文章使用Mailx发送邮件 - FouroFour - 博客园 (cnblogs.com)

标签:脚本,文件,inotifywait,shell,format,--,监控,告警
From: https://www.cnblogs.com/xuxuxuxuxu/p/17575927.html

相关文章

  • Shell编程教程 - 字符串变量表达式
    1.字符串变量表达式基本比较示例脚本-`string_comparison.sh`字符串长度检查示例脚本-`string_length.sh`逻辑运算符连接表达式示例脚本-`logical_operators.sh`2.执行示例脚本3.结论大树哥个人信息本教程将向你介绍Shell脚本中字符串变量表达式的使用。我们将学习如何......
  • Day 4: Shell字符串处理
    学习目标学习内容1.字符串拼接2.字符串替换3.字符串截取4.练习任务大树哥个人信息学习目标学习Shell中的字符串处理技巧。掌握字符串的拼接、替换和截取方法。练习编写脚本,处理和操作字符串数据。学习内容今天我们将学习如何在Shell编程中处理和操作字符串。1.......
  • 无法将“yarn”项识别为 cmdlet、函数、脚本文件或可运
    如何解决"无法将“yarn”项识别为cmdlet、函数、脚本文件或可运"错误引言作为一名经验丰富的开发者,你可能会遇到一些新手常见的问题。其中一个常见的问题是在使用Yarn(一个流行的包管理工具)时可能会遇到错误:“无法将“yarn”项识别为cmdlet、函数、脚本文件或可运”。这篇文章将......
  • Unity3D 使用带刚体组件的预制体配合脚本自动生成一面墙时上层墙体被弹飞
    异常效果如下图所示:预制体是一个正方体(Cube),其参数设置如下图所示:控制墙面生成的C#脚本如下所示:usingSystem.Collections;usingSystem.Collections.Generic;usingUnityEngine;publicclassWall:MonoBehaviour{publicTransformbrick;//Usethisf......
  • Ruby中使用shell变量
    在Ruby中使用shell变量1.流程概述下面是使用shell变量的整个流程的步骤概述:步骤描述步骤1在Ruby中获取shell变量的值步骤2在Ruby中设置shell变量的值接下来,我们将逐步介绍每个步骤所需执行的操作。2.步骤1:获取shell变量的值要在Ruby中获取shell变量的值,我......
  • windows 上书写shell脚本上传远程服务器注意问题
    ①权限问题:上传脚本,没有可执行权限,解决:chmod-u=rwx*.sh;②文件格式问题:windows上的是dos格式,linux上需要的是unix格式,解决:vim修改我们的脚本,执行以下命令 :setff? 查看脚本格式,如果是fileformat=dos就说明是dos格式需要修改为unix格式:setff=unix然后wq ......
  • 记阿里云发现后门(Webshell)文件误报分析
    某天公司这边阿里云安全平台日常安全扫描告警发现一处存在webshell后门木马文件路径:fckeditor/spellerpages/server-scripts/spellchecker.php从路径上去看是在fckeditor【可视化HTML编辑器】下存在的php文件把检测出来的木马文件下载下来进行分析,可以看到告警指定的特征是ph......
  • docker 一键安装脚本
    官方脚本(推荐)curl-fsSLhttps://get.docker.com|shcurl-L"https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname-s)-$(uname-m)"-o/usr/local/bin/docker-composechmod+x/usr/local/bin/docker-compose查看docker版......
  • powershell随笔
    目录powershell随笔字符串相关函数-match-replace格式化操作子表达式资源网站powershell随笔忘记时来看。。。字符串相关函数-match#Format[value]#LogicMatchesatleastoneofthecharactersinthebrackets."big"-match"b[iou]g"Powershell-Regular......
  • 写shell脚本一键编译安装MySQL
    一键编译安装MySQL的Shell脚本在Linux系统中,MySQL是一个非常常见的数据库管理系统。它提供了强大的功能和可靠的性能,因此在许多应用程序中被广泛使用。为了在Linux系统上运行MySQL,我们需要先进行编译安装。为了简化这个过程,我们可以编写一个Shell脚本来自动完成MySQL的编译和安装......