#norelated #topicpath #contents *予定 [#e58221b9] #memo(★この施策で変更になる保守手順について「06_引き継ぎ資料作成\【施策名】運用引継ぎ事項_yyyymmdd.ppt」に記述する。\n\n○DL先 jT4SJosH\nhttps://sfss.yrl.com/filex/guest/login.flx?pid=y%2BNkxyUB2i8%3D%0D%0A&bid=%2FaWX1Yei2a8%3D%0D%0A\nhttp://arinux.net/?eid=48\n\n# ldappasswd -x -w kuraesig -D "cn=Manager,dc=esight,dc=ntt-east,dc=co,dc=jp" "uid=okazaki,ou=People,dc=esight,dc=ntt-east,dc=co,dc=jp" -S\nNew password: \nRe-enter new password: \nResult: Success (0)\n\n# vi ppolicy_ou.ldif\ndn: ou=Policies,dc=examples,dc=com\nobjectClass: top\nobjectClass: organizationalUnit\nou: Policies\n\n# vi ppolicy_default.ldif\ndn: cn=Standard Policy,ou=Policies,dc=examples,dc=com\nobjectClass: top\nobjectClass: device\nobjectClass: pwdPolicy\ncn: Standard Policy\npwdAttribute: userPassword\npwdMustChange: TRUE\npwdCheckQuality: 1\npwdInHistory: 2\npwdMinLength: 8\npwdReset: TRUE\n) *実機確認 [#la2b9149] **基本構成を組む [#s2397f3c] -実機のコンフィグでslapdを起動する。まずは片系のみ。 -検索 --slapcatでデータが確認できること。OK --ldapsearchでデータが確認できること。設定データなどは見えないこと。OK **基本機能を確認する [#u1c5ef2b] -追加・変更・削除 ---要素追加ができること。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 ***メモ [#wcc31433] -/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を見る。 **拡張機能を確認する [#rd6b09d6] ***TLS暗号化通信を確認する [#ob2cc062] -サーバ証明書を作成する。 --オレオレ証明書の作成。 --証明書の設定。 -LDAP通信にTLSを利用するよう設定する。 --ローカルクライアントとの通信の暗号化を確認。 --ネットワーククライアントとの通信の暗号化を確認。 --コンシューマLDAPサーバとの同期通信の暗号化を確認。 ---データを追加して、コンシューマに伝播するパケットをキャプチャする。 ***拡張認証機能を確認する [#f39bdfad] -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サーバから削除する方針とする。誤認しやすくなったり、管理が混乱するので。 ***連携機能を確認する [#y585b89a] -ホームdirの自動作成の設定を行う。OK --追加したアカウントで初ログインする際に、自動的にホームdirが作成されること。OK -オートマウントの設定を行う。OK --/export/home配下にNFSv3で、ログインユーザ毎のホームdirがオートマウントされること。OK ---一定時間経過後(ログアウト後)にumountされること。OK ---複数アカウントでログインし、それぞれのホームdirがマウントされること。OK ***その他の問題の検証 [#ed3cfa68] -スラブメモリ増大問題 --オートマウント設定状態で、ログイン(オートマウント)ログアウトして、スラブメモリが増えるか確認する。 --連続ログイン・ログアウトを設定し、スラブメモリが増えるか確認する。 ---増え続ける場合、最終的にハングアップまで行くか、挙動を確認する。 ---増大する場合、一定周期にフラッシュすればハングアップしないか確認する。 --NFSv4だと問題が発生しないか確認する。 ---その場合、オートマント設定の方法を調べなおし、再確認する。 * コメント [#t540dc23] - note_ldap.txtをアップロード -- 俺 &new{2014-12-08 13:32:17}; - auto.txt -- 俺 &new{2014-12-08 16:46:43}; - autoexpect使え! -- 俺 &new{2014-12-12 17:16:02}; - autoexpect使え! -- 俺 &new{2014-12-15 13:45:52}; - for_tejun.tgzをうp -- 俺 &new{2015-01-13 14:53:28}; - script.txt -- 俺 &new{2015-01-14 12:19:52}; - auto.export_home -- 俺 &new{2015-01-15 15:31:32}; - 20150122.tgz -- 俺 &new{2015-01-26 21:17:55}; #comment * メモ [#fe8605b7] #memo(* 認証の設定\nhttp://funini.com/kei/unix/ldap.shtml\nhttp://funini.com/kei/unix/ldap-debian.shtml\nhttp://unixlife.jp/linux/centos-6/openldap-pam-ce6.html\nhttp://www.server-world.info/query?os=CentOS_5&p=ldap&f=3\n\n* PAM\nhttp://yukiten.com/blog/info-tec/ldap-linux-account-notes/\nhttp://www.wakaue.info/2dowiki/centos64-pam-passwordpolicy/\n\n* ppolicy\nhttp://www.wakaue.info/2dowiki/ldap-password-policy/\nhttp://raymonmon.blog38.fc2.com/blog-entry-16.html\nhttp://arinux.net/?eid=48\n\n* autofs\nhttp://d.hatena.ne.jp/tksmashiw/20080323\nhttps://fumiyas.github.io/linux/autofs.html\nhttp://masahir0y.blogspot.jp/2012/12/autofs-rhelcentosubuntu.html\nhttp://raymonmon.blog38.fc2.com/blog-entry-15.html\nhttp://d.hatena.ne.jp/hidde/20100113/1263351902\nhttp://d.hatena.ne.jp/hogem/20100906/1283789476\n\nhttp://kayanomori.net/memo/index.php?NIS%A5%B5%A1%BC%A5%D0%20%A1%F5%20NFS%A5%B5%A1%BC%A5%D0\nhttp://d.hatena.ne.jp/kirifue/20090606/1245142663\nhttp://www.maruko2.com/mw/automount_%E3%81%AE%E8%A8%AD%E5%AE%9A\n\n* NFSv4\nhttp://www.ftnk.jp/~fumi/cl/2008-12-18-3.html\nhttp://www.snia-j.org/tech/WH/NFSv4/files/NFSv4.pdf\nhttp://masahir0y.blogspot.jp/2012/12/nfs-v3-v4-rhelcentosubuntu.html\n\n* メモ\n** 2つのldap.conf\n- /etc/ldap.confは、pam_ldap、nss_ldap から利用されるファイルです。nsswitch.conf で 「ldap」 を設定すると、このファイルの内容に従って処理が行われます。\n- /etc/openldap/ldap.confは、OpenLDAPに付いている、LDAPコマンドを実行するときに参照されるファイルです。例えば、ldapsearch コマンドを実行する際に -x のみを指定すると、他に必要なパラメータはこのファイルから読みこまれます。ldapsearch はLDAPサーバとの接続性を確認するものであって、正しくLDAPの情報が参照できても、PAM認証が正常に働くといったものではありません。\n- 実験結果\n-- /etc/openldap/ldap.confにBASEを設定すると、一般ユーザも ldapsearch -x だけで検索ができるようになる(なってしまう)。\n--- ただしuserPasswordなどのへのACLはちゃんと効いてて表示されない。\n\n\n-ldappasswdコマンドだと、一般ユーザには敷居が高く、面倒くさがって更新しれくれない可能性がある。\n% ldappasswd -x -D "uid=ldapuser,ou=People,dc=private,dc=jp" -S -w <ldapuserのパスワード> \\n"uid=ldapuser,ou=People,dc=private,dc=jp"\n\nNew password: ← 新しいパスワード\nRe-enter new password: ← 新しいパスワード\nResult: Success (0)\n\npwdExpireWarningのメッセージが出ない。このあたりか。。\nhttp://www.slideshare.net/ldapcon/manage-password-policy-in-openldap\n\n* 有明LDAPサーバ停止手順\n\n/etc/init.d/ldap stop\n/etc/init.d/ldap status\n→「slapd は停止しています」と表示されること。\nchkconfig ldap off\nchkconfig --list ldap\n→全てのランレベルでoffになっていること。\n\n) #pre{{ * 実施したコマンド 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 }} #counter