🦅

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
        

最後に

AWSに色々やってもらえるのはありがたいけど、中で何やってんのかが分かり辛いからこういう時に困るよね

Discussion