EAP-TLS实验之Ubuntu20.04环境搭建配置(FreeRADIUS3.0)(一)

这篇具有很好参考价值的文章主要介绍了EAP-TLS实验之Ubuntu20.04环境搭建配置(FreeRADIUS3.0)(一)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

        年后开始准备EAP-TLS 802.1x认证的事情,年前搭建了Windows Server 2019预为认证服务器,参考了《在 Windows Server 上搭建 AD 域控制器 - KOBIN 技术随笔》及《Windows Server 搭建 RADIUS 认证服务器 - 知乎》及《WINDOWS SERVER 2012证书服务安装配置_cep的身份验证类型-CSDN博客》及《Windows Server配置生成认证证书 - 知乎》(推荐)等多篇文章搭建配置了一通,无奈现实情况与这些文章(关于winserver相关的资料均较旧且少)里面提到的有出入,且认证客户端均为Linux设备,如果采用Windows系统作为认证服务器,那么生成的证书(.pfx、.cer)还需转换成Linux端适用的格式(.crt、.key、.pem),怪麻烦的,于是乎,在节后的第二天开始着手准备据称全球唯一开源支持AAA的FreeRADIUS,以下内容记录了下大概过程,大致参考了《为Freeradius3.0配置sql与EAP-TLS - 简书 (jianshu.com)》及官方的《Getting Started》,正文中有对其作了修改和补充。

#如果有同学采用了winserver作为认证服务器,可以通过下述方式添加客户端用户(参考)
(Windows server添加用户步骤:服务管理器->右上角工具->AD用户和计算机->Users文件夹右击->新建用户)

下载安装freeradius

        有两种方式可以达到目的,第一种,参考官方《Building FreeRADIUS》,下载源码后configure&&make&&make install;第二种,我所采用的下面这种(懒人专用)。

$sudo su 
#apt-get update /* 更新源 */
#apt-get install freeradius freeradius-mysql mysql-client mysql-server openssl

        此处作下说明,有的文章会直接写上apt-get install freeradius freeradius-mysql mysql openssl,目前各大软件源(仅限于我所尝试的几个)已经没有“mysql”,取而代之的是mysql-server和mysql-client.如果你的Ubuntu环境中还能配置找到mysql,那么可以直接apt-get install mysql,否则需要下载安装mysql-server和mysql-client.

配置freeradius

测试

1.添加测试用户

#cd /etc/freeradius/3.0
#gedit users

        打开bob用户那行或者根据官方指南主动添加如下一行(添加位置可以在bob上面,该users文档里面有些注释说明,可以看看):

testing Cleartest-Password := "password"

        上述语句意思是:增加一位用户名为testing密码为password的用户。

2.以调试模式启动freeradius

#freeradius -X

        如终端最后一行输出“Ready to process requests”,则说明服务器启动成功,准备接受认证请求。再次单独打开另外一个终端,输入如下命令用来发动一个请求给服务器:

#sudo radtest testing password localhost 0 testing123

        上述语句意思是:向本地服务器(localhost)发送一个用户名为testing密码为password的认证请求,对称密钥是testing123(clients.conf文件中有相关内容),若该终端输出Access-Accept相关语句,则代表认证成功。至此一个简单验证freeradius服务器的例子完成了。

添加认证用户

        如果想要被freeradius认证服务器接受认证请求,我们得提前将待验证的用户相关信息注册到服务器上(其他认证服务器也有类似操作),我们在上文提到的clients.conf中添加即可,我暂时没有配置路由器(后续文章中会提到这块,届时将重新提到该文件),所以也就没有修改此文件,为了方便描述,我盗用下简书上那篇文章里面的图片(望原作者海涵见谅),如下图。

EAP-TLS实验之Ubuntu20.04环境搭建配置(FreeRADIUS3.0)(一),AAA,ssl,网络安全,udp

        对于无线802.1x认证,根据前人文章的描述我们只需要将WLAN安全设置改为WPA-EAP/WPA2-EAP/WPA-Enterprise/WPA2-Enterprise,并配置好认证服务器地址与对称密钥就可以了。而对于有线802.1x认证,则有不同的设置(同样的,后续涉及到路由器配置这块的文章中会有提到)。

