文章目录
shell—系统文件加密
监控web站点目录下的所有文件是否被恶意篡改(文件内容被更改)
1.建立初始指纹库和文件库
在企业网站发布代码之后,即对所有网站数据建立初始指纹库和文件库,没有基础的指纹库,无法进行入侵监测
step1 建立测试数据:
mkdir /var/html/www -p
cp -a /etc/a* /var/html/www/
cp -a /etc/b* /var/html/www/
ls /var/html/www/
step2 建立初始的文件指纹库:
find /var/html/www/ -type f | xargs md5sum >/opt/zhiwen.db
cat /opt/zhiwen.db
step3 建立初始文件库:
find /var/html/www/ -type f >/opt/file.db
cat /opt/file.db
2.监测文件内容和文件数量的变化
step1 监测文件内容的变化:
篡改文件内容:
echo mjy >> /var/html/www/brltty.conf
检查所有文件内容是否变化:
md5sum -c --quiet /opt/zhiwen.db #这里的--quiet为不显示OK的匹配信息
md5sum -c /opt/zhiwen.db
step2:监测文件数量的变化:
新增加文件数:
echo nigar.txt > /var/html/www/test.txt
利用指纹库无法监测新增文件:
md5sum -c --quiet /opt/zhiwen.db
解决方法:采用diff命令比较
find /var/html/www/ -type f > /opt/file.db2
diff /opt/file.db*
3.开发脚本
前提:恢复操作:
find /var/html/www/ -type f | xargs md5sum > /opt/zhiwen.db
find /var/html/www/ -type f>/opt/file.db
脚本内容:
#!/bin/bash
RETVAL=0 #状态初始化
CHECK_DIR=/var/html/www #定义要监测的站点目录
[ -e $CHECK_DIR ] || exit 1 #如果目录不存在则退出脚本
zhiwendb="/opt/zhiwen.db" #定义原始指纹库路径
filedb="/opt/file.db" #定义原始文件库路径
errlog="/opt/err.log" #定义监测后的内容日志
[ -e $zhiwendb ] || exit 1 #如果原始指纹库不存在则自动退出脚本
[ -e $filedb ] || exit 1 #如果原始文件库不存在则退出脚本
#judge file content
echo `md5sum -c --quiet /opt/zhiwen.db` >$errlog
#md5sum -c --quiet /opt/zhiwen.db &>/dev/null
RETVAL=$?
echo $RETVAL
#judge file count
find /var/html/www/ -type f >/opt/file.db2
echo `diff /opt/file.db*` >>$errlog
#diff /opt/file.db* &>>/dev/null
if [ $RETVAL -ne 0 -o `diff /opt/file.db* | wc -l` -ne 0 ]
then
touch /tmp/`date +%s`.err
else
echo "Sites dir is ok"
fi