有一次办公室的测试服务器由于开启了对外访问权限,开启了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这个文件,不然是无法发送出去邮件的。这个步骤不是本文重点,就省略了吧。