转载来源 :

介绍

NFS(Network File System)是 FreeBSD 支持的一种文件系统,它允许网络中的计算机之间通过 TCP/IP 网络共享资源。不正确的配置和使用 NFS,会带来安全问题。

概述

NFS 的不安全性,主要体现于以下 4 个方面:

  • 缺少访问控制机制
  • 没有真正的用户验证机制,只针对 RPC/Mount 请求进行过程验证
  • 较早版本的 NFS 可以使未授权用户获得有效的文件句柄
  • 在 RPC 远程调用中, SUID 程序具有超级用户权限

加固方案

为有效应对以上安全隐患,推荐您使用下述加固方案。

配置共享目录(/etc/exports
使用 anonuid,anongid 配置共享目录,这样可以使挂载到 NFS 服务器的客户机仅具有最小权限。不要使用 no_root_squash。

使用网络访问控制
使用 安全组策略 或 iptable 防火墙限制能够连接到 NFS 服务器的机器范围。

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

账号验证

使用 Kerberos V5 作为登录验证系统,要求所有访问人员使用账号登录,提高安全性。

设置 NFSD 的 COPY 数目

在 Linux 中,NFSD 的 COPY 数目定义在启动文件 /etc/rc.d/init.d/nfs 中,默认值为 8。

最佳的 COPY 数目一般取决于可能的客户机数目。您可以通过测试来找到 COPY 数目的近似最佳值,并手动设置该参数。

选择传输协议

对于不同的网络情况,有针对地选择 UDP 或 TCP 传输协议。传输协议可以自动选择,也可以手动设置。

mount -t nfs -o sync,tcp,noatime,rsize=1024,wsize=1024 EXPORT_MACHINE:/EXPORTED_DIR /DIR

UDP 协议传输速度快,非连接传输时便捷,但其传输稳定性不如 TCP,当网络不稳定或者黑客入侵时很容易使 NFS 性能大幅降低,甚至导致网络瘫痪。一般情况下,使用 TCP 的 NFS 比较稳定,使用 UDP 的 NFS 速度较快。

  • 在机器较少,网络状况较好的情况下,使用 UDP 协议能带来较好的性能。
  • 当机器较多,网络情况复杂时,推荐使用 TCP 协议(V2 只支持 UDP 协议)。
  • 在局域网中使用 UDP 协议较好,因为局域网有比较稳定的网络保证,使用 UDP 可以带来更好的性能。
  • 在广域网中推荐使用 TCP 协议,TCP 协议能让 NFS 在复杂的网络环境中保持最好的传输稳定性。

限制客户机数量

修改 /etc/hosts.allow 和 /etc /hosts.deny 来限制客户机数量。

/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

改变默认的 NFS 端口

NFS 默认使用的是 111 端口,使用 port 参数可以改变这个端口值。改变默认端口值能够在一定程度上增强安全性。

配置 nosuid 和 noexec

SUID (Set User ID) 或 SGID (Set Group ID) 程序可以让普通用户以超过自己权限来执行。很多 SUID/SGID 可执行程序是必须的,但也可能被一些恶意的本地用户利用,获取本不应有的权限。

尽量减少所有者是 root,或是在 root 组中却拥有 SUID/SGID 属性的文件。您可以删除这样的文件或更改其属性,如:

  • 使用 nosuid 选项禁止 set-UID 程序在 NFS 服务器上运行,可以在 /etc/exports 加入一行:
/www www.abc.com(rw, root_squash, nosuid)
  • 使用 noexec 禁止直接执行其中的二进制文件。

更多了解:
NFS服务安全加固:https://www.jianshu.com/p/287c1df0b7e0

NFS 服务安全加固相关推荐

  1. 【网络安全】NFS服务安全加固

    概述 NFS 的不安全性,主要体现于以下 4 个方面: 缺少访问控制机制 没有真正的用户验证机制,只针对 RPC/Mount 请求进行过程验证 较早版本的 NFS 可以使未授权用户获得有效的文件句柄 ...

  2. cenotos 卸载mysql_cenotos 6.5 NFS服务配置

    cenotos 6.5 NFS服务配置 1.安装软件: yum -y install rpcbind nfs-utils nfs-utils-lib 2.配置NFS # cat /etc/export ...

  3. vsftp和nfs服务

    sftpd服务  命令端口21 独立服务  由xinetd管理的是非独立服务 主配置文件:/etc/vsftpd/vsftpd.conf /usr/sbin/vsftpd   ftp服务的主程序 yu ...

  4. 【网络文件共享】02、NFS服务基础

    一.NFS 1.NFS简介 NFS:Network File System NFS协议用于unix/linux系统之间通过网络进行文件共享,用户可以把网络中NFS服务器提供的共享目录挂载到本地文件目录 ...

  5. NFS服务基本配置及使用

    一.安装 CENTOS或RHL默认就已安装,如果没有安装的话,通过yum安装即可: yum install nfs-utils yum install portmap UBUNTU系统,通过apt-g ...

  6. centos 7 安装nfs 服务

    一.安装 yum install -y nfs-utils 二.配置 vim /etc/exports /data/nfs/ 192.168.56.0/24(rw,sync,no_root_squas ...

  7. CentOS 6.5系统下安装和配置NFS服务

    一.环境介绍: 服务器:centos 192.168.1.225 客户端:centos 192.168.1.226 二.安装: NFS的安装配置: centos 5 : 1 yum -y instal ...

  8. NFS介绍、NFS服务端配置安装配置、 NFS配置选项、 客户端的配置

    NFS介绍 NFS是Network File System的缩写 ,是在网络层面,NFS(Network File System)网络文件系统会经常用到,用于在网络上共享存储.这样讲,你对NFS可能不 ...

  9. Linux 环境下NFS 服务搭建

    之前接到一个电话面试其中一个问题是如何搭建一个NFS服务器,他说他看过我的博客了,忽然我的第一反应是联想到博客里面可能是缺少了一篇关于NFS的文章了^_^~ 开玩笑啦!~ 下面说点正经的,如果大家是在 ...

最新文章

  1. Art Generation with Neural Style Transfer-v2
  2. Linux进程描述符task_struct结构体详解--Linux进程的管理与调度(一)
  3. org.hibernate.hql.ast.QuerySyntaxException: ? is not mapped
  4. windows python安装opencv_关于OpenCV-Python安装(缺少ffmpeg):OpenCV-Python安装(缺少ffmpeg)-Windows...
  5. abd shell关闭所有程序_在后台服务器上运行程序
  6. jzoj3348,bzoj3258-秘密任务【最短路,网络流最小割】
  7. YYH算组合数(NOIP模拟赛Round 6)
  8. 学术诚信的重要性_论文投稿触犯“忌讳”,选择“三缄其口”?学术道德底线不能丢...
  9. Atitit.虚拟机与指令系统的设计
  10. python语言编写一个生成九宫格图片的代码_python生成九宫格图片
  11. C语言图书出入库管理系统
  12. AD(altium designer)15原理图与PCB设计教程(二)—— 电路原理图设计
  13. 微信小程序云开发——打卡小程序
  14. 基于ssm的记账管理系统设计与实现【毕业设计jsp】
  15. goahead(嵌入式Web服务器)之asp、goform篇
  16. ucla 计算机专业 本科申请,2020年加州大学洛杉矶分校本科专业设置
  17. 现货黄金的点差费用是怎么收的
  18. 《github精选系列》——非常有趣实用的python爬虫例子
  19. Luogu3426 [POI2005]SZA-Template (KMP)(未完成)
  20. Linux文件目录管理、文件内容查看以及文件内容查询命令(详细命令)

热门文章

  1. linux python 升级脚本,Linux环境下python2.7.6升级python3.5.2
  2. 电子计算机说明文作文,关于电脑说明文作文(精选3篇)
  3. python同时赋值_python同时给多个变量赋值
  4. python中的tail()_让VASP实现固定应力张量计算的python脚本
  5. mpi和openmp混合编程的优点_混合云:拥抱云计算的未来!
  6. Java Web开发之一:用好的技术设计来犒赏自己
  7. 自己写Cache数据库之设计之初——想办法让16颗CPU扛住3w/s的压力?
  8. Eclipse用法和技巧五:生成说明文档2
  9. Ruby在windows下配置所遇到的问题
  10. C语言八位彩灯循环左移,利用计数器和移位寄存器设计一个八个彩灯循环电路?...