码迷,mamicode.com
首页 > 系统相关 > 详细

Linux下检测程序的md5值异常自动报警的脚本

时间:2016-07-16 07:09:17      阅读:206      评论:0      收藏:0      [点我收藏+]

标签:linux 安全 脚本

有一次办公室的测试服务器由于开启了对外访问权限,开启了tomcat管理页面,且设置了个弱口令。这3个因素同时成立了,没几天被不速之客放了个木马。事后随未造成严重影响,但是也给我敲了警钟。于是有了下面的小小的安全措施。

1、关闭用不到的用户

直接在命令行执行:

# cp /etc/passwd /etc/passwd-$(date +%F).bak

# for i in xfs news nscd dbus vcsa games nobody avahi haldaemon gopher ftp mailnull pcap mail shutdown halt uucp operator sync adm lp;

do

sed -i "s/^${i}/#${i}/" /etc/passwd;

done

 

2、这是一个我自己写的小脚本,用于检测重要目录的MD5SUM值是否发生变动

step1、首先在确认无问题的电脑上执行下面几条命令,将MD5SUM保存下来,作为原始模板:

#!/bin/bash

# 记录原始的执行文件的md5sum

 

if [[ ! -d /var/md5sum/ ]];then

    mkdir /var/md5sum -p

fi

 

for i in /bin /sbin /usr/local/bin /usr/local/sbin /usr/bin;do

    find $i  -maxdepth 1 -type f | xargs -n1 md5sum >> /var/md5sum/md5sum.log.ori

done

 

step2、下面是我的/home/scripts/chkmd5sum.sh脚本,作用是检查相关目录的md5sum是否发生变化。

#!/bin/bash

# 需要配置计划任务定期执行这个脚本,比对md5sum是否发生变化,变化则自动告警。

 

if [[ ! -d /var/md5sum/ ]];then

    mkdir /var/md5sum -p

fi


rm -f /tmp/md5sum*

 

for i in /bin /sbin /usr/local/bin /usr/local/sbin /usr/bin;do

    find $i  -maxdepth 1 -type f | xargs -n1 md5sum >> /tmp/md5sum.log_`date +%F`

done

 

if ! diff /tmp/md5sum.log_`date +%F`  /var/md5sum/md5sum.log.ori > /tmp/md5sum_status ;then

    cat /tmp/md5sum_status |mail -s "Warning,Md5sum has changed." lirulei90@126.com

fi

rm -f /tmp/md5sum_status 

 

step3、添加定时任务,每天检查一遍,有变化就发送邮件告警

echo ‘30 7 * * * /bin/bash /home/scripts/chkmd5sum.sh > /dev/null 2>&1‘ >> /var/spool/cron/root


我们也可以将其他需要关注的文件加入上述的for循环中,监控其md5sum的变化情况,出现异常及时报警。


当然,我们还要配置/etc/mail.rc这个文件,不然是无法发送出去邮件的。这个步骤不是本文重点,就省略了吧。


Linux下检测程序的md5值异常自动报警的脚本

标签:linux 安全 脚本

原文地址:http://lee90.blog.51cto.com/10414478/1826888

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!