centos锁定系统重要文件

发布时间:2017-06-02 23:09:29 阅读:1167次

1.3 文件系统安全

1.3.1 锁定系统重要文件

系统运维人员有时候可能会遇到通过root用户都不能修改或者删除某个文件的情况,产生这种情况的大部分原因可能是这个文件被锁定了。在Linux下锁定文件的命令是chattr,通过这个命令可以修改ext2、ext3、ext4文件系统下文件属性,但是这个命令必须由超级用户root来执行。和这个命令对应的命令是lsattr,后者用来查询文件属性。

通过chattr命令修改文件或者目录的文件属性能够提高系统的安全性,下面简单介绍下chattr和lsattr两个命令的用法。

chattr命令的语法格式如下:

  1. chattr [-RV] [-v version] [mode] 文件或目录 

主要参数含义如下:

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

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

其中mode部分用来控制文件的属性,常用参数如表1-2所示。

表1-2 chattr命令的常用参数

这些参数中,最常用到的是a和i,a参数常用于服务器日志文件安全设定,而i参数更为严格,不允许对文件进行任何操作,即使是root用户。

lsattr用来查询文件属性,用法比较简单,其语法格式如下:

  1. lsattr [-adlRvV] 文件或目录 

常用参数如表1-3所示。

表1-3 lsattr命令的常用参数

在Linux系统中,如果一个用户以root的权限登录或者某个进程以root的权限运行,那么它的使用权限就不再有任何的限制了。因此,攻击者通过远程或者本地攻击手段获得了系统的root权限将是一场灾难。在这种情况下,文件系统将是保护系统安全的最后一道防线,合理的属性设置可以最大限度地降低攻击者对系统的破坏程度,通过chattr命令锁定系统一些重要的文件或目录,是保护文件系统安全最直接、最有效的手段。

对一些重要的目录和文件可以加上“i”属性,常见的文件和目录有:

  1. chattr -R +i /bin /boot /lib /sbin  
  2. chattr -R +i /usr/bin /usr/include /usr/lib /usr/sbin  
  3. chattr +i /etc/passwd  
  4. chattr +i /etc/shadow  
  5. chattr +i /etc/hosts  
  6. chattr +i /etc/resolv.conf  
  7. chattr +i /etc/fstab  
  8. chattr +i /etc/sudoers 

对一些重要的日志文件可以加上“a”属性,常见的有:

  1. chattr +a /var/log/messages  
  2. chattr +a /var/log/wtmp 

对重要的文件进行加锁,虽然能够提高服务器的安全性,但是也会带来一些不便,例如,在软件的安装、升级时可能需要去掉有关目录和文件的immutable属性和append-only属性,同时,对日志文件设置了append-only属性,可能会使日志轮换(logrotate)无法进行。因此,在使用chattr命令前,需要结合服务器的应用环境来权衡是否需要设置immutable属性和append-only属性。

另外,虽然通过chattr命令修改文件属性能够提高文件系统的安全性,但是它并不适合所有的目录。chattr命令不能保护/、/dev、/tmp、/var等目录。

根目录不能有不可修改属性,因为如果根目录具有不可修改属性,那么系统根本无法工作:/dev在启动时,syslog需要删除并重新建立/dev/log套接字设备,如果设置了不可修改属性,那么可能出问题;/tmp目录会有很多应用程序和系统程序需要在这个目录下建立临时文件,也不能设置不可修改属性;/var是系统和程序的日志目录,如果设置为不可修改属性,那么系统将无法写日志,所以也不能通过chattr命令保护。

虽然保护/dev、/tmp等目录的安全性无法通过chattr命令实现,但是可以通过另外的方法实现,这些将在下一小节详细介绍。

如有问题,可以QQ搜索群1028468525加入群聊,欢迎一起研究技术

支付宝 微信

有疑问联系站长,请联系QQ:QQ咨询

转载请注明:centos锁定系统重要文件 出自老鄢博客 | 欢迎分享