Radius搭建以及双因素认证

Radius搭建

RADIUS(Remote Authentication Dial In User Service,远程用户拨号认证服务)服务器提供了三种基本的功能:认证(Authentication)、授权(Authorization)和审计(Accounting),即提供了3A功能。其中审计也称为“记账”或“计费”。 RADIUS协议采用了客户机/服务器(C/S)工作模式。网络接入服务器(Network Access Server,NAS)是RADIUS的客户端,它负责将用户的验证信息传递给指定的RADIUS服务器,然后处理返回的响应。搭建Radius服务器的方法:用户接入NAS,NAS向RADIUS服务器使用Access-Require数据包提交用户信息,包括用户名、密码等相关信息,其中用户密码是经过MD5加密的,双方使用共享密钥,这个密钥不经过网络传播;RADIUS服务器对用户名和密码的合法性进行检验,必要时可以提出一个Challenge,要求进一步对用户认证,也可以对NAS进行类似的认证;如果合法,给NAS返回Access-Accept数据包,允许用户进行下一步工作,否则返回Access-Reject数据包,拒绝用户访问;如果允许访问。

一、安装Radius

freeradius官方网站下载http://freeradius.org/download.html

注:

最好先安装好下面的东西!!!
遇到的问题:
configure: WARNING: talloc library not found. Use --with-talloc-lib-dir=<path>.
configure: error: FreeRADIUS requires libtalloc
解决:
yum install libtalloc-devel -y


Debugger not attached
Refusing to start with libssl version OpenSSL 1.0.1e-fips 11 Feb 2013 0x1000105f (1.0.1e release) (in range 1.0.1 dev - 1.0.1f release)
Security advisory CVE-2014-0160 (Heartbleed)
For more information see http://heartbleed.com
Once you have verified libssl has been correctly patched, set security.allow_vulnerable_openssl = 'CVE-2014-0160'
解决:
vim /usr/local/etc/raddb/radiusd.conf
 allow_vulnerable_openssl = yes    #改为yes

Could not link driver rlm_sql_mysql: /usr/local/lib/rlm_sql_mysql.so: cannot open shared object file: No such file or directory 
Make sure it (and all its dependent libraries!) are in the search path of your system's ld
/usr/local/etc/raddb/mods-enabled/sql[20]: Instantiation failed for module "sql"
解决: 
yum -y install mysql-devel
然后重新编译freeradius即可。
————————————————
原文链接:https://blog.csdn.net/Name_kongkong/article/details/53010377

1.解压:

tar -zxvf freeradius-server-3.0.26.tar.gz

2.编译:

cd  freeradius-server-3.0.26
./configure (#./configure --with-mysql-dir=/usr/share/mysql/ --with-mysql-lib-dir=/usr/lib/mysql/)
make
make install
# 默认安装在 /usr/local/etc/raddb下

3.启动radius

# debug模式启动
radiusd -X

# 后台进程方式启动
systemctl start radiusd
systemctl enable radiusd

# 日志
/var/log/radius/radius.log 

注:

端口被占用了,查看是谁占用了1812端口 输入命令:ss -ulnp
干掉:pkill radiusd 再重新启动就可以了。

5.添加用户并进行测试

按照官方文档的测试方法,在文件 /usr/local/etc/raddb/users 的末尾添加:

testing Cleartext-Password := "password123"

其中: testing 是用户名, password123 是明文格式的密码.

接下来用radtest来测试服务器:

radtest testing password123 127.0.0.1 0 testing123  

正常情况下返回

img

收到 Access-Accept 即表示测试成功!

二、创建数据库并授权

1.安装mariadb

yum install -y mariadb-server mariadb

2.启动

systemctl start mariadb
systemctl enable mariadb

3.运行安全设置

mysql_secure_installation

CentOS搭建radius服务器用于wifi的wap2认证_mysql_07

4.进入数据库

[root@localhost ~]# mysql -uroot -p
Enter password: 

5.创建数据库并授权

MariaDB [(none)]> create database radius;

Query OK, 1 row affected (0.00 sec)

MariaDB [(none)]> grant all on radius.* to radius@'localhost' identified by 'radius';
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.00 sec)

三、配置radius和数据库

1.导入数据库

cd /usr/local/etc/raddb/mods-config/sql/main/mysql
mysql -u radius -p radius< schema.sql

