最近LDAPのサーバでnetstatを叩いたらなんとセッション数が1000を超えていた。
そんな大規模システムでもないのに何故??
確かにクライアント側では諸事情でnscdは動かしていないがいくらなんでも多過ぎじゃ??
ありえないセッション数に調査を開始。
サーバ上でtcpdumpを叩いてLDAPの通信を眺めていると、どうやらwebサーバのhttpd、
mailサーバのsmtpd、さらにはcrondまでもがLDAPサーバにユーザ問合せに来ている。
OSのアカウントしかLDAP認証に対応させていないのに何故だ!?
通信に来るタイミングを見ていると、どうやら親プロセスが子プロセスをfork()する度に、
立ち上げユーザの情報取得の為にnss_ldapライブラリが通信に来てやがりました。
で、ここでさらに疑問が発生。
上記の問題のデーモンの立ち上げユーザは全てroot、もしくは専用ユーザとなっていて
それらはLDAPに入れていない。nsswitch.confではローカルアカウントを先に見に行く
ようにしているのでローカルでアカウントが見つかればLDAPサーバに問合せに来ないはず。
nsswitch.conf
passwd: files ldap
shadow: files ldap
group: files ldap
ローカルにアカウントがあるのに、サーバにも問い合わせが来る原因はnss_ldapっぽい。
こいつが使用されるようになるとget()系のコールの一部がnss_ldapにリンカされてしまい、
それらが呼び出される度にnss_ldapが動き出してサーバへ問合せに来てしまうのだ。
では回避策は?
nss_ldapは/etc/ldap.confを見ているのでldap.confで対応出来ないか?
と思い調べたらあっさり発見。予想通りldap.confで回避可能だった。
以下のパラメータにLDAPに問合せに来て欲しくないユーザを列挙すればいいだけ。
ちなみにこのパラメータ自体デフォルトでは存在していないので追記しました。
/etc/ldap.conf
nss_initgroups_ignoreusers root,・・・,・・・
再びサーバ上でtcpdump。
あれだけ溢れていたLDAPの通信が全く来なくなりました。
(もちろんLDAPに対応させたユーザの問い合わせは普通に来ます)
セッション数も激減。
以上で一件落着。
そんな大規模システムでもないのに何故??
確かにクライアント側では諸事情でnscdは動かしていないがいくらなんでも多過ぎじゃ??
ありえないセッション数に調査を開始。
サーバ上でtcpdumpを叩いてLDAPの通信を眺めていると、どうやらwebサーバのhttpd、
mailサーバのsmtpd、さらにはcrondまでもがLDAPサーバにユーザ問合せに来ている。
OSのアカウントしかLDAP認証に対応させていないのに何故だ!?
通信に来るタイミングを見ていると、どうやら親プロセスが子プロセスをfork()する度に、
立ち上げユーザの情報取得の為にnss_ldapライブラリが通信に来てやがりました。
で、ここでさらに疑問が発生。
上記の問題のデーモンの立ち上げユーザは全てroot、もしくは専用ユーザとなっていて
それらはLDAPに入れていない。nsswitch.confではローカルアカウントを先に見に行く
ようにしているのでローカルでアカウントが見つかればLDAPサーバに問合せに来ないはず。
nsswitch.conf
passwd: files ldap
shadow: files ldap
group: files ldap
ローカルにアカウントがあるのに、サーバにも問い合わせが来る原因はnss_ldapっぽい。
こいつが使用されるようになるとget()系のコールの一部がnss_ldapにリンカされてしまい、
それらが呼び出される度にnss_ldapが動き出してサーバへ問合せに来てしまうのだ。
では回避策は?
nss_ldapは/etc/ldap.confを見ているのでldap.confで対応出来ないか?
と思い調べたらあっさり発見。予想通りldap.confで回避可能だった。
以下のパラメータにLDAPに問合せに来て欲しくないユーザを列挙すればいいだけ。
ちなみにこのパラメータ自体デフォルトでは存在していないので追記しました。
/etc/ldap.conf
nss_initgroups_ignoreusers root,・・・,・・・
再びサーバ上でtcpdump。
あれだけ溢れていたLDAPの通信が全く来なくなりました。
(もちろんLDAPに対応させたユーザの問い合わせは普通に来ます)
セッション数も激減。
以上で一件落着。
![]() | LDAP Super Expert (2006/04/11) 編集部 商品詳細を見る OpenLDAP ver2.3の新機能などについて詳しく書かれている。またいくつかのミドルウェア連携の他、OpenSSH鍵認証LDAP化やsudoのLDAP化まで書かれていているのが非常に役立つ。 |
| ホーム |


