搜索
查看: 4389|回复: 0

用shell对指定站点进行简单的实时入侵预警

[复制链接]

714

主题

354

回帖

2669

积分

管理员

本论坛第一帅

积分
2669

热心会员推广达人宣传达人突出贡献优秀版主荣誉管理论坛元老

QQ
发表于 2018-7-24 17:27:28 | 显示全部楼层 |阅读模式 来自 甘肃

代码如下:

[pre]
#!/bin/bash
# author by klion
# 2017.12.25
# Real-time monitoring of Web Directory script
web_dir="/usr/local/nginx/html/bwapp/bWAPP/"
oldnum=`wc -l web_history_db.log | awk -F " " '{print $1}'`
newnum=`find $web_dir -type f | wc -l`
md5num=`md5sum -c web_history_db.log | grep -i FAILED | wc -l`
# 先对指定的站点目录创建指纹库
[ ! -f web_history_db.log  ] && {
    find $web_dir -type f | xargs md5sum > ./web_history_db.log
}
# 和新文件对比指纹,如果发现不对,就马上发信通知,并带上被改动的文件路径一起
[ $md5num -ne 0 ] && {
    md5sum -c web_history_db.log | grep -i "FAILED" | awk -F ":" '{print $1}' > web_mod_`date +%Y-%m-%d-%H-%M-%S`.web.log
    log_file=`ls -l *.web.log | head -n 1 | awk -F " " '{print $9}'`
    mail -s "Your website may be hacked, Please check it as soon as possible" klion@protonmail.com < $log_file;sleep 5
    rm -fr $log_file
}
# 对比文件个数,发现不对,同样是立马发信,因为有可能要同时监控很多个站点目录,所以就顺便把具体的站点路径也带上了
[ $oldnum -ne $newnum  ] && {
    echo "website directory is $web_dir" | mail -s "web directory have new file created " klion@protonmail.com ;sleep 5
}
[/pre]



有志者,事竟成,破釜沉舟,百二秦关终属楚. 苦心人,天不负, 卧薪尝胆 ,三千越甲可吞吴
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表