常用命令--如何防止黑客修改文件--chattr

常用命令--如何防止黑客修改文件--chattr

chattr
chattr命令用来改变文件属性。这项指令可改变存放在ext2文件系统上的文件或目录属性,这些属性共有以下8种模式:

a:让文件或目录仅供附加用途;
b:不更新文件或目录的最后存取时间;
c:将文件或目录压缩后存放;
d:将文件或目录排除在倾倒操作之外;
i:不得任意更动文件或目录;
s:保密性删除文件或目录;
S:即时更新文件或目录;
u:预防意外删除。
语法
chattr(选项)
选项
-R:递归处理,将指令目录下的所有文件及子目录一并处理;
-v<版本编号>:设置文件或目录版本;
-V:显示指令执行过程;
+<属性>:开启文件或目录的该项属性;
-<属性>:关闭文件或目录的该项属性;
=<属性>:指定文件或目录的该项属性。
实例
用chattr命令防止系统中某个关键文件被修改:

chattr +i /etc/fstab
然后试一下rm、mv、rename等命令操作于该文件,都是得到Operation not permitted的结果。

让某个文件只能往里面追加内容,不能删除,一些日志文件适用于这种操作:

chattr +a /data1/user_act.log


补充

如何防止黑客修改文件?
如何防范系统重要文件被破坏?


思路:给我们的重要文件加个锁


chattr
用chattr命令防止系统中某个关键文件被修改


a:让文件或目录仅供附加用途;
b:不更新文件或目录的最后存取时间;
c:将文件或目录压缩后存放;
d:将文件或目录排除在倾倒操作之外;
i:不得任意更动文件或目录;
s:保密性删除文件或目录;
S:即时更新文件或目录;
u:预防意外删除


常用的就是 -i  和   +i  解密   加密


[root@node-2 ~]# chattr +i /etc/passwd
[root@node-2 ~]# useradd laoliu
useradd: cannot open /etc/passwd
[root@node-2 ~]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
avahi-autoipd:x:170:170:Avahi IPv4LL Stack:/var/lib/avahi-autoipd:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
polkitd:x:999:998:User for polkitd:/:/sbin/nologin
tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
wang:x:1000:1000:wang:/home/wang:/bin/bash
ntp:x:38:38::/etc/ntp:/sbin/nologin
it01:x:1001:1001::/home/it01:/bin/bash
it02:x:1002:1002::/home/it02:/bin/bash
lao:x:1003:1003::/home/lao:/bin/bash
1101:x:1004:1004::/home/1101:/bin/bash
[root@node-2 ~]# mv /etc/passwd /tmp
mv: cannot move ‘/etc/passwd’ to ‘/tmp/passwd’: Operation not permitted
[root@node-2 ~]# vi /etc/passwd

root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
avahi-autoipd:x:170:170:Avahi IPv4LL Stack:/var/lib/avahi-autoipd:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
polkitd:x:999:998:User for polkitd:/:/sbin/nologin
tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
wang:x:1000:1000:wang:/home/wang:/bin/bash
ntp:x:38:38::/etc/ntp:/sbin/nologin
it01:x:1001:1001::/home/it01:/bin/bash
it02:x:1002:1002::/home/it02:/bin/bash
lao:x:1003:1003::/home/lao:/bin/bash
1101:x:1004:1004::/home/1101:/bin/bash
~                                                                                                          
~                                                                                                          
~                                                                                                          
~                                                                                                          
~                                                                                                          
~                                                                                                          
~                                                                                                          
~                                                                                                          
~                                                                                                          
~                                                                                                          
"/etc/passwd" [readonly] 25L, 1142C
vi也变成只读模式了,无法修改





可以看到只能看,不能做,气不气,嘿嘿



如何解除呢?

chattr -i  /etc/passwd




[root@node-2 ~]# chattr -i /etc/passwd
[root@node-2 ~]# vi /etc/passwd

root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
avahi-autoipd:x:170:170:Avahi IPv4LL Stack:/var/lib/avahi-autoipd:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
polkitd:x:999:998:User for polkitd:/:/sbin/nologin
tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
wang:x:1000:1000:wang:/home/wang:/bin/bash
ntp:x:38:38::/etc/ntp:/sbin/nologin
it01:x:1001:1001::/home/it01:/bin/bash
it02:x:1002:1002::/home/it02:/bin/bash
lao:x:1003:1003::/home/lao:/bin/bash
1101:x:1004:1004::/home/1101:/bin/bash
~                                                                                                          
~                                                                                                          
~                                                                                                          
~                                                                                                          
~                                                                                                          
~                                                                                                          
~                                                                                                          
~                                                                                                          
~                                                                                                          
~             


可以看到又可以编辑了,嘿嘿



这是有个问题,如果黑客进来,同样可以用chattr解密?这……


思路:把这个命令路径给移动走,移走之后给我重命名这个命令,这样即使黑客用find命令找,他也找不到了,因为黑客不知道我给这个命令重名了什么名字了
这时,不管怎么讲,优势在我




操作:

[root@node-2 ~]# chattr +i /etc/passwd
[root@node-2 ~]# which chattr
/usr/bin/chattr
[root@node-2 ~]# mv /usr/bin/chattr /usr/local/src/
[root@node-2 ~]# cd /usr/local/src/
[root@node-2 src]# ls
chattr


这里因为你把命令路径移动走了,所以我们需要再当前的这个目录执行加锁解锁
[root@node-2 src]# chattr -i /etc/passwd
-bash: /usr/bin/chattr: No such file or directory
[root@node-2 src]# ./chattr -i /etc/passwd


默认黑客查找,这是他用find一下就找到了
[root@node-2 src]# find / -type f -name chattr
/usr/local/src/chattr
[root@node-2 src]# 
[root@node-2 src]# 
[root@node-2 src]# ls
chattr


,不用怕,我们做个重命名
[root@node-2 src]# mv chattr chattr1


模拟黑客查找
[root@node-2 src]# find / -type f -name chattr
[root@node-2 src]# find / -type f -name chattr

这下他找不到了吧,哈哈



注意,以后我们在执行命令的时候,这个命令就不是原来的chattr了,而是你重命名之后的,我这里是chattr1
[root@node-2 src]# ./chattr +i /etc/passwd
-bash: ./chattr: No such file or directory
[root@node-2 src]# ./chattr1 +i /etc/passwd
posted @ 2024-03-18 22:44  三思博客  阅读(37)  评论(0编辑  收藏  举报