2配置radius

cd /usr/local/etc/raddb/sites-enabled
sql的配置
vim default
将authorize {}下的sql去掉注释,并且将file注释掉。

img

将accounting{}下的sql去掉注释,并且将file注释掉。

img

cd /usr/local/etc/raddb/mods-available
vim sql
修改driver=“rlm_sql_null”

img

设置以下项,其余项保持默认

driver = "rlm_sql_mysql"
dialect = "mysql"
server = "localhost"
port = 3306
login = "radius"
password = "radius"
radius_db = "radius"
read_clients = yes

给sql做个软连接
在目录 /usr/local/etc/raddb/mods-enabled
给 /usr/local/etc/raddb/mods-available/sql做个软连接
cd /usr/local/etc/raddb/mods-enabled
ln -s /usr/local/etc/raddb/mods-available/sql ./

3.将/etc/raddb/mods-enabled/sql所属组更改为radiusd

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

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

[root@localhost ~]# vim /etc/raddb/clients.conf 
client all_client {
ipaddr = 0.0.0.0/0
secret = testing123
require_message_authenticator = no
}

5.建立组信息和用户

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');

查看

CentOS搭建radius服务器用于wifi的wap2认证_javascript_08

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

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

查看

CentOS搭建radius服务器用于wifi的wap2认证_mysql_09

将用户加入组中

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

7.重启radius测试

systemctl restart radiusd

测试·

radtest test testpwd localhost 1812 testing123

CentOS搭建radius服务器用于wifi的wap2认证_javascript_10

Centos配置ssh通过radius接入认证

1.安装依赖
sudo yum -y install make gcc pam pam-devel
2.下载pam_radius源码安装包
wget ftp://ftp.freeradius.org/pub/radius/pam_radius-1.4.0.tar.gz
tar -xzvf pam_radius-1.4.0.tar.gz
cd pam_radius-1.4.0
sudo ./configure
sudo make
3.将库复制到正确的位置
cp pam_radius_auth.so /lib/security/

#或64bit:
cp pam_radius_auth.so /lib64/security/
4.创建配置目录并复制名为’server’的配置文件:
sudo mkdir /etc/raddb
cp pam_radius_auth.conf /etc/raddb/server
5.编辑 /etc/raddb/server 并将您的 radius 服务器 IP 和共享密钥添加到此文件。
# server[:port] shared_secret      timeout (s)
127.0.0.1       secret             1
radius_server_IP    secret             3
#
# having localhost in your radius configuration is a Good Thing.

在这里插入图片描述

6.接下来,我们需要告诉 login 使用 radius。编辑文件 /etc/pam.d/login
auth       required      pam_radius_auth.so

在这里插入图片描述

7.vim /etc/pam.d/sshd 把这两行添加进去:
auth sufficient pam_radius_auth.so
auth include system-auth

在这里插入图片描述

8.添加用户
sudo useradd -m USERNAME

在 Ubuntu 上配置 sudo 以进行双因素身份验证

接下来是 Ubuntu 14.04 服务器。首先,安装 pam-radius:

sudo apt-get install libpam-radius-auth

通过编辑 /etc/pam_radius_auth.conf 使用 NPS 服务器配置它。所以它和上面一样:

# server[:port] shared_secret      timeout (s)
127.0.0.1       secret             1
radius_server_IP   secret             3
#
# having localhost in your radius configuration is a Good Thing.

编辑 /etc/pam.d/sudo 文件并在 comm-auth 行上方添加 auth sufficient pam_radius_auth.so 行:

auth       required   pam_env.so readenv=1 user_readenv=0
auth       required   pam_env.so readenv=1 envfile=/etc/default/locale user_readenv=0
auth sufficient pam_radius_auth.so
@include common-auth
@include common-account
@include common-session-noninteractive

sudo 使用 radius。

编辑文件 /etc/pam.d/sudo 并将 \auth include system-auth\ 替换为:

