Linux安全:文件系统安全

caocao1年前教程261

Linux 文件权限管理和安全

Linux 对于文件权限管理是完善和全面的,但是用户通常会在权限的设置上产生纰漏。本文将介绍文件系统的权限和安全。

1. 锁定系统重要文件

系统运维人员有时候可能会遇到通过 Root 用户都不能修改或删除某个文件的情况,这通常是因为该文件被锁定了。在 Linux 下,锁定文件的命令是 chattr,通过这个命令可以修改 ext2、ext3、ext4 文件系统下文件的属性,但是必须使用超级用户 Root 权限来执行。与 chattr 命令对应的是 lsattr 命令,用于查询文件属性。

通过 chattr 命令修改文件或目录的属性可以提高系统的安全性。下面简单介绍了 chattrlsattr 两个命令的用法。

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

lsattr [-RVadlpv] [文件]

常用参数如下所示:

  • -a:列出目录中的所有文件,包括以.开头的文件。
  • -d:显示指定目录的属性。
  • -R:以递归的方式列出目录下所有文件及子目录以及属性值。
  • -v:显示文件或目录版本。

chattr 命令的语法格式如下:

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

主要参数含义如下:

  • -R:递归修改所有的文件及子目录。
  • -V:详细显示修改内容,并打印输出。

其中,mode 部分用来控制文件的属性,常用参数如下所示:

  • +:在原有参数设定基础上,追加参数。
  • -:在原有参数设定基础上,移除参数。
  • =:更新为指定参数。
  • a:即 append,设定该参数后,只能向文件中添加数据,而不能删除。常用于服务器日志文件安全,只有 Root 用户才能设置这个属性。
  • c:即 compress,设定文件是否经压缩后再存储。读取时需要经过自动解压操作。
  • i:即 immutable,设定文件不能被修改、删除、重命名、设定链接等,同时不能写入或新增内容。这个参数对于文件系统的安全设置有很大帮助。
  • s:安全删除文件或目录,即文件被删除后硬盘空间被全部收回。
  • u:与 s 参数相反,当设定为 u 时,系统会保留其数据块以便以后能够恢复删除这个文件。

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

对一些重要的目录和文件可以加上 i 属性,常见的文件和目录如下所示:

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

对一些重要的日志文件可以加上 a 属性,如下所示:

root@kali:~/chattr +a /var/log/messages
root@kali:~/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 命令保护。

2. 文件权限检查和修改

系统中如果有不正确的权限设置,可能会危及整个系统的安全。下面列举了查找系统不安全权限的方法。

(1)查找系统中任何用户都有写权限的文件或目录,查找文件,如下所示:

``` root@kali:~# find / -type f -perm -2 -o -perm -20 | xargs ls -al

相关文章

U盘与移动硬盘启动的区别-移动硬盘做成启动U盘

U盘与移动硬盘启动的区别-移动硬盘做成启动U盘

```markdown 在线wifi跑包 金刚包跑包 cap跑包 hccapx ewsa在线 就来 曹操wifi 各位好 又见面了 我是曹操 今天给大家带来一篇新的教程 希望各位细心学习 低调用网 以...

简单有效:实测一款暴力破解Wifi密码工具!

简单有效:实测一款暴力破解Wifi密码工具!

在线wifi跑包 金刚包跑包 cap跑包 hccapx ewsa在线 就来 曹操wifi 各位好 又见面了 我是曹操 今天给大家带来一篇新的教程 希望各位细心学习 低调用网 大家好,我是程序员小黑,...

如何将cdlinux装到优盘

如何将cdlinux装到优盘

在线wifi跑包 金刚包跑包 cap跑包 hccapx ewsa在线 就来 曹操wifi 各位好 又见面了 我是曹操 今天给大家带来一篇新的教程 希望各位细心学习 低调用网 怎么将CDLinux安...

网站管理后台帐号密码暴力破解方法

网站管理后台帐号密码暴力破解方法

在线wifi跑包 金刚包跑包 cap跑包 hccapx ewsa在线 就来 曹操wifi 各位好 又见面了 我是曹操 今天给大家带来一篇新的教程 希望各位细心学习 低调用网 【导读】对于网站运行的个...