Дерево страниц

Вы просматриваете старую версию данной страницы. Смотрите текущую версию.

Сравнить с текущим просмотр истории страницы

Версия 1 Следующий »

Данная статья применима к:

  • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7)
  • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6)
  • Astra Linux Special Edition РУСБ.10015-16 исп. 1 и исп. 2
  • Astra Linux Special Edition РУСБ.10265-01 (очередное обновление 8.1)
  • Astra Linux Common Edition 2.12

Организационные мероприятия по обеспечению восстановления

Во избежание потери данных рекомендуется сохранять созданные резервные копии на отдельных серверах или носителях. При сохранении резервных копий созданных с использованием защитного преобразования данных необходимо также сохранить ключи, с помощь которых создавалась копия. Для предотвращения несанкционированного доступа к данным резервные копии и ключи рекомендуется хранить раздельно.

Для восстановления контроллера домена с помощью репликации неоходимо заранее сохранить файл - контейнер с его сертификатом.

Создание резервной копии контроллера домена FreeIPA

Для создания резервной копии действующего контроллера домена (далее - КД) FreeIPA следует использовать инструмент ipa-backup (входит в состав пакета freeipa-server). Инструмент ipa-backup :

  • Поддерживает два варианта создания резервной копии:
    • Полная резервная копия. Требует остановки служб FreeIPA;
    • Резервная копия данных. Может выполняться без остановки служб FreeIPA;
  • Данные создаваемой резервной копии могут подвергаться защитному преобразованию с использованием принятого по умолчанию GPG-ключа пользователя root или заданного ключа. Пароли не поддерживаются;
  • Резервные копии сохраняются в подкаталогах каталога /var/lib/ipa/backup:
    • Полные резервные копии в подкаталогах ipa-full-YEAR-MM-DD-HH-MM-SS (используется время GMT);
    • Резервные копия данных в подкаталогах ipa-data-YEAR-MM-DD-HH-MM-SS (используется время GMT);
  • В каждом подкаталоге создается файл с именем header. Пример файла:

    [ipa]
    type = FULL
    time = 2021-09-22T14:03:50
    host = ipa0.ipadomain0.ru
    ipa_version = 4.6.4
    version = 1
    services = NTP,KDC,KPASSWD,KEYS,OTPD,HTTP,DNS,DNSKeySync,ADTRUST,EXTID

    Файл содержащит следующую информацию:

    • тип резервной копии;
    • время создания резервной копии;
    • имя хоста;
    • номер версии FreeIPA;
    • номер версии резервной копии;
    • список сервисов, используемых хостом.
  • Резервные копии не могут быть восстановлены на другом компьютере;
  • Резервные копии не могут быть восстановлены с другой версией FreeIP.

Команда для создания полной резервной копии:

sudo ipa-backup

Preparing backup on ipa0.ipadomain0.ru
Stopping IPA services
Backing up userRoot in IPADOMAIN0-RU to LDIF
Backing up IPADOMAIN0-RU
Backing up files
Backed up to /var/lib/ipa/backup/ipa-full-2021-09-22-17-04-02
Starting IPA service
The ipa-backup command was successful

Во избежание потери данных рекомендуется сохранять созданные резервные копии на отдельных серверах или носителях. При сохранении резервных копий созданных с использованием защитного преобразования данных необходимо также сохранить ключи, с помощь которых создавалась копия. Для предотвращения несанкционированного доступа к данным резервные копии и ключи следует хранить раздельно.

Восстановление контроллера домена FreeIPA из реплики

При наличии работающей реплики утерянный контроллер домена можно восстановить путем репликации. В примере далее предполагается, что имеется структура из двух контроллеров домена dc1.astra.loc и dc2.astra.loc, и контроллер dc2.astra.loc  был полностью уничтожен.

