当前位置: 亚洲城ca88 > 计算机网络 > 正文

升高NFS服务器的平安,NFS安装与配置

时间:2019-05-05 21:54来源:计算机网络
NFS是互联网文件系统Network FileSystem)的简称,是布满式总计系统的三个组成都部队分,可完成在异种网络上共享和装配远程文件系统。NFS由Sun集团开辟,近来早已形成文件服务的一种规

NFS是互联网文件系统Network File System)的简称,是布满式总计系统的三个组成都部队分,可完成在异种网络上共享和装配远程文件系统。NFS由Sun集团开辟,近来早已形成文件服务的一种规范OdysseyFC1901,本田CR-VFC1捌一三)。其最大的功效正是可让分化操作系统的处理器共享数据,所以也得以将它看作是叁个文书服务器。NFS提供了除SAMBA之外,Windows与Linux、Unix与Linux之间通讯的法子。

CentOS 陆.柒 安装配置nfs 服务

NFS是Network File System的缩写,即网络文件系统。它效益是经过互联网让不一致的机器、区别的操作系统能够相互分享各自的数码,让应用程序在客户端通过网络访问位于服务器磁盘中的数据。

NFS在文书传送或音讯传送进程中依据于RPC研商。RPC:远程进度调用(Remote Procedure Call)是能使客户端奉行别的系统中等射程序的壹种体制。NFS本人是尚未提供新闻传输的磋商和效劳的,但NFS却能让大家透过互联网张开资料的享受,那是因为NFS使用了一些别的的传导协议。而那个传输协议用到这一个RPC作用的。能够说NFS本人就是使用RPC的三个先后。或许说NFS也是1个RPC SE奥迪Q7VE本田CR-V。所以只要利用NFS的地方都要开动RPC服务,不论是NFS SE奇骏VE哈弗恐怕NFS CLIENT。那样SEPRADOVE奥德赛和CLIENT手艺经过RPC来完结PROGRAM PORT的应和。可以这么精晓RPC和NFS的关系:NFS是一个文件系统,而RPC是背负新闻的传输。

为此,大家须要安装多个软件包:nfs-utils和rpcbind,在centOS 5中rpcbind叫portmap,功能都以大同小异的,名字差异而已。

设置情势:yum安装

nfs服务端:balichvm(192.168.171.51)

客户端:balichos(192.168.171.50)

设置步骤:

1)、在balichvm上安装nfs-utils和rpcbind,使用yum安装,如下:

[[email protected] ~]# yum install –y nfs-utilsrpcbind

二)、在balichvm建立必要分享的目录和编写制定配置文件/etc/exports(那一个文件默许未有)

[[email protected] ~]# mkdir –p /data/nfsdata

[[email protected] ~]#vim /etc/exports

/data/nfsdata/ 192.168.171.0/24 (rw,sync,root_squash)

此间的布署是共享目录/data/nfsdata/;网段1玖贰.16捌.17一.0的主机能够有读写权限、限制root权限、同步到磁盘)

/etc/exports配置文件的格式和甄选有:

格式:共享的目录共享给那几个网段的主机共享的权限

挑选:(共享的权力)

ro:——只读;

rw:——读写;

sync:——同步方式,内存中数量随时写入磁盘;

async:——不一同,把内部存款和储蓄器中数据定时写入磁盘中;

no_root_squash:——加上这么些选项后,root用户就能够对共享的目录具有至高的权力决定,就像对本机的目录操作一样。不安全,不建议使用;

root_squash:——和地方的取舍对应,root用户对共享目录的权力不高,唯有普通用户的权柄,即限制了root;

all_squash:——不管选择NFS的用户是什么人,他的地方都会被限制成为一个点名的普通用户身份;

anonuid/anongid:——要和root_squash以及all_squash一齐使用,用于钦命使用NFS的用户限定后的uid和gid,前提是本机的/etc/passwd中设有这些uid和gid。

3)、在balichvm配置防火墙规则,编辑/etc/sysconfig/nfs,固定服务的端口,默许是注释的,须要开垦。

# Port rpc.mountd should listen on.

MOUNTD_PORT=892 #把前边的#号去掉

# 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 #把前边的#号去掉

这么些端口是安顿文件默许的,是足以活动修改增添内需的端口号,然后保留配置文件。

接下来运营rpdbind和nfs服务:

/etc/init.d/rpcbind restart

/etc/init.d/nfs restart

服务运营后,使用rpcinfo –p查看启用的端口。

[[email protected] ~]# rpcinfo -p

program vers proto port service

100000 4 tcp111 portmapper

100000 3 tcp111 portmapper

100000 2 tcp111 portmapper

100000 4 udp111 portmapper

100000 3 udp111 portmapper

100000 2 udp111 portmapper

