Kerberos + LDAP + NFSv4实现单点登录(上)

  

Kerberos + LDAP + NFSv4实现单点登录(上)

  

Kerberos:身份认证
LDAP:目录信息服务
NFSv4:网络共享

  

实验环境:debian 9

  

三台主机:
nfs服务器:192.168.1.103
nfs客户机:是192.168.1.102即SSSD客户端+ nfs客户端
kdc服务器:192.168.1.101即Kerberos + LDAP

  

以下   

 <代码> root@debian: ~ #
  表示以根根用户运行命令 
  

一。安装国家结核控制规划时间同步
要使用Kerberos提供身份认证,各主机需时间同步

  

在一台主机上安装时间同步服务器
<代码> root@debian: ~ # apt-get安装国家结核控制规划

  

在其它主机上安装时间同步客户端
<代码> root@debian: ~ # apt-get安装ntpdate

  

二。配置本地域
假定域是ctp.net
安装Kerberos, LDAP过程都会用到域,NFSv4认证需要到域

  

以上三台主机的主机/etc/文件内容都配置如下:
127.0.0.1 localhost
127.0.1.1 debian.ctp.net debian
192.168.1.103 srvnf.ctp.net srvnf
是192.168.1.102 clnf.ctp.net clnf

  

注意:127.0.1.1一定要xxx.ctp.net的格式,以确定域ctp.net

  
 <代码> root@debian: ~ #主机名- d
  ctp.net  
  

  
 <代码> root@debian: ~ # dnsdomainname
  ctp.net  
  

三.kdc服务器的安装
安装Kerberos和LDAP、Kerberos和LDAP在同一主机上

  

1。安装LDAP
<代码> root@debian: ~ # apt-get安装slapd ldap-utils

  

slapd: OpenLDAP服务器
ldap-utils: ldap命令工具

  

安装过程中仅要求设置密码,该密码是ldap数据库管理员密码。设置LDAP的域默认是由主机名- d获得(即ctp.net)

  

安装过程预先添加了四个模式
core.ldif
cosine.ldif
nis.ldif
inetorgperson.ldif

  

安装过程初始化了配置数据库(cn=配置)和ldap数据库(dc=ctp, dc=净)

  

1)配置ssl
因SSSD客户端要求ssl连接,所以需配置LDAP启用ssl

  

为了简便,建立免短语密码永不过期证书

  

使用gnutls-bin工具建证书
<代码> root@debian: ~ # apt-get安装gnutls-bin

  

1.1)建根证书

  
 <代码> root@debian: ~ # certtool——generate-privkey比;cakey.pem
  
  生成一个3072位的RSA私钥… 
  

新建文件ca.info并编辑

  
 <代码> root@debian: ~ #猫ca.info
  ca
  cert_signing_key
  expiration_days=1
  root@debian: ~ #  
  

说明:1表示永不过期

  

进行自签名

  
 <代码> root@debian: ~ # certtool——generate-self-signed load-privkey凝固了的。pem——模板ca.info外部档案cacert.pem
  
  生成自签署证书……
  (略)…
  签名证书……
  root@debian: ~ #  
  

1.2)建服务器证书
为了简便,证书都不设置机器名

  

生成私钥

  
 <代码> root@debian: ~ # certtool——generate-privkey比;fgkey.pem
  
  生成一个3072位的RSA私钥… 
  

新建文件srv.info并编辑

  
 <代码> root@debian: ~ #猫srv.info
  tls_www_server
  encryption_key
  signing_key
  expiration_days=1
  root@debian: ~ #  
  

签发服务器证书

  
 <代码> root@debian: ~ # certtool——生成证书load-privkey fgkey。pem - load-ca-certificate cacert。pem - load-ca-privkey凝固了的。pem——模板srv.info外部档案fgcert.pem
  
  生成一个签署证书……
  …
  签名证书……
  root@debian: ~ #  
  

新建存放私钥的目录
<代码> root@debian: ~ # mkdir/etc/ldap/ssl/private

  

复制私钥,证书

  
 <代码> root@debian: ~ # cp fgcert。pem/etc/ldap/ssl/root@debian: ~ # cp fgkey。pem/etc/ldap/ssl/private/ 
  

设置私钥属性为仅openldap用户拥有可读(因debian的openldap是以openldap用户运行)

  
 <代码> root@debian: ~ #乔恩openldap/etc/ldap/ssl/private/fgkey.pem
  root@debian: ~ # ls - l/etc/ldap/ssl/private/fgkey.pem
  -rw-r - r - 1 openldap根8289年10月19日13:44/etc/ldap/ssl/private/fgkey.pem
  root@debian: ~ #
  root@debian: ~ # chmod或者/etc/ldap/ssl/private/fgkey.pem
  root@debian: ~ # ls - l/etc/ldap/ssl/private/fgkey.pem
  openldap根-rw-r——8289 10月19日13:44/etc/ldap/ssl/private/fgkey.pem
   
  

1.3)配置openldap启用ssl

  

新建文件ssl.ldif并编辑

  
 <代码> root@debian: ~ #猫ssl.ldif
  dn: cn=配置
  changetype:修改
  添加:olcTLSCertificateFile
  olcTLSCertificateFile:/etc/ldap/ssl/fgcert.pem
  -
  添加:olcTLSCertificateKeyFile
  olcTLSCertificateKeyFile:/etc/ldap/ssl/private/fgkey.pem
  root@debian: ~ # 

Kerberos + LDAP + NFSv4实现单点登录(上)