strongSwan 5.9.10 へアップデート後、クライアント証明書による認証が失敗する
strongSwan 5.9.10 がリリースされ、アップデートしたところ、クライアント証明書による認証が失敗するようになりました。 ここら辺の設定はどうもしっくりしていなかったのですが、私の設定が間違っていたのでしょうか? 何か見落としがあるのでしょうか?
切り分け
以下の切り分けにより、クライアント証明書による認証まわりの設定ミス、あるいは strongSwan 側のバグの可能性(現状は全く根拠なし)も視野に入れています。
- 過去バージョンへダウングレードすると、正常に認証され、通信可能。
- strongSwan 5.9.10 で、クライアント証明書による認証をやめ、パスワード認証に切り替えると、正常に認証され、通信可能。
クライアント証明書は strongSwan で作成していますが、よく言われている点について確認していますが、改善していません。
- 証明書は RSA ではなく ECDSA にする
→ RSA2048から ECDSA384 に変更しましたが、変化がありません。過去バージョンでは、RSA2048 で問題なく認証できています。 - (構成プロファイルで)「EAPを使用する」はチェックしない
→ チェックしないと、そもそもプロファイルをインストールする時にエラーが出てインストールが完了しません。「 ‘VPNサービス’ペイロードをインストールできませんでした。VPNサービスを作成できませんでした」と表示されます。 - (サーバ側の設定で)proposals を指定する
指定しましたが、変化なしです。パスワード認証では、デフォルトの設定で正常に通信可能です。
当面の対応
strongSwan 5.9.10 には、CVE-2023-26463 に対する修正が含まれるため、ダウングレードして運用を続けるのはやめた方がいいでしょう。セキュリティ的には弱くなりますが、パスワードによる認証に切り替えます。強力なパスワードを設定しておけば、大きな問題にはなりません(ダウングレードして使い続ける方が危険)。
現在、ちょっとお手上げの状態です。
2023-05-07 追記
strongSwan 側のバグで確定しました。
iOS connection failure since Strongswan 5.9.10
Yes, there is regression in the eap-tls plugin. You can find a fix in the eap-tls-fix branch.
バージョン 5.9.11で 修正予定と見られます(5.9.11dr3 で取り込み済み)。パッチ当ててもいいのですが、当面はパスワード認証で逃げられるので、リリースを待つことにします。