対応バージョン: i-FILTER Ver.9.50R08 Ver.10.30R01 Ver.10.40R01
対応OS: Linux
「i-FILTER」のユーザー認証をLDAPからLDAPSへ変更する際に、以下FAQの手順どおりに
「LDAP over TLS」を有効化するとサービスが不正終了することがあります。
▽「i-FILTER」Windowsにおける「LDAPチャネルバインディング」
「LDAP署名」有効化による影響はありますか
https://www.pa-solution.net/daj/bs/faq/Detail.aspx?id=4422
※Windows版「i-FILTER」では発生しませんので、本FAQページの対応は必要ありません。
※Linux版「i-FILTER」Ver.9.50R08、Ver.10.30R01、Ver.10.40R01 のバージョンで発生することを確認しています。
不正終了の発生有無について、サーバーにインストールされている
OpenLDAPのライブラリにより動作が変わることが確認できております。
そのため、「i-FILTER」Ver.9.50R09、Ver.10.41R01 にて、不正終了
"しない"バージョンの
OpenLDAPを静的ライブラリとしてパッケージに取り込むことで対応しました。
「i-FILTER」を最新バージョンにアップデートすることで改善するかお確かめください。
■現行バージョンで問題を回避したい場合
不正終了"しない"バージョンのOpenLDAPのライブラリを導入することで回避してください。
OSへのOpenLDAPのライブラリの導入となりますが、「i-FILTER」のみに影響するように設定します。
システム全体には影響を及ぼすことはありません。
-----------------------------------------------------------------------------------
ldapライブラリ導入手順
-----------------------------------------------------------------------------------
1. rpmの取得
RHのHPまたはRHEL7.4のisoファイルから、"openldap-2.4.44-5.el7.x86_64.rpm"を取得し、
/tmp ディレクトリにコピーします。
2. ライブラリの取り出し
下記を実行することにより、ライブラリを取り出します。
# cd /tmp
# rpm2cpio ./openldap-2.4.44-5.el7.x86_64.rpm | cpio -idv
※目的のファイルは「/tmp/usr/lib64」に展開されます。
3. 「i-FILTER」の停止
作業中は「i-FILTER」を停止する必要があります。
# /etc/init.d/ifilter10 stop
4. ファイルのコピー
必要なライブラリを「i-FILTER」のbinディレクトリにコピーします。
# cp /tmp/usr/lib64/liblber-2.4.so.2.10.7 /usr/local/ifilter10/bin/
# cp /tmp/usr/lib64/libldap-2.4.so.2.10.7 /usr/local/ifilter10/bin/
# cp /tmp/usr/lib64/libldap_r-2.4.so.2.10.7 /usr/local/ifilter10/bin/
5. シンボリックリンクの作成
コピーしたそれぞれのファイルについて、シンボリックリンクを作成します。
# cd /usr/local/ifilter10/bin
# ln -s liblber-2.4.so.2.10.7 liblber.so
# ln -s libldap-2.4.so.2.10.7 libldap.so
# ln -s libldap_r-2.4.so.2.10.7 libldap_r.so
※作業完了後の状態は下記のようになります。
"←★"の部分が、「4.」「5.」で作業した箇所となります。
# ls -al
合計 214120
drwxr-xr-x. 2 root root 4096 3月 2 15:01 .
drwxr-xr-x. 14 root root 212 3月 2 14:28 ..
-rwxr-xr-x. 1 root root 12360630 3月 2 12:28 if_cache
-rwxr-xr-x. 1 root root 22136401 3月 2 12:28 if_dl
-rwxr-xr-x. 1 root root 19526395 3月 2 12:28 if_dweb
-rwxr-xr-x. 1 root root 45574612 3月 2 12:28 if_eweb
-rwxr-xr-x. 1 root root 49888545 3月 2 12:28 if_proxy
-rwxr-xr-x. 1 root root 12118920 3月 2 12:28 if_replay
-rwxr-xr-x. 1 root root 11732079 3月 2 12:28 if_run
-rwxr-xr-x. 1 root root 13336709 3月 2 12:28 if_server
-rwxr-xr-x. 1 root root 260546 3月 2 12:28 if_update
-rw-r--r--. 1 root root 26215316 3月 2 12:16 libicudata.so.58
-rw-r--r--. 1 root root 3251627 3月 2 12:16 libicui18n.so.58
-rw-r--r--. 1 root root 2021602 3月 2 12:16 libicuuc.so.58
-rw-r--r--. 1 root root 61888 6月 7 2017 liblber-2.4.so.2.10.7 ←★
lrwxrwxrwx. 1 root root 21 3月 2 12:30 liblber.so -> liblber-2.4.so.2.10.7 ←★
-rw-r--r--. 1 root root 348400 6月 7 2017 libldap-2.4.so.2.10.7 ←★
lrwxrwxrwx. 1 root root 21 3月 2 12:30 libldap.so -> libldap-2.4.so.2.10.7 ←★
-rw-r--r--. 1 root root 377240 6月 7 2017 libldap_r-2.4.so.2.10.7 ←★
lrwxrwxrwx. 1 root root 23 3月 2 12:30 libldap_r.so -> libldap_r-2.4.so.2.10.7 ←★
6. 動作確認
「i-FILTER」を起動し、「LDAP over TLS」の設定を有効にして「i-FILTER」を
再起動したうえ動作確認(プロキシとして利用する、管理画面からユーザー引きを行う)
して不正終了が発生しないかご確認ください。
※補足
以下コマンドから、設定変更後のLDAPライブラリがロードされているか確認可能です。
#lsof -p <if_proxyのプロセスID>
----------------------------------------------
if_proxy 12078 root mem REG 253,0 348400 52955236 /usr/local/ifilter10/bin/libldap-2.4.so.2.10.7
if_proxy 12078 root mem REG 253,0 61888 51389658 /usr/local/ifilter10/bin/liblber-2.4.so.2.10.7
----------------------------------------------
7. 以上で作業は完了です。