auth       required      pam_radius_auth.so
  • 16
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Radius认证服务器是一种用于用户认证和授权的网络协议。搭建Radius认证服务器可以提供更高的网络安全性和用户管理便利性。 首先,搭建Radius认证服务器需要选择合适的服务器操作系统,如Linux或Windows Server。然后,在服务器上安装并配置Radius服务器软件,如FreeRADIUS或Microsoft Network Policy Server。 在配置Radius服务器时,需要设置服务器的IP地址、端口号、认证方式和密钥等基本参数。比如,可以选择使用PEAP或EAP-TTLS等加密认证协议,以保证用户的身份安全。 接下来,需要创建Radius服务器上的用户数据库。可以使用本地数据库或连接外部数据库,如MySQL或Active Directory。在数据库中,可以添加和管理用户的账号和密码,并给予不同的权限和认证方式。 在Radius服务器上,还需要配置客户端设备的接入控制策略。可以根据需要,设置不同的认证方式、访问限制和审计日志等。 最后,测试和验证Radius服务器的运行状态。可以使用Radius客户端工具,如NTRadPing或RadTest,进行用户认证和授权测试。确保Radius服务器能够正常对接入的设备和用户进行认证和授权。 总之,搭建Radius认证服务器可以为网络提供更高的安全性和用户管理便利性。正确配置和管理Radius服务器,可以有效地保护网络资源和用户信息的安全。 ### 回答2: Radius(Remote Authentication Dial In User Service)是一种广泛应用于网络认证与授权的协议。搭建Radius认证服务器可以提供强大的身份验证和访问控制功能。以下是Radius认证服务器搭建的简要步骤: 1.选择合适的操作系统:可以选择类Unix操作系统,如Linux或FreeBSD。 2.安装Radius服务器软件:根据所选的操作系统,安装合适的Radius服务器软件,如FreeRADIUS或OpenRADIUS。 3.配置Radius服务器:打开服务器配置文件,通常是radiusd.conf或radius.conf,根据需要进行一些基本配置,如指定监听IP地址、端口号和共享密码等。 4.配置用户数据库:一般会使用数据库管理用户信息,如MySQL或PostgreSQL。在Radius服务器配置文件中,指定数据库服务器的地址、用户名、密码和数据库名称。 5.创建用户账号:在数据库中创建用户账号,包括用户名、密码和所属的组或角色等信息。 6.配置客户端设备:在Radius服务器配置文件中,定义客户端设备的IP地址和共享密码。 7.启动Radius服务器:在命令行界面输入启动命令,启动Radius服务器。 8.测试认证功能:使用客户端设备连接到网络,输入用户名和密码进行认证,验证Radius服务器是否正常工作。 9.进一步配置:根据需求,可以进一步配置Radius服务器,如增加额外的认证方式、配置访问控制策略等。 10.监控和维护:定期监控Radius服务器的运行状态,处理日志和错误报告,及时进行维护和升级操作。 通过以上步骤,可以成功搭建Radius认证服务器,提供可靠的网络认证和授权服务。 ### 回答3: Radius(Remote Authentication Dial-In User Service)是一种用于网络访问身份验证和授权的协议。搭建一个Radius认证服务器需要进行以下步骤: 首先,选择一个适合的操作系统来搭建服务器,常用的有Windows Server和Linux系统。根据选择的操作系统,安装相应的服务器软件,例如Windows Server系统可以安装Internet Authentication Service(IAS)或Network Policy Server(NPS),Linux系统可以安装Freeradius软件。 安装完服务器软件后,配置服务器的基本参数。包括IP地址、端口号等。此外,还需要为服务器生成证书,以确保通信的安全性。 接下来,配置服务器的用户和组。这些用户和组用于认证和授权用户访问网络。可以通过本地数据库、LDAP服务器或其他外部身份验证源来配置用户和组。 在配置用户和组之后,进行身份验证和授权设置。定义认证方法,如用户名/密码、数字证书或其他认证方式。同时,定义授权策略,指定每个用户或用户组可访问的资源和权限。 最后,进行网络设备的配置。将网络设备连接到Radius服务器,并在设备上配置Radius客户端设置。这样,当用户尝试访问网络设备时,设备将向Radius服务器发送身份验证请求,并根据服务器的响应来授权用户访问。 整个过程需要仔细配置服务器和网络设备,确保服务器和设备之间的通信正常。此外,还需要保护服务器的安全,定期更新系统和软件补丁,设置访问控制和日志记录,以避免安全威胁。 以上是Radius认证服务器搭建的基本步骤,但实际操作时可能会有一些差异,具体的步骤和设置取决于所使用的服务器软件和操作系统版本。在搭建过程中,可以参考相关的官方文档或网络教程来进行操作。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值