linux下的NFS配置教程和安全策略
有很多方法可以实现linux下的共享文件,和NFS就是其中之一。网络文件系统(NFS)协议的设计和实现由Sun在上世纪80年代提供远程访问共享文件。该协议采用客户端/服务器模式,通过远程过程调用协议开发的太阳(RPC协议)运行在一个被称为另一台计算机上的远程计算机上的程序的计算机程序和外部数据,它提供了表示(XDR)能在电脑上交换使不同平台上的数据。该协议可以运行在TCP协议和UDP协议。在此基础上,NFS需要RPC命令是数据传输过程中的确认,它将重发时。1,NFS原理
NFS更复杂,包括许多组件,与特殊协议交互。不同的组件在操作系统中使用不同的配置文件和状态文件。
图形网络文件系统示意图
NFS分为两部分,服务器和客户机。每个主机都有自己的内核级服务:外部数据表示(XDR,外部数据表示),远程过程调用(RPC远程过程调用),我 / O监控程序和锁监视器。每个主机都有自己的用户级服务。内核级和用户级服务依赖于宿主的能力:NFS客户端或NFS服务器。当然,这也取决于不同的功能使用的每一个主机配置文件。如果它是一个服务器,它使用 / /出口等配置文件,如果它是一个客户端,它使用 / etc / fstab配置文件。如果主机是一个服务器和一个客户端,那么它需要运行服务两部分。
在服务器端,三个监测项目,portmap,装好,和nfsd,会在后台运行。portmap监控是用来登记基于RPC服务。当一个RPC监控开始,它告诉portmap哪个端口侦听,和什么样的RPC服务是开展。当客户提出一个RPC请求到服务器,它将联系portmap监控确定端口号的RPC消息应该发送的装好监控程序的功能是读 / / exportfs等文件在服务器端创建主机列表和网络从服务器的本地文件系统的出口,所以客户的Mount所有的要求都是定位于装好监控程序(进程)。当证明服务二有允许暂停请求的文件系统,装好返回所请求的连接点文件句柄。nfsd监控程序由服务器用于处理从客户端发送的请求。因为服务器需要同时处理多个客户端的请求,在默认情况下,将在Linux八NFSD线程自动启动。当然,如果NFS服务器特别繁忙,这是可能的,系统可以启动三十个线程根据实际情况。
2、NFS安装
在网络环境中,使用百胜安装NFS的命令如下:
#百胜ndash;Y安装NFS
3,NFS配置和使用
安装NFS后,我们需要将其配置为正常使用,主要包括两个步骤:服务器配置和客户端配置。我们将详细地解释它们。
服务器配置
编辑文件中的列表,共享目录。编写规则是:共享目录主机(参数)。每个规则占用一行:
/ mnt / MP3 192.168.10.168(RO,同步,no_root_squash)
上面的规则是 / mnt / MP3目录共享的主机192.168.10.168在读写同步模式。如果在NFS主机用户登陆是根,那么用户的主机的NFS root用户权限。
具体的可选参数如下:
读写权限
只读许可
no_root_squash:如果一个用户进入NFS主机是root用户,他有根的权威
root_squash:如果谁使用NFS主机的用户根目录,用户的权限将被压缩到一个匿名用户。通常他的UID和GID将成为人。
all_squash:无论用户在NFS主机将被重置为人
Anonuid:用户输入NFS主机设置为指定的用户ID,这个ID必须在/ etc / passwd文件存在
Anongid:这是anonuid相同,但它的GroupID。
同步数据同步写入存储器
异步:数据将被存储在内存中一段时间,没有直接到硬盘
不安全允许未经授权访问此机器。
客户端配置
客户端配置相对简单,只需使用以下命令挂载NFS文件系统:
#山- T的NFS 192.168.10.168: / / / MP3 MNT的家
上面的命令将远程共享目录挂在本地目录中,用户可以直接操作目录,从而获得远程共享资源。
启动NFS服务
# nfs服务开始
# NFS服务开始
这里是NFS的安全配置的一个具体的例子,假设有一个网站目录命名为 / popgame目录可以打开NFS客户端下载工作共享,这个服务器的IP地址:202.168.10.8,它可以打开目录的主机的IP地址202.168.10.10,202.168.10.13(的当然,能提供更多的服务器和IP也可以解决的例子,每一种现在有点像在局域网中,但原理是相同的),那么我们需要写 / /出口等文件在服务器端的第一:
我们进入目录等,然后vi导出,然后我们将输入文件的编辑界面,然后输入以下内容:
/ popgame 202.168.10.10(RO)202.168.10.13(RO)
我们可以清楚的看到,目录 / popgame只能出口到客户端的IP地址,以及他们的权力只能是只读的,因为他们只需要下载共享功能的简单游戏,不需要创建目录、修改文件的功能,如果有,那会有安全隐患。接下来,我们配置客户端 / / fstab文件等。当您输入文件时,您需要添加以下内容。原始文件的内容不应随意更改,否则会影响系统配置,影响文件系统。
202.168.10.8: / / /游戏popgame MNT NFS RO 00
/ mnt /游戏目录的本地目录,你想连接/ popgame目录在您的服务器上,你的客户。也就是说,当你分享的NFS文件系统,你可以通过访问本地目录 / mnt / game.because有两个客户现在访问共享文件,它们将被配置为以上。
完成配置后,需要将服务器的NFS挂在客户端的本地客户机上。命令如下:
安装ndash;T NFS 202.168.10.8: / / /游戏popgame MNT
特别是,在执行命令之前,必须关闭本地客户端上的防火墙,否则您将无法成功。原因是防火墙将妨碍远程过程调用。现在您可以安全地使用远程网络资源了。
最后介绍了使用中应注意的安全问题。
4。使用中应注意的安全问题
总的来说,保护的NFS,必须先关闭最大的弱点。在操作系统中,当系统启动时,会有很多的后台服务程序运行,有的端口是默认打开的。如果我们不处理这种情况,我们将一方面花了很多系统资源,另一方面,它会带来安全风险,我们的系统。因此,保护网络,必须解决以下问题:
我们应该考虑整体的安全,拒绝所有的访问,只有在需要的时候提供。也就是说,不出口NFS的任何主机,但只出口到需要的主机,尤其是避免对不被信任的主机输出的文件系统,并尝试使用RO权威出口文件系统尽可能不要使用(RW)或(no_root_squash)的权利;
我们没有太多的提供root用户帐户。要特别注意确保任何用户没有root用户帐户的NFS客户端,因为如果是的话,那么客户将拥有最高的权威,会导致安全问题,它可以改变任何它想改变的东西,这显然是不安全的。你应该使用(root_squash)和(RO)在NFS服务器选项。
我尝试使用NFS客户端限制挂选项,只读(RO)选项来挂载文件系统,除非确实有必要,否则不允许设置UID二进制文件(nosuid将),设备(则nodev)和可执行文件(noexec)。
我们要严格控制出口目录文件。这主要包括出口和安全选项数量出口。出口数量取决于实际情况,避免过多的不必要的选项比比皆是。此外,要严格控制安全选项是只读的,安全选项是上述(RO)、写(RW),root用户挤压(root_squash)和其他的选项,所以我们可以确保每个目录都有自己的访问,通常这是很合理的。因为所有你想出口目录的访问权限都是一样的,这几乎是不可能的。现在,例如,有三个目录在NFS服务器需要出口,一个是 /流行音乐,一个是 /文件,和其他的是 / digest.the三目录,第一和第三目录目录不仅让客户分享,并允许用户上传自己的文件,但第二只允许读取,使第一和第三目录访问将被设置为RW,而二只能设置为RO。
在设置导出文件系统目录下注意控制问题的过程中,在正常情况下,应与访问的目录和文件的父目录和子目录的一致性,和访问权限是不一致的,然后打开一个目录供出口,这实际上是一个管理问题的大小,例如,有四个现有目录要出口,这反过来direct1 / / /,直接参与者,direct3,和/ direct4.the第一个目录的访问是只读的,和后两者的读写,这样我们可以在出口的时候, /直接参与者在 / / direct1 direct1目录导出,然后将权限设置为共享只读,SIM而 / direct4可以作为子目录 / direct3,设置它是共享的读写权限,然后,在这种方式中,客户端将不会出现在访问服务器端的数据。在一个目录中,父目录的权限与子目录的权限不同,解决了这个设置的问题,方便共享,易于管理。