java ad freeradius_freeradius集合mariadb+深信服的AC做实名认证

Freeradius+AC认证过程(为了简化,此操作在yum下)

系统要求:Centos7.5 内存:4G 硬盘:50G ,这里关闭了防火墙和selinux,如有需要自行开启,本教程不做介绍。

更新系统

yum install-y update

安装freeradius 和freeradius工具包

yum install freeradius freeradius-mysql

yum -y install freeradius freeradius-utils freeradius-mysql

3191424

freeradius的测试

该文件是/etc/raddb/users,使用vi工具打开,命令如下:

vi /etc/raddb/users

打开文件后,查找 steve Cleartext-Password :="testing" (76-84行), 取消该段内容的注释。

3191424

打开一个新的终端运行radius -X

另一终端输入

radtest steve testing localhost 0 testing123

3191424

到此freeradius安装基本完成,下面是集合mariadb数据库实现联动认证的。

安装mariadb数据库

yum install -y mariadb-server mariadb-devel

3191424

启动mariadb

systemctl start mariadb

3191424

创建认证数据库,给相应的权限

mysql -u -p

密码自行设置

mysql>set password for 'root'@'localhost'=password('newpasswd');

创建数据库

mysql>create database radius;

给权限

mysql>grant all on radius.* to radius@localhost identified by "radpass"; mysql>exit;

Exit

导入表结构

mysql -u root radius< /etc/raddb/mods-config/sql/main/mysql/schema.sql

或者

/etc/raddb/mods-config/sql/main/mysql/schema.sql

3191424

表的说明

上面的指令,共导入了7个表,分别是:

radcheck 用户检查信息表

radreply 用户回复信息表

radgroupcheck 用户组检查信息表

radgroupreply 用户组检查信息表

radusergroup 用户和组关系表

radacct 计费情况表

radpostauth 认证后处理信息,可以包括认证请求成功和拒绝的记录。

在数据库里建立组

1、建立组信息:(在此新建组名称为user)

insert into radgroupreply (groupname,attribute,op,value) values ('user','Auth-Type',':=','Local');

insert into radgroupreply (groupname,attribute,op,value) values ('user','Service-Type',':=','Framed-User');

insert into radgroupreply (groupname,attribute,op,value) values ('user','Framed-IP-Address',':=','255.255.255.255');

insert into radgroupreply (groupname,attribute,op,value) values ('user','Framed-IP-Netmask',':=','255.255.255.0');

2、建立用户信息:(在此新建用户名为test,密码为testpwd)

insert into radcheck (username,attribute,op,value) values ('test','Cleartext-Password',':=','testpwd');

将用户加入组中:

insert into radusergroup (username,groupname) values ('test','user');

3.5.6.修改 FreeRADIUS中的mysql 认证配置

执行如下命令:

cd /etc/raddb/mods-enabled

ln -s ../mods-available/sql

.修改 FreeRADIUS中的mysql 配置文件

该配置文件位于/etc/raddb/mods-available目录,名称为sql

可以通过vi来修改,命令如下:

vi /etc/raddb/mods-available/sql

找到driver = “rlm_sql_null”这一行,修改为driver = “rlm_sql_mysql”。保持并退出。

3191424

取消注释

3191424

vim /etc/raddb/mods-available/sql

31         #driver = "rlm_sql_null"

32driver = "rlm_sql_mysql"

88         #dialect = "sqlite"

89dialect = "mysql"

90

91         # Connection info:

92         #

93         server = "localhost"

94 port = 3306

95login = "radius"

96password = "radpass"

97

98         # Database table configuration for everything except Oracle

99         radius_db = "radius"

247read_clients = yes

250         client_table = "nas"

位于245行

3191424

修改所属组

然后,将/etc/raddb/mods-enabled/sql所属组更改为radiusd:

chgrp -h radiusd /etc/raddb/mods-enabled/sql

配置 /etc/raddb/sites-available/default

注意:注释398行files

不注释会导致任意账号密码认证通过

添加启动

3.5、添加启动服务,调整FreeRadius与MariaDB的启动顺序,FreeRadius必须在MariaDB启动之后启动,在[Unit]部分,增加After=mariadb.service,如下图所示:

# systemctl enable radiusd.service

# vi /etc/systemd/system/multi-user.target.wants/radiusd.service

After=mariadb.service

3191424

添加客户端连接(对接外部设备密码)

添加客户端连接设置,添加允许所有用户接入,如需特定ip访问,ip可以自由更改。

# vi /etc/raddb/clients.conf

client all_client {

ipaddr = 0.0.0.0/0

secret = testing123

require_message_authenticator = no

}

根据radius的debug信息,深信服的验证数据中,深信服发送了一个核心信息就是Service-Type = Authenticate-Only

freeradius内修改radius的配置文件(/usr/local/etc/raddb/users)或者

vim /etc/raddb/users

vi  users        增加下一行可以让深信服通过验证。

DEFAULT         Service-Type = Authenticate-Only,Auth-Type := Accept

3191424

终于做到了深信服的radius验证测试只要1秒就成功。

3191424

如果启动警告

输入

systemctl daemon-reload

到此。搭建完毕

日志功能配置

修改radiusd.conf配置文件

vim  /etc/raddb/radiusd.conf

Log{

auth = yes

auth_badpass = yes

auth_goodpass = yes

}

配置 /etc/raddb/sites-available/default

Authorize{

auth_log

}

post-auth{

reply_log //732

}

注释了398files

增加用户名 密码用MD5加密。认证设备选择PAP

insert into radcheck (username,attribute,op,value) values ("20008","MD5-Password",":=",md5("123456"));

本次教程只讲了操作,原理会在后面和大家讲述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值