オープンソース

FreeRADIUS〜OSSのRADIUSサーバ〜

FreeRADIUSとは、GNU General Public License, Version 2の下で公開されているオープンソースソフトウェアのRADIUSサーバです。FreeRADIUSは、RADIUSプロトコルを実装したソフトウェアとしてはデファクトスタンダード的な位置づけになっています。商用製品のRADIUSサーバでは、ユーザ数に応じたライセンスが一般的です。しかし、FreeRADIUSはオープンソースソフトウェアですので、ユーザ数に関係なく自由に利用することができます。また、FreeRADIUSの管理用GUIであるdaloRADIUSを組み合わせて使うことで、それまでFreeRADIUSの大きな課題であった運用管理の負担を軽減することができます。
今回は、FreeRADIUSを使用したユーザ認証の流れや、FreeRADIUSの特徴について紹介します。

FreeRADIUSとは

FreeRADIUSとは、非常に古くから使われているRADIUSサーバのソフトウェアです。最初のバージョンである、FreeRADIUS 0.10が2001年にリリースされてから、約20年の歴史がある安定したソフトウェアです。FreeRADIUSは、RedHat Enterprise Linux、SuSE Linux Enterprise Server、Debian、Ubuntuなど、様々なLinuxディストリビューションに採用されているRADIUSサーバです。FreeRADIUSはオープンソースソフトウェアですので、ユーザー数に関係なく自由に利用することができます。

FreeRADIUSは、RADIUSサーバのデファクトスタンダードで、RADIUSサーバとして必要な次の機能を備えています。

  • AAA(認証、承認、アカウンティング)の機能
  • RADIUSクライアントの共有鍵
  • RADIUSプロキシの機能
  • IEEE 802.1X認証(EAP-TLS、EAP-PEAP、EAP-TTLS、EAP-SIM)

FreeRADIUSは、RedHat Enterprise Linuxなどの商用ディストリビューションを使えば、長期に渡るサポートを受けることもできます。

RADIUSプロトコル

RADIUSは、Remote Authentication Dial In User Service の略称です。RADIUSは、この名前の通り、インターネットの初期にはダイアルアップサービスで利用されていた認証のプロトコルです。近年では、ダイアルアップサービスを行うことはほとんどなくなりましたが、Wi-FiやVPN装置などの認証で使われています。FreeRADIUSは、RADIUSの利用で必要となるAAAの機能を提供します。つまりFreeRADIUSは、認証(Authentication)だけでなく、認可(Authorization)、課金(Accounting)にも対応しています。

FreeRADIUSの認証の流れ

RADIUSプロトコルは、サーバ・クライアントモデルで動作します。RADIUSの認証は次の3つで構成され、それぞれが相互に通信を行って認証処理を行います。

  • ユーザ 〜 認証される人
  • RADIUSクライアント 〜 ユーザが利用しようとしている機器
  • RADIUSサーバ(FreeRADIUS)

「RADIUSクライアント」は、NAS(Network Access Server)とも呼ばれます。NASは、RADIUSサーバを利用して認証を行うネットワーク機器のことを指します。どのNASがFreeRADIUSを利用できるのかを、あらかじめ登録しておく必要があります。

FreeRADIUSの認証イメージ

FreeRADIUSの認証は、次のような手順で行われます。

  1. ユーザがネットワークに接続しようとします
  2. RADIUSクライアントは、ユーザに認証を要求します
  3. ユーザがユーザ名、パスワードを入力し、認証を行います
  4. RADIUSクライアントは、受け取ったユーザ名、パスワードを使って、FreeRADIUSにアクセス認証のリクエストを出します
  5. FreeRADIUSサーバは認証処理を行い、RADIUSクライアントに認証の許可(成功)または拒否(失敗)を伝えます
  6. RADIUSクライアントは、ユーザに認証結果を伝えます

これ以外にRADIUSでは、課金処理にも対応しています。課金処理は、次のような手順で行われます。

  1. RADIUSクライアントがFreeRADIUSに課金要求を送信します
  2. FreeRADIUSが課金処理を行い応答を返します

なお、FreeRADIUSではradiusdがRADIUSサーバの機能を担います。また、FreeRADIUSにはRADIUSパケットを送信するクライアント(radclient)やテスト用のクライアント(radtest)が付属しています。

RADIUSサーバを導入するメリット

