9 Linux 操作系统文件系统安全

上传人:油条 文档编号:1684137 上传时间:2017-07-05 格式:PPT 页数:103 大小:161KB
返回 下载 相关 举报
9  Linux 操作系统文件系统安全_第1页
第1页 / 共103页
9  Linux 操作系统文件系统安全_第2页
第2页 / 共103页
9  Linux 操作系统文件系统安全_第3页
第3页 / 共103页
9  Linux 操作系统文件系统安全_第4页
第4页 / 共103页
9  Linux 操作系统文件系统安全_第5页
第5页 / 共103页
点击查看更多>>
资源描述

《9 Linux 操作系统文件系统安全》由会员分享,可在线阅读,更多相关《9 Linux 操作系统文件系统安全(103页珍藏版)》请在金锄头文库上搜索。

1、第9章 Linux 操作系统文件系统安全,第一部分 教学组织,一、目的要求1.掌握Linux操作系统分区的安全策略2.了解文件共享安全3.理解文件系统的安全加载4.掌握文件系统数据备份的工具和策略二、工具器材1.Red Hat Enterprise Linux7.0或以上操作系统。2. 检查文件系统工具是 fsck、 mkfs 。3.备份工具:tar、afio、dump,cpio等,第二部分 教学内容,9.1分区的安全策略9.1.1块设备和分区块设备是能够以固定大小块格式化的任意存储设备的抽象层。单独的块的访问可以独立于其他块的访问。这样的访问通常称为随机访问。随机可访问的固定大小块的抽象层允

2、许程序使用这些块设备,而无需担心底层设备是硬盘驱动器、软盘、CD、固态(solid-state)驱动器、网络驱动器,还是某种虚拟设备,比如内存中文件系统。,9.1.2使用 fdisk 进行分区9.1.3使用 parted 进行分区,9.2 文件共享安全,目前,研究者们开发了许多网络服务和协议来完成资源共享的功能。对于网络用户和管理员来说,他们希望得到免费和高效的服务,而这种需求的最好选择莫过于当前开源的操作系统Linux下的产品了。,1、Samba服务器Linux下进行资源共享有很多种方式,Samba服务器就是最常见的一种。Samba服务器可以让Windows操作系统(Windows 2000

3、/XP/2003等)用户访问局域网中Linux主机,就象访问网上邻居一样方便。如图1所示,图中的服务器运行Samba服务器程序,其操作系统是Linux。该服务器通过Samba可以向局域网中的其他Windows系统提供文件服务。同时,在Linux服务器上还连接了一个共享打印机,打印机也通过Samba向局域网的其他Windows用户提供打印服务。,Samba工作原理Samba的工作原理是,让Windows系列操作系统网络邻居的通讯协议NETBIOS(NETwork Basic Input/Output System)和SMA(Server Message Block)这两个协议在TCP/IP通信协

4、议上运行,并且使用Windows的NETBEUI协议让Linux可以在网络邻居上被Windows看到。其中最重要的就是SMB(Server Message Block)协议,在所有的诸如Windows Server 2003、Windows XP等Windows系列操作系统中广为应用。Samba就是SMB服务器在类UNIX系统上的实现,目前可以在几乎所有的UNIX变种上运行。,Samba服务器的功能文件共享和打印共享是Samba最主要的功能。Samba为了方便文件共享和打印共享,还实现了相关的控制和管理功能。具体来说,Samba完成的功能有:共享目录:在局域网上共享某个或某些目录,使得同一个网

5、络内的Windows用户可以在网上邻居里访问该目录,就跟访问网上邻居里其他Windows机器一样。,目录权限:决定每一个目录可以由哪些人访问,具有哪些访问权限。Samba允许设置一个目录让一个人、某些人、组和所有人访问。共享打印机:在局域网上共享打印机,使得局域网的其他用户可以使用Linux操作系统下的打印机。打印机使用权限:决定哪些用户可以使用打印机。,2、主流FTP服务器Wu-ftpdWu-ftpd是Internet上最流行的FTP守护程序。Wu-ftpd功能十分强大,可以构建多种类型FTP服务器。Wu-ftpd菜单可以帮助用户轻松地实现对FTP服务器的配置:支持构造安全方式的匿名FTP的

