予定 †
実機確認 †
基本構成を組む †
- 実機のコンフィグでslapdを起動する。まずは片系のみ。
- 検索
- slapcatでデータが確認できること。OK
- ldapsearchでデータが確認できること。設定データなどは見えないこと。OK
基本機能を確認する †
- 追加・変更・削除
- 要素追加ができること。OK
- 要素変更ができること。OK
- 要素削除ができること。OK
- データ(エントリごと)追加ができること。OK
- データ(エントリごと)削除ができること。OK
- 権限
- 権限のないdnでは検索できないこと。OK
- 権限のないdnでは追加できないこと。OK
- 権限のないdnでは変更できないこと。OK
- 権限のないdnでは削除できないこと。OK
- ログイン認証
- そのLDAPを利用して、ログイン認証できるようにする。OK
- 正しく設定できていればgetent passwd(各種キーワード)でLDAPから情報が取得できるはず。OK
- nas0(端末)から、srv0(LDAPサーバ自身)へsshログインする。OK
- nas0(端末)から、srv1(LDAPサーバでない)へsshログインする。OK
- 二重化
- srv0をプロバイダ、srv1をコンシューマに設定し、同期されることを確認する。OK
- srv0で追加したデータが、コンシューマにコピーされる事を確認する。OK
- srv1で追加しようとするとエラーになる事を確認する。OK
- プロバイダとの同期不可(通信障害)の状態で確認する。
- やはりsrv1でデータ追加しようとしてもエラーになることを確認する。OK
- この状態でLDAPユーザに対してpasswdコマンドを投入したらどうなるか。齟齬が出るのか。OK
- srv0で追加したデータが、通信回復後にコンシューマにコピーされることを確認する。
- プロバイダとの同期不可(プロセス障害)の状態で確認する。
- srv1でデータ追加しようとしてもエラーになることを確認する。OK
- srv0のプロセス再起動後に、再同期されるか確認する。OK
- nsswitch.confの挙動を確認する。
- LDAP優先設定時、プロバイダとの通信が出来ない状態でログイン認証すると、タイムアウトしてコンシューマとの認証に移るのか。OK(即時に次のLDAPサーバに振り返られた。プロセス刺さったときのタイムアウト時間だと思われる)
- files優先設定時、LDAPサーバに無用な問い合わせをしない挙動か確認。OK
メモ †
- /etc/nsswitch.confはfiles ldapの順で正しい。逆順だとrootのときにlsするだけでLDAP検索が走ってしまう。両方に問い合わせてしまって問題なのは、ローカルとLDAPの両方に同名ユーザがいる場合。これをしなければよい。
- 二重化しても何もなければ何の問い合わせも飛ばない。
- /etc/ldap.confと/etc/openldap.confの違いに注意すること。pamやnsは/etc/ldap.confを見ている。ldap系コマンドだけが/etc/openldap/ldap.confを見る。
拡張機能を確認する †
TLS暗号化通信を確認する †
- サーバ証明書を作成する。
- LDAP通信にTLSを利用するよう設定する。
- ローカルクライアントとの通信の暗号化を確認。
- ネットワーククライアントとの通信の暗号化を確認。
- コンシューマLDAPサーバとの同期通信の暗号化を確認。
- データを追加して、コンシューマに伝播するパケットをキャプチャする。
拡張認証機能を確認する †
- ppolicyスキーマを導入する。
- ログイン認証の再確認
- nas0(端末)から、srv0(LDAPサーバ自身)へsshログインする。
- nas0(端末)から、srv1(LDAPサーバでない)へsshログインする。
- 拡張機能の確認
- ログイン失敗回数超過で一定時間ロックされるか。
- 期限超過で警告が出るか。
- 猶予期間超過でもロックされない様にできるか。
- ログイン失敗でパスワード再設定を強制することができるか。
- ユーザ操作の確認
- パスワード変更が可能か(LDAPサーバ内から)
- パスワード変更が可能か(LDAPサーバ外から)
- パスワード文字数制限が有効になっているか。
passwdコマンドはやはりppolicyと連携できないのか。passwdコマンドはppolicyと連携できた。OK
- ローカルアカウントへの影響
- LDAP登録していないアカウントにはppolicyが適用されず普通にログインできること。
- ローカルアカウントの追加で、LDAPにデータ追加されないこと。
- 無用にLDAPに問い合わせを行わないこと。
- shadowスキーマ関連の削除
- shadow系が残っていた場合にppolicyの値だけが適用されているか。例えばアカウント期限など。
- 削除用のLDIFファイルを作成する。
- shadow系データはLDAPサーバから削除する方針とする。誤認しやすくなったり、管理が混乱するので。
連携機能を確認する †
- ホームdirの自動作成の設定を行う。OK
- 追加したアカウントで初ログインする際に、自動的にホームdirが作成されること。OK
- オートマウントの設定を行う。OK
- /export/home配下にNFSv3で、ログインユーザ毎のホームdirがオートマウントされること。OK
- 一定時間経過後(ログアウト後)にumountされること。OK
- 複数アカウントでログインし、それぞれのホームdirがマウントされること。OK
その他の問題の検証 †
- スラブメモリ増大問題
- オートマウント設定状態で、ログイン(オートマウント)ログアウトして、スラブメモリが増えるか確認する。
- 連続ログイン・ログアウトを設定し、スラブメモリが増えるか確認する。
- 増え続ける場合、最終的にハングアップまで行くか、挙動を確認する。
- 増大する場合、一定周期にフラッシュすればハングアップしないか確認する。
- NFSv4だと問題が発生しないか確認する。
- その場合、オートマント設定の方法を調べなおし、再確認する。
コメント †
- note_ldap.txtをアップロード -- 俺
- auto.txt -- 俺
- autoexpect使え! -- 俺
- autoexpect使え! -- 俺
- for_tejun.tgzをうp -- 俺
- script.txt -- 俺
- auto.export_home -- 俺
- 20150122.tgz -- 俺
メモ †
* 実施したコマンド
rpm -ivh pam_ldap-185-11.el6.x86_64.rpm nss-pam-ldapd-0.7.5-18.2.el6_4.x86_64.rpm
authconfig --enableldap --enableldapauth --ldapserver=10.159.213.14 --ldapbasedn="dc=esight,dc=ntt-east,dc=co,dc=jp" --enablemkhomedir --update
/etc/openldap/ldap.confの編集
/etc/nslcd.confの編集
/etc/pam_ldap.confの編集
authconfig --enableldaptls --update
/etc/init.d/nslcd restart
/etc/sssd/sssd.conf の [domain/default] セクションの最下行に以下を追加。
ldap_tls_reqcert = never
enumerate = True
* 検証用に特別に
- sen-mnetm01には検証用にldapsearch使いたいので、以下のパッケージも投入。
-- rpm -ivh openldap-clients-2.4.39-8.el6.x86_64.rpm
-- このrpmにはldapxxx系のコマンド群が入っているだけなので、一般のサーバにはインストールしなくてよいと思う。
- ldapserchコマンドで確認
-- ldapsearch -x -w kuraesig -D "cn=Manager,dc=esight,dc=ntt-east,dc=co,dc=jp" -b "dc=esight,dc=ntt-east,dc=co,dc=jp" "uid=hasegawa"
* メモ
- キャプチャする方法(IPも指定)
tcpdump -i eth1 -s 0 -A "host 10.159.215.9 and port ldap or port ldaps"
- LDAP認証でsshログインしてきたユーザの時刻とユーザ名を表示
grep "sshd.*user=" /var/log/secure | awk '{print $3, $NF}'
* 結論としての手順
** LDAPクライアント設定の編集
+ LDAPコンフィグの設定
++ /etc/openldap.confに以下を設定する。
★後で書く
+ システム認証設定の変更
++ /etc/nsswitchに以下を設定する。
passwd: files sss
shadow: files
group: files sss
automount: files sss
++ /etc/sysconfig/authconfigに以下を設定する。
USEMKHOMEDIR=yes #yesにする
USESSSDAUTH=yes #yesにする
USESSSD=yes #yesにする
ちなみにLDAP関連はデフォ(no)のままで問題ない。
USELDAPAUTH=no
USELDAP=no
また、yesでも問題ない。
++ /etc/pam.d/system-auth-acに以下を設定する。
account [default=bad success=ok user_unknown=ignore] pam_sss.so
#既存のaccount [default〜pam_sss.soの行をコメントアウトして書き換える。
account [default=bad success=ok user_unknown=ignore service_err=ignore system_err=ignore authinfo_unavail=ignore] pam_ldap.so
++ /etc/pam.d/password-auth-acも上記と同じ。
★ところでsssdはどっからもってきた? sssd-common-1.11.6-30.el6.x86_64.rpmらしいが。
/etc/init.d/sssd restart; /etc/init.d/nslcd restart
(
訪問者数: 131,
本日: 1,
昨日: 0
)