资料介绍
在一个典型的Linux系统中,至少有两个目录或分区保持着临时文件。其中之一是/tmp目录,再者是/var/tmp。在更新的Linux内核的系统中,还可能有/dev/shm,它是用tmpfs文件系统装载的。
存储临时文件的目录存在着一个问题,即这些目录可以成为损害系统安全的僵尸和rootkit的温床。这是因为在多数情况下,任何人(或任何过程)都可以向这些目录写入东西,还有不安全的许可问题。我们知道都sticky bit,该位可以理解为防删除位。如果希望用户能够添加文件但同时不能删除文件, 则可以对文件使用sticky bit位。设置该位后,就算用户对目录具有写权限,也不能删除该文件。多数Linux发行版本在临时目录上设置sticky位,这意味着用户A不能清除属于用户B的一个文件,反之亦然。但是,根据文件自身的许可,用户A有可能查看并修改那个文件的内容。
一个典型的Linux安装将/tmp设置为mode 1777,这意味着它设置了sticky位,并且可被所有的用户读取、写入、执行。多数情况下,这如同其设置的安全一样,主要是因为/tmp目录仅仅是一个目录,而不是一个自己的文件系统。/tmp目录依赖于/分区,这样一来它也就必须遵循其装载选项。
一个更加安全的解决方案可能是将/tmp设置在其自己的分区上,这样一来它就可以独立于/分区装载,并且可以拥有更多的限制选项。/tmp分区的/etc/fstab项目的一个例子看起来是这样的:
/dev/sda7 /tmp ext3 nosuid,noexec,nodev,rw 0 0
这就设置了nosuid、noexec、nodev选项,意味着不允许任何suid程序,从这个分区不能执行任何内容,并且不存在设备文件。
你可以清除/var/tmp目录,并创建一个symlink指向/tmp目录,如此一来,/var/tmp中的临时文件就可以利用这些限制性的装载选项。
/dev/shm虚拟文件系统也需要保障其安全,这可以通过改变/etc/fstab而实现。典型情况下,/dev/shm通过defaults选项加载,对保证其安全性是很不够的。就像/tmp的fstab一样,它应当具备限制性更强的加载选项:
none /dev/shm tmpfs defaults,nosuid,noexec,rw 0 0
最后,如果你没有能力在现有的驱动器上创建一个最新的/tmp分区,你可以通过创建一个loopback文件系统来利用Linux内核的 loopback特性,这个文件系统可被装载为/tmp,并可以使用相同的限制加载选项。要创建一个1GB的loopback文件系统,需要执行:
# dd if=/dev/zero of=/.tmpfs bs=1024 count=1000000
# mke2fs -j /.tmpfs
# cp -av /tmp /tmp.old
# mount -o loop,noexec,nosuid,rw /.tmpfs /tmp
# chmod 1777 /tmp
# mv -f /tmp.old/* /tmp/
# rmdir /tmp.old
一旦完成,需要编辑/etc/fstab,以便于在启动时自动加载loopback文件系统:
/.tmpfs /tmp ext3 loop,nosuid,noexec,rw 0 0
保障恰当的许可和使用限制性加裁选项等方法能够防止对系统的许多损害。如果一个僵尸在一个不能执行的文件系统上安了家,那么它从本质上讲也是不值得担心的。
存储临时文件的目录存在着一个问题,即这些目录可以成为损害系统安全的僵尸和rootkit的温床。这是因为在多数情况下,任何人(或任何过程)都可以向这些目录写入东西,还有不安全的许可问题。我们知道都sticky bit,该位可以理解为防删除位。如果希望用户能够添加文件但同时不能删除文件, 则可以对文件使用sticky bit位。设置该位后,就算用户对目录具有写权限,也不能删除该文件。多数Linux发行版本在临时目录上设置sticky位,这意味着用户A不能清除属于用户B的一个文件,反之亦然。但是,根据文件自身的许可,用户A有可能查看并修改那个文件的内容。
一个典型的Linux安装将/tmp设置为mode 1777,这意味着它设置了sticky位,并且可被所有的用户读取、写入、执行。多数情况下,这如同其设置的安全一样,主要是因为/tmp目录仅仅是一个目录,而不是一个自己的文件系统。/tmp目录依赖于/分区,这样一来它也就必须遵循其装载选项。
一个更加安全的解决方案可能是将/tmp设置在其自己的分区上,这样一来它就可以独立于/分区装载,并且可以拥有更多的限制选项。/tmp分区的/etc/fstab项目的一个例子看起来是这样的:
/dev/sda7 /tmp ext3 nosuid,noexec,nodev,rw 0 0
这就设置了nosuid、noexec、nodev选项,意味着不允许任何suid程序,从这个分区不能执行任何内容,并且不存在设备文件。
你可以清除/var/tmp目录,并创建一个symlink指向/tmp目录,如此一来,/var/tmp中的临时文件就可以利用这些限制性的装载选项。
/dev/shm虚拟文件系统也需要保障其安全,这可以通过改变/etc/fstab而实现。典型情况下,/dev/shm通过defaults选项加载,对保证其安全性是很不够的。就像/tmp的fstab一样,它应当具备限制性更强的加载选项:
none /dev/shm tmpfs defaults,nosuid,noexec,rw 0 0
最后,如果你没有能力在现有的驱动器上创建一个最新的/tmp分区,你可以通过创建一个loopback文件系统来利用Linux内核的 loopback特性,这个文件系统可被装载为/tmp,并可以使用相同的限制加载选项。要创建一个1GB的loopback文件系统,需要执行:
# dd if=/dev/zero of=/.tmpfs bs=1024 count=1000000
# mke2fs -j /.tmpfs
# cp -av /tmp /tmp.old
# mount -o loop,noexec,nosuid,rw /.tmpfs /tmp
# chmod 1777 /tmp
# mv -f /tmp.old/* /tmp/
# rmdir /tmp.old
一旦完成,需要编辑/etc/fstab,以便于在启动时自动加载loopback文件系统:
/.tmpfs /tmp ext3 loop,nosuid,noexec,rw 0 0
保障恰当的许可和使用限制性加裁选项等方法能够防止对系统的许多损害。如果一个僵尸在一个不能执行的文件系统上安了家,那么它从本质上讲也是不值得担心的。
下载该资料的人也在下载
下载该资料的人还在阅读
更多 >
- 隧道施工背后的安全保障 0次下载
- RT-Thread文档_TMPFS 临时文件系统 0次下载
- Linux系統文件包 0次下载
- Uguu轻量级临时文件托管平台 1次下载
- Plik可扩展的临时文件上传系统 1次下载
- Linux内核文件Cache机制 4次下载
- LINUX操作系统的安装与Linux常用文件命令 2次下载
- Linux基础教程之如何在linux不解压tar.gz文件查看的文件大小资料概述 2次下载
- Linux中有哪些常见的文件类型? 0次下载
- Linux实用教程之Linux文件和目录操作总结 0次下载
- 《Linux设备驱动开发详解》第5章、Linux文件系统与设备文件系统 0次下载
- Linux中文件及文件描述符概述 0次下载
- Chrome修改临时文件夹位置 0次下载
- 创建临时文件_源代码 5次下载
- qq垃圾清理软件下载 20次下载
- Linux系统文件比较工具集合 258次阅读
- 如何在Linux中查看隐藏文件 1.4w次阅读
- Linux文件是一个什么文件的路径 941次阅读
- CPU架构是由哪些部分组成的 4457次阅读
- 使用IDEA编写项目代码的实用小技巧 2013次阅读
- 六个绝对不能触碰的win10默认文件夹 2939次阅读
- 虚拟机:Linux改变打开文件的个数 2023次阅读
- CPU到底是什么CPU的详细资料讲解 7619次阅读
- Linux中没有rc.local文件该怎么解决 2960次阅读
- 如何区别Linux文件系统呢? 3380次阅读
- Vivado路径过长报错的两个解决方法 6269次阅读
- 玩转Linux,先把文件系统搞懂 1931次阅读
- 制作ZedBoard上linux根文件系统(ramdisk) 1328次阅读
- 基于zynq的Linux根文件系统生成 5020次阅读
- 如何单独打开Xilinx SDK项目工程 6441次阅读
下载排行
本周
- 1TC358743XBG评估板参考手册
- 1.36 MB | 330次下载 | 免费
- 2开关电源基础知识
- 5.73 MB | 6次下载 | 免费
- 3100W短波放大电路图
- 0.05 MB | 4次下载 | 3 积分
- 4嵌入式linux-聊天程序设计
- 0.60 MB | 3次下载 | 免费
- 5基于FPGA的光纤通信系统的设计与实现
- 0.61 MB | 2次下载 | 免费
- 6基于FPGA的C8051F单片机开发板设计
- 0.70 MB | 2次下载 | 免费
- 751单片机窗帘控制器仿真程序
- 1.93 MB | 2次下载 | 免费
- 8基于51单片机的RGB调色灯程序仿真
- 0.86 MB | 2次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 2555集成电路应用800例(新编版)
- 0.00 MB | 33564次下载 | 免费
- 3接口电路图大全
- 未知 | 30323次下载 | 免费
- 4开关电源设计实例指南
- 未知 | 21548次下载 | 免费
- 5电气工程师手册免费下载(新编第二版pdf电子书)
- 0.00 MB | 15349次下载 | 免费
- 6数字电路基础pdf(下载)
- 未知 | 13750次下载 | 免费
- 7电子制作实例集锦 下载
- 未知 | 8113次下载 | 免费
- 8《LED驱动电路设计》 温德尔著
- 0.00 MB | 6653次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935054次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537796次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420026次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191185次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183278次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138040次下载 | 免费
评论
查看更多