6、访问,可以控制同时访问的用户的数量,限制可以允许访问的IP网段,并可以在一台主机上设置多个虚拟目录。Wu-ftpd有三种注册方式:匿名FTP、实际用户FTP以及guestFTP。匿名FTP使用用户名“anonymous”和一个email类型的口令进行注册。,9.2.2NFS快速配置与安全策略,在Linux下实现文件共享有多种方式,NFS就是其中之一。网络文件系统(NFS)协议是由Sun MicroSystem在20世纪80年代为了提供对共享文件的远程访问而设计和实现的。该协议采用Client/Server模型,通过使用Sun开发的远程过程调用协议(RPC Protocol)来实现运行在一台计算

7、机上的程序来调用在另一台远程机器上运行的子程序,并且,它提供的外部数据表示(XDR)可以使得数据在不同平台上的计算机上进行交换。该协议可以在TCP协议或者是UDP协议上运行,而在此基础上,NFS在数据的传送过程中需要RPC命令得到确认,而且在需要的时候将会重传。,1、NFS原理NFS比较复杂,包括很多组件,通过特殊的协议进行交互。不同的组件在操作系统当中都使用不同的配置文件以及状态文件。下图说明了NFS的主要组件及配置文件。,图9.2网络文件系统原理示意图,NFS分为服务器和客户机两部分,每个主机都有自己的内核级服务:外部数据表示(XDR,eXternal Data Representatio

8、n)、远程过程调用(RPC,Remote Procedure Call)、I/O监控程序和锁监控程序。每个主机还有自己的用户级服务。内核级服务和用户级服务都依赖于主机的功能:NFS客户机或者是NFS服务器。当然,还要依赖于每个主机使用的不同功能的配置文件(如果是服务器,则用的是/etc/exports配置文件,如果是客户机,则用的是/etc/fstab配置文件)。如果一台主机既是服务器又是客户机,那么它需要运行两个部分的服务。,在服务器端,portmap、 mountd、 nfsd三个监控程序将在后台运行。portmap监控程序用来注册基于rpc的服务。当一个RPC的监控程序启动的时候,它告诉

9、portmap监控程序它在哪一个端口进行侦听,并且它在进行什么样的RPC服务。当一个客户机向服务器提出一个RPC请求,那么它就会和portmap监控程序取得联系以确定RPC消息应该发往的端口号。而Mountd监控程序的功能是来读取服务器端的/etc/exportfs文件并且创建一个将服务器的本地文件系统导出的主机和网络列表,因而客户机的挂接(mount)请求都被定位到mountd监控程序(daemon)。,当验证了服务器确实具有挂接所请求的文件系统的权限以后,mountd为请求的挂接点返回一个文件句柄。而nfsd监控程序则被服务器用来处理客户机端发过来的请求,由于服务器需要同时处理多个客户机的

10、请求,所以在缺省情况下,在Linux当中将会自动启动八个nfsd线程。当然,如果NFS服务器特别忙的时候,系统有可能根据实际情况启动三十个线程。,2、NFS安装在网络环境下,使用yum安装NFS的命令如下:#yum y install nfs3、NFS配置和使用在安装好NFS后,需要对其进行配置才能正常使用,主要包括服务器配置和客户机配置两个步骤,4、使用中需要注意的安全问题通常来说,我们要保护好NFS,首先就要关闭最大的漏洞。在操作系统当中,当系统启动的时候,将会有很多的后台系统服务程序在运行,而且有些端口是缺省打开的。如果不对这种情况进行处理的话,一方面会不必要的消耗大量系统资源,另一方面

11、则会给我们的系统带来安全隐患。因此,我们要保护NFS,必须解决好如下问题:,(1) 要考虑好总体的安全,拒绝所有的访问,只有在需要的时候才提供访问。也就是说,不要把NFS导出到任何主机,而只应该将它导出到所需要的主机,尤其是避免将文件系统导出到不信任的主机。并且要尽量使用只读(ro)权限导出文件系统,尽量不要使用(rw)或者是(no_root_squash)权限;,(2) 不要提供太多的根用户账号。特别要注意保证任何用户都没有NFS客户机的根用户账号,因为如果具有的话,那么该客户机将会具有最高的权限,将会引起很大的安全问题,它可以修改任何它想修改的东西,这显然是不安全的。而且应该在NFS服务器