100005 1 udp892 mountd

100005 1 tcp892 mountd

100005 2 udp892 mountd

100005 2 tcp892 mountd

100005 3 udp892 mountd

100005 3 tcp892 mountd

100003 2 tcp2049 nfs

100003 3 tcp2049 nfs

100003 4 tcp2049 nfs

100227 2tcp 2049 nfs_acl

100227 3 tcp2049 nfs_acl

100003 2 udp2049 nfs

100003 3 udp2049 nfs

100003 4 udp2049 nfs

100227 2 udp2049 nfs_acl

100227 3 udp2049 nfs_acl

100021 1 udp32769 nlockmgr

100021 3 udp32769 nlockmgr

100021 4 udp32769 nlockmgr

100021 1 tcp32803 nlockmgr

100021 3 tcp32803 nlockmgr

100021 4 tcp32803 nlockmgr

[[email protected] ~]#

将那几个启用的端口(tcp和udp)写到iptables防火墙里面(vim /etc/sysconfig/iptables),允许通过,如下:

-A INPUT -m state --state NEW -m tcp -p tcp--dport 111 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp--dport 892 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp--dport 2049 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp--dport 32769 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp--dport 32803 -j ACCEPT

-A INPUT -m state --state NEW -m udp -p udp--dport 111 -j ACCEPT

-A INPUT -m state --state NEW -m udp -p udp--dport 892 -j ACCEPT

-A INPUT -m state --state NEW -m udp -p udp--dport 2049 -j ACCEPT

-A INPUT -m state --state NEW -m udp -p udp--dport 32769 -j ACCEPT

-A INPUT -m state --state NEW -m udp -p udp--dport 32803 -j ACCEPT

然后重启iptables服务:/etc/init.d/iptables restart

四)、在客户端balichos上,安装nfs-utils,并且挂载balichvm共享的nfsdata目录,查看某台主机共享的nfs使用命令showmount–e ip(主机名)。

[[email protected] ~]# yum install –y nfs-utils

[[email protected] ~]# showmount -e192.168.171.51 ##查看共享的nfs

Export list for 192.168.171.51:

/data/nfsdata 192.168.171.0/24

[[email protected] ~]#

[[email protected] ~]# mount -t nfs192.168.171.51:/data/nfsdata/ /mnt/

[[email protected] ~]# df -h

Filesystem Size Used Avail Use% Mountedon

/dev/sda3 18G 5.9G 11G 36% /

tmpfs 495M 0 495M 0% /dev/shm

/dev/sda1 190M 36M 145M 20% /boot

192.168.171.51:/data/nfsdata/ 18G 3.8G 13G 24% /mnt

近来就早已挂载了2个文件系统,可是由于在balichvm上/data/nfsdata的权位是75伍,别的用户不富有写的权位,而在nfs配置文件/etc/exports上又限制了root用户权限,暗中同意是利用别的的用户的登入,全部不恐怕写入数据,只有读取的权力。

只要须求有写入的权限,能够修改权限。

陆.七 安装配置nfs 服务 NFS是Network File System的缩写,即网络文件系统。它效益是由此互联网让分裂的机器、差别的操作系统能够相互分享各...

NFS安装与布置

其它互连网服务器都会有安全难题,NFS也不例外。由于设计方面包车型地铁成分,NFS服务器不容许相对安全。一般的话,不应当将NFS服务器运维在相比较灵活的系统大概唯有类同防火墙的机械上,应该尽恐怕将其内置防火墙之后。配置安全的NFS服务器,能够从限制LANDCP服务的访问和调整文件系统的导出权限两地方入手。

1.         NFS安装

NFS服务器面临的安全隐患

系统暗中同意已经安装了NFS软件包,若是手工业安装NFS,供给6个RPM包。

因为NFS在互联网上公开传输全数音讯,依据暗许设置,NFS共享把根用户改成用户nfsnobody,它是三个不有所特权的用户账号。那样,全部根用户创设的公文都会被用户nfsnobody全体,从而幸免了安装setuid的次序被上传到系统。借使应用了no_root_squash,远程用户就可见改换共享文件系统上的其余文件,把设置了特罗伊木马的次第留给其余用户,在无形中中推行。

setup-*:          共享NFS目录在/etc/exports中定义

NFS服务器安全攻略

 initscripts-*:       包括教导进程中装载网络目录的着力脚本

1)使用TCP_Wrappers

 nfs-utils-*:       包涵基本的NFS命令与监督检查程序

portmap和rpc.nfsd结合起来,使NFS服务器上的文件就算未有其他权力也能便于得到。能够行使访问调整保险网络安全,在动用NFS时最棒结合TCP_Wrappers来界定使用范围。

 portmap-*:       援救天水NFS RPC服务的一而再

