Radius搭建以及双因素认证

Radius搭建以及双因素认证网络接入服务器 NetworkAcces NAS 是 RADIUS 的客户端 它负责将用户的验证信息传递给指定的 RADIUS 服务器 然后处理返回的响应

大家好,欢迎来到IT知识分享网。

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 0xf (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/ 

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

img

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

img

img

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

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

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 

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/128165.html

(0)
上一篇 2025-09-02 18:15
下一篇 2025-09-02 18:20

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信