hgot07 Hotspot Blog

主に無線LANや認証連携などの技術についてまとめるブログです。ネコは見る専。

古いRADIUSサーバではeduroamに接続できないOSがある件

openSUSE Leap 15.1でもUbuntu 20.04 LTSでもeduroamにきちんと接続できるのに、なぜかCentOS 8では認証が通らない!

色々と調べてみたところ、ちょっと奥深い問題がありました。

結論を述べると、「機関はきちんと新しいRADIUSサーバに入れ替えよ!」ということです。

不具合の様子

CentOS 8でeduroamに接続しようとしたところ、どうしても認証が通らないという状況でした_(゚。3」∠)_

wpa_supplicantでの接続を試してみたところ、認証の初期の段階で、以下のようにSSL3 alertが出ています。ヒントをくれるなんて、なんて親切だこと……。

# wpa_supplicant -iwlp0s29f7u2 -c/etc/wpa_supplicant.conf
Successfully initialized wpa_supplicant
wlp0s29f7u2: Trying to associate with 6c:b2:ae:xx:xx:xx
(SSID='eduroam' freq=5500 MHz)
wlp0s29f7u2: Associated with 6c:b2:ae:xx:xx:xx
wlp0s29f7u2: CTRL-EVENT-SUBNET-STATUS-UPDATE status=0
wlp0s29f7u2: CTRL-EVENT-EAP-STARTED EAP authentication started
wlp0s29f7u2: CTRL-EVENT-EAP-STARTED EAP authentication started
wlp0s29f7u2: CTRL-EVENT-EAP-PROPOSED-METHOD vendor=0 method=25
wlp0s29f7u2: CTRL-EVENT-EAP-METHOD EAP vendor 0 method 25 (PEAP) selected
SSL: SSL3 alert: write (local SSL3 detected an error):fatal:protocol version
OpenSSL: openssl_handshake - SSL_connect error:1425F102:SSL
routines:ssl_choose_client_version:unsupported protocol
wlp0s29f7u2: CTRL-EVENT-EAP-FAILURE EAP authentication failed
wlp0s29f7u2: Authentication with 6c:b2:ae:xx:xx:xx timed out.

 

原因はTLS1.2に非対応のRADIUSサーバ

しばらく検索してみた結果……、あぁ、この辺ですね?

https://bugzilla.redhat.com/show_bug.cgi?id=1241930

要するに、以下の経緯のようです。

  • SSL3.0の脆弱性(Poodle)への対応のために、SSL3.0を無効にすることが一般的になっている。
  • 古いRADIUSサーバがTLS1.2に対応していない。
  • 端末側のオプションで対処できなくもないが、利用者への負担が大きすぎるうえ、ワークアラウンドにすぎない。
  • RADIUSサーバのアップデートしか対策がないと考えるべき。

自機関の認証サーバ(RADIUSサーバ)が、該当機能のない製品か、または、長くアップデートされていない可能性があるということです。

 

対策

機関はきちんとTLS1.2対応の新しいRADIUSサーバに入れ替えよ!

一部のOSでどうしてもeduroamの認証が通らないという報告が、日本各地からチラホラ聞こえていたのですが、大きな原因の一つはたぶんこれでしょう。

機関の管理者のみなさま、RADIUSサーバの仕様をご確認ください。

 

おわり  (今回は短かった……)