Amazon WorkspaceのMFA利用時のFreeRADIUS(Google Authenticator利用)の冗長化設定でハマった話
Amazon Workspace MFA利用時のFreeRADIUS(Google Authenticator利用)の冗長化時、後述の理由でADユーザのホームディレクトリのPathをカスタムする必要があるが、RADIUSサーバのAD結合を手動で行うかシームレスに行うかで、その手法に違いがありハマったので、その時の備考録
前提知識
FreeRADIUS(Google Authenticator利用)の冗長化について
FreeRADIUS(Google Authenticator利用)の冗長化は、RADIUSサーバでGoogle AuthenticatorでQAコード(認証コード)を発行した時に生成されるファイルが各ユーザのMFA認証時に用いられる為、本ファイルを1号機と2号機で共有する必要がる
簡単な共有方法は本ファイルが生成されるディレクトリを1号機と2号機でNFSマウントすることだが、注意点として本ファイルは各ユーザのホームデフォルト配下に生成される為、「/home」はNFSマウントすることが出来ない問題点に引っかかる
厳密には出来ないことはないが、「/home」はLinuxのローカルユーザのホームディレクトリも存在する為、AD用のユーザのディレクトリは更に階層を落とすか、「/home」以外のフォルダ配下にする必要がある
LinuxのLDAPにおけるADユーザのホームディレクトリ
ADユーザがLinuxにログインした時のホームディレクトリは「oddjob-mkhomedir」によって自動生成されるが、ホームディレクトリのPath等の制御はAD結合で用いられるコンポーネントであるSystem Security Services Daemon (SSSD) やSamba Winbindにて行われる
Linux EC2のAD結合方法
以下の2種類があり、当然シームレスの方がスマート
ハマったとこ
RADIUSサーバをシームレスにAD結合したけど、ADユーザのホームディレクトリの変更方法が分からん!
手動AD結合手順にはAD結合にrealmとsssdが用いられており、sssdのconfを変更してADユーザのホームディレクトリを変更する方法は調べたら結構出てきた
シームレスAD結合手順ではOS起動後にどうやってAD結合が行われてるかはブラックボックス化されていたが、「まあ別に手動でやってることを自動でやってくれてるだけっしょ!」とご都合判断を下し、AD結合手法はシームレスを選択
で、「ADユーザのホームディレクトリの変更するか!」って思ったところsssdがインストールされてないことが判明し、「え?じゃあどうやってADユーザのホームディレクトリの変更するの?そもそもどうやってAD結合やってんの?」とドツボにハマりました
解決
色々調べた結果、手動AD結合にはsssd
シームレスAD結合にはwinbindを用いている模様
そして、winbindにもsssdと同じようにADユーザのホームディレクトリを変更する為のconfがありましたとさ
- 設定ファイル
- /etc/samba/smb.conf
-
設定箇所
template homedir = /home/%U@%D
-
- /etc/samba/smb.conf
最後に
AWSに色々やってもらえるのはありがたいけど、中で何やってんのかが分かり辛いからこういう時に困るよね
Discussion