【问题标题】:freeradius 3.0 mod eap configuration issuesfreeradius 3.0 mod eap 配置问题
【发布时间】:2022-12-18 07:42:50
【问题描述】:

我正在使用 freeradius v.3.0.26 并配置了 eap 模块,用于 eap-tls 身份验证。

我安装了包 eapol_test 来检查是否一切正常。

一切看起来都很好,但是如果我在我的 eap 配置文件中使用 tls1.3 (mods-enabled/eap):

        tls_min_version = "1.3"
        tls_max_version = "1.3"

服务器返回一条错误消息...

客户端尝试通过 tls 1.3 连接,但服务器发回“TLS 1.2 警报,致命协议版本”:

Sun Dec 11 15:23:20 2022 : Debug: (1) eap_tls: (TLS) recv TLS 1.3 Handshake, ClientHello
Sun Dec 11 15:23:20 2022 : Debug: (1) eap_tls: (TLS) send TLS 1.2 Alert, fatal protocol_version
Sun Dec 11 15:23:20 2022 : ERROR: (1) eap_tls: (TLS) Alert write:fatal:protocol version
Sun Dec 11 15:23:20 2022 : ERROR: (1) eap_tls: (TLS) Server : Error in error
Sun Dec 11 15:23:20 2022 : ERROR: (1) eap_tls: (TLS) Failed reading from OpenSSL: ../ssl/statem/statem_srvr.c[1657]:error:0A000102:SSL routines::unsupported protocol
Sun Dec 11 15:23:20 2022 : ERROR: (1) eap_tls: (TLS) System call (I/O) error (-1)
Sun Dec 11 15:23:20 2022 : ERROR: (1) eap_tls: (TLS) EAP Receive handshake failed during operation
Sun Dec 11 15:23:20 2022 : ERROR: (1) eap_tls: [eaptls process] = fail
Sun Dec 11 15:23:20 2022 : ERROR: (1) eap: Failed continuing EAP TLS (13) session.  EAP sub-module failed

当我尝试通过真正的无线客户端连接时也会发生同样的情况,所以 eapol_test 没有任何问题......

一旦我设置了以下选项:

    tls_min_version = "1.2"
    tls_max_version = "1.3"

身份验证有效,但随后使用了 tls 1.2。

是否可以将 freeradius 与 eap tls 1.3 一起使用?

接下来我不明白的是连接时的一些警告消息:

Sun Dec 11 15:02:50 2022 : Warning: Certificate chain - 2 cert(s) untrusted
Sun Dec 11 15:02:50 2022 : Warning: (TLS) untrusted certificate with depth [2] subject name ....CN=ROOT CA.......
Sun Dec 11 15:02:50 2022 : Warning: (TLS) untrusted certificate with depth [1] subject name ....CN=Intermediate CA.......
Sun Dec 11 15:02:50 2022 : Warning: (TLS) untrusted certificate with depth [0] subject name ....CN=Client Cert.......

我已经阅读了eap config中的提示并进行了配置:

            private_key_password = XXXXXX
            private_key_file = /etc/freeradius/3.0/certs/radius-server.key
            certificate_file = /etc/freeradius/3.0/certs/radius-server.pem
            ca_file = /etc/freeradius/3.0/certs/ca.cert.crt
            auto_chain = yes
            ca_path = ${cadir}

radius-server.pem = 仅包含服务器证书

ca.cert.crt 仅包含根 ca

连接和身份验证有效,但我不明白警告消息,因为客户端也发送了完整的链

【问题讨论】:

  • 好的,我想我已经用 tls1.3 解决了这个问题。似乎这是不可能的。调试日志中还有一条警告消息,您可以查看这表明大多数 wpa 请求者不遵守标准,而 freeradius 仅支持少数设备。我还用 Sophos AP 和 Zyxel AP EAP TLS 1.3 测试了 freeradius 3.2,但我不工作。

标签: openssl ssl-certificate client-certificates ca freeradius


【解决方案1】:

EAP 的 TLS 1.3 是非常新的——它在最近几个月才被标准化。您需要最新的 FreeRADIUS 版本和最新的 wpa_supplicant(或者甚至可能是未发布的开发版本)才能工作。

它不太可能适用于任何设备,因为它们可能不会运行足够新的 wpa_supplicant 版本。

如果配置正确,可以与 FreeRADIUS 和 wpa_supplicant 一起使用。默认值仍然是 1.2,因为它是最兼容的。您需要在 FreeRADIUS 中设置tls_max_version = "1.3",并在 wpa_supplicant 配置中设置phase1="tls_disable_tlsv1_3=0"。可能需要其他选项才能强制其工作。

请注意,FreeRADIUS 调试输出有时仍会在一些调试消息中报告 TLS 1.2;这是 TLS 工作方式的副作用,并且是不可避免的。

总结 - 为 EAP 坚持使用 TLS 1.2 再过一年左右,直到更新的软件发布,除非你想要痛苦。

【讨论】:

    猜你喜欢
    • 2017-05-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-29
    • 1970-01-01
    • 2021-08-18
    • 2020-01-19
    • 1970-01-01
    相关资源
    最近更新 更多