`
desert3
  • 浏览: 2156057 次
  • 性别: Icon_minigender_1
  • 来自: 合肥
社区版块
存档分类
最新评论

网络文件系统(Network File System,NFS)、NFS安全配置相关、NFS相关端口及防火墙设置

 
阅读更多
网络文件系统(Network File System,NFS ),是在 Unix 系统间实现磁盘文件共享的一种方法,它支持应用程序在客户端通过网络存取位于服务器磁盘中数据的一种文件系统协议。最早于1984年由昇陽开发。功能是通过网络让不同的机器、不同的操作系统能夠彼此分享个别的資料。

NFS 的基本原則是「允许不同的客戶端及服务器端通过一组 RPCs 分享相同的文件系統」,它是独立与操作系统,允许不同硬件及操作系統共同进行文件的分享。

NFS 提供了以下的服务:
  • 在目录(directory)中寻找文件
  • 列出目录中的文件
  • 管理目录
  • 取得各文件的属性(file attribute)
  • 文件的读/写

RPC(Remote Procedure Call)
NFS本身是没有提供信息传输的协议和功能的,但NFS却能让我们通过网络进行资料的分享,这是因为NFS使用了一些其它的传输协议。而这些传输协议用到这个RPC功能的。可以说NFS本身就是使用RPC的一个程序。或者说NFS也是一个RPC SERVER.所以只要用到NFS的地方都要启动RPC服务,不论是NFS SERVER或者NFS CLIENT。这样SERVER和CLIENT才能通过RPC来实现PROGRAM PORT的对应。可以这么理解RPC和NFS的关系:NFS是一个文件系统,而RPC是负责负责信息的传输

NFS的不安全性主要体现于以下4个方面:
  • 1、新手对NFS的访问控制机制难于做到得心应手,控制目标的精确性难以实现 防火墙对各端口的设定,hosts.allow对各服务、客户端IP的限制
  • 2、NFS没有真正的用户验证机制,而只有对RPC/Mount请求的过程验证机制 可以使用安全的NFS服务器 使用公钥、密钥?
  • 3、较早的NFS可以使未授权用户获得有效的文件句柄
  • 4、在RPC远程调用中,一个SUID的程序就具有超级用户权限.

加强NFS安全的方法:
  • 合理的设定/etc/exports中共享出去的目录,最好能使用anonuid,anongid以使MOUNT到NFS SERVER的CLIENT仅仅有最小的权限,最好不要使用no_root_squash。
  • 合理设置共享出去目录的权限(文件所有者、文件所在组、其他人的权限760?)
  • 使用IPTABLE防火墙限制能够连接到NFS SERVER的机器范围
  • iptables -A INPUT -i eth0 -p TCP -s 192.168.0.0/24 --dport 111 -j ACCEPT
    iptables -A INPUT -i eth0 -p UDP -s 192.168.0.0/24 --dport 111 -j ACCEPT
    iptables -A INPUT -i eth0 -p TCP -s 140.0.0.0/8 --dport 111 -j ACCEPT
    iptables -A INPUT -i eth0 -p UDP -s 140.0.0.0/8 --dport 111 -j ACCEPT
  • 根据客户端数,在/etc/sysconfig/nfs中设置合理的nfs服务器端进程数RPCNFSDCOUNT,默认8
  • 修改/etc/hosts.allow和/etc/hosts.deny达到限制CLIENT的目的
  • /etc/hosts.allow
    portmap: 192.168.0.0/255.255.255.0 : allow
    portmap: 140.116.44.125 : allow

    /etc/hosts.deny
    portmap: ALL : deny
  • /etc/services中改变默认的portmapper端口111,和nfs端口2049
  • 配置安全NFS Tunneling NFS4 over SSH, Security and NFS


NFS相关端口:
111 portmap端口
2049 nfsd端口

在/etc/sysconfig/nfs或者/etc/service中固定mountd、rquotad、rpc.statd相关端口,/etc/sysconfig/nfs中的优先级 大于 /etc/service, lockd,statd的端口好像只能在nfs配置文件中指定?试着没有修改成功!
方式一:在/etc/service固定相应守护进程的端口
mountd 892/tcp #rpc.mountd
mountd 892/udp #rpc.mountd
rquotad 875/tcp #rpc.rquotad
rquotad 875/udp #rpc.rquotad

方式二:/etc/sysconfig/nfs
#默认:
#Port rpc.mountd should listen on.
#MOUNTD_PORT=892

#Port rpc.statd should listen on.
#STATD_PORT=662

#/usr/sbin/rpc.rquotad Port rquotad should listen on.
#RQUOTAD_PORT=875

#TCP port rpc.lockd should listen on.
#LOCKD_TCPPORT=32803

#UDP port rpc.lockd should listen on.
#LOCKD_UDPPORT=32769 

修改成:
RQUOTAD_PORT=30001
LOCKD_TCPPORT=30002
LOCKD_UDPPORT=30003
MOUNTD_PORT=30004
STATD_PORT=30005

防火墙设置:
iptables -A INPUT -s 192.168.1.1 -p tcp --dport 111 -j ACCEPT
iptables -A INPUT -s 192.168.1.1 -p udp --dport 111 -j ACCEPT
iptables -A INPUT -s 192.168.1.1 -p tcp --dport 2049 -j ACCEPT
iptables -A INPUT -s 192.168.1.1 -p udp --dport 2049 -j ACCEPT
iptables -A INPUT -s 192.168.1.1 -p tcp --dport 30001:30005 -j ACCEPT
iptables -A INPUT -s 192.168.1.1 -p udp --dport 30001:30005 -j ACCEPT


CentOS NFS配置
维基百科 - 网络文件系统
分享到:
评论

相关推荐

    Centos7安装NFS服务以及防火墙配置.docx

    NFS(Network File System)是 Sun Microsystems 公司开发的一种分布式文件系统,允许多个计算机之间共享文件和目录。 安装 NFS 服务需要安装 rpcbind 和 nfs-utils 两个软件包,可以使用 yum 进行快速安装。首先,...

    Linux下NFS网络文件系统设定及管理 - NFS服务

    NFS(Network File System)即网络文件系统,是由Sun Microsystems公司开发的一种分布式文件系统协议,它允许网络上的计算机通过网络共享彼此的文件。在Linux环境中,NFS是一种非常重要的服务之一,它使得用户可以在...

    blackfin uClinux使用NFS挂载文件方法

    NFS(Network File System)是一种网络文件系统协议,允许用户通过网络访问远程计算机上的文件,就像在本地磁盘上操作一样。它最初由Sun Microsystems开发,并广泛应用于各种操作系统中,包括Linux、Unix、Windows等...

    NFS服务安装与配置方案

    NFS,全称Network File System,是一种网络文件系统,它允许网络中的计算机之间共享文件和目录。通过NFS,一台计算机(NFS服务器)可以设置一个共享目录,供其他计算机(NFS客户端)挂载,从而实现文件系统的远程...

    银河麒麟高级服务器操作系统V10 使能NFS支持tcp-wrappers解决“CVE-1999-0554”问题

    在日常运维中,除了配置tcp-wrappers,还应考虑其他安全措施,比如使用防火墙(如iptables或firewalld)限制NFS端口的访问,使用强密码策略,以及定期审计和更新系统。了解并实施这些最佳实践将有助于保护服务器免受...

    centos nfs的配置

    最后,为了确保NFS服务的所有相关端口(如portmap、nfsd、mountd等)都被正确配置,需要编辑`/etc/services`文件,确保所有的端口号都与标准NFS端口号一致。 ### 十、防火墙端口设置 为防止防火墙阻止NFS服务的...

    Linux下NFS(网络文件系统)的建立与配置方法.pdf

    Linux操作系统中,Network File System(NFS)是一种将远程主机上的分区(目录)经网络挂载到本地系统的一种机制,通过对网络文件系统的支持,用户可以在本地系统上像操作本地分区一样来对远程主机的共享分区(目录...

    linux 上nfs服务配置

    NFS代表网络文件系统(Network File System),这是一个由Sun公司开发的协议,允许用户在网络上不同机器和不同操作系统间共享文件系统。该协议是基于RPC(远程过程调用)的,RPC允许一个客户端计算机通过网络调用另...

    nfs的配置(简单实用的配置)

    什么是NFS (Network File System) NFS,即网络文件系统,最初由Sun Microsystems开发。它的主要功能是通过网络使不同类型的计算机能够共享文件,使得用户可以在网络上像操作本地文件一样操作远程文件。简而言之,...

    NFS文件服务的配置

    NFS(Network File System)是一种网络文件系统协议,允许不同计算机之间通过网络共享文件和目录。本文档将详细介绍如何在Linux服务器端和客户端配置NFS服务,以及Windows客户端如何访问NFS服务器。 一、Linux...

    嵌入式nfs服务器配置大全

    随着嵌入式系统的广泛应用和发展,网络文件系统(Network File System,简称NFS)作为一种高效的文件共享技术,在嵌入式Linux环境下变得越来越重要。本文将详细介绍如何在嵌入式Linux系统中配置NFS服务,包括必要的...

    NFS服务器客户机配置

    NFS(Network File System)是一种分布式文件系统协议,允许网络中的计算机之间共享文件和目录。本实验主要目的是配置一个NFS服务器,使其能够共享目录,并设置一个NFS客户机,使得该客户机能够访问服务器上的共享...

    nfs.rar_NFS_nfs 依赖的包_nfs-util 依赖包_nfs-utils下载_nfs依赖

    NFS(Network File System)是UNIX/Linux环境下的一个网络文件共享协议,允许远程计算机系统挂载本地文件系统,实现跨网络的数据访问。标题中的“nfs.rar”可能是一个包含NFS相关软件包的压缩文件,方便用户下载和...

    NFSserver1.2.43安装包_密钥.zip

    NFS(Network File System)是一种分布式文件系统协议,最初由Sun Microsystems开发,旨在允许网络上的计算机之间透明地共享文件和目录。NFS server 1.2.43是专为Windows操作系统设计的一个软件,用于在Windows环境...

    iTOP-4412实现NFS网络文件系统.pdf

    NFS(Network File System)是SUN公司开发的一种基于UDP/IP协议的文件系统,它允许不同机器上的不同操作系统能够共享文件。NFS的工作方式是将远程主机的目录挂载到本地,使得本地用户可以像访问本地文件系统一样访问...

    NFS服务器客户端配置

    NFS (Network File System) 是一个允许网络中的计算机之间共享文件和目录的协议。NFS 服务器客户端配置涉及两个主要部分:服务器端配置和客户端配置。以下是对这两个部分的详细说明: **NFS 服务器端配置** 1. **...

    Ubuntu18.04离线配置NFS客户端需要的deb文件

    在Ubuntu 18.04系统中,NFS(Network File System)客户端是用于通过网络访问远程文件系统的重要工具。由于某些环境可能无法连接到互联网,离线安装NFS客户端的需求就显得尤为必要。本篇将详细介绍如何在离线模式下...

    nfs服务器软件包.zip

    NFS(Network File System)是一种分布式文件系统协议,由Sun Microsystems在1984年开发,允许网络上的计算机共享文件和存储设备。NFS服务器软件包通常包含一组服务和工具,使得Linux或Unix系统能够作为NFS服务器,...

    Ubuntu 下 NFS 服务器配置

    #### 一、NFS(Network File System)概述 NFS,即网络文件系统,是一种分布式文件系统协议,由Sun Microsystems开发,允许一个系统在网络上与另一系统共享文件和目录。NFS使得用户能够像访问本地文件系统一样访问...

    在Linux操作系统下设置NFS共享技巧.docx

    在Linux操作系统下设置NFS(Network File System)共享是一项关键的技术,它允许远程系统通过网络挂载并操作另一台主机的文件系统。这对于嵌入式Linux的开发尤其有用,因为它可以提升开发效率,并且支持在线调试。...

Global site tag (gtag.js) - Google Analytics