Linux文件系统安全

1. chattr命令

chattr用法:chattr [-RV] [-v version] [mode] 文件或目录

  • - R:递归修改所有文件及子目录

  • - V:详细显示修改内容,并打印输出

  • +:在原有参数设定的基础上,追加参数

  • -:在原有参数设定的基础上,移除参数

  • =:更新为指定参数

  • a:即append,设定此参数后,只能向文件中添加数据,而不能删除。常用于服务器日志文件安全,只有root用户可以设置这个属性

  • i:即immutable,设定后,文件不能被个修改、删除、重命名、设定链接等,同时不能写入或新增内容,即使是root用户

                                                            

2. lsattr命令

lsattr用法:lsattr [-adlRvV] 文件或目录

  • -a:列出目录中的所有文件,包括以"."开始的文件

  • -d:显示指定目录的属性

                                                            

3. chattr应用

  • chattr -R +i /bin /boot /lib /sbin

  • chattr -R +i /usr/bin /usr/include /usr/lib /usr/sbin

  • chattr +i /etc/passwd

  • chattr +i /etc/group

  • chattr +i /etc/shadow

  • chattr +i /etc/gshadow

  • chattr +i /etc/hosts

  • chattr +i /etc/resolv.conf

  • chattr +i /etc/fstab

  • chattr +i /etc/sudoers

  • chattr +i /etc/inittab

  • chattr +a /var/log/messages

  • chattr +a /var/log/wtmp

  • chattr +a /var/log/secure

对重要的文件加锁,虽然能够提高服务器安全性,但同时也会带来一些不方便。如软件安装,升级,或者日志切割轮换等都需去掉相关目录和文件的immutable属性和append-only属性。在使用chattr前,需要结合服务器的应用环境来权衡是否需要设置。并且chattr命令不能保护/、/dev、/tmp、/var等目录。/dev、/tmp的安全性可以通过另外的方法实现。

                                                                                                                                                                     

4. 文件权限检查和修改

不正确的权限设置直接威胁系统的安全。因此生产中我们应该及时发现这些不正确的权限设置,并立刻修正,防患于未然。

(1) 查找系统中任何用户都有写权限的文件或目录

查找文件:find / -type f -perm -2 -o -perm -20 | xargs ls -al

查找目录:find / -type d -perm -2 -o -perm -20 | xargs ls -ld

(2) 查找系统中所有含有"s"位的程序

find / -type f -perm -4000 -o -perm -2000 -print | xargs ls -al

含有"s"位权限的程序对系统安全性威胁很大,要多注意!

(3) 检查系统中所有suidsgid文件

find / -user root -perm -2000 -print -exec md5sum {} \;

find / -user root -perm -4000 -print -exec md5sum {} \;

将检查的结果保存在到文件中,可在以后的系统检查中作为参考,可以用shell脚本方便实现。

(4) 检查系统中没有属主的文件

find / -nouser -o -nogroup

没有属主的孤儿文件比较危险,往往成为黑客利用的式个,因此在找到这些文件后,要么删除,要么修改文件的属主,使其处于安全状态。

                                                                                                                                                                          

5. 更改危险文件(命令)权限

只有root用户能使用以下命令

  • chmod 700 /bin/ping

  • chmod 700 /usr/bin/who

  • chmod 700 /usr/bin/w

  • chmod 700 /usr/bin/{last,lastb,lastlog}

  • chmod 700 /usr/bin/whereis

  • chmod 700 /sbin/ifconfig

  • chmod 700 /usr/bin/pico

  • chmod 700 /usr/bin/{vi,vim}

  • chmod 700 /usr/bin/which

  • chmod 700 /usr/bin/gcc

  • chmod 700 /usr/bin/make

  • chmod 700 /bin/rpm

  • chmod 700 /usr/bin/wget

附录:

  1. passwd -l <用户名> 锁定不必要的账号

  2. passwd -u <用户名> 解锁需要恢复的账号

  3. 检查 shadow 中空口令帐号:awk -F: '($2 =="") {print $1}' /etc/shadow

  4. 常用w、last、lastlog、lastb命令

  5. 设定sudo权限

参考:《高性能Linux服务器构建实战》


anzhihe 安志合个人博客,版权所有 丨 如未注明,均为原创 丨 转载请注明转自:https://chegva.com/2089.html | ☆★★每天进步一点点,加油!★★☆ | 

您可能还感兴趣的文章!

发表评论

电子邮件地址不会被公开。 必填项已用*标注