いなほちゅんのひとりごとブログ版

私のメモ帳を公開してみる。

FreeRADIUS with Samba AD DC on Debian 11

FreeRADIUS with Samba AD DC on Debian 11
日付
カテゴリー
シェア

はじめに

せっかく家庭内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のアカウントを持つ人のみがアクセスポイントにアクセスできるようになるので、ネットワークのセキュリティが少し向上したかなと思います。

参考サイト

Authenticating against Active Directory using winbind

アーカイブ

タグ

ページの先頭へ