概要
既存サーバの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とは