配置TLS

        为了进行TLS相关认证方式(如eap-tls、eap-ttls等),我们需要对mods-enabled/eap文件进行修改配置,具体可以参考简书上那里的设置。但修改之前我们最好先生成证书文件,我们可以在certs路径下执行make命令,生成一套证书,如ca.pem(自签发根证书)、server.pem(服务器证书)、server.key(服务器私钥,保护密码为whatever,可在eap文件中修改)、client.pem(客户端证书)、client.key(客户端私钥)、client.p12(PKCSv12编码的个人证书文件,包含了证书,私钥,并由密码“whatever”保护,需要导出并在自有设备上安装),为了后续流程的成功执行,我们需要增加一个步骤,执行如下命令给予certs文件夹及其路径下所有文件755的权限。

#chmod 755 certs -f

        至此支持TLS的配置完成。

数据库创建

数据库创建

        数据库可用来记录保存用户的一些信息(如用户名、密码、链接方式、计费等等),方便freeradius日常工作需要。

        通过如下mysql命令配置数据库及账户密码:

#mysql -uroot /* 以root权限操作mysql */
mysql->CREATE DATABASE radius; /* 创建数据库radius */
mysql->CREATE USER 'radius'@'localhost' IDENTIFIED BY 'radpass';
mysql->GRANT ALL ON radius.* TO 'radius'@'localhost';
mysql->quit

        上述末两行的MySQL语句的意思是:创建一个用户名为radius密码为radpass的用户,并授予用户对“radius”数据库的所有权限(包括SELECT, INSERT, UPDATE, DELETE等),该用户只能从“localhost”(即MySQL服务器本身)连接到数据库。也可通过freeradius提供的mods-config/sql/main/mysql/setup.sql文件配置权限,可参考《ubuntu安装freeradius3, freeradius3-mysql并配置_freeradius3 pap-CSDN博客》,该文章提供了不一样的操作,有兴趣可尝试。注意输入MySQL语句后面的分号‘;’。

        有时会出现在添加用户账号及密码后登录不了的情况,此时需要根据情况进行排查解决,在初期最简单直接的方法是,删除该账号并重新添加,先通过SELECT检查用户存在状况,

EAP-TLS实验之Ubuntu20.04环境搭建配置(FreeRADIUS3.0)(一),AAA,ssl,网络安全,udp

再通过DROP USER命令删除用户:

mysql->DROP USER 'radius'@'localhost';

        数据库及用户密码创建配置好后我们执行如下MySQL语句导入数据表结构(sql脚本):

#mysql -uradius -pradpass radius
mysql->source /etc/freeradius/3.0/mods-config/sql/main/mysql/schema.sql;
mysql->quit

最后一步,我们需要修改mods-available/sql文件(未列出部分暂时不动,除非你很清楚导致的结果),

sql {
    dialect = "mysql"
    driver = "rlm_sql_${dialect}"
    mysql {
        tls {
            ca_file = "/etc/freeradius/3.0/certs/ca.pem"
            ca_path = "/etc/freeradius/3.0/certs/"
            certificate_file = "/etc/freeradius/3.0/certs/client.pem"
            private_key_file = "/etc/freeradius/3.0/certs/client.key";
        }
    }
    server = "localhost"
    port = 3306
    login = "radius"
    password = "radpass"
}

read_clients = yes

重启freeradius,如出现如下情况,则说明sql模块加载成功。

EAP-TLS实验之Ubuntu20.04环境搭建配置(FreeRADIUS3.0)(一),AAA,ssl,网络安全,udp

如出现如下情况,

EAP-TLS实验之Ubuntu20.04环境搭建配置(FreeRADIUS3.0)(一),AAA,ssl,网络安全,udp

优先检查certs文件夹权限,可按照上文相关进行修改。

        以上只是简单的数据库创建、简单的配置,并未实现测试如何利用MySQL进行链接认证(测试中出现了一些问题,了解不够,暂时无法解决),留给下篇文章。文章来源地址https://www.toymoban.com/news/detail-835727.html

