RADIUS (Remote Authentication Dial-In User Service) is a standardized network protocol defined in RFC 2865 and RFC 2866 that centralizes authentication, authorization, and accounting for users and devices requesting network access across enterprise environments including Wi-Fi, VPN, and wired 802.1X deployments. A network access server acts as the RADIUS client, forwarding user credentials to a central RADIUS server over UDP ports 1812 (authentication) and 1813 (accounting), which evaluates requests against a user store and returns accept, reject, or challenge responses with authorization attributes. Organizations benefit from eliminating per-device local accounts and managing access policy in one central location, but must address operational dependencies such as server redundancy, timeout configuration, shared secret management, and certificate validation to ensure reliable authentication and prevent network access disruptions.
RADIUSの仕組み
RADIUSは、RADIUSクライアントとして機能するネットワークアクセスサーバーと、中央のRADIUSサーバーとの間で動作します。クライアントは認証情報を自ら検証することはなく、それらを転送し、返答を適用する役割を担います。
- アクセス要求:ユーザーまたはデバイスがスイッチ、ワイヤレスコントローラ、またはVPNゲートウェイに接続します。そのデバイスはRADIUSクライアントとして動作し、認証情報やEAPデータに加え、クライアント識別子などの属性を含むAccess-Requestを送信します。
- サーバーの評価:RADIUSサーバーは、ディレクトリやデータベースなどのユーザーストアとリクエストを照合し、ポリシーを適用します。リクエストの認証は、クライアントとサーバー間で共有秘密鍵を使用して行われます。
- サーバーの応答:サーバーは「Access-Accept」、「Access-Reject」、または「Access-Challenge」で応答します。「Challenge」は、第2の認証要素やEAP交換の次のステップなど、追加情報の入力を求めます。
- 認可属性:Access-Acceptには、VLANの割り当て、セッションのタイムアウト、フィルタルールなど、クライアントに何を許可するかを指示する属性を含めることができます。
- アカウンティング:クライアントは、セッションの開始、更新、終了時に「Accounting-Request」メッセージを送信します。サーバーは、監査や課金の目的で利用状況を記録します。
RADIUSはUDP上で動作するため、導入時には通常、タイムアウト、再試行、およびバックアップサーバーが設定されます。パスワード属性のみが共有秘密鍵によって隠蔽されるため、RADIUSトラフィックは保護されたリンク上、またはサポートされている場合はTLS経由で伝送する必要があります。
RADIUSの一般的な問題
ファイアウォールのルール、ルーティングの変更、または送信元アドレスの誤りにより、リクエストがサーバーに到達しなくなる場合があります。その結果、スイッチやコントローラーはタイムアウトとなり、設定に応じてゲストVLAN、ローカルアカウント、またはアクセス不可のいずれかにフォールバックすることがあります。
ユーザーが認証に成功しても、サーバーがデバイスが認識しない属性、あるいは属性をまったく返さないために、誤ったVLANやロールに割り当てられてしまうことがあります。ベンダー固有の属性名や値は、デバイスメーカーによって異なることがよくあります。
RADIUSサーバーが1台しか設定されていない場合、障害やメンテナンス期間中に新規ログインや再認証ができなくなります。各クライアントで少なくとも2台のサーバーを設定し、障害が発生して対応を余儀なくされる前に、フェイルオーバーの動作をテストしておきましょう。
証明書ベースの EAP 方式を使用する 802.1X 導入環境では、サーバーの証明書の有効期限が切れている場合や、クライアントがその発行者を信頼していない場合、多数のデバイスで同時に認証に失敗することがあります。その原因は通常、ユーザーアカウントではなく、証明書にあります。