freeRadiusを利用して以下の認証を行えるサーバを構築
OpenLDAPと連携してLDAPサーバでID / PASSWORDを認証する
- PAP認証
- PEAP認証
- TLS認証
<事前準備>
OS:Almalinux、CentOS 8 等のLinuxサーバ
<構築方法>
1.必要なパッケージをインストール
- dnf install -y freeradius freeradius-utils freeradius-ldap
2.認証ログを記録する設定を行う
※デフォルトでは認証ログは記録されないため
設定ファイルのバックアップ
- cp -p /etc/raddb/radiusd.conf /etc/raddb/radiusd.conf.org
設定変更
- vim /etc/raddb/radiusd.conf
auth = no ⇒ auth = yes
auth_badpass = no ⇒ auth_badpass = yes
auth_goodpass = no ⇒ auth_goodpass = yes
設定保存
- :wq
3.OpenLDAP連携設定
設定ファイルのバックアップ
- cp -p /etc/raddb/mods-available/ldap /etc/raddb/mods-available/ldap.org
設定変更
- vim /etc/raddb/mods-available/ldap
server = ‘localhost’ ⇒ server = ‘OpenLDAPサーバのIPアドレス’
identity = ‘cn=admin,dc=example,dc=org’ ⇒ identity = ‘ldapsearch可能なアカウント’
password = mypass ⇒ password = identityで指定したアカウントのパスワード
base_dn = ‘dc=example,dc=org’ ⇒ base_dn = ‘ドメイン名’
以下の項目をコメントアウト
post-auth{
update{
description := “Authenticated at %S”
}
}
コメントアウト後
#post-auth{
# update{
# description := “Authenticated at %S”
#}
#}
設定保存
- :wq
例)OpenLDAPサーバ:172.16.10.1
アカウント名:manager パスワード:testpass ドメイン名:domain.local
server = ‘172.16.10.1’
identity = ‘cn=manager,dc=domain,dc=local’
password = testpass
base_dn = ‘dc=domain,dc=local’
LDAP認証の有効化
- cd /etc/raddb/mods-enabled
- ln -s ../mods-available/ldap
4.認証方式の設定
設定ファイルのバックアップ
- cp -p /etc/raddb/mods-available/eap /etc/raddb/mods-available/eap.org
設定変更
- vim /etc/raddb/mods-available/eap
デフォルト認証方式をPEAPへ変更
default_eap_type = md5 ⇒ default_eap_type = PEAP
認証に使用する証明書の指定
秘密鍵名:private.pem 証明書名:server.pem CA明書名:ca.pemの場合
private_key_file = ${certdir}/server.pem ⇒ private_key_file = /etc/pki/tls/certs/private.pem
※証明書発行時の秘密鍵を/etc/pki/tls/certsにprivate.pemとして配置しておくこと
certificate_file = ${certdir}/server.pem ⇒ certificate_file = /etc/pki/tls/certs/server.pem
※発行した証明書を/etc/pki/tls/certsにserver.pemとして配置しておくこと
ca_file = ${certdir}/ca.pem ⇒ ca_file = /etc/pki/tls/certs/ca.pem
※証明書を発行する際に使用したCA証明書を/etc/pki/tls/certsにca.pemとして配置しておくこと
設定保存
- :wq
5.MSCHAPv2の設定
設定ファイルのバックアップ
- cp -p /etc/raddb/mods-available/mschap /etc/raddb/mods-available/mschap.org
設定変更
- vim /etc/raddb/mods-available/mschap
use_mppe = no ⇒ use_mppe = yes
#require_encryption = yes ⇒ require_encryption = yes
#require_strong = yes ⇒ require_strong = yes
設定保存
- :wq
6.認証時にLDAP使用する設定
設定ファイルのバックアップ
- cp -p /etc/raddb/sites-available/default /etc/raddb/sites-available/default.org
設定変更
- vim /etc/raddb/sites-available/default
以下項目のコメントアウトを外す
#Auth-Type{
#ldap
#}
#ldap
コメントを外した後
Auth-Type{
ldap
}
ldap
設定保存
- :wq
7.認証受付の設定
設定ファイルのバックアップ
- cp -p /etc/raddb/sites-available/inner-tunnel /etc/raddb/sites-available/inner-tunnel.org
設定変更
- vim /etc/raddb/sites-available/inner-tunnel
ipaddr = 127.0.0.0 ⇒ ipaddr = *
-ldap ⇒ ldap
以下項目のコメントアウトを外す
#Auth-Type{
#ldap
#}
#ldap
コメントを外した後
Auth-Type{
ldap
}
ldap
設定保存
- :wq
8.設定反映のためradiusdを再起動
- systemctl restart radiusd
9.自動起動も忘れず
- systemctl enable radiusd
以上
<最後に>
RADIUSクライアントの登録を忘れないように
※忘れるとそもそも問答無用で認証拒否される
自己証明書を使用すると失効リストチェックなどが原因でNGになる場合あり
※解決方法を知りたい ⇒ 問い合わせフォームより連絡
WindowsのActive Directoryを連携したい
※問い合わせフォームから連絡
試験方法
他サイトを参考に・・・
※試験方法も知りたい ⇒ 問い合わせフォームから連絡
コメント