AstraRegul
Релиз 2024.08.31.00
×

4.3.1.2.2.2.2. Разнонаправленное резервирование

 
Прежде чем перейти к настройкам резервирования:
 
1.  Убедитесь, что типы баз данных всех серверов – «mdb», с помощью команды:
sudo slapcat -n0
Если тип БД отличается, то во всех дальнейших командах нужно заменить mdb на текущий тип БД.
 
2.  Отключите все возможные репликации баз и серверов.
 
3.  Убедитесь, что содержимое баз резервируемых серверов идентично.
 
4.  Сделайте бэкап конфигурации и БД сервера-поставщика в текущей папке с помощью команды:
cd /opt/AstraRegul/Astra.Security
sudo sh ./openldap-conf-and-data-backup.sh
 
Для восстановления конфигурации и БД OpenLDAP в случае ошибок резервирования, выполните команды:
cd /opt/AstraRegul/Astra.Security
sudo sh ./openldap-conf-and-data-restore.sh
 
5.  Остановите все программы, взаимодействующие с серверами OpenLDAP.
 
6.  Убедитесь, что системное время резервируемых серверов одинаковое, иначе синхронизация изменений будет работать в одну сторону.
 
7.  На время настройки резервирования одного из серверов остановите остальные резервируемые сервера OpenLDAP.
Чтобы настроить разнонаправленное резервирование:
 
1. На любом из резервируемых серверов создайте файл конфигурации openldap-enable-syncreplmultiprovider-server.ldif со следующим содержанием:
##########################################################
# Check/modify database type (bdb/hdb/mbd/...), server ID (unique number),
# address of provider, binddn, credentials, searchbase.
##########################################################
 
dn: cn=module,cn=config
objectClass: olcModuleList
cn: module
olcModulePath: /usr/lib/ldap
olcModuleLoad: syncprov.la
 
##########################################################
 
dn: olcOverlay=syncprov,olcDatabase={1}mdb,cn=config
objectClass: olcOverlayConfig
objectClass: olcSyncProvConfig
olcOverlay: syncprov
olcSpSessionLog: 100
 
##########################################################
 
dn: cn=config
changetype: modify
replace: olcServerID
olcServerID: 1
 
dn: olcDatabase={1}mdb,cn=config
changetype: modify
add: olcSyncRepl
olcSyncRepl:
  rid=001
  provider=ldap://192.168.56.102:389
  bindmethod=simple
  binddn="cn=admin,dc=maxcrc,dc=com"
  credentials="secret"
  searchbase="dc=maxcrc,dc=com"
  scope=sub
  schemachecking=on
  type=refreshAndPersist
  retry="30 5 300 3"
  interval=00:00:05:00
olcSyncRepl:
  rid=002
  provider=ldap://192.168.57.102:389
  bindmethod=simple
  binddn="cn=admin,dc=maxcrc,dc=com"
  credentials="secret"
  searchbase="dc=maxcrc,dc=com"
  scope=sub
  schemachecking=on
  type=refreshAndPersist
  retry="30 5 300 3"
  interval=00:00:05:00
-
add: olcMirrorMode
olcMirrorMode: TRUE
 
dn: olcOverlay=syncprov,olcDatabase={1}mdb,cn=config
changetype: add
objectClass: olcOverlayConfig
objectClass: olcSyncProvConfig
olcOverlay: syncprov
Отступ в каждой строке внутри конструкции olcSyncRepl обязательно должен содержать по два пробела.
 
2.  Измените файл конфигурации следующим образом:
 
2.1.  В строке olcServerID: 1 придумайте и укажите идентификатор сервера;
olcServerID должен быть уникальным для каждого резервируемого сервера.
2.2.  Замените «mdb» на текущий тип БД, если он отличается, в строках:
«dn: olcDatabase={1}mdb,cn=config»;
«dn: olcDatabase={1}mdb,cn=configdn: olcDatabase={1}mdb,cn=config»;
«dn: olcOverlay=syncprov,olcDatabase={1}mdb,cn=config»
 
2.3.  Добавьте столько конструкций olcSyncRepl, сколько серверов участвуют в резервировании помимо текущего. Каждая конструкция olcSyncRepl описывает один из резервируемых серверов.
Внутри одного сервера параметры rid разных конструкций olcSyncRepl должны иметь уникальные значения.
 
2.4.  В каждой конструкции olcSyncRepl укажите IP-адрес и порт сервера, который она описывает, в строке параметра provider.
 
2.5. Замените «"dc=maxcrc,dc=com"» на «"dc=nodomain"», если не выполняли переименование домена, в строках:
«binddn="cn=admin,dc=maxcrc,dc=com"»;
«searchbase="dc=maxcrc,dc=com"».
 
3.  Для применения внесенных изменений выполните команду:
sudo ldapadd -Y EXTERNAL -H ldapi:/// -f openldap-enable-syncrepl-multiprovider-server.ldif
 
4.  Перезапустите сервер:
sudo systemctl restart slapd
 
5.  Повторите все описанные действия на каждом из резервируемых серверов.
 
6.  Настройте Агент Astra.Security:
 
6.1.  Перейдите к файлу конфигурации astra.security.agent.xml, расположенному по следующему пути:
/opt/AstraRegul/Astra.Security
 
 Добавьте в секцию тега <LdapHosts> строки с IP-адресами и портами всех резервируемых серверов:
<LdapHosts>
     <LDAPServer Address="127.0.0.1" Port="389"/>
     <LDAPServer Address="172.16.13.167" Port="389"/>
</LdapHosts>
 
6.2.  Перезапустите службу:
sudo systemctl restart astra.security.service
 
После настройки последовательно включите все сервера OpenLDAP.
 
Подключитесь напрямую к каждой базе и убедитесь, что ошибок не возникло.
 
Для проверки внесите изменения в конфигурацию на одном из серверов. Убедитесь, что эти изменения появились и на других серверах.