FreeRadius 和 AD 集成搭一套认证环境

FreeRadius 和 AD 集成搭一套认证环境

由于项目需要Radius 认证,所以用freeRadius + AD 搭了一套认证环境,对于AD我搭的是Window server 2019,这里不会描述它,下面主要讲述怎么安装freeRadius ,已经验证认证环境。

环境准备

  • Window server 2019 (192.168.63.10) (添加域名 mydemo.local)
  • Centos 7.x (192.168.63.9) (我用的是7.7 版本)
  • 客户机一台 测试 (192.168.63.4)(我用的是centos)

FreeRadius server 的安装

Radius server 主要安装在Centos 7.x 上, 下面将yum install 多个安装包

设置hosts

在/etc/hosts 中配置下面的IP
在这里插入图片描述

关闭selinux 和iptables (生产环境我们肯定要设置iptable rule 来做)

在这里插入图片描述

安装samba 和配置

  1. yum install samba.x86_64 -y
  2. 配置smb, /etc/samba/smb.conf
    • ) workgroup 配置Domain 的左边
    • ) security 配置ads
    • ) readm 配置大写的domain
    • ) netbios name 配置你在hosts 中配置local 名字
    • )password server 配置的你的AD 的IP或者你在hosts 中配置AD的hostname
    • ) encrypt passwords 一定要配置yes
      在这里插入图片描述

安装krb5 以及kerberos 的配置

yum install krb5-server.x86_64 -y

  • /etc/krb5.conf 配置在这里插入图片描述
  • /var/kerberos/krb5kdc/kdc.conf 配置
[kdcdefaults]
 kdc_ports = 88
 kdc_tcp_ports = 88

[realms]
 MYDEMO.LOCAL={
  #master_key_type = aes256-cts
  acl_file = /var/kerberos/krb5kdc/kadm5.acl
  dict_file = /usr/share/dict/words
  admin_keytab = /var/kerberos/krb5kdc/kadm5.keytab
  supported_enctypes = aes256-cts:normal aes128-cts:normal des3-hmac-sha1:normal arcfour-hmac:normal camellia256-cts:normal camellia128-cts:normal des-hmac-sha1:normal des-cbc-md5:normal des-cbc-crc:normal
 }

安装freeradius 和winbind

  • yum install freeradius freeradius-utils samba-winbind krb5-server krb5-workstation -y
  • 配置 /etc/nsswitch.conf
  passwd:     files sss winbind
  shadow:     files sss winbind
  group:      files sss winbind
  • 将/usr/lib/systemd/system 下的service copy 到 /etc/systemd/system/, smb.service, krb5kdc.service winbind.service,

可以用kerberos 测试一下我们的账号

kinit Administrator@MYDEMO.LOCA
Password for Administrator@MYDEMO.LOCAL: *******

上面命令无返回就表示OK

将centos 加入我们的域mydemo.local中

net ads join -U Administrator
Enter Administrator's password: ********
Enter Administrator's password:
Using short domain name -- MYDEMO
Joined 'CENTOS' to dns domain 'mydemo.local'

上述结果表明OK, 我们可以到AD server 中可以看到我们将centos 加入了, 在加入的过程中可能会失败,我们加入:
net -s /dev/null groupmap add sid=S-1-5-32-546 unixgroup=nobody type=builtin
然后join

然后我们可以测试一下用ntlm 来测试认证是否OK,所以我们需要安装 samba-winbind-clients.x86_64

ntlm_auth --request-nt-key --domain=MYDEMO.LOCAL --username=xxxxx --password=*****
NT_STATUS_OK: The operation completed successfully. (0x0)

上面返回结果表示OK

配置Radius

  • raddb/mods-enabled/ntlm_auth
        exec ntlm_auth {
                wait = yes
                program = "/path/to/ntlm_auth --request-nt-key --domain=MYDOMAIN --username=%{mschap:User-Name} --password=%{User-Password}"
        }
  • /etc/raddb/sites-available/default 和 raddb/sites-enabled/inner-tunnel
    authorize 中加入 ntdomain
    authenticate 中 加入 ntlm_auth

  • raddb/mods-config/files/authorize
    DEFAULT Auth-Type = ntlm_auth
    重启radius 服务之后,我们run 下面的命令:

radtest username passwd 127.0.0.1 0 testing123
Sent Access-Request Id 218 from 0.0.0.0:40053 to 127.0.0.1:1812 length 81
        User-Name = "david_zhang"
        User-Password = "passwd"
        NAS-IP-Address = 127.0.0.1
        NAS-Port = 0
        Message-Authenticator = 0x00
        Cleartext-Password = "passwd"
Received Access-Accept Id 218 from 127.0.0.1:1812 to 0.0.0.0:0 length 20

我们收到一个 “Access-Accept” 就表示认证成功

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值