CentOS7 NFS服务安全加固方案参考—— 筑梦之路

1. firewalld防火墙设置

sudo firewall-cmd --permanent --add-service=nfs
sudo firewall-cmd --permanent --add-service=mountd
sudo firewall-cmd --permanent --add-service=rpc-bind
sudo firewall-cmd --reload

其中,rpc-bind 服务通常会启用 111/udp 和 111/tcp 两种不同的端口。如果需要限制访问,可以使用如下命令(以例禁止 192.168.100.0/24 的网络访问):

sudo firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.100.0/24" reject'

sudo firewall-cmd --reload

2. 限制访问方式

禁用 NIS 和 LDAP 认证方式,只使用本地用户进行认证

sudo authconfig --disableldap --disableldapauth --disablenis --update

3. 加密通信

使用 Kerberos 加密方式,以保护 NFS 通信数据

# 安装Kerberos

sudo yum install -y krb5-workstation krb5-libs

# 创建 Kerberos 主机密钥和服务票证

sudo kadmin.local
kadmin.local:  addprinc -randkey host/nfs.example.com
kadmin.local:  ktadd host/nfs.example.com
kadmin.local:  addprinc -randkey nfs/nfs.example.com
kadmin.local:  ktadd nfs/nfs.example.com
kadmin.local:  quit

其中,nfs.example.com 为 NFS 服务器的主机名

# 编辑 /etc/krb5.conf 文件,添加如下内容

[libdefaults]
  default_realm = EXAMPLE.COM

[realms]
  EXAMPLE.COM = {
    kdc = kerberos.example.com
    admin_server = kerberos.example.com
  }

[domain_realm]
  .example.com = EXAMPLE.COM
  example.com = EXAMPLE.COM

其中,EXAMPLE.COM 为 Kerberos 的默认域名,kerberos.example.com 为 Kerberos 服务器的主机名

#  修改 /etc/sysconfig/nfs 文件,增加以下配置

RPCGSSDARGS="-vvv -r nfs/nfs.example.com -k /etc/krb5.keytab"

其中,nfs.example.com 是 NFS 服务器的主机名,/etc/krb5.keytab 是由 kadmin.local 生成的 NFS 服务票证

# 重启服务

sudo systemctl restart nfs-server
sudo systemctl restart nfs-idmapd
sudo systemctl restart rpc-gssd
sudo systemctl restart rpcbind

4.指定访问权限

在 NFS 服务器上控制客户端的访问权限

sudo mkdir /demo
sudo chown nfsnobody:nfsnobody /demo
sudo chmod 777 /demo

5. 安装最新的nfs版本

yum  install nfs-utils -y

猜你喜欢

转载自blog.csdn.net/qq_34777982/article/details/130889683
今日推荐