赞
踩
操作系统版本说明:
华为欧拉操作系统openEuler 22.03 lts
这里以这两个操作系统为例,其他国产操作系统类似,比如UOS。
这两个操作系统已经自带安装nfs-utils,虽然和centos redhat fedora红帽系列的操作系统都是使用yum包管理器,但是nfs-utils相关依赖有所区别,关于红帽系列的如何固定NFS服务的端口,请参考前面的博客文章:
CentOS 7 NFS服务搭建以及防火墙设置(服务 端口两种方式)——筑梦之路_筑梦之路的博客-CSDN博客_centos nfs 端口
NFS服务固定端口和安全加固——筑梦之路_筑梦之路的博客-CSDN博客_nfs服务端口
这里其实也是根据上面第二个博客来操作,由于是国产化操作系统适配,特别提出来,再次将过程步骤记录一下。
- -------------------------------------------以下内容以openEuler为例,银河麒麟v10类似
-
- # 查看nfs-utils是否已安装,未安装需要安装
-
- rpm -qa | grep nfs
-
- nfs-utils-help-2.5.4-4.oe2203.x86_64
- nfs-utils-2.5.4-4.oe2203.x86_64
-
- # 查看服务状态 和 默认监听的端口
-
- systemctl status nfs rpcbind
-
-
- rpcinfo -p
-
-
- # 修改配置,固定NFS端口
-
- vi /etc/services
- #添加注释
- #mountd 20048/tcp # NFS mount protocol
- #mountd 20048/udp # NFS mount protocol
- #rquotad 875/tcp # rquota daemon
- #rquotad 875/udp # rquota daemon
-
- #添加自定义端口配置
- rquotad 30001/tcp
- rquotad 30001/udp
- lockd 30002/tcp
- lockd 30002/udp
- mountd 30003/tcp
- mountd 30003/udp
- statd 30004/tcp
- statd 30004/udp
-
- # 重启服务,进行验证
-
- systemctl restart nfs-idmap
- systemctl restart nfs-lock
- systemctl restart nfs-server
- systemctl restart rpcbind
-
- rpcinfo -p
-
-
- # 以上还有随机端口,未修改到的则进行下一步
-
- vi /etc/nfs.conf
-
- #在原来的标签下添加内容
- [lockd]
- port=30002
- udp-port=30002
- [statd]
- port=30004
-
- 再次重启服务进行验证无误即可
-
关于华为欧拉操作系统和银河麒麟V10操作系统固定NFS端口方面的资料比较少,而相关社区也没有有用的解决方案,特此做个记录。
防火墙设置:
- # 服务方式
-
- # 让防火墙通过NFS服务
- firewall-cmd --permanent --add-service=nfs
-
- # 通过rpc服务(如果不开启,rpcinfo就不能扫描)
- firewall-cmd --permanent --add-service=rpc-bind
-
- # 通过mountd服务(如果不开启,不能远程showmount)
- firewall-cmd --permanent --add-service=mountd
-
- #重载
- firewall-cmd --reload
-
- # 端口方式
-
- firewall-cmd --permanent --add-port=2049/tcp
- firewall-cmd --permanent --add-port=2049/udp
- firewall-cmd --permanent --add-port=111/tcp
- firewall-cmd --permanent --add-port=111/udp
-
- firewall-cmd --permanent --add-port=30001-30004/tcp
- firewall-cmd --permanent --add-port=30001-30004/udp
- firewall-cmd --reload
-
- # 安全加固 设置黑白名单
-
- 思路:通过系统白名单和nfs配置来进行加固
-
- 1.修改nfs配置
- cat /etc/exports
-
- data 192.168.47.0/255.255.255.0(rw,sync,no_root_squash)
-
- 此处表示允许192.168.47.0/24这个网段访问,其他不允许访问
-
- #重载配置
- exportfs -avr
-
- 2.添加访问白名单和黑名单
-
- cat /etc/hosts.allow
-
- mountd:192.168.47.
- rpcbind:192.168.47.:allow
- portmap:192.168.47.
- lockd:192.168.47.
- rquotad:192.168.47.
- statd:192.168.47.
- #本机
- portmap:127.0.0.1
- lockd:1127.0.0.1
- rquotad:127.0.0.1
- statd:127.0.0.1
- mountd:127.0.0.1
- rpcbind:127.0.0.1:allow
-
-
- 192.168.47. 表示此网段可访问
-
- cat /etc/hosts.deny
-
- mountd:ALL
- rpcbind:ALL:deny
- statd:ALL
- portmap:ALL
- lockd:ALL
- rquotad:ALL
-
-
- 3.验证
-
- 192.168.47网段机器访问:
-
- rpcinfo server-ip
-
- showmount -e server-ip
-
- 192.168.10网段机器访问:
- rpcinfo server-ip
-
- showmount -e server-ip
-
- 此处获取不到nfs的信息,也不能挂载即成功加固
- iptables版本的防火墙设置
-
- #开放NFS端口111 2049 tcp/udp
- iptables -A INPUT -p tcp -m tcp --dport 2049 -j ACCEPT
- iptables -A INPUT -p udp -m udp --dport 2049 -j ACCEPT
- iptables -A INPUT -p tcp -m tcp --dport 111 -j ACCEPT
- iptables -A INPUT -p udp -m udp --dport 111 -j ACCEPT
- #NFS固定的其他端口30001-30004
- iptables -A INPUT -p tcp -m tcp --dport 30001:30004 -j ACCEPT
- iptables -A INPUT -p udp -m udp --dport 30001:30004 -j ACCEPT
------------------------------------
关于安全加固,使用黑白名单的方式,某些操作系统不生效的原因:
hosts.allow和hosts.deny属于tcp_Wrappers防火墙的配置文件,而用tcp_Wrappers防火墙控制某一服务访问策略的前提是,该服务支持tcp_Wrappers防火墙,即该服务应用了libwrapped库文件。
查看某服务(如ssh)是否应用了libwrapped库文件的方法是:
# ldd /usr/sbin/sshd |grep libwrap.so.0
参考资料:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。