Как я могу поставить цифровую подпись для данных LDAP?
Я хочу сделать запрос LDAP с пользовательского компьютера на прокси-сервер, который затем ретранслирует запрос на сервер LDAP. Затем сервер LDAP ответит запрошенными данными, а также подписью, подтверждающей, что прокси-сервер не изменил данные?
Спасибо, Ченз
Большинство приложений с поддержкой LDAP поддерживают безопасный LDAP, который в основном представляет собой LDAP через TLS. Приложение должно проверять сигнатуры и сообщать о любых проблемах. Это защитит от модификации прокси. Вы не говорите, какое приложение вы используете, это приложение COTS или что-то, что вы сделали вручную?
Я не знаю ни одного стандартного способа сделать это. SSL мог бы работать, если прокси - это простой TCP-прокси, который просто пересылает пакеты и перезаписывает части заголовка TCP, в этом случае сеанс SSL фактически завершается фактическим сервером LDAP. С другой стороны, если прокси-сервер более интеллектуален, тогда сеанс SSL завершится прокси-сервером, и вы потеряете свое согласие на отказ.
Это последний случай, который сложнее решить и не имеет стандартов. Один из способов сделать это - сконструировать вашу систему так, чтобы она использовала написанное пользователем расширение LDAP или, возможно, просто настраиваемые атрибуты в базе данных LDAP, которые при запросе возвращают контрольную сумму, сгенерированную из возвращенного оператора. Это позволило бы обнаружить вредоносный прокси. Или, если вам требуется более конкретный отказ от отказа, сгенерируйте значение на основе какого-либо предварительного ключа, а не контрольной суммы. К сожалению, вам, вероятно, придется внести некоторые изменения в свой сервер LDAP.