対応バージョン: D-SPA Ver.4
( i-FILTER Ver.10.30R01 Ver.10.40R01 が対象)
「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
※D-SPAで本現象が発生するのはD-SPA 4.xのM5モデルのみとなります。
※D-SPA Ver.3をご利用の場合は発生しません。
※2020/3/16時点での情報となります。根本原因が判明したら本FAQページも更新されます。
現時点では、OpenLDAPのライブラリにより動作が変わることが確認できております。
不正終了
"しない"バージョンのOpenLDAPのライブラリを導入することで回避してください。
◆導入手順
OSへのOpenLDAPのライブラリの導入となりますが、「i-FILTER」のみに影響するように設定します。
システム全体には影響を及ぼすことはありません。
-----------------------------------------------------------------------------------
ldapライブラリ導入手順
-----------------------------------------------------------------------------------
1. 「D-SPA」にSSHでログインします。
ユーザーは「dspauser」、デフォルトパスワードは「dspapass」です。
2. rpmの取得
"openldap-2.4.44-5.el7.x86_64.rpm"を取得してください。
$ cd /tmp
$ wget http://vault.centos.org/7.4.1708/os/x86_64/Packages/openldap-2.4.44-5.el7.x86_64.rpm
3. ライブラリの取り出し
下記を実行することにより、ライブラリを取り出します。
$ cd /tmp
$ rpm2cpio ./openldap-2.4.44-5.el7.x86_64.rpm | cpio -idv
※目的のファイルは「/tmp/usr/lib64」に展開されます。
4. 「i-FILTER」の停止
作業中は「i-FILTER」を停止する必要があります。
$ sudo /etc/init.d/ifilter10 stop
5. ファイルのコピー
必要なライブラリを「i-FILTER」のbinディレクトリにコピーします。
$ sudo cp /tmp/usr/lib64/liblber-2.4.so.2.10.7 /usr/local/ifilter10/bin/
$ sudo cp /tmp/usr/lib64/libldap-2.4.so.2.10.7 /usr/local/ifilter10/bin/
$ sudo cp /tmp/usr/lib64/libldap_r-2.4.so.2.10.7 /usr/local/ifilter10/bin/
6. シンボリックリンクの作成
コピーしたそれぞれのファイルについて、シンボリックリンクを作成します。
$ cd /usr/local/ifilter10/bin
$ sudo ln -s liblber-2.4.so.2.10.7 liblber.so
$ sudo ln -s libldap-2.4.so.2.10.7 libldap.so
$ sudo ln -s libldap_r-2.4.so.2.10.7 libldap_r.so
※作業完了後の状態は下記のようになります。
"←★"の部分が、「4.」「5.」で作業した箇所となります。ls
$ 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 ←★
7. 動作確認
「i-FILTER」を起動し、「LDAP over TLS」の設定を有効にして「i-FILTER」を
再起動したうえ動作確認(プロキシとして利用する、管理画面からユーザー引きを行う)
して不正終了が発生しないかご確認ください。
※補足
以下コマンドから、設定変更後のLDAPライブラリがロードされているか確認可能です。
$ sudo 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
----------------------------------------------
8. 以上で作業は完了です。