二)注意布署文件语法错误

 quota-*:       网络上共享的目录分配的定额,包涵rpc.rquotad (这一个包不是必须的)

NFS服务器通过/etc/exports文件来决定要导出哪些文件系统,以及把那个目录导出到何以主机上。编辑那几个文件的时候要专门小心,不要增添额外的空格。

能够选取上面发号施令查看系统是不是早已安装了某些软件包。

举例说:/etc/exports文件的以下行会使主机bob.example.com 能够共享/tmp/nfs/目录。

#rpm –qa |grep setup

/tmp/nfs/ bob.example.com(rw)

2.         配置NFS

唯独 /etc/exports 文件中那壹行的情状却不如。它共享同一目录,让主机 bob.example.com 具备只读权限,却给全局以读写权限。那全是由主机前面包车型客车一个空格形成的。

编辑/etc/exports,在文件中列出,要共享的目录。书写规则是:(每一种共享规则1行)

/tmp/nfs/

共享目录 主机(参数)

bob.example.com (rw)

例如:

使用 showmount 命令来校验哪些目录被共享,从而检查NFS共享配置是一个好习贯。showmount格式为:

/mnt/disk1 10.167.27.207(ro,sync, no_root_squash)  *(ro)

showmount -e

地点的平整代表将/mnt/disk1目录以读写同步格局共享给主机10.16七.27.207。要是登入到NFS主机的用户是root,那么该用户就具备NFS主机的root用户的权力。对于其余IP只同意都权限

3)使用iptables防火墙

下边是一对NFS共享的常用参数:

因为NFS在互连网上公开传输全体音讯,所以让NFS服务器在防火墙后、在一个分段的平凉网络上运营就很关键。无论曾几何时在不安全的网络上传递NFS新闻都有被截取的危险。从那一个角度讲,谨慎制定网络安排就促进防范重大的安全破坏。限制奥迪Q7CP服务走访的艺术一般是选择防火墙,除了TCP-Wrapper还有ipchians和iptalbes的防火墙。在完善选取Linux 2.4或越来越高版本内核的前些天,掌握iptables那种防火墙方法也就够用了。 缺省的状态下,portmap使用11一端口,而NFS使用2049端口,能够由此iptables来限制对该端口的造访:

rw:             可读写的权力;

iptables -t filter -A INPUT -p udp -d 127.0.0.1 --dport 111 -j DROP
iptables -t filter -A INPUT -p udp -d 127.0.0.1 --dport 2049 -j DROP
iptables -t filter -A INPUT -p udp -s trusted_client -d this_server_ip --dport 2049 -j
ACCEPTiptables -t filter -A INPUT -p udp -s not_trusted_client -d this_server_ip -dport
2049 -j DROP

 ro:             只读的权位;

四)把开放目录范围为只读权限

 no_root_squash: 登陆到NFS主机的用户只若是ROOT用户,他就颇具ROOT的权位root_squash:   在登陆 NFS 主机使用目录的使用者只假设 root 时,那么那些使用者   的权能将被压缩成为无名氏使用者,平常她的 UID 与 GID 都会成为 nobody 那么些地方;

能够在/etc/exports文件中设定权限选项ro,经常供给把NFS服务器对客户开放的其他目录或文件系统设置为只读访问:

 all_squash:     不管登入NFS主机的用户是何等都会被另行设定为nobody。

/app devpc.nitec.com(ro) 那样,devpc.nitec.com互联网中的客户只好对/app目录实行只读访问。

 anonuid:        将登录NFS主机的用户都设定成钦定的user id,此ID必须存在于/etc/passwd中。

5)禁止对少数目录的访问

 anongid:         同 anonuid ,但是产生 group ID 就是了!

当开放三个总体的文件系统大概一个索引时,缺省状态下它的子目录会自动开放访问权限。假诺期待限制对其子目录的走访能够采取noaccess访问选项,比方希望开放/pub目录权限可是禁止访问/pub/staff-only子目录:

   sync:           资料同步写入存款和储蓄器中。

/pub weblab-??.nitec.com (ro)
/pub/staff-only weblab-??.nitec.com (noaccess)

 async:          资料会先临时寄存在内部存款和储蓄器中,不会直接写入硬盘。

专注: “??”代表专断字符。

 insecure         允许从那台机器过来的非授权访问。

陆)root squashing访问难题

3.         启动NFS

依照暗中同意设置,root用户的用户ID和组群ID都是0。root权限压缩Root squashing)把用户ID0和组群ID0映射为无名氏的用户和组群ID,因而客户上的根用户就不会在NFS服务器上富有根特权。借使这些选项被选,root用户就不会被映射为无名氏用户,客户上的root用户就能够对导出的目录具有根特权。选用那些选项会大大下降系统的安全性。除非相对少不了,请不要挑选它。为了分明举办该规则,能够修改文件/etc/exports:

