一、Kerberos协议网络认证

Kerberos是一种计算机网络认证协议,用于在不安全的网络环境中提供强大的身份验证功能。它通过密钥分发中心(KDC)和票据来完成身份认证过程,主要用于验证用户或服务之间的身份。 配置环境,将CentOS加入到域

准备工作:
    准备一台 Windows Server 2008的域控制器,IP地址为 192.168.5.137。
    另一台CentOS系统,IP地址为 192.168.5.129,用来加入域。 

安装所需软件:
    在 CentOS 系统中执行以下命令安装需要的包:

yum install realmd oddjob oddjob-mkhomedir sssd adcli openldap-clients policycoreutils-python samba-common samba-common-tools krb5-workstation

修改时区:

使用 timedatectl 查看和设置系统时区:

timedatectl set-timezone Asia/Shanghai

设置主机名和DNS:

配置 CentOS 主机名并设置域控服务器的 DNS:

hostnamectl set-hostname host01.test.local
vim /etc/resolv.conf
nameserver 192.168.5.137  # 域控 IP 地址

加入域:

使用 realm 命令将 CentOS 加入到 Windows 域:

realm join qunian.com -U administrator

配置SSSD:

配置 /etc/sssd/sssd.conf 文件:

cat /etc/sssd/sssd.conf
[sssd]
domains = test.local
config_file_version = 2
services = nss, pam
[domain/test.local]
ad_server = test.local
ad_domain = test.local
krb5_realm = TEST.LOCAL

启用SSSD验证:

启动和配置 SSSD 服务:

systemctl start sssd
authconfig --enablesssd --enablesssdauth --enablemkhomedir --update

验证:

使用 id 命令验证域用户是否已经成功添加:

id zhangsan@test.local

修改 /etc/sssd/sssd.conf 中的 use_fully_qualified_names 为 False,以便不需要带域名即可识别用户。

登录验证:

使用 SSH 登录验证:

    ssh administrator@192.168.5.129

二、FreeRADIUS认证

RADIUS(远程身份验证拨入用户服务)协议是一种用于远程认证的标准协议。它广泛应用于网络接入控制中,尤其是在无线网络和VPN认证中。FreeRADIUS 是一个流行的开源 RADIUS 服务器,通常用于处理用户的认证、授权和计费(AAA)。 配置 FreeRADIUS 服务器

安装 FreeRADIUS:
    在 CentOS 系统中执行:

yum install freeradius

配置 FreeRADIUS:

修改 RADIUS 配置文件 /etc/raddb/radiusd.conf,确保服务器使用合适的身份验证方法。

添加用户:

配置 /etc/raddb/users 文件,添加 RADIUS 用户:

username Cleartext-Password := "password"

启动服务:

启动 FreeRADIUS 服务:

systemctl start radiusd

测试验证:

使用 radtest 命令测试 RADIUS 认证:

    radtest username password localhost 0 testing123

三、NSS(名称服务交换机)

NSS(名称服务开关)是类 UNIX 操作系统中的一种工具,它允许不同的服务和协议通过配置文件(如 /etc/nsswitch.conf)来获取信息。NSS 支持多种身份验证源,通常包括本地文件、DNS、LDAP 等。 配置NSS

编辑 /etc/nsswitch.conf 文件:
    配置系统如何查找和解析各种名称服务:

passwd:     files ldap
group:      files ldap
shadow:     files ldap
hosts:      files dns

使用 NSS 配合 LDAP:

在使用 LDAP 时,NSS 可以直接通过 /etc/nsswitch.conf 访问 LDAP 目录。

配置示例:

在 CentOS 系统中,使用 authconfig 配置 NSS 与 LDAP 的集成:

    authconfig --enablesssd --enablesssdauth --update

四、NIS(网络信息服务)

NIS 是一种早期的目录服务协议,通常用于在 UNIX 系统中共享用户账户信息。它允许通过网络访问集中管理的用户信息、组信息以及主机名等。 配置NIS

安装 NIS 服务:
    在 CentOS 上安装 NIS 服务:

yum install ypbind ypserv

配置 NIS 客户端:

编辑 /etc/yp.conf 配置文件,指向 NIS 服务器:

ypbind ypswitch=ypserv

启动服务:

启动 NIS 服务:

systemctl start ypbind

验证:

使用 ypcat 命令验证是否能够查询到 NIS 信息:

    ypcat passwd

五、LDAP(轻量级目录访问协议)

LDAP 是一种应用层协议,主要用于访问和管理分布式目录信息。LDAP 广泛应用于集中管理用户身份信息,常用于组织内部的身份验证和目录服务。 配置LDAP

安装 LDAP 服务:
    安装 OpenLDAP 服务:

yum install openldap-servers openldap-clients

配置 LDAP 服务器:

编辑 /etc/openldap/slapd.conf 配置文件,配置 LDAP 服务器的基本参数。

添加条目:

使用 ldapadd 命令添加用户或组:

ldapadd -x -D "cn=admin,dc=example,dc=com" -W -f newuser.ldif

配置 LDAP 客户端:

配置 /etc/ldap.conf 文件,指定 LDAP 服务器地址和搜索路径:

host 192.168.1.100
base dc=example,dc=com

验证:

使用 ldapsearch 命令验证 LDAP 配置:

    ldapsearch -x

总结

上述内容介绍了多种常见的身份验证和鉴别方法,包括 Kerberos 协议认证、FreeRADIUS 认证、NSS、NIS 和 LDAP。每种方法都有其独特的优点和适用场景,可以根据实际需要选择合适的认证方式进行配置和部署。