Shell脚本根据Hash值判断web服务器页面是不是被更改

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Shell脚本根据Hash值判断web服务器页面是不是被更改相关的知识,希望对你有一定的参考价值。

参考技术A       当页面被恶意木马攻击更改后,监控状态脚本并不能检测出异常,但是Web的页面已经存在相当大的安全隐患.所以能不能寻找到一种方法判断自己所负责的Web服务器页面内容是否遭到恶意木马的攻击和修改显得十分重要.通过Hash值的方法可以非常高效的检测到WEB服务器页面的数据内容是否完整,如果页面内容被恶意木马更改,新页面的Hash值是不同于原始的Hash值的,我们就可以以此作为判断的依据!

获取Hash值的方法:

md5sum /var/www/html/index.html

url="Web服务器页面地址"

如 http://127.0.0.1/index.html

date=$(date +"%Y-%m-%d %H:%M:%S")

source_hash="获取到的原始Hash值"

url_hash=$(curl -s $url | md5sum | cut -d ' ' -f1)

if [ "$url_hash" != "$source_hash" ];then

        mail -s  Hash is changed  root@localhost <<- EOF

        检测时间为:$date

        数据完整性检验失败,Hash值不同,$url,页面数据被更改

        请尽快排查异常

        EOF

else

        cat >> /var/log/http_check.log <<-EOF

        $date "$url,数据完整性校验正常"

        EOF

fi

chmod +x /check_http_hash.sh

/check_http_hash.sh

cat /var/log/http_check.log

2019-11-23 15:38:55 "http://127.0.0.1/index.html,数据完整性校验正常"

修改/var/www/html/index.html文件的内容,模拟网站页面被更改的情况!

/check_http_hash.sh

检测时间为:2019-11-23 16:00:08

数据完整性检验失败,Hash值不同,http://127.0.0.1/index.html,页面数据被更改

请尽快排查异常

这一个脚本跟上一篇文章的 http服务状态监测脚本 两者相辅相成,也可以考虑把它们两个合并成同一个脚本!并且一同添加到周期性计划任务中!

以上是关于Shell脚本根据Hash值判断web服务器页面是不是被更改的主要内容,如果未能解决你的问题,请参考以下文章

shell脚本应用

Shell脚本之条件语句

shell脚本之条件语句

Shell脚本-if语句

案例六:shell脚本监控httpd服务80端口状态

shell脚本中如何设置exit值