# service portmap start

/www www1.nitec.com(rw, root_squash)

# service nfs start

那般只要客户端的UID0root)用户想要访问读、写、删除)一个NFS文件系统,服务器端会用UID取代服务器的nobody账户。那样客户端的root用户不可能改改和走访服务器端root用户本领访问和修改的文书。

自己评论NFS的周转品级:

7)使用nosuid和noexec选项

# chkconfig --list portmap

SUIDSet User ID)或SGIDSet Group ID)程序能够让普通用户以赶过本身权力的款型实行。许多SUID/SGID可施行程序是必须的,比如上面提到的passwd。SUID/SGID程序会被有个别恶心的本地用户利用,获取本不应该的权能。运转以下命令能够找到全数具备那一天性的顺序:

 # chkconfig --list nfs

#find / ( -perm -4000 -o -perm -2000 )

遵照须求设置在对应的运维品级自动运营NFS:

使用者必须查看那一列表,尽量缩短这些全数者是root或是在root组中却有所SUID/SGID属性的公文,删除或对其性质进行更动。使用nosuid选项禁止set-UID程序在 NFS服务器上运营,能够修改文件/etc/exports出席1行:

# chkconfig --level 235 portmap on

/www www1.nitec.com(rw, root_squash, nosuid)

 # chkconfig --level 235 nfs on

上边的例证表达:/www目录在www一.nitec.com上得以登入,www壹.nitec.com的用户能够读取/www中的文件和目录,不过不能运作set- UID程序。

除此以外,还亟需查阅系统的iptables、/etc/hosts.allow、/etc/hosts.deny是还是不是设置了不易的NFS访问规则。

/www www1.nitec.com(rw, root_squash, noexec)

  查看端口: # netstat -lnp | grep 111

上边的事例表达/www目录在www一.nitec.com上得以登陆,www1.nitec.com的用户能够读取/www中的文件和目录,然则禁止所登陆文件系统汉语件的实践。

             #netstat -lnp | grep 2049

NFS是格外重大的网络协议,多数厂家经过NFS协议共享硬盘和别的设备。把能登入NFS目录设置为只读访问、进步portmap服务的安全性、squashing root访问、使用on set-UID 和non executable文件设置能够增加NFS服务器的莱芜。

 

File System)的简称,是布满式计算系统的2个组成都部队分,可完成在异种互连网上共享和装配远程文件系统。NFS由Sun公司...

四.         客户端配置

客户端运营以下命令MOUNT NFS文件系统

#mount -t nfs 10.167.27.91:/opt /mnt/disk1

五.         命令的行使

一)        exportfs命令的应用:

假定大家在运维了NFS之后又修改了/etc/exports,是否还要再度开动nfs呢?今年大家就可以用exportfs命令来使改变即刻见效,该命令格式如下:

exportfs [-aruv]

参数的意思如下:

-a :全体mount只怕unmount /etc/exports中的内容

 -r :重新mount /etc/exports中享受出来的目录

 -u :umount 目录

 -v :在 export 的时候,将详细的音信输出到荧屏上。

切实事例:

[root @test root]# exportfs –rv   <==全体双重 export 贰次!

2)        Showmount命令的使用:

# showmount [-ae] hostname

参数说明:

-a 在显示屏上呈现近年来主机与Client所连上来的运用目录状态 。

-e 呈现hostname那部机器的/etc/exports里面包车型大巴共享目录。

当要扫瞄某一主机所提供的NFS共享的目录时,就动用showmount -e IP(或主机名hostname)就能够。

陆.         查验目录/var/lib/nfs/xtab

查证所共享的目录内容,查看/var/lib/nfs/xtab那几个文件:

# vi /var/lib/nfs/xtab

/home/cao   192.168.0.1(rw,sync,wdelay,hide,secure,root_squash,

no_all_squash,subtree_check,secure_locks, mapping=identity,anonuid=-2, anongid=-2)

那正是/home/cao这些共享出去的目录预设NFS里面包车型客车属性。

7.         安全性

portmap: 111

NFS: 2049

防止利用IP诈欺和RPC重定向手艺通过lo回环举行抨击以及限定授权主机:

iptables -A INPUT -p udp -d 127.0.0.1 --dport 111 -j DROP

iptables -A INPUT -p udp -d 127.0.0.1 --dport 2049 -j DROP

iptables -A INPUT -p udp -s .2 --dport 111 -j ACCEPT

iptables -A INPUT -p udp -s .2 --dport 2049 -j ACCEPT

编辑:计算机网络 本文来源:升高NFS服务器的平安,NFS安装与配置

关键词: 亚洲城ca88