Для восстановления контроллера из реплики необходимо иметь контейнер с сертификатами. Этот контейнер должен быть сохранен заранее и доступен при восстановлени.

  • на сохранившемся контроллере домена dc1.astra.loc:
    • удалить соглашение о репликации с потерянным контроллером:
      sudo ipa-replica-manage del dc2.astra.loc
    • убедиться, что удалены все записи DNS об утерянном сервере:
      ipa dnsrecord-find astra.loc
      если записи не удалены - повторить удаление соглашения о репликации, при необходимость - удалить записи через web-интерфейс FreeIPA;
  • на новом компьютере:
    • установить ОС;
    • войти под локальной учетной записью привилегированного пользователя (для Astra Linux Special Edition - привилегированного пользователя с высоким уровнем целостности);
    • назначить серверу полное имя (FQDN) такое же, как у исходного сервера;
    • настроить сеть так же, как она была настроена на исходном сервере;
    • ввести новый компьютер в домен;
    • перезагрузить сервер;
    • войти под учетной записью доменного администратора;

    • инициализировать новую реплику используя сохраненный контейнер с сертификатом старого контроллера домена (см. Инициализация сервера реплики DC FreeIPA ):
      sudo astra-freeipa-replica -a dc2.astra.loc-200305-142302.p12 --pin 12345678

Восстановление контроллера домена FreeIPA из резервной копии

Восстановление состояния контроллера домена

При условии, что резерная копия размещена в принятых по умолчанию каталогах, восстановление состояния контроллера домена выполняется одной командой с указанием имени резервной копии. Для восстановления небходимо указать пароль администратора и подтвердить согласие с удалением существующих данных:

sudo ipa-restore ipa-full-2021-09-22-17-04-02/

Directory Manager (existing master) password:

Preparing restore from /var/lib/ipa/backup/ipa-full-2021-09-22-17-04-02/ on ipa0.ipadomain0.ru
Performing FULL restore from FULL backup
Temporary setting umask to 022
Restoring data will overwrite existing live data.
Continue to restore? [no]: yes
Each master will individually need to be re-initialized or
re-created from this one. The replication agreements on
masters running IPA 3.1 or earlier will need to be manually
re-enabled. See the man page for details.
Disabling all replication.
Stopping IPA services
Configuring certmonger to stop tracking system certificates for CA
Systemwide CA database updated.
Restoring files
Systemwide CA database updated.
Restoring from userRoot in IPADOMAIN0-RU
Restarting GSS-proxy
Starting IPA services
Restarting SSSD
Restarting oddjobd
Restoring umask to 18
The ipa-restore command was successful

Если резервная копия находится в нестандарном каталоге вместо имени резервной копии можно указать полный путь к каталогу резервной копии:

sudo ipa-restore /var/lib/ipa/backup/ipa-full-2021-09-22-17-04-02/
Восстановление когда данные домена полностью уничтожены

Для восстановления сервера FreeIPA на новом компьютере при отсутствии реплик и наличии полной резервной копии:

  • установить ОС на новый компьютер;
  • войти под локальной учетной записью привилегированного пользователя (для Astra Linux Special Edition - привилегированного пользователя с высоким уровнем целостности);
  • назначить серверу полное имя (FQDN) такое же, как у исходного сервера;
  • настроить сеть так же, как она была настроена на исходном сервере;
  • развернуть FreeIPA КД с пустой базой по инструкции - Инициализация первого DC FreeIPA;
  • перезагрузить сервер;
  • войти под локальной учетной записью привилегированного пользователя (для Astra Linux Special Edition - привилегированного пользователя с высоким уровнем целостности);

    Не использовать вход в сессию администратора домена до восстановления контроллера домена из резервной копии.
  • скопировать резервную копию на новый компьютер. Если при создании резервной копии использовалось защитное преобразование - обеспечить доступ к использованным при создании ключам;
  • выполнить команду восстановления. Для выполнения команды потребуется указать пароль администратора нового сервера FreeIPA и подтвердить удаление существующих данных:

    sudo ipa-restore /var/lib/ipa/backup/ipa-full-2021-09-22-17-04-02/

    Directory Manager (existing master) password:

    Preparing restore from /var/lib/ipa/backup/ipa-full-2021-09-22-17-04-02/ on ipa0.ipadomain0.ru
    Performing FULL restore from FULL backup
    Temporary setting umask to 022
    Restoring data will overwrite existing live data.
    Continue to restore? [no]: yes
    Each master will individually need to be re-initialized or
    re-created from this one. The replication agreements on
    masters running IPA 3.1 or earlier will need to be manually
    re-enabled. See the man page for details.
    Disabling all replication.
    Stopping IPA services
    Configuring certmonger to stop tracking system certificates for CA
    Systemwide CA database updated.
    Restoring files
    Systemwide CA database updated.
    Restoring from userRoot in IPADOMAIN0-RU
    Restarting GSS-proxy
    Starting IPA services
    Restarting SSSD
    Restarting oddjobd
    Restoring umask to 18
    The ipa-restore command was successful

  • перезагрузить сервер;
  • войти под учетной записью администратора домена, используя старые имя и пароль;

    Если до восстановления контроллера домена из резервной копии производился вход в сессию администратора домена с таким же именем - то вход будет невозможен.
    В этом случае необходимо удалить домашний каталог этой доменной учетной записи.  

