RADIUS(Remote Authentication Dial-In User Service)は、Wi-Fi、有線 802.1X、および VPN ゲートウェイを介して企業ネットワークにアクセスするユーザーやデバイスの認証、認可、およびアカウンティングを一元化するネットワークプロトコルです。 ネットワークアクセスサーバーは RADIUS クライアントとして機能し、ユーザーの認証情報を中央の RADIUS サーバーに転送します。中央の RADIUS サーバーは、アクセス決定および VLAN 割り当てやセッションタイムアウトなどの認可属性を返します。 組織は、異なるベンダーの複数のネットワークデバイスにわたり一貫したアクセスポリシーを適用するためにRADIUSに依存していますが、信頼性の高い認証を確保し、ログイン失敗やデータ漏洩を防ぐためには、サーバーの冗長性、共有秘密鍵のセキュリティ、および証明書の不備やポートの不一致といった潜在的な設定上の問題を管理する必要があります。
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 導入環境では、サーバーの証明書の有効期限が切れている場合や、クライアントがその発行者を信頼していない場合、多数のデバイスで同時に認証に失敗することがあります。その原因は通常、ユーザーアカウントではなく、証明書にあります。