00:文章简介
了解和测试一下chattr的作用。
01:简单介绍文件对特殊属性
特殊属性是凌驾于rwx基础权限上的一种高级属性。
作用:
1.创建一个文件,不允许被修改、移动、删除,包括root也不能跨越权限,适合/etc/passwd类关键文件。
2.创建一个文件,仅允许往文件里面追加数据,不允许修改、移动、删除,适合sudo的审计日志。
02:设置特殊属性
通过charrt命令设置文件的特殊权限
chattr [-RVf] [-+=aAcCdDeijsStTu] [-v version] files...
常用的是a和i
a : 只可以对文件进行内容的追加
i : 锁定文件,不允许其他操作
03:chattr场景示例
模拟病毒串改站点,然后使用chattr锁住文件,让病毒程序无法串改,然后追踪并杀死病毒程序:
- 安装并启动http服务
- 模拟病毒脚本篡改网页内容
- 锁定篡改文件,然后找出病毒,将其杀死
3.1:模拟web站点服务
yum -y install httpd
setenforce 0 && systemctl stop firewalld
systemctl start httpd
echo 'welcome to linux98.com!!!' > /var/www/html/index.html
3.2:查看站点服务是否成功开启
3.3:编写病毒程序
# cat virus
#!/bin/bash
web_site=/var/www/html/index.html
#模拟入侵操作
while true
do
echo "你的站点已经被入侵,清给xxx账户打钱解锁" > ${web_site}
sleep 10
#设置定时任务,顽强程度+1
echo "*/1 * * * * /bin/bash /usr/bin/virus &>/dev/null" > /var/spool/cron/root
#将脚本锁住,顽强程度+1
chattr +i /usr/bin/virus
done
# chmod 777 virus && mv virus /usr/bin/
3.4:开启病毒并查看效果
# virus &
3.5:模拟还原网站
# echo "站点正在维护中......" > /var/www/html/index.html
但是过了一会儿文件又被修改了
3.6:杀死病毒并还原代码
这里的操作一定要快速,如果速度慢了,那过了一会儿发现代码又被修改了,感觉病毒好像怎么也关闭不掉,是因为病毒程序写入了crontab计划任务,但手动修改计划任务后还是会被重新植入病毒程序
- 使用chattr 锁定关键程序(index.html、crontab)
# echo 'welcome to linux98.com!!!' > /var/www/html/index.html
# chattr +i /var/www/html/index.html
/usr/bin/virus:行7: /var/www/html/index.html: 权限不够
#这里添加完锁后,病毒程序也无法篡改文件了
- 清空计划任务并锁定计划任务配置文件
# > /var/spool/cron/root && chattr +i /var/spool/cron/root
- 杀死病毒程序
# kill -9 $(ps -ef | grep virus |grep -v grep | awk '{print $2}')
- 删除病毒文件
# rm -f /usr/bin/virus
rm: 无法删除"/usr/bin/virus": 不允许的操作
# ll /usr/bin/virus
-rwxrwxrwx. 1 root root 373 4月 26 16:33 /usr/bin/virus
# lsattr /usr/bin/virus
----i----------- /usr/bin/virus
# chattr -i /usr/bin/virus
# rm -f /usr/bin/virus
#这里就体现出加锁的重要性了,病毒文件加了锁后也不容易被删除
评论区