はじめに
せっかく家庭内Active Directoryを運用しているので、WifiのRADIUS認証で使ってみようと思い、FreeRADIUSの導入にチャレンジしてみました。
LXCコンテナ
下記記事で生成したコンテナをベースにFreeRADIUSをインストールします。
インストール
今回の前提バージョンは
- Debian GNU/Linux : 11
- FreeRADIUS : 3.0.21
- Samba : 4.13.13
です。
root
ユーザーで作業します。
必要なパッケージをインストールします。
apt update && apt install freeradius samba winbind krb5-user krb5-config
設定
root
ユーザーで作業します。
- レルム : AD.INAHO.SPACE
- シークレットキー : testing123
Kerberos
/etc/krb5.conf
を編集して設定を行います。
[libdefaults]
default_realm = AD.INAHO.SPACE
dns_lookup_realm = false
dns_lookup_kdc = true
Samba
/etc/samba/smb.conf
を編集して設定を行います。
[global]
netbios name = PVE-RADIUS
server string = FreeRADIUS Server
realm = AD.INAHO.SPACE
workgroup = AD
security = ads
invalid users = root
socket options = TCP_NODELAY
idmap uid = 16777216-33554431
idmap gid = 16777216-33554431
winbind use default domain = no
winbind max domain connections = 5
winbind max clients = 1000
password server = *
Active DirectoryにJOINします。
kinit Administrator
net ads join -k
Winbindを再起動します。
systemctl restart winbind.service
FreeRADIUS
クライアント情報設定
/etc/freeradius/3.0/clients.conf
を編集して設定を行う。
下記内容を末尾に追記する。
client venus1 {
ipaddr = 172.16.0.2
secret = testing123
}
client venus2 {
ipaddr = 172.16.0.3
secret = testing123
}
Active Directory認証
/etc/freeradius/3.0/mods-available/mschap
を編集して設定を行う。
mschap {
:
:
winbind_username = "%{mschap:User-Name}"
winbind_domain = "AD.INAHO.SPACE"
:
:
}
所有者変更
FreeRADIUSから/var/lib/samba/winbindd_privileged/
にアクセスできるようにグループを変更する。
chgrp freerad /var/lib/samba/winbindd_privileged/
動作確認
FreeRADIUSをデバッグモードで起動して、別端末からradtestを使用して動作確認を行う。
デバッグモードでの起動。
freeradius -X
動作確認。
radtest -t mschap <ユーザーID>@<ドメイン> <パスワード> <接続先ホスト> <ポート> <シークレット>
例:
radtest -t mschap [email protected] P@ssword localhost 12345 testing123
実稼働
FreeRADIUSを起動して、システム起動時の自動起動を有効にする。
systemctl enable freeradius.service
systemctl start freeradius.service
アクセスポイントにRADIUS認証の設定を行い実稼働する。
APの機種毎に設定のしかたが異なるので割愛します。
ちなみにウチでは2台のASUS RT-AC68Uをアクセスポイントモードで運用しています。
おわりに
ちゃんと使うにはまだ設定するべき点があるかもしれませんが、RADIUS認証をActive Directoryで行う最低限の設定はできたと思います。
実は今まで何回かFreeRADIUSの構築にチャレンジしてきたのですが、なぜか親のPCで認証がおかしくなって使うのをやめてきました。
今回はntlm_authを使わなくなったという点が変わったので、変化があるといいなと思って再び構築してみました。
これでActive Directoryのアカウントを持つ人のみがアクセスポイントにアクセスできるようになるので、ネットワークのセキュリティが少し向上したかなと思います。