SSL証明書とRADIUS認証サーバーの安全な設定方法

SSL記事

社内ネットワークやWi-Fiの認証基盤として広く使われているRADIUS(Remote Authentication Dial-In User Service)。このRADIUSサーバーをSSL証明書(正確にはTLS証明書)と組み合わせることで、ユーザー認証時の通信を暗号化し、安全性を飛躍的に高めることができます。

この記事では、RADIUSの基本から、SSL証明書を活用した安全な設定方法や注意点まで、初心者にもわかりやすく解説します。


NordVPN

RADIUS認証とは?

RADIUSとは、ユーザーのID・パスワードをチェックしてアクセスを許可する認証プロトコルです。Wi-Fi認証(802.1X)、VPN接続、リモートアクセスなどで広く活用されています。

主な構成要素

機能内容
クライアント(NAS/AP)Wi-Fiルーター、VPNゲートウェイなど
RADIUSサーバー認証処理を行う(FreeRADIUSなど)
認証データベースユーザー情報(LDAP、Active Directory、ファイルなど)

SSL証明書とRADIUSの関係

RADIUSは単体では通信の暗号化を行いません。特に802.1X/EAP(Extensible Authentication Protocol)を利用したWi-Fi接続では、認証フェーズをTLSで保護する必要があります。

よく使われるEAP方式

方式特徴
EAP-TLSサーバー証明書+クライアント証明書(高セキュリティ)
PEAPサーバー証明書+ID/パスワード(一般的)
EAP-TTLS拡張性あり(PEAPに似ている)

どれもRADIUSサーバーにSSL証明書の設定が必須です。


FreeRADIUSでSSLを設定する手順(例)

ここでは、Linux環境に構築したFreeRADIUSを例に、SSL証明書の設定方法を説明します。


✅ ステップ1:証明書の準備

自己署名証明書を作成する場合

bash

cd /etc/freeradius/3.0/certs
./bootstrap

商用またはLet’s Encrypt証明書を使用する場合

  • 証明書(server.crt)、秘密鍵(server.key)、中間証明書(ca.pem)を取得
  • /etc/freeradius/3.0/certs/ に配置

✅ ステップ2:設定ファイルを編集

/etc/freeradius/3.0/mods-enabled/eap にある eap モジュール設定を変更します。

conf

tls-config tls-common {
private_key_file = /etc/freeradius/3.0/certs/server.key
certificate_file = /etc/freeradius/3.0/certs/server.crt
ca_file = /etc/freeradius/3.0/certs/ca.pem
}

private_key_password が必要な場合は適宜設定


✅ ステップ3:証明書の有効性を確認

bash

freeradius -X
  • 起動時にエラーが出なければ成功
  • ブラウザやopenssl s_clientで証明書情報も確認可能

安全な運用のためのベストプラクティス

項目推奨内容
鍵の保護server.key ファイルは root だけが読めるように
証明書の期限管理自動更新(Let’s Encrypt)+cronによる再起動を設定
クライアント証明書使用EAP-TLS を使用する場合、ユーザー端末ごとに証明書を発行
フェールオーバー構成RADIUSサーバーを冗長化して障害に備える

よくあるトラブルと対処法

問題原因対策
認証時に警告が出るCAが信頼されていない端末にCA証明書をインストール
RADIUSが起動しない証明書の形式エラーPEM形式を確認し、再発行する
TLS handshake failed鍵と証明書のペアが一致していない正しい組み合わせを確認する

Wi-Fi端末側の設定について

SSL証明書はサーバー側だけでなく、クライアント(PC・スマホ)の設定にも影響します。

  • EAP-TLS:クライアント証明書とCA証明書をインストール
  • PEAP:サーバー証明書のCAを信頼し、ユーザーID+パスワード入力

証明書が適切でないと、接続時に「信頼できない証明書」などのエラーが表示されます。


まとめ

RADIUS認証は便利で強力な仕組みですが、SSL証明書を正しく設定してはじめて、安全な通信環境が実現できます。

特にWi-Fiやリモートアクセスに使われる場合は、証明書による暗号化を行わないと、ユーザー認証情報が平文で流れるリスクもあります。

本記事で紹介した基本構成を参考に、安全性の高いRADIUS環境を構築してみてください。

タイトルとURLをコピーしました