Конечно, мы уверены в Вирусном присутствии? Какой Пакет обновления? Запахи как Conficker...
Быть полностью уверенным попытка открыть \localhost\
Что будет работать для односторонней синхронизации, но с небольшим количеством «требуется некоторая сборка», это:
OpenLDAP → Реплика OpenLDAP → ActiveDirectory
, где находится промежуточная реплика OpenLDAP использует бэкэнд perl , а не постоянное хранилище. Вы должны написать модуль perl, который предоставляет 9 (когда я проверял в последний раз) функций, которые отображаются на вызовы LDAP API ( bind
, search
, compare
, ] изменить
, добавить
и т. д.).
В этом коде вы можете делать любые атрибуты / объектные классы и сопоставления имен, которые могут потребоваться. В исходном дистрибутиве есть пример конфигурации и кода ( SampleLDAP.pm
). Оцените 1000-1500 строк кода для надежной реализации в реальном мире.
Немного более простой подход - опрос исходного каталога на предмет измененных объектов и внесение изменений, см. Реализацию в проекте lsc . Этот подход может иметь проблемы с задержкой и масштабируемостью. Используя метод опроса, вы можете немного обмануть поиск OpenLDAP, добавив элементы управления syncrepl , и это дает вам более простую версию подхода back-perl - преимущество в том, что вам не нужно реализовывать API, вам просто нужно обработать результаты поиска, которые отправляются вам при возникновении изменений, и распространять их (и сохранять состояние / повторное подключение при ошибке).
Вам придется хорошо подумать об обработке паролей, атрибутах паролей ( userPassword , unicodePwd ) эффективно магические . см. реализацию проекта lsc . Этот подход может иметь проблемы с задержкой и масштабируемостью. Используя метод опроса, вы можете немного обмануть поиск OpenLDAP, добавив элементы управления syncrepl , и это дает вам более простую версию подхода back-perl - преимущество в том, что вам не нужно реализовывать API, вам просто нужно обработать результаты поиска, которые отправляются вам при возникновении изменений, и распространять их (и сохранять состояние / повторное подключение при ошибке).
Вам придется хорошо подумать об обработке паролей, атрибутах паролей ( userPassword , unicodePwd ) по сути магические . см. реализацию проекта lsc . Этот подход может иметь проблемы с задержкой и масштабируемостью. Используя метод опроса, вы можете немного обмануть поиск OpenLDAP, добавив элементы управления syncrepl , и это дает вам более простую версию подхода back-perl - преимущество в том, что вам не нужно реализовывать API, вам просто нужно обработать результаты поиска, которые отправляются вам при возникновении изменений, и распространять их (и сохранять состояние / повторное подключение при ошибке).
Вам придется хорошо подумать об обработке паролей, атрибутах паролей ( userPassword , unicodePwd ) по сути магические . Мне всегда удавалось отговорить людей от двунаправленной синхронизации паролей, поэтому я могу дать здесь только базовый совет (если я тоже не смогу отговорить вас; -)
Обычный подход состоит в том, чтобы фиксировать изменения пароля под прикрытием «Проверка сложности», создайте хэш / формат пароля по мере необходимости и распространите эти значения, см. PasswdHk .
Вы можете «убедить» своих пользователей использовать альтернативный метод смены / сброса пароля, который может распространять изменения, например Пароль самообслуживания (хотя пароли устанавливаются только в одном месте)
Red Hat имеет некоторую полезную документацию (хотя , лежащий в основе DS , больше не является OpenLDAP), большая часть теории все еще применима. AFAICT текущие версии еще не вошли в CentOS 6. XMA утверждает, что делает и то, и другое, хотя я его не использовал.
См. Также: Active Directory и синхронизация OpenLDAP он охватывает гибридный подход с использованием Kerberos , который исключает синхронизацию паролей (хотя это делает AD авторитетным для аутентификации).
Короче говоря, начните с чтения документации lsc , она может делать то, что вы хотите.