Проверка корректности восстановления

Для простой проверки корректности восстановления можно проверить списки пользователей, хостов и контроллеров:

kinit admin
ipa user-find
ipa host-find
ipa server-find

Проверка восстановления базы, в случае когда был единственный сервер КД

На  КД FreeIPA добавим два тестовых пользователя в домен FreeIPA:

admin@dc1:~$ ipa user-add testuser1 --password
admin@dc1:~$ ipa user-add testuser2 --password
Создадим две тестовые  группы:
admin@dc1:~$ ipa group-add group1
admin@dc1:~$ ipa group-add group2


astrauser@astracomp:~$ scp ipa.tar.gz user@10.0.20.21:~
user@10.0.20.21's password: 
ipa.tar.gz         
                                                                           100% 3873KB  18.6MB/s   00:00 

Переходим на сервер FreeIPA КД и вводим команду восстановления.:

sudo ipa-restore /var/lib/ipa/backup/ipa-full-2020-03-04-18-28-46/
Directory Manager (existing master) password: 

Preparing restore from /var/lib/ipa/backup/ipa-full-2020-03-04-18-28-46/ on dc1.astra.loc
Performing FULL restore from FULL backup
Temporary setting umask to 022
Restoring data will overwrite existing live data. Continue to restore? [no]: yes     
Each master will individually need to be re-initialized or
re-created from this one. The replication agreements on
masters running IPA 3.1 or earlier will need to be manually
re-enabled. See the man page for details.
Disabling all replication.
Stopping IPA services
Configuring certmonger to stop tracking system certificates for CA
Systemwide CA database updated.
Restoring files
Systemwide CA database updated.
Restoring from userRoot in ASTRA-LOC
Restarting GSS-proxy
Starting IPA services
Restarting SSSD
Restarting oddjobd
Restoring umask to 18
The ipa-restore command was successful

Перезагружаем сервер.

Входим под уч.записью доменного пользователя (admin), вводим пароль который был в старой базе КД.

Если не удается зайти под доменной учетной записью, то возможно что производился вход под такой же учетной записью, до восстановления КД из резервной копии.
В этом случае необходимо удалить домашний каталог этой доменной учетной записи.  


Проверяем восстановление сервера:
Ищем пользователей и группы из восстанавливаемой базы КД. 

admin@dc1:~$ ipa user-find testuser1
--------------
1 user matched
--------------
  Имя учётной записи пользователя: testuser1
  Имя: 11
  Фамилия: 11
  Домашний каталог: /home/testuser1
  Оболочка входа: /bin/sh
  Имя учётной записи: testuser1@ASTRA.LOC
  Псевдоним учётной записи: testuser1@ASTRA.LOC
  Адрес электронной почты: testuser1@astra.loc
  UID: 440009
  ID группы: 440009
  Учётная запись отключена: False
---------------------------------
Количество возвращённых записей 1
---------------------------------

admin@dc1:~$ ipa group-find group2
---------------
1 group matched
---------------
  Имя группы: group2
  ID группы: 440012
---------------------------------
Количество возвращённых записей 1
---------------------------------

Убеждаемся, что созданные ранее пользователи и группы восстановлены.

Проверка репликации сервера, после восстановления реплики КД, взамен вышедшей из строя.

