LoginSignup
3
1

More than 3 years have passed since last update.

FreeRADIUSのversion2とversion3のおおまかな差分について

Last updated at Posted at 2019-12-19

概要

既存サーバのOS(RHEL6)のサポート期限が迫っているため、更改でUPDATEすることに。
FreeRADIUSもversion2→3へ変更するため、設定ファイルがどのように変更されているかなど調査することとなった。
ファイル名やもともとのファイルにあった内容が一部別のファイルに移動しているなど、
変更点が割と多かったため備忘録を作成。

環境

  • RHEL 7.6
  • FreeRADIUS : 3.0.13

そもそもRADIUSって?

Radius(Remote Authentication Dial In User Service)は、ネットワーク上のユーザ認証プロトコルの1つ。
Radiusは、電話回線でダイヤルアップ接続の方式を利用するユーザに対してインターネット接続を実現するための認証プロトコルとして当初は使用されていた。
ユーザ認証だけでなくネットワークの接続時間やデータ量の情報も収集できるため、ISPなどでは認証ユーザの課金などでも利用していた。
現在では無線LANや有線LANでのネットワーク接続時のユーザ認証のプロトコルとしても利用されている。

FreeRADIUSとは

FreeRADIUSとは、RADIUSプロトコルを実装したオープンソースソフトウェアである。
FreeRADIUSには、RADIUSサーバ、RADIUSクライアントライブラリなどが含まれている。
EAP-TLS、EAP-TTLSなどにも対応しており、RADIUSサービスを提供するために十分な機能が実装されている。

各種ディレクトリについて

FreeRADISU(version3)をインストールすると、/etc/raddbディレクトリに設定ファイル群が存在する。

  • raddbディレクトリ
    いくつかのサブディレクトリがあり、各サブディレクトリには特定の目的のためにグループ化されたファイルが含まれている。

  • mods-availableディレクトリ
    すべてのモジュール構成が記載されており、サンプル設定も含まれている。
    サンプル設定には、サーバーに付属している多くのモジュールが含まれるが、個々の設定で有効になっていない場合がある。
    (version2の/etc/raddb/modulesが相当)

  • mods-enabledディレクトリ
    有効化されたモジュールの構成が含まれ、サーバーの実行構成で使用される。
    多くの場合、ここのファイルはmods-availableディレクトリにあるファイルへのリンクになる。

  • mods-config ディレクトリ
    多くのモジュール用の追加構成ファイルが含まれる。
    これらのファイルには、Perl スクリプト、SQL スキーマなどが含まれる。

  • sites-availableディレクトリ
    サンプル "仮想サーバー" が含まれる。これらのほとんどは使用されない。
    これらは、ドキュメントおよび "ベスト プラクティス" の例として存在する。

  • sites-enabledディレクトリ
    サーバーで使用されている "仮想サーバー" の構成が含まれる。

各種設定ファイルについて

version2から3になったことにより、多数の設定ファイルが変更・統合されている。
ここでは今回調査する必要があったファイルのみ記述する。
特に場所の変更や統合されていないものに関しては割愛する。

  • radius.conf

    • listen{}セクションがsites-available/defaultファイルへ移動
  • client.conf, proxy.conf

    • limit{}セクションが追加
      (proto変数が指定されている時に使用される)
  • sql.conf
    ロケーション:/etc/raddb/sql.conf/etc/raddb/mods-available/sql

    • driver変数に指定できるパラメータの種類の増加
    • INCLUDEするdriver設定が
      $INCLUDE sql/${database}/dialup.confから
      $INCLUDE ${modconfdir}/${.:name}/main/${dialect}/queries.conf
      に変更
    • dialect変数はsqlファイル内で設定。デフォルトはsqlite
  • policy.conf
    ロケーション:/etc/raddb/policy.conf/etc/raddb/policy.d/canonicalization

    • もともとpolicy.conf内で定義されていたeap,cui,filter等の設定が/etc/raddb/policy.d内に外だしされた。
# pwd
/etc/raddb/policy.d
# ls
accounting  canonicalization  control  cui  debug  dhcp  eap  filter  operator-name
  • users ロケーション:/etc/raddb/users/etc/raddb/mods-config/files/authorize
    (/etc/raddb/usersに/etc/raddb/mods-config/files/authorizeのリンクが張られている)

モジュールの有効化について

mods-available内で定義したファイルは、定義するだけでは適用されない。
適用するためには、mods-availableの定義ファイルをmods-enable内へリンクを張る必要がある。
(radius.confでmods-enabled/をINCLUDEしているため)
例:sqlモジュールのリンク

# cd /etc/raddb/mods-enable/
# ln -s ../mods-available/sql

sites-availableについても同様にリンクを張る必要がある

参考

FreeRADIUS/Wiki
FreeRADIUS 'man' pages
Upgrading to Version 3.0
【第1回】高機能認証サーバー (FreeRADIUS)
FreeRADIUSとは

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1