监控Web站点目录(/var/html/www)下的所有文件是否被恶意篡改(文件内容被更改)

文件被更改会有如下特征:

  1. 大小可能会变化
  2. 修改时间会变化
  3. 文件内容会变化,利用md5sum指纹校验
  4. 增加或删除文件,对比每次检测前后的文件数量

第一步:在企业网站发布代码后,即对所有网站数据建立初始指纹库和文件库,这个步骤很重要,没有基础的指纹库,无法进行入侵检测

  1. 建立测试数据
[root@localhost ~]# mkdir /var/html/www -p
[root@localhost ~]# cp -a /etc/a* /var/html/www/
[root@localhost ~]# cp -a /etc/b* /var/html/www/
[root@localhost ~]# ls /var/html/www/
abrt        alsa          at.deny  avahi              bluetooth
adjtime     alternatives  at-spi2  bash_completion.d  bonobo-activation
aliases     anacrontab    audisp   bashrc             brltty
aliases.db  asound.conf   audit    binfmt.d           brltty.conf
  1. 建立初始的文件指纹库
[root@localhost ~]# find /var/html/www/ -type f|xargs md5sum > /opt/zhiwen.db
[root@localhost ~]# cat /opt/zhiwen.db
0c18947e88b495de161b078c1467c9d6  /var/html/www/abrt/abrt-action-save-package-data.conf
bf1d986df3e106423f132124d10f0820  /var/html/www/abrt/abrt.conf
b6fa2f81eab31d579be78e777b4246cf  /var/html/www/abrt/gpg_keys.conf
2876e889d2a25c672819152946183cee  /var/html/www/abrt/plugins/xorg.conf
......
  1. 建立初始文件库
    /opt/wenjian.db文件中包含初始文件的文件名
[root@localhost ~]# find /var/html/www/ -type f > /opt/wenjian.db
[root@localhost ~]# cat /opt/wenjian.db
/var/html/www/abrt/abrt-action-save-package-data.conf
/var/html/www/abrt/abrt.conf
/var/html/www/abrt/gpg_keys.conf
/var/html/www/abrt/plugins/xorg.conf
/var/html/www/abrt/plugins/python.conf
/var/html/www/abrt/plugins/CCpp.conf
/var/html/www/abrt/plugins/vmcore.conf
/var/html/www/adjtime
/var/html/www/aliases
/var/html/www/aliases.db
......

第二步:监测文件内容和数量的变化

  1. 监测文件内容的变化

篡改文件内容:

[root@localhost ~]# echo redhat >> /var/html/www/brltty.conf

检查所有文件内容是否变化:

[root@localhost ~]# md5sum -c --quiet /opt/zhiwen.db
/var/html/www/brltty.conf: FAILED                   #校验失败
md5sum: WARNING: 1 computed checksum did NOT match
  1. 监测文件数量的变化

新增加文件数:

[root@localhost ~]# echo redhat.txt > /var/html/www/test.txt

利用指纹库无法监测新增文件:

[root@localhost ~]# echo redhat.txt > /var/html/www/test.txt
[root@localhost ~]# md5sum -c --quiet /opt/zhiwen.db
/var/html/www/brltty.conf: FAILED
md5sum: WARNING: 1 computed checksum did NOT match

获取检测前的所有文件数量及文件名:

[root@localhost ~]# find /var/html/www/ -type f > /opt/wenjian.db_curr

采用diff命令比较:

[root@localhost ~]# diff /opt/wenjian.db*
348a349
> /var/html/www/test.txt

开发脚本:
前提恢复操作:

[root@localhost ~]# find /var/html/www/ -type f | xargs md5sum >/opt/zhiwen.db
[root@localhost ~]# find /var/html/www/ -type f > /opt/wenjian.db
[root@localhost mnt]# cat invad_Alarm.sh
#!/bin/bash
RETVAL=0
CHECK_DIR=/var/html/www
[ -e $CHECK_DIR ] || exit 1zhiwendb="/opt/zhiwen.db"
filedb="/opt/wenjian.db"
errlog="/opt/err.log"[ -e $zhiwendb ] || exit 1
[ -e $filedb ] || exit 1#judge file content
echo "[root@desktop mnt]# md5sum -c --quiet /opt/zhiwen.db" >$errlog
md5sum -c --quiet /opt/zhiwen.db &>/dev/null
RETVAL=$?#com file count
find /var/html/www/ -type f >/opt/wenjian.db_curr
echo "[root@desktop mnt]# diff /opt/wenjian.db*" &>>$errlog
diff /opt/wenjian.db*" &>>$errlogif [ $RETVAL -ne 0 -o `diff /opt/wenjian.db* | wc -l` -ne 0 ];thentouch /tmp/`date +%s`.err
elseecho "Site dir is ok"
fi
[root@localhost mnt]# sh invad_Alarm.sh
Site dir is ok

篡改文件后再检测:

[root@localhost mnt]# sh invad_Alarm.sh
Site dir is ok
[root@localhost mnt]# echo redhat >> /var/html/www/brltty.conf
[root@localhost mnt]# sh invad_Alarm.sh
[root@localhost mnt]# cat /opt/err.log                 #查看错误日志
[root@desktop mnt]# md5sum -c --quiet /opt/zhiwen.db
[root@desktop mnt]# diff /opt/wenjian.db*

Shell实战--文件安全性的保证相关推荐

  1. shell编程中文件安全性的保证

    目的 监控Web站点目录(/var/html/www)下的所有文件是否被恶意篡改(文件内容被更改) 文件被更改会有如下特征: 大小可能会变化 修改时间会变化 文件内容会变化,利用md5sum指纹校验 ...

  2. oozie action shell 实战(完整配置文件)

    有一个这样的需求,apache oozie调用shell命令(x.sh的脚本文件),x.sh的逻辑为先执行第一个jar包命令,后执行一个spark任务,第一个jar任务命令执行成功后返回的结果作为参数 ...

  3. 企业Shell实战-MySQL分库分表备份脚本

    本文来自 http://www.xuliangwei.com/xubusi/252.html 免费视频讲解见 http://edu.51cto.com/course/course_id-5064.ht ...

  4. linux环境: shell初始化文件, for TCSH, CSH

    TCSHELL, CSHELL 配置文件 全局配置文件 /etc/csh.cshrc 个人配置文件 ~/.cshrc或~/.tcshrc 参考: 1.配置你的csh/tcsh,  https://wi ...

  5. linux执行加密的shell,Linux下Shell脚本文件的加密

    一些站长会对自己编写的网页文件进行加密,以免自己辛辛苦苦写出来的成果被盗用.而Linux程序员编写的Shell脚本文件,也是可以加密的.这样做的好处除了防止被盗用,还可以防止自己脚本文件中的密码泄露, ...

  6. shell判断文件是否存在[转]

    原文出处: http://canofy.iteye.com/blog/252289 shell判断文件,目录是否存在或者具有权限#!/bin/shmyPath="/var/log/httpd ...

  7. linux获取文件的md5,linux shell 获取文件md5的命令linux操作系统 -电脑资料

    下面我给各位朋友总结一下在linux中利用shell命令来获取文件md5及遍历目录下所有文件的md5的例子,希望此例子对各位同学会有所帮助, 获取文件的MD5值: $ md5sum linuxmint ...

  8. shell读取文件的每一行

    shell读取文件的每一行 写法一: ---------------------------------------------------------------------------- #!/b ...

  9. springboot文件上传下载实战 ——文件上传、下载、在线打开、删除

    springboot文件上传下载实战 文件上传 文件上传核心 UserFileController 文件上传测试 文件下载与在线打开 文件下载.在线打开核心 UserFileController 文件 ...

最新文章

  1. python怎么删除特定文件_如何使用python从文件中删除特定行?
  2. Qt小游戏《2048》源码(含大量注释)
  3. PHP实现带重试功能的curl连接示例
  4. mysql 查看索引命中_请问下如何在Mysql中where与orderBy后在命中索引?
  5. Centos7 +Django的安装
  6. Swift调用微信支付宝SDK(Swift4.0)
  7. 生物信息学常用软件—2(PCR引物设计及相关软件使用)
  8. 国内外各大免费搜索引擎、导航网址提交入口(转载)
  9. 软件项目管理之历时估算(工程评估评审技术【Program Evaluation And Review Technique,PERT】)
  10. android 反编译 jadx,jadx gui下载 jadx(Android反编译gui工具) v0.6.1 官方版 下载-脚本之家...
  11. 昆石VOS3000/VOS2009 Web手机管理说明
  12. latex论文模板:中文小论文
  13. 计算机硬件组装什,计算机硬件组装的步骤详解
  14. java数组查找奇数_java – 在数组中对偶数和奇数进行排序
  15. 利用stm32控制步进电机 速度加速度控制
  16. CUDA专业小贴士:通过 Warp-聚合的原子操作来优化过滤
  17. 如何从 Red Hat Enterprise Linux 6 升级到 Red Hat Enterprise Linux 7?
  18. 利用Delphi编程控制摄像头
  19. 今日头条爬虫实战----爬取图片
  20. 面经:众安保险前端实习,一面(27min)

热门文章

  1. 网络计算机表格教程,新手电脑怎样制作表格步骤?
  2. 率先完成息安全产品百万级装车应用,为辰信安完成新一轮融资
  3. ORACLE子查询的多种用法
  4. vue element 重新上传图片(将已经上传过的图片链接重新上传)
  5. 【小学数学论文】浅析小学学生数学计算能力的培养
  6. 大厂程序员能力修炼手册,从筑基到化神要多久?
  7. windows上查看u盘ext4分区数据
  8. COGS 775. 山海经 【线段树】
  9. 详细图解JVM三色标记法
  10. Div CSS网页布局对网站搜索引擎优化的影响