Наблюдаю частые падения LDAPа, после анализа логов уалось установить, что такое просиходит из-за реквестов , которые содержат '\00' в теле, например (dc затёрто):
May 11 00:27:14 ldap02 slapd[15159]: conn=2221 op=85 SRCH base="dc=***net,dc=net" scope=2 deref=0 filter="(&(objectClass=account)(uid=null\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00))" [br]
May 11 00:27:14 ldap02 slapd[15159]: conn=2221 op=85 SRCH attr=userPassword
Удалось срепродьюсить на тестовой машине:
ldapsearch -LLL -x -s sub -b "dc=***,dc=net" "(&(objectClass=account)(uid=test\00test))"
ldap_result: Can't contact LDAP server (-1)
Запросы шлются железкой IronPort.
Вопрос: можно-ли как-то фильтровать такие реквесты?
Или IronPort должен сам конверить это в null, что не вызывает падений? (вроде в rfc 4515 обговаривается трансляция этого символа, но я не догнал, на каком этапе..)
Спасибо.