以下では、RADIUSサーバを使った認証システムを導入することで得られるメリットを説明します。

ユーザ認証の一元管理ができる

1台のRADIUSサーバで、様々なネットワーク機器の認証を一元管理することができます。そのため、それぞれのネットワーク機器ごとでユーザ情報を管理する必要がなくなり、管理者の負担の低減につながります。また、ActiveDirectoryやLDAPなどの他の認証システムと連携すると、Windows環境と同様のユーザ名、パスワードを利用することも可能です。

セキュリティを強化できる

RADIUSサーバは、ワンタイムパスワードや証明書認証のインフラとしても利用することができます。また、従来のユーザ名、パスワードでの認証と比べて、より強固な認証を行うことができます。

利用履歴を保管できる

RADIUSサーバでは、アカウンティング(課金)情報も取得することができます。どのユーザがいつ利用したのかが分かるため、システムの利用監査のために履歴情報を残しておくことができます。

負荷分散が可能になる

ネットワーク機器内のデータベースによる認証は、機器に負荷を掛ける場合があります。RADIUSサーバを使って認証を外部管理にすることで、ネットワーク機器の負荷を下げることができます。

FreeRADIUSの特徴

FreeRADIUSには、次のような特徴があります。

簡易的な認証方式から拡張認証までをサポート

RADIUSプロトコルは、トランスポートレベルのセキュリティに対応していません。そのため、RADIUSプロトコルは、PPPと組み合わせて使うのが一般的です。無線LANや認証スイッチで使われる802.1Xの認証では、ネットワーク上でパケットを盗聴される恐れがあります。そのため、セキュリティの高い拡張認証方式が使われています。FreeRADIUSは、この拡張認証方式もサポートしています。

サポートする主な認証方式は、次の通りです。

  • PAP     〜 ユーザ名とパスワードによる認証。平文でデータが交換される。
  • CHAP   〜 RADIUSサーバとクライアントで、ハッシュ化した認証方法を照らし合わせる方式
  • EAP-MD5  〜 チャレンジ・レスポンス方式を使用して認証を行う拡張認証方式
  • EAP-TLS   〜 ユーザ名とパスワードではなく、TLS証明書を使って認証を行う拡張認証方式
  • EAP-TTLS 〜 サーバとユーザの証明書で認証した後、サーバの証明書で通信経路を暗号化する拡張認証方式
  • EAP-PEAP 〜 サーバーの証明書で通信経路を暗号化し、ユーザ名とパスワードを使った認証を行う拡張認証方式
  • EAP-SIM   〜 通信端末のSIM情報を使った認証を行う拡張認証方式

様々なユーザデータベースと連携が可能

FreeRADIUSでは、アカウントの管理のために、様々なバックエンドデータベースを利用できます。代表的なものは、次の通りです。

  • テキストファイル

    標準では、設定ファイル(/etc/raddb/users)にユーザのアカウントや属性などの情報を設定します。
    Cleartext-Passwordを登録していれば、CHAPにも対応することができます。

  • パスワードファイル

    /etc/password、/etc/shadowなど、システムのパスワード情報を参照することができます。
    パスワードが暗号化されているためCHAPには対応できません。

  • PAM

    Linuxの認証モジュールPAM(Pluggable Authentication Modules)を使って認証することができます。
    パスワードが暗号化されているためCHAPには対応できません。

  • リレーショナルデータベース

    外部のデータベースに認証情報を管理することができます。MySQL、MariaDB、PostgreSQLなどに対応しています。
    データベースに平文パスワードを登録すれば、CHAPにも対応ができます。

  • LDAP

    LDAPによる認証に対応しています。LDAPに平文パスワードを設定していればCHAP認証もサポートできます。ただし、LDAPに暗号化されたパスワードを設定している場合には、CHAP、MS-CHAP、EAP-MD5などの認証方法を利用することができないため、注意が必要です。

  • ActiveDirectory

    WindowsのActiveDirectoryと連携することができます。winbindを使うことで、CHAP認証も行うことができます。

  • RADIUSサーバ

    外部のRADIUSサーバに、認証要求を転送することができます。ISP間でのローミングなどにも対応できます。

ワンタイムパスワード(OTP)との連携

ワンタイムパスワードのOSSであるGoogle Authenticatorとも連携することが可能です。Google Authenticatorは、時刻同期式のワンタイムパスワードシステムで、Googleが開発したものです。スマートフォンで動作するソフトウェアトークンを利用して認証を行うことができます。