12、上使用(root_squash)和(ro)选项;,(3) 尽量使用限制性的NFS客户机方挂接选项,用只读(ro)选项挂接文件系统,除非确实有必要,要不然不要允许设置UID二进制文件(nosuid)、设备(nodev)和执行文件(noexec)。(4) 要严格地控制好导出的目录文件。这主要包括导出的数量以及导出的安全选项。,(5) 在导出的文件系统下的目录的设置过程当中应当要注意一些控制的问题。通常情况下,应该要将访问权限一致的目录和文件作为父目录、子目录,而访问权限不一致的就另开一个目录进行导出,这实际上就是一个管理的粒度问题。,9.3 文件系统的安全加载,9.3.1安装文件系统Linux 文

13、件系统是一个用 / 划分根目录的大的目录树,但是我们在不同的设备和分区上也有文件系统。怎样解决这一明显的不一致呢?根(/)文件系统是作为安装过程的一部分安装的。您所创建的其他每个文件系统不能用于您的 Linux 系统,直至它被安装在一个挂载点。在当前安装的文件系统集中,挂载点只是一个路径,其中设备上的文件系统被移植到树中。安装是使设备上的文件系统可访问的一个过程。,9.3.2标签、UUID和链接,在 UNIX 和早期的 Linux 系统中,/dev 目录通常包含曾经附加到系统的所有设备。曾经使用过的设备都位于 /dev 树的同一位置,因此使用名称 /dev/sda6 是自然而然的。随着热插拔设

14、备的出现,比如 USB 或 Firewire (IEEE 1394) 附加设备,今天一个给定的设备可能出现在一个 USB 端口,明天同一个设备可能被插到另一个 USB 端口。在这种情况下,无论您将 U 盘插在哪个 USB 端口上,您总是要将它安装在 /media/myusbstick 上。,9.3.3 引导时间和fstab我们已经学习了如何在 GRUB 和 LILO 中使用 root= 参数,来通知引导加载程序应该安装什么文件系统作为根。一旦此文件系统被安装,初始化过程运行带有 -a 选项的 mount 命令来自动安装一个文件系统集合。,9.4 保持文件系统的完整性,9.4.1检查文件系统有时

15、候系统可能会崩溃或者断电。在这些情况下,Linux 无法干净地卸载文件系统,它们可能会处于不一致的状态,即某些修改完成了,而其他修改没有完成。操作受损的文件系统不是一个好的解决方法,因为这可能会使现有的错误进一步复杂化。,检查文件系统的主要工具是 fsck,与 mkfs 相似,这种工具实际上也是针对各种文件系统类型的文件系统检查例程的前端。一些底层检查例程如下所示:ianechidna $ ls /sbin/*fsck*/sbin/btrfsck /sbin/fsck /sbin/fsck.ext3 /sbin/fsck.msdos/sbin/dosfsck /sbin/fsck.cramfs

16、 /sbin/fsck.ext4 /sbin/fsck.vfat/sbin/e2fsck /sbin/fsck.ext2 /sbin/fsck.ext4dev /sbin/fsck.xfs,你可能会惊讶地发现,这些文件中有很多是到一个文件的硬链接,如下所示。因为这些文件可能早在启动过程中就已用到,所以可能未挂载文件系统,且符号链接尚不可用。ianechidna $ find /sbin -samefile /sbin/e2fsck/sbin/fsck.ext4dev/sbin/e2fsck/sbin/fsck.ext3/sbin/fsck.ext4/sbin/fsck.ext2,系统引导过程使用 fsck 的 -A 选项来检查根文件系统和 /etc/fstab 控制文件中指定检查的所有其他文件系统。如果文件系统不能完全卸载,那么执行一致性检查并进行修复,这一切都要在安全环境下完成。这受 /etc/fstab 项的 pass(或 passno)字段(第 6 个字段)控制。在引导时,不检查 pass 设置为零的文件系统。根文件系统的 pass 值是 1,它先被检查。其他文件系统的 pass 值常常是 2(或更大),这些值表示应该以什么次序检查它们。,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业/管理/HR > 其它文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号