NFS 介绍
关于 NFS 的相关介绍
简介
NFS 具有和 SMB 相同的用途,目的是通过网络访问文件系统,但是两者使用不同的协议
我们可以通过 NFS 将远程目录挂载在本地系统上,就和插了一个 U 盘一样
配置文件: /etc/exports
NFS系统和Windows网络共享、网络驱动器类似, 只不过windows 网络共享用于局域网, NFS用于企业集群架构中, 如果是大型网站, 会用到更复杂的分布式文件系统FastDFS,glusterfs,HDFS,ceph
NFS 协议没有身份验证和授权机制。授权取自配置文件系统的可用信息,服务器负责将客户端提供的用户信息翻译成文件系统的用户信息,并尽可能正确的将相应的授权信息转换成 UNIX 要求的语法
NFS 架构
NFS 应用
用户访问NFS客户端,将请求转化为函数
NFS通过TCP/IP连接服务端
NFS服务端接收请求,会先调用portmap进程进行端口映射
Rpc.nfsd进程用于判断NFS客户端能否连接服务端;
Rpc.mount进程用于判断客户端对服务端的操作权限
如果通过权限验证,可以对服务端进行操作,修改或读取
NFS 运行原理
攻击
1. 显示可用的 NFS 共享
2. 挂载&卸载
3. 攻击思路--利用 SUID
NFS 实践
1. 部署 NFS 服务
服务端
安装相关软件
关闭防火墙和 selinux
创建一个目录,用于存放共享文件或者目录
创建一个系统用户,到时客户端也创建同样用户来统一用户
修改NFS的配置文件(作用:指定NFS的仓库及权限)
启动NFS服务
查看NFS的挂载点是否设置成功
给挂载点授权(用于存放共享文件或者目录)
客户端
挂载使用(客户端必须安装nfs-utils)
2. NFS -- 上传文件
客户端
安装web服务软件及nfs-utils
将代码上传到网站根目录(/var/www/html)
给目录下的文件授权
修改web软件的用户
关闭selinux和防火墙
启动web软件
挂载
测试: 上传、访问
3. NFS 实现文件共享
安装web服务软件及nfs-utils
将NFS挂载到web网站对应目录
开启web服务
测试
参考文章
最后更新于