Radius

FreeRADIUS
OSSのRadiusServerとしては、多分一番シェアが高い物。

インストール

1. 前書き
ソースから入れるなら、3.0.xを入れるべきなのだろうが、
CentOS6.5+FreeRADIUS3.0.3で構築を試みた結果、
libtallocとの連結やOpenSSLの組み込みとかで転けてやる気がなくなったので、楽な2.2.xで構築。

という事で、今回は以下の構成を前提にメモ。

OS : CentOS 6.5 x86_64
FreeRADIUS : 2.2.5



2. FreeRADIUSのコンパイル
OpenSSLもmakeでインストールしている事を前提。
yumなりapt-getなりでOpenSSLを入れた場合は、./configureのオプションを削ればOK

# mkdir /usr/local/src/radius
# cd /usr/local/src/radius
# wget "ftp://ftp.freeradius.org/pub/freeradius/freeradius-server-2.2.5.tar.gz"
# tar zxvf freeradius-server-2.2.5.tar.gz
# cd freeradius-server-2.2.5
# ./configure --prefix=/usr/local/radius-2.2.5 \
        --with-openssl-lib-dir=/usr/local/openssl/lib \
        --with-openssl-include-dir=/usr/local/openssl/include
# make && make install

後は事後処理として、FreeRADIUSへPATHを通したり、ldconfigを打ったりする。


3. インストール後処理
ログディレクトリを作成したり、FreeRADIUS用にユーザ・グループの作成。

# mkdir /var/run/radiusd
# mkdir -p /var/log/radius/radacct
# groupadd radiusd
# useradd -g radiusd -d /var/log/radius -s /sbin/nologin radiusd
# cd /usr/local
# ln -s /usr/local/radius-2.2.5 ./radius
# ln -s /uar/local/radius /etc/radius
# chgrp -R radius /etc/radius/raddb/*



4. コンフィグ
大規模システムならradiusのデータをMySQLへ流すのだろうが、
今回は小規模かつ平常時のメンテナンス性を重視する為、プレーンテキストで情報を保存する。
下記では、変更した部分のみ記載する。


radiusd.conf

prefix = /usr/local/radius   #インストールディレクトリ
localstatedir = /var   #PIDやログの保存ディレクトリの親

user = radiusd   #FreeRADIUSの実行ユーザ
group = radiusd   #FreeRADIUSの実行グループ

port = 1812   #radius認証を受ける待ちポート番号
auth = yes   #認証時のログを保存する

security {
    allow_valnerable_openssl = yes   #OpenSSLのHeartBeatチェックを行わない
    #上記オプションを入れないと、yumで入れた修正済みOpenSSL"1.0.1e+hoge"に対しても反応してしまう。
}



clients.conf

client localhost {
    secret = "RadiusServerの認証パスワード"
}

client 192.168.1.0/24 {   #認証を許可するIPアドレスorネットワーク
    secret = RadiusServerPassword   #クライアントに適用させるRadiusServer認証パスワード
    shortname = RadiusServerName   #クライアントに適用させるRadiusServer識別名
}