在Openwrt上配置freeradius进行EAP-TLS认证

    WPA2/WPA3协议支持基于EAP(可扩展身份验证协议)的认证。相较于使用PSK(预共享密钥)的认证而言,其安全性高出许多。EAP认证需要使用一个RADIUS服务端,而在Openwrt端较为理想的RADIUS服务端是freeradius。对于大多数内存达到128MB的路由器来说,直接在路由器本地运行freeradius是可行的(笔者使用的是Xiaomi AC2100路由器,21.02版本)。本文大致讲述在Openwrt上配置freeradius及其EAP-TLS认证协议的方法。

1.安装必要软件包

    Openwrt有两种安装软件的方式。其一是在编译Openwrt固件时包含该软件包(推荐)。由于Openwrt官方固件中默认包含的是不支持EAP认证的wpad-mini或者wpad-basic-wolfssl,此处需要将其更换为支持EAP认证的wpad(支持WPA2)或者wpad-openssl(支持WPA2和WPA3)。

    构建编译环境的具体过程请参阅Openwrt Wiki:

[OpenWrt Wiki] Build system usage

此处略过,在构建好编译环境之后最后运行make defconfig,再make以检查是否存在缺陷。

一般情况下在使用全新的编译设定时,不要忘了加上luci。

$>make menuconfig

    在Network目录内,选择FreeRADIUS (version 3)子目录,并包含freeradius3, freeradius3-common, freeradius3-default, freeradius3-utils即可。假如需要节省空间(真的吗?)可以不选择freeradius3-default而手动选择需要的模块。此时就需要选择always, attr-filter, detail, digest, eap及需要的eap方法, exec, expiration, logintime, preprocess, radutmp, realm。

    返回上一级,在WirelessAPD子目录内,包含eapol-test-openssl, 移除wpad-mini和wpad-basic-wolfssl, 包含wpad或者wpad-openssl。

    返回主界面进入Utilities目录,向下找到openssl-util并包含。

    随后make download和make即可。

    其二是使用Openwrt的软件包管理器opkg。不推荐使用本方法的原因是,由于Openwrt使用的是只读文件系统squashfs,从已编译好的固件中删除文件是理论不可行的,利用opkg卸载软件包并不能释放空间。

opkg update
opkg remove wpad-mini wpad-basic-wolfssl
opkg install freeradius3 freeradius3-default freeradius3-utils

    或者只安装需要的模块

opkg install freeradius3 freeradius3-common freeradius3-democerts freeradius3-mod-always freeradius3-mod-attr-filter freeradius3-mod-chap freeradius3-mod-detail fre

你可能感兴趣的:(物联网,网络安全)