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

Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

Оглавление


Информация
titleДанная статья применима к:
  • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7), РУСБ.10015-10
  • Astra Linux Special Edition РУСБ.10015-17
  • Astra Linux Special Edition РУСБ.10015-37 (очередное обновление 7.7)
  • Astra Linux Special Edition РУСБ.10015-03 (очередное обновление 7.6)
  • Astra Linux Special Edition РУСБ.10152-02 (очередное обновление 4.7)
  • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6)
  • Astra Linux Special Edition РУСБ.10015-16 исп. 1
  • Astra Linux Special Edition РУСБ.10015-16 и исп. 2
  • Astra Linux Special Edition РУСБ.10265-01 (очередное обновление 8.1)
  • Astra Linux Common Edition 2.12


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

Предупреждение

Во избежание потери данных рекомендуется сохранять созданные резервные копии на отдельных серверах или носителях. Создание резервных копий должно выполняться на регулярной основе, дополнительно рекомендуется создавать резервные копии непосредственно перед обновлениями системы.

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

При работе без использования центра управления сертификатами DogTag:

  • для восстановления контроллеров домена с помощью репликации
неоходимо
  • необходимо заранее сохранить
файл - контейнер с его сертификатом
  • файлы - контейнеры p12 с сертификатами этих контроллеров;
  • необходимо обеспечить сохранность файлов, находящихся в каталоге /etc/ssl/freeipa на первом созданном контроллере домена. В случае утери этих файлов дальнейшая работа с доменом станет невозможной.


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

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

  • Поддерживает Поддерживается два варианта создания резервной копии:
    • Полная резервная копия. Требует остановки служб FreeIPAДля создания полной резервной копии требуется остановка служб 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

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

    • тип резервной копии (полная или данных);
    • время создания резервной копии;
    • имя хоста;
    • номер версии FreeIPA;
    • номер версии резервной копии;
    • список сервисов, используемых хостом.
  • Резервные копии не могут быть восстановлены на другом компьютерекомпьютере, имеющем конфигурацию, отличающуюся от исходного компьютера;
  • Резервные копии не могут быть восстановлены с другой версией FreeIPFreeIPA.

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

warning
Command
Titlesudo 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 :

  • имеется локальная сеть с адресом 10.0.20.0/24;
  • были созданы два контроллера домена ipa0.ipadomain0.ru и ipa1.ipadomain0.ru (с IP-адресом 10.0.2.22);
  • контроллер ipa1.ipadomain0.ru  был полностью уничтожен.
Предупреждение
Для
  • При работе без использования центра сертификации DogTag: для восстановления контроллера из реплики необходимо иметь контейнер p12 с сертификатами. Этот контейнер должен быть сохранен заранее и доступен при
восстановлени
  • восстановлении. В случае утери контейнера с сертификатами можно создать новую реплику с новым сертификатом, но восстановить утерянную реплику невозможно;
  • При работе с использованием центра сертификации DogTag действия по восстановлению сертификатов не требуются, будет создана новая реплика, возможно, с тем же именем хоста, но с новыми сертификатами.
  • на сохранившемся контроллере домена dc1ipa0.astraipadomain0.locru:
    • удалить соглашение о репликации с потерянным контроллером:

      Command
      sudo ipa-replica-manage del
      dc2
      ipa1.
      astra
      ipadomain0.
      loc
      ru


    • убедиться, что удалены

      все

      DNS-записи

      DNS

      об утерянном сервере. Должны быть удалены все упоминания восстанавливаемого контроллера домена в записях типов "SRV record", "A record", "NS record":

      Command
      ipa dnsrecord-find
      astra.loc
      если
      ipadomain0.ru | egrep "(SRV|A|NS) record:"

      Если записи не удалены - повторить удаление соглашения о репликации, при

      необходимость

      необходимости - удалить записи через web-интерфейс FreeIPA;

    • добавить запись типа "PTR" в реверсивную зону:

      Command
      ipa dnsrecord-add 20.0.10.in-addr.arpa. 22 --ptr-rec ipa1.ipadomain0.ru.

      где 22 - адрес восстанавливаемого компьютера;

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

    • инициализировать новую реплику используя (если не используется DogTag - то можно использовать сохраненный контейнер p12 с сертификатом старого контроллера домена (см. Инициализация сервера реплики DC FreeIPA ):
      . См. FreeIPA: настройка репликации). Примеры команд:

      • Без использования DogTag:

        Command
        sudo astra-freeipa-replica -a
      dc2
      • ipa1.
      astra
      • ipadomain0.
      loc
      • ru-200305-142302.p12 --pin 12345678


      • С использованием DogTag:

        Command
        sudo astra-freeipa-replica --dogtag


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

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

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

Command
Titlesudo 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

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

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

Восстановление когда данные домена полностью уничтожены

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

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

    Предупреждение
    Не использовать вход в сессию администратора домена до восстановления контроллера домена из резервной копии.


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

    Command
    Titlesudo 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


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

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


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

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

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


Ошибка при попытке входа в web-интерфейс FreeIPA после восстановления

Если после восстановления реплики и перезагрузки при попытке входа в web-интерфейс FreeIPA возникает ошибка "Login failed due to an unknown reason":

Image Added

и в журнале /var/log/syslog регистрируются ошибки вида:

Блок кода
... 

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

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

Command

admin@dc1:~$ ipa user-add testuser1 --password
admin@dc1:~$ ipa user-add testuser2 --password

Создадим две тестовые  группы:

Command

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"

Command

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

Примечание

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

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

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

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 ) . 

Command

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

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

Image Removed

В   /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 восстановлен и реплецирована актуальная база КД .

 

(файл /etc/resolv.conf) и изменить их так, чтобы первым был указан собственный IP-адрес восстановленной реплики.

Обновление серверов FreeIPA

Обновление серверов FreeIPA выполняется при общем обновлении системы:

Предупреждение
Использование для обновления команды ipa-server-upgrade не поддерживается.