よくある質問・用語集

  • もっと調べる
  • どうやって使う?

FreeRADIUSとは

FreeRADIUSとは、認証プロトコルであるRADIUS(Remote Authentication Dial In User Service)を実装したオープンソースソフトウェアである。FreeRADIUSの構成には、ユーザ、RADIUSサーバ、RADIUSクライアントの3つが含まれている。FreeRADIUSは、簡易的な認証から、無線LANなどで使われる拡張認証方式まで、幅広くサポートしている。セキュリティ性の高いEAP-TLS、EAP-TTLSなどにも対応しているため、IoTインフラで認証を行う際にもFreeRADIUSを利用することができる。このように、RADIUSサービスを提供するために十分な機能が実装されている。

FreeRADIUSの認証は、以下のような通信手順で行われる。

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

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

FreeRADIUSのアカウント管理

FreeRADIUSは、アカウントの管理のために、様々なバックエンドデータベースを利用できるようになっている。次では、FreeRADIUSのアカウント管理用によく利用されるものについて紹介する。

FreeRADIUS専用のテキストファイル

最もベーシックな方法は、FreeRADIUS専用のユーザ設定ファイルを作成することである。ユーザ名とパスワードなどのユーザデータをファイルで設定する。この方法は、PAP、CHAPをはじめとする、すべての認証方式に対応することができる。ただし、管理は非常に煩雑である。また、クリアパスワードを保管しておくため、セキュリティ的にも脆弱である。なお、認証方式については、RADIUSを参照。

パスワードファイルやPAM

FreeRADIUSには、モジュールと呼ばれる、必須機能以外のオプション機能がある。FreeRADIUSでは、Linuxの認証モジュールであるPAMやLinuxシステム上のパスワードファイルと連携して、アカウントを管理する方法がある。ただし、システムのパスワードは暗号化されているため、CHAP、MS-CHAP、EAP-MD5などを利用することはできない。

MySQL/MariaDB/PostgreSQL

FreeRADIUSでは、外部のRDBでユーザーの情報とアカウンティング情報を管理することができる。比較的安全にクリアパスワードを記録しておくことができるため、良く利用される。ただし、データベースへのユーザ登録のインタフェースはFreeRADIUSでは用意されていないため、別途開発が必要である。

別に、daloRADIUSなど、FreeRADIUSをGUIで管理できるソフトウェアも公開されている。

LDAP

FreeRADIUSでは、アカウント管理にLDAPを利用することができる。LDAPは、メールシステムなどと連携してユーザ情報を一元管理することが多い。そのような環境では、FreeRADIUSとLDAPを連携することで、メールシステムと同じパスワードでRADIUS認証を受けることができる。ただし、LDAPに暗号化されたパスワードが登録されている場合には、CHAP、MS-CHAP、EAP-MD5などの認証方法を利用することができないため、注意が必要である。こうした認証方法を利用する場合には、LDAPにクリアパスワードを登録し、十分なセキュリティを掛けることになる。

最近では、EAP-TLS、EAP-PEAPなど通信回線を暗号化する認証方法との組み合わせが一般的になってきた。そのため、LDAPに暗号化したパスワードを設定して、通信回線を暗号化する手法を取ることが多い。なお、FreeRADIUSではLDAPにアカウンティング情報を記録することもできる。

ActiveDirectory

FreeRADIUSは、LDAPプロトコルを通じてActiveDirectoryとも連携が可能である。FreeRADIUSとActiveDirectoryを連携することで、Windows環境で使われているユーザー名とパスワードを使ってRADIUS認証を行うことができるようになる。ただし、ActiveDirectoryには、暗号化されたパスワードが登録されていない。そのため、理論上はCHAP、MS-CHAP、EAP-MD5などの認証方法を利用することはできない。代わりに、PAP、EAP-TLS、EAP-PEAPなどの認証方法を利用することになる。

なお、RADIUSサーバの製品の中には、ActiveDirectoryとCHAP、MS-CHAP、EAP-MD5などの認証で連携できるものもある。これらの製品では、ActiveDirectory側にも管理ソフトウェアを導入したり、別にパスワードを同期する仕組みを備えているものが多い。

RADIUSサーバ

FreeRADIUSでは、バックエンドにRADIUSサーバを指定して、リクエストを送信することもできる。ISP間でのローミングなどでは、こうした手法が取られている。

FreeRADIUSの管理GUI

FreeRADIUSには、商用RADIUSサーバでは実装されている管理ウェブインタフェースはない。通常は、初期設定後に頻繁に設定を変更するようなことはないため、問題なくRADIUSサービスを提供できる。しかし、設定が必要な場合、複雑なコマンド操作で設定ファイルを作成しなければならないため、慣れていない人にとっては管理の負担が大きい。こうした問題を解決するため、FreeRADIUS専用のアカウント管理GUIであるdaloRADIUSというオープンソースソフトウェアがある。

