CentOS7にFreeRADIUSをインストールします。
RADIUS製品では有償のアプライアンスなど各メーカーから販売されておりますが、ちょっとした検証や小規模システムなどでRADIUSを利用したい場合は無償のFreeRADIUSをおすすめします。
まず、yumからインストールを行います。
# yum install freeradius freeradius-utils # rpm -qa | grep freeradius freeradius-utils-3.0.13-9.el7_5.x86_64 freeradius-3.0.13-9.el7_5.x86_64 |
設定ファイルは/etc/raddb以下にインストールされます。主に以下の3つのファイルを編集していくことになります。
■/etc/raddb/radiusd.conf (RADIUSサーバ全般の設定)
■/etc/raddb/clients.conf (RADIUS Clientsの定義ファイル)
■/etc/raddb/users (RADIUS認証を行うユーザ名、パスワードの定義ファイル)
まず/etc/raddb/radiusd.confから編集していきます。RADIUSの認証ログを残しておくべきだと考えますので、認証ログを出力するよう以下の箇所を編集していきます。ファイル全体は長いので編集した箇所のみ記載しています。
# vi /etc/raddb/radiusd.conf <一部抜粋> auth = yes auth_badpass = yes auth_goodpass = yes |
次に/etc/raddb/clients.confを編集します。このファイルにRADIUS Clientsを定義します。まずはテスト的に自分自身を定義しますが、既に定義があり、編集する必要もないのでそれをそのまま利用できます。以下はlocalhost部分の抜粋です。
# vi /etc/raddb/clients.conf <一部抜粋> client localhost { ipaddr = 127.0.0.1 proto = * secret = testing123 require_message_authenticator = no nas_type = other # localhost isn't usually a NAS... limit { max_connections = 16 lifetime = 0 idle_timeout = 30 } } |
Clientを追加したい場合、最低限、必要な記述は以下となります。
client 192.168.0.1 { ipaddr = 192.168.0.1 secret = secret-password } |
次に/etc/raddb/usersを編集します。これは実際に認証するアカウントを登録しておくものです。このファイルの最後尾に以下のような記述を追記します。ユーザ名がunixpower、パスワードがpasswordというアカウントを追加しています。
# vi /etc/raddb/users unixpower Cleartext-Password:="password" ※以前の書き方 unixpower Auth-Type:=Local, Cleartext-Password:="password" |
以前はアカウント名の後にAuth-Type:=Localという記述を入れていましたが、CentOS7からはこれがあると認証に失敗しました。
ここまできたらFreeRADIUSを有効にして起動します。
# systemctl enable radiusd.service # systemctl start radiusd.service |
先程作成したテストユーザで認証テストを実施してみます。テストコマンドは以下のように行います。/etc/raddb/clients.confにlocalhostがデフォルトで登録されているので、これを使用します。書式はradtest -4 [ユーザ名] [パスワード] localhost [Port] [SecretKey]となります。SecretKeyはtesting123と設定されています。
# radtest -4 unixpower password localhost 1812 testing123 Sent Access-Request Id 64 from 0.0.0.0:59470 to 127.0.0.1:1812 length 79 User-Name = "unixpower" User-Password = "password" NAS-IP-Address = 127.0.0.1 NAS-Port = 1812 Message-Authenticator = 0x00 Cleartext-Password = "password" Received Access-Accept Id 64 from 127.0.0.1:1812 to 0.0.0.0:0 length 20 |
上記のようになれば認証成功です。