锁定关键文件,加强Linux安全性

原文发表于《网络安全和信息化》2017年第2期,从新修订以后转发到博客。安全

文件的扩展属性与文件的权限是两个彻底独立的概念,可是经过设置扩展属性,能够限制用户的权限。
为了便于理解,这里以Windows系统为例进行说明。在Windows系统中,选中某个文件以后,右键单击选择“属性”,在“常规”设置中能够选择为文件设置“只读”属性,如图所示。当设置了只读属性以后,任何用户不管他对该文件是否具备写入权限,都没法更改该文件的内容。于是,扩展属性能够被看做是一种优先级比系统权限更高的保护措施。
锁定关键文件,加强Linux安全性服务器

Linux系统的扩展属性,原理与Windows系统基本相同,并且Linux中能够设置的扩展属性远比Windows系统要更为丰富,不过最经常使用的只有只读属性(用i表示)和追加属性(用a表示),若是一个文件被设置了追加属性,那么就只能向文件中增长新的数据,而没法删除原有的数据。追加属性一般用于保护日志文件的安全。
root用户在Linux系统中的权限不受任何制约,但属性设置不一样于权限设置,即便root用户也没法突破扩展属性的限制。固然root用户能够设置或取消文件的扩展属性,但不管怎样,扩展属性都在系统权限以外,又为咱们提供了一种安全保护措施。
在Linux系统中设置扩展属性须要经过chattr命令,命令格式:
chattr [-R] +/- i/a 文件
 -R:递归修改全部的文件及子目录,这是一个可选项。
 +:增长扩展属性;
 -:减小扩展属性;
 i:只读属性,增长该属性以后,任何人包括root用户也无权写入更改;
 a:追加属性,增长该属性以后,只能向文件中添加数据,而不能删除原有数据。
经过chattr命令能够锁定系统中一些重要的文件或目录。例如,为/etc/passwd和/etc/shadow文件增长只读属性,这样任何人都没法在系统中添加新的用户,也没法删除系统中原有的用户。
[root@localhost ~]# chattr +i /etc/passwdd /etc/shadow
此时再建立用户就会出现错误提示。网络

[root@localhost ~]# useradd test
useradd:没法打开密码文件

lsattr命令可用于显示文件的扩展属性。ide

[root@localhost ~]# lsattr /etc/passwd /etc/shadow
----i-------- /etc/passwd
----i-------- /etc/shadow

若是管理员须要对系统中的用户进行操做,则能够去掉/etc/passwd和/etc/shadow文件的只读属性。日志

[root@localhost ~]# chattr -i /etc/passwd /etc/shadow
[root@localhost ~]# lsattr /etc/passwd /etc/shadow
------------- /etc/passwd
------------- /etc/shadow

为了加强系统安全性,一般能够为如下这些目录和文件增长只读属性:code

chattr -R +i /bin /boot /lib /sbin
chattr -R +i /usr/bin /usr/include /usr/lib /usr/sbin
chattr +i /etc/passwd /etc/shadow
chattr +i /etc/hosts /etc/resolv.conf
chattr +i /etc/fstab /etc/sudoers

另外能够对一些重要的日志文件设置追加属性:
chattr +a /var/log/messages /var/log/wtmp
须要注意的是,锁定系统关键文件,虽然可以提升系统安全性,可是也会带来一些不便。例如,在软件的安装、升级时可能就须要先去掉有关目录和文件的只读和追加属性。另外,若是对日志文件设置了追加属性,可能会使日志轮换(logrotate)没法进行。所以在使用chattr命令前,须要结合服务器的应用环境来权衡是否须要设置只读和追加属性。
另外,扩展属性并不适用于全部的文件或目录。好比不能经过设置扩展属性来保护/、/dev、/tmp、/var等目录。首先根目录不能设置只读属性,若是根目录具备只读属性,那么系统将没法工做。/dev目录在启动时,syslog须要删除并从新创建/dev/log套接字设备,若是设置了只读属性,那么就可能会出问题。/tmp目录会有不少应用程序和系统程序须要在这个目录下创建临时文件,于是也不能设置只读属性。/var是系统和程序的日志目录,若是设置为只读属性,那么系统写日志将没法进行,因此也不能经过chattr命令保护。视频

更多内容可参考视频课程:Linux用户和权限管理
http://edu.51cto.com/sd/36ff3blog

相关文章
相关标签/搜索