7.6. IdM Directory Server の最大メッセージサイズの調整
nsslapd-maxbersize 属性は、受信メッセージまたは LDAP 要求での最大許容サイズをバイト単位で設定します。要求のサイズを制限すると、さまざまなサービス拒否攻撃を防ぎます。
最大メッセージサイズが小さすぎる場合、/var/log/dirsrv/slapd-<instance_name>/errors にある Directory Server エラーログに次のエラーが表示されることがあります。
Incoming BER Element was too long, max allowable is 2097152 bytes. Change the nsslapd-maxbersize attribute in cn=config to increase.
Incoming BER Element was too long, max allowable is 2097152 bytes. Change the nsslapd-maxbersize attribute in cn=config to increase.
この制限の対象は LDAP 要求の合計サイズです。たとえば、エントリーの追加要求で、要求のエントリーがデフォルトの設定値よりも大きい場合に、この追加要求は拒否されます。ただし、この制限はレプリケーションプロセスには適用されません。この属性の変更には細心の注意を払ってください。
| デフォルト値 |
|
| 有効な範囲 |
|
| エントリー DN の場所 |
|
前提条件
- LDAP Directory Manager のパスワード
手順
nsslapd-maxbersizeパラメーターの現在の値を取得して、復元する必要がある場合に備え、調整を行う前にこの値をメモします。プロンプトが表示されたら、Directory Manager のパスワードを入力します。dsconf -D "cn=Directory Manager" ldap://<server_fqdn> config get nsslapd-maxbersize Enter password for cn=Directory Manager on ldap://server.example.com: nsslapd-maxbersize: 2097152
[root@server ~]# dsconf -D "cn=Directory Manager" ldap://<server_fqdn> config get nsslapd-maxbersize Enter password for cn=Directory Manager on ldap://server.example.com: nsslapd-maxbersize: 2097152Copy to Clipboard Copied! Toggle word wrap Toggle overflow nsslapd-maxbersize属性の値を変更します。この例では4194304(4 MB) に値を増やします。dsconf -D "cn=Directory Manager" ldap://<server_fqdn> config replace nsslapd-maxbersize=4194304
[root@server ~]# dsconf -D "cn=Directory Manager" ldap://<server_fqdn> config replace nsslapd-maxbersize=4194304Copy to Clipboard Copied! Toggle word wrap Toggle overflow Directory Manager として認証し、設定の変更を行います。
Enter password for cn=Directory Manager on ldap://server.example.com: Successfully replaced "nsslapd-maxbersize"
Enter password for cn=Directory Manager on ldap://server.example.com: Successfully replaced "nsslapd-maxbersize"Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
IdM Directory Server のパフォーマンスを監視します。改善されない場合は、この手順を繰り返し、
nsslapd-maxbersizeを別の値に調整するか、デフォルトの2097152に戻します。
検証
nsslapd-maxbersize属性の値を表示し、希望の値に設定されていることを確認します。dsconf -D "cn=Directory Manager" ldap://<server_fqdn> config get nsslapd-maxbersize Enter password for cn=Directory Manager on ldap://server.example.com: nsslapd-maxbersize: 4194304
[root@server ~]# dsconf -D "cn=Directory Manager" ldap://<server_fqdn> config get nsslapd-maxbersize Enter password for cn=Directory Manager on ldap://server.example.com: nsslapd-maxbersize: 4194304Copy to Clipboard Copied! Toggle word wrap Toggle overflow