認証局との連携

EAP-TLSやEAP-TTLSなどの拡張認証方式を使う場合には、認証局と連携することもできます。認証局の証明書を使ったクライアント証明書の検査や、失効リストとの照合なども行います。デージーネットでは、認証局としては、OpenXPIとの連携を推奨しています。

アカウント管理GUI

実際にFreeRADIUSのインストールや運用を行う際は、比較的複雑な設定ファイルを手動で作成・編集する必要があります。コマンドラインでの操作に慣れていない人にとっては理解が難しく、運用管理の負荷がかかる場合があります。daloRADIUSは、こうした問題を解決するオープンソースソフトウェアで、FreeRADIUS専用のアカウント管理GUIを提供します。

daloRADIUSは、Liran Tal氏が開発し、管理していて、GNU General Public License version 2.0(GPLv2)の下で公開されています。Web画面の日本語化はデージーネットで行っています。daloRADIUSは、MySQL/MariaDBと連携してユーザ情報を管理するため、ユーザ数の多い大規模な環境にも対応できます。

このように、daloRADIUSを組み合わせて使えば、通常の運用で必要なログの管理や、ユーザやクライアントの追加・変更などの設定をWEB経由で行うことができるようになります。そのため、サーバにログインしてログファイルを確認したり、ユーザ登録で設定ファイルを編集する必要がありません。導入の大きな課題であった運用管理の負荷を、大幅に低減することができます。

デージーネットの取り組み

デージーネットでは、FreeRADIUSを使った認証システムの構築サービスを行っています。例えば、インターネットプロバイダの認証システムや、VPN装置・Wi-Fi装置の認証、ワンタイムパスワードの認証など、さまざまな仕組みに導入することができます。また、RADIUSサーバの保守が気になるというお客様には、セキュリティアドバイザリなどの情報や、バージョンアップなどを利用することができるRedHat Enterprise Linuxの利用をお勧めしています。

なお、デージーネットで構築したシステムは、Open Smart Assistanceに加入することで、システム障害時のリモートでの解析、定期的なセキュリティアップデート、定期点検などのサービスも提供しています。こうしたサービスを利用していただくことで、安心してOSSをお使いいただくことができます。

デモのお申込み

もっと使い方が知りたい方へ
操作方法や操作性をデモにてご確認いただけます。使い方のイメージを把握したい、使えるか判断したい場合にご活用下さい。デモをご希望の方は、下記よりお申込みいただけます。
デモをご希望の方

デモの申し込みイメージ


OSS情報

FreeRADIUSのアカウント管理GUI
〜daloRADIUS〜
この記事では、GUIでRADIUSアカントを管理するOSSであるdaloRADIUSを紹介します。
多要素認証とFreeRADIUS
Google Authenticatorや他のOSSを組み合わせることで、コストを抑え、多要素認証を実現できます。多要素認証を活用することで、認証セキュリティをより強固にすることが可能です。
FreeRADIUSとdaloRADIUSのよくある質問
お客様からよくいただく質問にお答えします。

「情報の一覧」

FreeRADIUSを利用した認証サーバ構築事例

教育機関で認証サーバを構築しました。お客様からは、学内の無線LANを利用する際に特定の人しか利用できないよう、IDとパスワードで認証するシステムが欲しいというご要望をいただきました。そこで、デージーネットでは、FreeRADIUSを利用した認証サーバの構築を提案しました。

Google AuthenticatorとFreeRADIUSを使ったOTP認証構築事例

VPN装置でOTP(ワンタイムパスワード)を使いたいというご要望があり、OSSのFreeRADIUSとGoogle Authenticatorを利用した認証システムを構築しました。スマートフォンのGoogle Authenticatorアプリで表示されたOTPを使ってVPN装置と連携することで、認証システムのセキュリティが向上しました。

Amazon Linux 2へ認証サーバOSの移行事例

今回は、情報通信会社様にてFreeRADIUSのOSをAmazon Linuxから移行した事例についての記事です。お客様は、Amazon Linuxがサポート終了の期限を迎えるため、リプレースを検討されていました。また、データベースの冗長化やアカウントパスワードの暗号化をご要望でした。

 
 

FreeRADIUS〜OSSのRADIUSサーバ〜の先頭へ