Воспроизводим ситуацию, когда данные на одном из серверов реплик КД полностью уничтожены.
В таком случае восстановление сводится к новой инициализации сервера реплики КД с таким же FQDN и сетевыми настройками. 
Перед восстановлением реплики нужно удалить информацию о старом сервере, на одном из доступных рабочих серверов (репликах КД).

Предположим, что тестовый стенд состоит из 2х серверов КД:    dc1.astra.loc   и   dc2.astra.loc  .
Сервер dc2.astra.loc  был полностью уничтожен.


Удаляем соглашение о репликации:

admin@dc1:~$ sudo ipa-replica-manage del dc2.astra.loc
Directory Manager password: 

Updating DNS system records
---------------------------------
Удалён IPA-сервер "dc2.astra.loc"
---------------------------------
admin@dc1:~$ sudo ipa-replica-manage del dc2.astra.loc
Updating DNS system records
dc2.astra.loc: сервер не найден
admin@dc1:~$ 

Команду " ipa-replica-manage del "  рекомендуется выполнить 2 раза, т.к. после первого запуска остаются записи в DNS и нормально удаляются только после второго запуска.    

После  этого  нужно убедиться, что в DNS не осталось SRV записей о сервере "dc2.astra.loc"

admin@dc1:~$ ipa dnsrecord-find astra.loc

Возможно останутся записи "SSHFP record"  ,  но они не повлияют на дальнейшую работу и после ввода нового сервера будут перезаписаны. 


Вводим новый клиент "dc2.astra.loc" в домен. 
Перезагружаем и входим под доменной учетной записью "admin". 


Далее копируем ранее созданный контейнер с сертификатами  *.p12 ,  с сервера "dc1.astra.loc"  (на котором он выпускался)  на восстанавливаемый "dc2.astra.loc"  .

admin@dc1:~$ sudo scp /etc/ssl/freeipa/dc2.astra.loc-200305-142302.p12 admin@dc2.astra.loc:~
Добавляем PTR запись в DNS для  "dc2.astra.loc"  :

admin@dc1:~$ ipa dnsrecord-add 20.0.10.in-addr.arpa. 22 --ptr-rec dc2.astra.loc.  
  Имя записи: 22
  PTR record: dc2.astra.loc.

И переходим на сервер "dc2.astra.loc"  для инициализации (восстановления) реплики КД   (инструкция  Инициализация сервера реплики DC FreeIPA ) . 

admin@dc2:~$ sudo astra-freeipa-replica -a dc2.astra.loc-200305-142302.p12 --pin 12345678

После инициализации сервера реплики и перезагрузки, возможна ошибка при попытке входа в WEB интерфейс FreeIPA.


В   /var/log/syslog   будут ошибки вида:

Mar  7 11:35:31 dc2 named-pkcs11[929]: LDAP error: Can't contact LDAP server: bind to LDAP server failed

В этом случае необходимо проверить сетевые настройки и поменять адрес DNS, указав первым свой ip адрес "10.0.20.22".

Далее проверяем восстановленный сервер dc2.astra.loc .
Ищем на нем учетные записи доменных пользователей и групп, которые должны были реплицироваться с dc1.astra.loc.  

admin@dc2:~$ ipa user-find testuser1
--------------
1 user matched
--------------
  Имя учётной записи пользователя: testuser1
  Имя: 11
  Фамилия: 11
  Домашний каталог: /home/testuser1
  Оболочка входа: /bin/sh
  Имя учётной записи: testuser1@ASTRA.LOC
  Псевдоним учётной записи: testuser1@ASTRA.LOC
  Адрес электронной почты: testuser1@astra.loc
  UID: 440009
  ID группы: 440009
  Учётная запись отключена: False
---------------------------------
Количество возвращённых записей 1
---------------------------------

admin@dc2:~$ ipa group-find group2
---------------
1 group matched
---------------
  Имя группы: group2
  ID группы: 440012
---------------------------------
Количество возвращённых записей 1
---------------------------------

Убеждаемся, что сервер  dc2.astra.loc восстановлен и реплецирована актуальная база КД .




 








  • Нет меток