LDAP+Kerberos+NFS Secure
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
服务器环境:三台服务器,分别是LDAP+Kerberos服务器、NFS Secure服务器、客户机。
本文档重点是如何配置以上这些服务,理论知识另需补脑。
硬件环境:VMware Workstation 上运行2个KVM,vmware作为LDAP服务器,2个KVM分别作为NFS和客户机。主机名分别为、、。
软件环境:三台机器的OS版本是RHEL7.0,kerberos关闭slinux和firewalld,server0和desktop0上开启selinux和firewalld。
一、在kerberos机器上配置Kerberos服务
1. 安装软件:
yum install -y krb5-libs krb5-server krb5-workstation pam_krb5
/var/kerberos/krb5kdc/kadm5.acl这个文件里的域要和上面文件[realms]中定义的要一致。
kdb5_util create -s -r
提示输入密码为:kerberos
注意与kdc.conf定义的要一致。
这个过程时间比较长。
5. 启动服务
systemctl status krb5kdc.service
systemctl enable krb5kdc.service
systemctl start kadmin.service
systemctl enable kadmin.service
firewall-cmd --permanent --add-service=kerberos
firewall-cmd --reload
6. 创建认证的唯一ID
Kerberos认证的唯一ID叫principal,由primary、instance、realm三部分组成,格式为primary/instance@realm 。
principal有3种类型:user、service、host。
2)创建host和service类型的principal
kadmin
Authenticatingasprincipalroot/*****************************.
Passwordforroot/*****************:
kadmin: addprinc -randkey host/
WARNING: no policy specified for host/*******************************;
defaulting to no policy
Principal"host/*******************************"created.
kadmin: addprinc -randkey host/
WARNING: no policy specified for host/********************************;
defaulting to no policy
Principal"host/********************************"created.
kadmin: addprinc -randkey nfs/
WARNING:nopolicyspecifiedfornfs/*******************************;defaulting to no policy
Principal"nfs/*******************************"created.
kadmin: addprinc tim
WARNING:***********************************;defaultingtonopolicy
Enterpasswordforprincipal"***************":
Re-enterpasswordforprincipal"***************":
Principal"***************"created.
kadmin: q
给tim用户的kerberos认证密码,密码为:tim。
useradd -u 1001 tim
7. 把key从KDC里导出来
创建了principal之后,KDC知道所有principal的key,通常导出为.keytab密钥串文件。
8. 把秘钥串放到web上,提供给kerberos的客户端(server0和desktop0)
cp nfs_client.keytab nfs_server.keytab /var/www/html/
二、在server0上配置nfs-server
为了测试kerberos,配置两个nfs共享,分别是/public作为标准共享给域,只读方式,另一个/protected作为安全共享,读写方式。访问/protected 需要通过Kerberos 安全加密,使用KDC服务器提供的密钥。目录/protected 里面有子目录名为secret ,所有人为tim,用户tim 能以读写方式访问/protected/secret目录。用户tim在三台服务器里存在。
1. 安装软件,分别在server0和desktop0上
首先把kerberos服务器上的serve0和desktop0上:
scp /etc/krb5.conf server0:/etc
scp /etc/krb5.conf desktop0:/etc
yum install krb5-workstation
yum install nfs-utils
2. 配置nfs
mkdir -p /protected/secret
mkdir /public
cat /etc/exports
/public 192.168.3.0/24(ro)
/protected 192.168.3.0/24(rw,sec=krb5p,no_root_squash)
注意:以上共享给客户端一定要写成ip地址的形式,写成域名(*)挂载不上安全的nfs,报错信息:mount.nfs: Operation not permitted。没找到原因。
编辑/etc/sysconfig/nfs 配置文件,修改RPCNFSDARGS 变量的值:
RPCNFSDARGS="-V 4.2"
3. 启动nfs
1)启动标准NFS服务
systemctl start nfs-server
systemctl enable nfs-server
2)下载秘钥串
wget -O /etc/krb5.keytab /nfs_server.keytab
3)启动NFS Secure服务
systemctl start nfs-secure-server.service
showmount -e
Export list for :
/protected 192.168.3.0/24
/public 192.168.3.0/24
4)设置防火墙