Использование Ppolicy в одноранговом кластере поставщика может вызвать условие обновления потребителя.

Мой ldap состоит из кластера из трех провайдеров, которые реплицируются друг на друга, и группы потребителей, реплицирующихся от них, и у нас установлена ​​политика ppolicy как для наших провайдеров, так и для потребителей, хотя в настоящее время мы не используем ее для обеспечения соблюдения каких-либо конкретных политик. автоматически.

Недавно я обнаружил ситуацию, когда скрипту не удавалось войти в систему с учетной записью службы, отличной от rootDN, ко всем трем экземплярам провайдера в короткие сроки. Поставщики, кажется, могут быстро во всем разобраться, но потребители иногда обнаруживают некоторую несогласованность ContextCSN, и когда это происходит, потребители переходят в состояние ОБНОВЛЕНИЯ, вызванное обновлениями операционных атрибутов в записи dn учетной записи службы у всех трех поставщиков почти в момент в то же время. В производственной среде это может вызвать задержку из-за дополнительной загрузки ЦП и сетевого трафика при одновременном обновлении всех потребителей.

Единственная соответствующая документация, которую мне удалось найти для этого варианта использования, находится по адресу https://linux.die.net/man/5/slapo-ppolicy:

Обратите внимание, что текущее предложение политики паролей IETF не определяет, как эти рабочие атрибуты будут вести себя в среде репликации. Как правило, попытки аутентификации на подчиненном сервере влияют только на копию рабочих атрибутов на этом подчиненном сервере и не влияют на какие-либо атрибуты входа пользователя на главном сервере. Изменения рабочих атрибутов, возникающие в результате попыток аутентификации на главном сервере, обычно реплицируются на подчиненные устройства (а также перезаписывают любые изменения, возникшие на подчиненном сервере). Такое поведение не гарантируется и может быть изменено при появлении официальной спецификации.

И связанная с этим возможность потребителей отправлять обновления вверх по цепочке репликации с использованием наложения цепочки:

ppolicy_forward_updates Укажите, что изменения состояния политики, возникающие в результате операций привязки (таких как сбои записи, блокировка и т. д.) на потребителе, должны пересылаться главному устройству, а не записываться непосредственно в локальную базу данных потребителя. Этот параметр полезен только для потребителя репликации, а также требует соответствующей настройки параметра updateref и наложения цепочки.

tl;dr Ppolicy записал операционные атрибуты в dn сервисной учетной записи для всех экземпляров моего провайдера в то же время, когда мой SA использовал неправильный пароль для входа во все они одновременно, и заставил всех моих потребителей обновиться одновременно. Мой вопрос: является ли наложение ppolicy по своей сути небезопасным для кластера провайдеров? Прямо сейчас я рассматриваю эти варианты, чтобы избавиться от риска случайного повторного запуска потребительского ОБНОВЛЕНИЯ:

  • Удалите наложение ppolicy из реплицируемого бэкэнда (я все еще проверяю, есть ли что-нибудь, для чего мы на самом деле его используем, но если в этой конфигурации оно по своей сути небезопасно, то его нужно удалить)
  • Переместите все учетные записи служб в другую базу данных, в которой не установлена ​​ppolicy.

Спасибо!

0 ответов

Другие вопросы по тегам