• [EAP]将hostapd作为radius服务器搭建EAP认证环境


    文章主要由以下几部分组成:

    0、概念理解: WPA/WPA2,EAP,IEEE, 802.11i, WiFi联盟, 802.1x

    1、编译hostapd

    2、配置hostapd的conf文件

    3、外接路由器设置

    4、配置hostapd的user文件

    5、运行命令

    0、概念理解

    (1)802.11i 是一个标准,这种安全标准为增强WLAN的数据加密和认证性能,定义了RSN(Robust Security Network)的概念,标准范畴分为媒介层(MAC)与物理层(PHY)。该标准为整个802.11协议族共用。

    (2)EAP一种可扩展的认证框架,各种认证方法可以得到很好的支持。

    认证者(A),申请认证者(S),后端认证服务器(B, 本文是Radius服务器)

    有以上三种角色组成的模式叫做BAS模式,

    还有一种AAA模式:Authentication、Authorization and Accounting,认证、授权和计费。

    (3)802.1X是802.1规范家族中的一员。简单来说,802.1X详细讨论了EAP在Wired LAN上的实现,即EAPOL。

    (4)IEEE 是一个组织,负责制定(1)(2)(3)中所说的802.11i。

    (5)WiFi联盟也是一个团体,组织。他们拥有 Wi-Fi 这个名词的商标,并且会检验要使用Wi-Fi这个名词的设备以核发证书。什么样的无线传输可以称之为WiFi,由他们认证。

    (6) WPA 实现了 IEEE 802.11i 标准的大部分,是在 802.11i 完备之前替代 WEP 的过渡方案。WPA由WiFi联盟建立,并提供该项接入方式的认证。2003年开始强制性实施。

    英文缩写: WPA (Wi-Fi Protected Access)

    中文译名: Wi-Fi网络安全接入

    认识了WPA, WPA2也就是WPA的第二代,是经由 Wi-Fi 联盟验证过的 IEEE 802.11i标准的认证形式。

    WPA/WPA2有两种认证模式,一种是个人版(预先秘钥共享机制,即PSK)和企业版(使用802.1x框架)

    最后,总结成如下图,各个实体之间的关系。

    1、编译hostapd

    (1) 配置.conf文件

    该文档使用的是hostapd-2.5源码。

    在执行make之前需要安装openssl等开发包。这里编译环境使用的是Ubuntu,因为开发环境比较容易配置。

    到hostapd文件夹下,

    一般有类似于“defconfig”的文件,将其重命名为“.config”。

    首先,因为我们是将hostapd当做radius服务器,所以这一项的配置很重要。

    然后后面根据需要配置各种EAP方法

    (2) 执行make命令

    make //生成hostapd运行文件

    make hlr_auc_gw //编译生成hlr_auc_gw 运行文件

    2配置hostapd.conf文件

    dirver=none

    ieee8021x=1

    eap_server=1

    eap_user_file=hostapd.eap_user

    # TLS parameters (shared by EAP-PEAP, EAP-TTLS, EAP-FAST)

    ca_cert=cas.pem

    # Server certificate and private key from separate files

    server_cert=server.pem

    private_key=server.key

    radius_server_clients=hostapd.radius_clients

    radius_server_auth_port=1812 randius服务器的端口】

     

    注: server.pem, server.key, cas.pem可以复用hostapd文件夹下的同名文件,即拷贝过去配置好相对路径就好。

    其他参照里面的说明配置,EAP-FAST的项需要比较多的配置。(现在很少设备支持EAP-FAST这种认证方式)

    3配置路由器

    使用路由器作为AP,所以需要让AP知道如何把信息转发给Radius服务器

    配置一个SSID

    配置路由器认证方式

    关于上图中的radiuis服务器IP地址,Radiuis端口和Radius密码,参照以下步骤执行。

    【如何获取本机的radius IP地址】

    先修改hostapd.conf配置文件:

     RADIUS authentication server

    auth_server_addr=192.168.1.102

    auth_server_port=1812

    auth_server_shared_secret=secret

    然后在终端中运行 ./hostapd -ddK hostapd.conf 命令

    可以看到local address就是本机的Radius服务器的IP地址是192.168.1.100,这个就是【radius服务器的IP地址】

    这种投机取巧的办法就是利用外部radius服务器打印本机的radius服务器地址。现在依旧将上面刚刚添加的几行注释掉,使用#

    #RADIUS authentication server

    #auth_server_addr=192.168.1.102

    #auth_server_port=1812

    #auth_server_shared_secret=secret

    修改下面一行的密码为12345678,这个就是radius【服务器的密码】。

    参考将路由器的组秘钥更新周期改为0.

    4配置user文件,用于用户登陆

    刚刚在hostapd.conf文件中配置的

    eap_user_file=hostapd.eap_user

    注:就是用户的登录名和密码,配置用户名和密码时候,每一种EAP method的用户名不能相同,不然会出现找不到该method的情况。

     

    其他的用户配置就请阅读上面的说明。添加新的EAP-Method 用户可以参照PEAP的方法配置,但是用户名不能相同。

    5、运行命令,在hostapd文件夹下

    ./hlr_auc_gw -g hostapd.sim_db -m hlr_auc_gw.milenage_db

    ./hostapd -ddK hostapd.conf

     (版权所有,转载请告知)

  • 相关阅读:
    jquery实现记住用户名和密码
    从mysql8.0.15升级到8.0.16
    mysql8.0.15二进制安装
    DML、DDL、DCL的分别是什么
    redis3.2.10单实例安装测试
    redis5.0.3单实例简单安装记录
    percona-xtrabackup快速安装及其简单使用
    pt-show-grants的用法
    Centos6安装Percona-tools工具
    sshpass-Linux命令之非交互SSH密码验证
  • 原文地址:https://www.cnblogs.com/claruarius/p/5902141.html
Copyright © 2020-2023  润新知