- FreeRADIUSのアカウント管理GUI
〜daloRADIUS〜 - この記事では、GUIでRADIUSアカントを管理するOSSであるdaloRADIUSを紹介します。
- 多要素認証とFreeRADIUS
- Google Authenticatorや他のOSSを組み合わせることで、コストを抑え、多要素認証を実現できます。多要素認証を活用することで、認証セキュリティをより強固にすることが可能です。
- FreeRADIUSとdaloRADIUSのよくある質問
- お客様からよくいただく質問にお答えします。
FreeRADIUSとは、GNU General Public License, Version 2の下で公開されているオープンソースソフトウェアのRADIUSサーバです。FreeRADIUSは、RADIUSプロトコルを実装したソフトウェアとしてはデファクトスタンダード的な位置づけになっています。商用製品のRADIUSサーバでは、ユーザ数に応じたライセンスが一般的です。しかし、FreeRADIUSはオープンソースソフトウェアですので、ユーザ数に関係なく自由に利用することができます。また、FreeRADIUSの管理用GUIであるdaloRADIUSを組み合わせて使うことで、それまで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サーバとして必要な次の機能を備えています。
FreeRADIUSは、RedHat Enterprise Linuxなどの商用ディストリビューションを使えば、長期に渡るサポートを受けることもできます。
RADIUSは、Remote Authentication Dial In User Service の略称です。RADIUSは、この名前の通り、インターネットの初期にはダイアルアップサービスで利用されていた認証のプロトコルです。近年では、ダイアルアップサービスを行うことはほとんどなくなりましたが、Wi-FiやVPN装置などの認証で使われています。FreeRADIUSは、RADIUSの利用で必要となるAAAの機能を提供します。つまりFreeRADIUSは、認証(Authentication)だけでなく、認可(Authorization)、課金(Accounting)にも対応しています。
RADIUSプロトコルは、サーバ・クライアントモデルで動作します。RADIUSの認証は次の3つで構成され、それぞれが相互に通信を行って認証処理を行います。
「RADIUSクライアント」は、NAS(Network Access Server)とも呼ばれます。NASは、RADIUSサーバを利用して認証を行うネットワーク機器のことを指します。どのNASがFreeRADIUSを利用できるのかを、あらかじめ登録しておく必要があります。
FreeRADIUSの認証は、次のような手順で行われます。
これ以外にRADIUSでは、課金処理にも対応しています。課金処理は、次のような手順で行われます。
なお、FreeRADIUSではradiusdがRADIUSサーバの機能を担います。また、FreeRADIUSにはRADIUSパケットを送信するクライアント(radclient)やテスト用のクライアント(radtest)が付属しています。
以下では、RADIUSサーバを使った認証システムを導入することで得られるメリットを説明します。
1台のRADIUSサーバで、様々なネットワーク機器の認証を一元管理することができます。そのため、それぞれのネットワーク機器ごとでユーザ情報を管理する必要がなくなり、管理者の負担の低減につながります。また、ActiveDirectoryやLDAPなどの他の認証システムと連携すると、Windows環境と同様のユーザ名、パスワードを利用することも可能です。
RADIUSサーバは、ワンタイムパスワードや証明書認証のインフラとしても利用することができます。また、従来のユーザ名、パスワードでの認証と比べて、より強固な認証を行うことができます。
RADIUSサーバでは、アカウンティング(課金)情報も取得することができます。どのユーザがいつ利用したのかが分かるため、システムの利用監査のために履歴情報を残しておくことができます。
ネットワーク機器内のデータベースによる認証は、機器に負荷を掛ける場合があります。RADIUSサーバを使って認証を外部管理にすることで、ネットワーク機器の負荷を下げることができます。
FreeRADIUSには、次のような特徴があります。
RADIUSプロトコルは、トランスポートレベルのセキュリティに対応していません。そのため、RADIUSプロトコルは、PPPと組み合わせて使うのが一般的です。無線LANや認証スイッチで使われる802.1Xの認証では、ネットワーク上でパケットを盗聴される恐れがあります。そのため、セキュリティの高い拡張認証方式が使われています。FreeRADIUSは、この拡張認証方式もサポートしています。
サポートする主な認証方式は、次の通りです。
FreeRADIUSでは、アカウントの管理のために、様々なバックエンドデータベースを利用できます。代表的なものは、次の通りです。
標準では、設定ファイル(/etc/raddb/users)にユーザのアカウントや属性などの情報を設定します。
Cleartext-Passwordを登録していれば、CHAPにも対応することができます。
/etc/password、/etc/shadowなど、システムのパスワード情報を参照することができます。
パスワードが暗号化されているためCHAPには対応できません。
Linuxの認証モジュールPAM(Pluggable Authentication Modules)を使って認証することができます。
パスワードが暗号化されているためCHAPには対応できません。
外部のデータベースに認証情報を管理することができます。MySQL、MariaDB、PostgreSQLなどに対応しています。
データベースに平文パスワードを登録すれば、CHAPにも対応ができます。
LDAPによる認証に対応しています。LDAPに平文パスワードを設定していればCHAP認証もサポートできます。ただし、LDAPに暗号化されたパスワードを設定している場合には、CHAP、MS-CHAP、EAP-MD5などの認証方法を利用することができないため、注意が必要です。
WindowsのActiveDirectoryと連携することができます。winbindを使うことで、CHAP認証も行うことができます。
外部のRADIUSサーバに、認証要求を転送することができます。ISP間でのローミングなどにも対応できます。
ワンタイムパスワードのOSSであるGoogle Authenticatorとも連携することが可能です。Google Authenticatorは、時刻同期式のワンタイムパスワードシステムで、Googleが開発したものです。スマートフォンで動作するソフトウェアトークンを利用して認証を行うことができます。
EAP-TLSやEAP-TTLSなどの拡張認証方式を使う場合には、認証局と連携することもできます。認証局の証明書を使ったクライアント証明書の検査や、失効リストとの照合なども行います。デージーネットでは、認証局としては、OpenXPIとの連携を推奨しています。
実際に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をお使いいただくことができます。
教育機関で認証サーバを構築しました。お客様からは、学内の無線LANを利用する際に特定の人しか利用できないよう、IDとパスワードで認証するシステムが欲しいというご要望をいただきました。そこで、デージーネットでは、FreeRADIUSを利用した認証サーバの構築を提案しました。
VPN装置でOTP(ワンタイムパスワード)を使いたいというご要望があり、OSSのFreeRADIUSとGoogle Authenticatorを利用した認証システムを構築しました。スマートフォンのGoogle Authenticatorアプリで表示されたOTPを使ってVPN装置と連携することで、認証システムのセキュリティが向上しました。
今回は、情報通信会社様にてFreeRADIUSのOSをAmazon Linuxから移行した事例についての記事です。お客様は、Amazon Linuxがサポート終了の期限を迎えるため、リプレースを検討されていました。また、データベースの冗長化やアカウントパスワードの暗号化をご要望でした。