Linux安全:文件系统安全

caocao1年前教程205

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

相关文章

如何破解WiFi(修复错误)

如何破解WiFi(修复错误)

在线wifi跑包 金刚包跑包 cap跑包 hccapx ewsa在线 就来 曹操wifi 各位好 又见面了 我是曹操 今天给大家带来一篇新的教程 希望各位细心学习 低调用网 首先,我要说明这篇文章是...

电脑小知识:抖音直播投屏电脑教程(比较全的投屏方法)

电脑小知识:抖音直播投屏电脑教程(比较全的投屏方法)

在线wifi跑包 金刚包跑包 cap跑包 hccapx ewsa在线 就来 曹操wifi 各位好 又见面了 我是曹操 今天给大家带来一篇新的教程 希望各位细心学习 低调用网 问:抖音直播如何投屏到电...

关于 Debian CD/DVD/USB 的常见问答集

关于 Debian CD/DVD/USB 的常见问答集

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

linux更换源

linux更换源

回答1:要在Linux系统中更换镜像源,需要编辑/etc/apt/sources.list文件。首先,使用文本编辑器(如nano或vi)打开这个文件。然后,将现有的镜像源URL替换为新的镜像源URL。...