到了这里,关于EAP-TLS实验之Ubuntu20.04环境搭建配置(FreeRADIUS3.0)(一)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ubuntu 20.04 搭建crash dump问题分析环境

    主机环境和内核版本信息: 参考了Ubuntu Kernel crash dump这篇文章 如果通过上面的命令安装ubuntu内核调试符号,则需要通过下面的方法去安装,参考文章:安装ubuntu内核调试符号 1.5.1 GPG 秘钥导入 确保您拥有系统的 GPG 密钥。适用于16.04 及更高版本的 Ubuntu : 对于旧的发布版本

    2024年02月05日
    浏览(45)
  • 从头搭建Android源码编译环境(Ubuntu 18.04 / 20.04 / 22.04)

    在新安装的Ubuntu上(版本20.04LTS),完成搭建Android源码编译环境步骤如下。 顺带说一句,当前用的比较多的Ubuntu是18.04和20.04,在实际项目中一直在用,可用性和稳定性都没问题。 最新的Ubuntu22.04版本,系统默认的二进制库变化比较大,编译Android源码有问题(实测过,没细研

    2024年02月06日
    浏览(161)
  • ubuntu20.04一键安装VScode搭建ROS编程环境

    VSCode 全称 Visual Studio Code,是微软出的一款轻量级代码编辑器,免费、开源而且功能强大。它支持几乎所有主流的程序语言的语法高亮、智能代码补全、自定义热键、括号匹配、代码片段、代码对比 Diff、GIT 等特性,支持插件扩展,并针对网页开发和云端应用开发做了优化。

    2023年04月24日
    浏览(50)
  • ubuntu20.04搭建ROS+UE4+airsim环境

    前两天搭建了ubuntu20.04下ue4+ROS+airsim环境,在这里记录一下,方便后面自己查阅。 主要过程参见链接:Ubuntu18.04搭建AirSim+ROS仿真环境_我只是一只自动小青蛙的博客-CSDN博客_airsim ros 我遇到的问题(根据引文中的标题): 1、github于epic账号绑定问题:需要在epic账号设置中绑定

    2024年02月10日
    浏览(50)
  • RK356x基于Ubuntu20.04搭建ROS开发环境

    CPU:RK356x 操作系统:arm64 Ubuntu20.04 1、首先确保开发板是可以联网的。

    2024年01月20日
    浏览(44)
  • fabric 环境快速搭建--Ubuntu20.04系统下使用fabric官方脚本搭建

    由于是初识hyper ledger fabric在安装的时候遇到了很多的问题,最后在师兄的帮助下终于删了从头到尾安装了一遍,因此想记录一下,并且给和我遇到相同问题的小伙伴提供一些帮助。如果你是萌新,找我就对啦! 直接去官方下载即可 其他帖子上面有很多详细步骤,这里不多赘

    2024年02月14日
    浏览(45)
  • Ubuntu20.04 搭建L2TP+IPsec环境

    安装l2tp和strongswan。 sudo apt install xl2tpd sudo apt install strongswan 1)编辑**/etc/ipsec.conf** 2)编辑**/etc/ipsec.secrets** , 设置ipsec的预共享秘钥 编辑**/etc/xl2tpd/xl2tpd.conf** 1) 编辑PPP配置文件(例如上文中的**/etc/ppp/options.xl2tpd**)。 2)编辑**/etc/ppp/chap-secrets**,添加VPN访问用户密码 # 重启服

    2024年02月04日
    浏览(52)
  • 基于Ubuntu20.04搭建OpenHarmony v3.0.6的qemu仿真环境

    出于个人兴趣,也出于对国产操作系统的好奇,想尝试一下以LiteOS为内核的Openharmony。但过程相当不顺利,主要原因是官方文档内容组织的不敢恭维。挺好的东西,不把说明书写好,让用户怎么用?我研究的核心问题就一个:如何在基于Qemu仿真的Openharmony中输出一个hello worl

    2024年02月09日
    浏览(41)
  • Ubuntu20.04搭建PX4仿真环境及XTDrone开发平台(最详细最明白)

    PX4-Autopilot仿真平台是由PX4官方提供的集虚拟px4固件、真机烧录固件、gazebo环境及模型于一体的平台,用户可以自己编写程序,通过mavros接口与虚拟px4固件进行mavlink协议的通讯,并在gazebo中显示虚拟世界和模型。因此PX官方手册里给了一个经典的例程:offboard.cpp和offboard.py,让

    2024年02月04日
    浏览(146)
  • 【一生一芯】Chap.1 “一生一芯”实验环境配置| VMware安装Ubuntu20.04 | PA工程配置 | 解决llvm版本问题

    前言:搞环境搞了三个晚上,解决了llvm的问题,成功下载“一生一芯”框架代码即南大计算机PA,成功编译运行。 PA0 - 世界诞生的前夜: 开发环境配置 PA0的讲解实验讲义   PA:(Programming Assignment)。是一个小型项目,来自于南京大学计算机科学与技术系《计算机系统基础课程

    2023年04月24日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包