daloRADIUSの特徴

daloRADIUSは、FreeRADIUSのバックエンドにMySQLを使用して、ウェブインターフェースからアカウンティング情報やクライアント情報を管理したり、利用頻度や最終接続などの状況を確認したりすることができる。そのため、設定ファイルの操作やコマンド操作の技術による運用管理の負荷を大幅に低減することができる。daloRADIUSでは、以下のような管理をGUIから行うことができる。

  • ユーザ管理
  • グループとプロファイル
  • NASの管理
  • アドレスプールの管理
  • アカウンティング
  • レポート
  • サーバやサービス状態の確認

daloRADIUSのユーザ管理画面

daloRADIUSのユーザ管理画面

FreeRADIUSと二要素認証

FreeRADIUSは、より高度な認証方式を利用したセキュリティの強化にも対応している。以下では、FreeRADIUSで対応できる二要素認証の方法について説明する。

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

FreeRADIUSは、時刻同期型のOTP(ワンタイムパスワード)とも連携することができる。ワンタイムパスワードは一回限りしか使用できないため、外部に漏れたとしても不正に利用される可能性が低い。

ワンタイムパスワードのソフトウェアとしては、Google Authenticatorを利用することができる。Google Authenticatorは、Googleが開発を行い、自社サービスで提供しているものをOSSとしても提供している。iOS、Android向けのソフトウェアトークンと連携して、ワンタイムパスワードを発行することができる。FreeRADIUSでは、PAMを経由してGoogle Authenticatorと連携し、ワンタイムパスワードと通常のパスワードの2つの要素で認証を行うことができる。

証明書認証

FreeRADIUSは、電子証明を利用した認証方式であるEAP-TLS、EAP-TTLSなどにも対応している。EAP-TLSでは、認証を受けようとするクライアントの証明書を使って認証を行う。そのため、利用端末レベルのアクセス制限を実現することができる。さらに、EAP-TTLSを使うと、クライアント証明書で認証した上で、さらにユーザとパスワードによる認証も行う。したがって、端末だけでなく、ユーザの正当性も含めて認証を行うことができる。

なお、クライアント証明書を利用するには、認証局の情報が必要となる。パブリック認証局を利用することもできるが、組織内などで使う時はプライベート認証局を利用することもできる。プライベート認証局を構築するソフトウェアとしては「OpenXPKI」があり、OSSであるためコストを抑えて多要素認証を実現できる。

FreeRADIUSのサポート

FreeRADIUSは、Red Hat Enterprise Linux、SUSE Linux Enterprise Server、Debian、Ubuntuなど、さまざまなLinuxディストリビューションに採用されている。Red Hat Enterprise Linuxのような商用ディストリビューションを使用すれば、商用サポートサービス付きでFreeRADIUSを使用することも可能である。

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

デージーネットでは、FreeRADIUSを使った認証システムの構築を多数手がけており、導入事例を紹介している。特に、インターネットプロバイダの認証システムの構築でFreeRADIUSを使っている。最近では、VPN装置やWi-Fi装置の認証でFreeRADIUSを使ったり、ワンタイムパスワードの認証の仕組みを導入するために使うことも多くなっている。

また、デージーネットでは、FreeRADIUSの管理GUIとしてdaloRADIUSを推奨している。もともとdaloRADIUSは日本語化されていなかったが、2016年にデージーネットが日本語化を行い、作者にパッチの提供を行った。また、オリジナルのdaloRADIUSには、いくつかのセキュリティの問題とバグがあった。デージーネットでは、これらの問題の対策パッチも製作者にフィードバックを行い、採用されている。

なお、RADIUSサーバの保守が気になるというお客様には、セキュリティアドバイザリなどの情報や、バージョンアップなどを利用することができるRedHat Enterprise Linuxの利用をお勧めしている。また、デージーネットで構築サービスを提供したお客様には、導入後支援サービスとして、Open Smart Assistanceを提供している。これは、ソフトウェア単体のサポートではなく、LinuxなどOSSを使ったシステム全体が安定稼働するためのサポートとなっている。Open Smart Assistanceでは、OSSやソフトウェアの利用方法に関するQ&Aの受付や障害対応、ソフトウェアの脆弱性などのセキュリティ情報の提供を行っている。

【カテゴリ】:認証  オープンソースソフトウェア  

  • もっと調べる
  • どうやって使う?

【Webセミナー】OSSでリモートデスクトップ環境を構築!セキュリティに配慮したリモートデスクトップ活用例紹介セミナー

日程: 4月12日(金)Webセミナー「BigBlueButton」を使用します。
内容: このセミナーでは、OSSで実現するリモートデスクトップ環境について紹介します。
ご興味のあるかたはぜひご参加ください。

セミナー申込

関連用語

FreeRADIUSに関連するページ(事例など)

FreeRADIUSとは先頭へ