FreeIPA migration: различия между версиями
Нет описания правки |
мНет описания правки |
||
(не показано 7 промежуточных версий 1 участника) | |||
Строка 1: | Строка 1: | ||
=Миграция данных и конфигурации FreeIPA сервера с P8 на P9= | |||
Процесс миграции FreeIPA отлично задокументирован RedHat <ref>''[https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/installing_identity_management/migrate-7-to-8_migrating Migrating IdM from RHEL 7 to 8]''</ref> <ref>''[https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/linux_domain_identity_authentication_and_policy_guide/migrate-6-to-7 Migrating Identity Management from Red Hat Enterprise Linux 6 to Version 7]''</ref> | Процесс миграции FreeIPA отлично задокументирован RedHat <ref>''[https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/installing_identity_management/migrate-7-to-8_migrating Migrating IdM from RHEL 7 to 8]''</ref> <ref>''[https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/linux_domain_identity_authentication_and_policy_guide/migrate-6-to-7 Migrating Identity Management from Red Hat Enterprise Linux 6 to Version 7]''</ref> | ||
Строка 9: | Строка 9: | ||
p8.ipa.test - система на P8, на которой присутствует роль 'CA renewal master'. | p8.ipa.test - система на P8, на которой присутствует роль 'CA renewal master'. | ||
Существует несколько способов для определения наличия этой роли(в зависимости от версии FreeIPA).<br /> | Существует несколько способов для определения наличия этой роли (в зависимости от версии FreeIPA).<br /> | ||
Чтобы определить какой из CA master является CA renewal master указанную команду необходимо выполнить на каждом IPA сервере. | Чтобы определить какой из CA master является CA renewal master указанную команду необходимо выполнить на каждом IPA сервере. | ||
Строка 21: | Строка 21: | ||
==Предварительные требования для миграции FreeIPA c P8 на P9== | ==Предварительные требования для миграции FreeIPA c P8 на P9== | ||
<br /> | |||
На p8.ipa.test: | На p8.ipa.test: | ||
* Система обновлена до текущего состояния репозитория. | * Система обновлена до текущего состояния репозитория. | ||
Строка 30: | Строка 29: | ||
На p9.ipa.test: | На p9.ipa.test: | ||
* Система обновлена до текущего состояния репозитория. | * Система обновлена до текущего состояния репозитория. | ||
==Установка реплики на P9== | ==Установка реплики на P9== | ||
<br /> | |||
Установите IPA сервер на p9.ipa.test как реплику p8.ipa.test IPA сервера | Установите IPA сервер на p9.ipa.test как реплику p8.ipa.test IPA сервера с теми ролями, которые были задействованы на p8.ipa.test, например: | ||
<syntaxhighlight lang="console"> | <syntaxhighlight lang="console"> | ||
[root@p9.ipa.test ~]# ipa-replica-install --setup-ca --setup-dns --no-forwarders -P admin -w SecretPassword --no-reverse | [root@p9.ipa.test ~]# ipa-replica-install --setup-ca --setup-dns --no-forwarders -P admin -w SecretPassword --no-reverse | ||
Строка 42: | Строка 40: | ||
--setup-dns для включения роли DNS сервера | --setup-dns для включения роли DNS сервера | ||
Указывать явно P8 IPA сервер не потребуется, если корректно настроен DNS. | Указывать явно P8 IPA сервер не потребуется, если корректно настроен DNS.<br /> | ||
После установки реплики проверяем, что IPA службы запущены на p9.ipa.test: | После установки реплики проверяем, что IPA службы запущены на p9.ipa.test: | ||
Строка 54: | Строка 52: | ||
Проверьте, что и p8.ipa.test, и p9.ipa.test выступают в роли CA master. | Проверьте, что и p8.ipa.test, и p9.ipa.test выступают в роли CA master. | ||
<syntaxhighlight lang="console"> | <syntaxhighlight lang="console"> | ||
[root@p9.ipa.test ~]# ipa-csreplica-manage list | [root@p9.ipa.test ~]# ipa-csreplica-manage list | ||
p8.ipa.test: master | p8.ipa.test: master | ||
Строка 76: | Строка 73: | ||
На p9.ipa.test добавим роль CA renewal master | На p9.ipa.test добавим роль CA renewal master | ||
<syntaxhighlight lang="console"> | <syntaxhighlight lang="console"> | ||
[root@p9.ipa.test ~]# ipa config-mod --ca-renewal-master-server | [root@p9.ipa.test ~]# kinit admin | ||
[root@p9.ipa.test ~]# ipa config-mod --ca-renewal-master-server p9.ipa.test | |||
... | ... | ||
IPA CA servers: p8.ipa.test, p9.ipa.test | IPA CA servers: p8.ipa.test, p9.ipa.test | ||
Строка 95: | Строка 93: | ||
Если значение <span style="color:blue">true</span>, то это CRL generation master. | Если значение <span style="color:blue">true</span>, то это CRL generation master. | ||
Останавливаем инстанс pki-tomcat PKI: | |||
<syntaxhighlight lang="console"> | <syntaxhighlight lang="console"> | ||
[root@p8.ipa.test ~]# systemctl stop pki-tomcatd@pki-tomcat | [root@p8.ipa.test ~]# systemctl stop pki-tomcatd@pki-tomcat | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Устанавливаем значения <span style="color:blue">ca.crl.MasterCRL.enableCRLCache</span> и <span style="color:blue">ca.crl.MasterCRL.enableCRLUpdates</span> в файле <span style="color:blue">/etc/pki/pki-tomcat/ca/CS.cfg</span> в <span style="color:blue">false</span>: | |||
ca.crl.MasterCRL.enableCRLCache=false | ca.crl.MasterCRL.enableCRLCache=false | ||
ca.crl.MasterCRL.enableCRLUpdates=false | ca.crl.MasterCRL.enableCRLUpdates=false | ||
Запускаем инстанс pki-tomcat PKI: | |||
<syntaxhighlight lang="console"> | <syntaxhighlight lang="console"> | ||
[root@p8.ipa.test ~]# systemctl start pki-tomcatd@pki-tomcat | [root@p8.ipa.test ~]# systemctl start pki-tomcatd@pki-tomcat | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Настраиваем Apache для перенаправления CRL запросов на новый CRL master, раскомментировав RewriteRule на последней строке в <span style="color:blue">/etc/httpd2/conf/extra-enabled/ipa-pki-proxy.conf</span> | |||
# Only enable this on servers that are not generating a CRL | <pre># Only enable this on servers that are not generating a CRL | ||
RewriteRule ^/ipa/crl/MasterCRL.bin https://p8.ipa.test/ca/ee/ca/getCRL?op=getCRL&crlIssuingPoint=MasterCRL [L,R=301,NC] | RewriteRule ^/ipa/crl/MasterCRL.bin https://p8.ipa.test/ca/ee/ca/getCRL?op=getCRL&crlIssuingPoint=MasterCRL [L,R=301,NC]</pre> | ||
Перезапускаем Apache: | |||
<syntaxhighlight lang="console"> | <syntaxhighlight lang="console"> | ||
[root@p8.ipa.test ~]# systemctl restart | [root@p8.ipa.test ~]# systemctl restart httpd2 | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Строка 144: | Строка 142: | ||
Убедимся, что репликация в domain сегменте работает (P8->P9), например: | Убедимся, что репликация в domain сегменте работает (P8->P9), например: | ||
Добавим нового пользователя на p8.ipa.test: | |||
<syntaxhighlight lang="console"> | <syntaxhighlight lang="console"> | ||
[root@p8.ipa.test ~]# ipa user-add test | [root@p8.ipa.test ~]# ipa user-add test | ||
Строка 151: | Строка 149: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Убедимся, что пользователь среплицирован на p9.ipa.test: | |||
<syntaxhighlight lang="console"> | <syntaxhighlight lang="console"> | ||
[root@p9.ipa.test ~]# ipa user-find test | [root@p9.ipa.test ~]# ipa user-find test | ||
Строка 177: | Строка 175: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Удаляем p8.ipa.test сервер из топологии на p9.ipa.test.< | Удаляем p8.ipa.test сервер из топологии на p9.ipa.test: | ||
<syntaxhighlight lang="console"> | |||
[root@p9.ipa.test ~]# ipa server-del p8.ipa.test | |||
</syntaxhighlight> | |||
Запускаем процедуру обновления на p9.ipa.test: | |||
<syntaxhighlight lang="console"> | |||
[root@p9.ipa.test ~]# ipa-server-upgrade | |||
</syntaxhighlight> | |||
Добавляем аттрибут <code>issuerName</code> к записям сертификатов: | |||
<syntaxhighlight lang="console"> | |||
[root@p9.ipa.test ~]# pki-server db-upgrade | |||
</syntaxhighlight> | |||
После выполненной полной миграции IPA окружения настоятельно рекомендуется проверить установку с помощью утилиты <span style="color:blue">ipa-healthcheck</span> (пакет freeipa-healthcheck). | После выполненной полной миграции IPA окружения настоятельно рекомендуется проверить установку с помощью утилиты <span style="color:blue">ipa-healthcheck</span> (пакет freeipa-healthcheck). | ||
[[Категория:FreeIPA]] |
Текущая версия от 13:51, 20 апреля 2022
Миграция данных и конфигурации FreeIPA сервера с P8 на P9
Процесс миграции FreeIPA отлично задокументирован RedHat [1] [2] , но несмотря на это для миграции IPA c P8 на P9 существует ряд отличий.
Условные обозначения
p9.ipa.test - система на P9, на которую планируется добавить роль 'CA renewal master'. p8.ipa.test - система на P8, на которой присутствует роль 'CA renewal master'.
Существует несколько способов для определения наличия этой роли (в зависимости от версии FreeIPA).
Чтобы определить какой из CA master является CA renewal master указанную команду необходимо выполнить на каждом IPA сервере.
Для P8(4.3.x):
[root@p8.ipa.test ~]# getcert list -d /etc/pki/pki-tomcat/alias -n "subsystemCert cert-pki-ca" | grep post-save
post-save директива, которая выполняет renew_ca_cert, определена только для CA renewal master.
Предварительные требования для миграции FreeIPA c P8 на P9
На p8.ipa.test:
- Система обновлена до текущего состояния репозитория.
На p9.ipa.test:
- Система обновлена до текущего состояния репозитория.
Установка реплики на P9
Установите IPA сервер на p9.ipa.test как реплику p8.ipa.test IPA сервера с теми ролями, которые были задействованы на p8.ipa.test, например:
[root@p9.ipa.test ~]# ipa-replica-install --setup-ca --setup-dns --no-forwarders -P admin -w SecretPassword --no-reverse
--setup-ca для включения роли Certificate System --setup-dns для включения роли DNS сервера
Указывать явно P8 IPA сервер не потребуется, если корректно настроен DNS.
После установки реплики проверяем, что IPA службы запущены на p9.ipa.test:
root@p9.ipa.test# ipactl status
Directory Service: RUNNING
...
ipa: INFO: The ipactl command was successful
Проверьте, что и p8.ipa.test, и p9.ipa.test выступают в роли CA master.
[root@p9.ipa.test ~]# ipa-csreplica-manage list
p8.ipa.test: master
p9.ipa.test: master
Дополнительно можно удостовериться в отсутствии ошибок репликации для сегмента ca:
[root@p9.ipa.test ~]# ipa-csreplica-manage list --verbose p9.ipa.test
Directory Manager password:
p8.ipa.test
last update status: Error (0) No replication sessions started since server startup
last update ended: 1970-01-01 00:00:00+00:00
Заменяем CA renewal master с p8.ipa.test на p9.ipa.test
На p9.ipa.test добавим роль CA renewal master
[root@p9.ipa.test ~]# kinit admin
[root@p9.ipa.test ~]# ipa config-mod --ca-renewal-master-server p9.ipa.test
...
IPA CA servers: p8.ipa.test, p9.ipa.test
IPA CA renewal master: p9.ipa.test
Отключение генерации Certificate Revocation List (CRL) на p8.ipa.test
В IPA 4.3.3 нет команды ipa-crlgen-manage, которая автоматизирует указанные ниже шаги, поэтому делаем все вручную:
На p8.ipa.test необходимо проверить генерируется ли CRL:
[root@p8.ipa.test ~]# grep ca.crl.MasterCRL.enableCRLUpdates /etc/pki/pki-tomcat/ca/CS.cfg
ca.crl.MasterCRL.enableCRLUpdates=true
Если значение true, то это CRL generation master.
Останавливаем инстанс pki-tomcat PKI:
[root@p8.ipa.test ~]# systemctl stop pki-tomcatd@pki-tomcat
Устанавливаем значения ca.crl.MasterCRL.enableCRLCache и ca.crl.MasterCRL.enableCRLUpdates в файле /etc/pki/pki-tomcat/ca/CS.cfg в false:
ca.crl.MasterCRL.enableCRLCache=false ca.crl.MasterCRL.enableCRLUpdates=false
Запускаем инстанс pki-tomcat PKI:
[root@p8.ipa.test ~]# systemctl start pki-tomcatd@pki-tomcat
Настраиваем Apache для перенаправления CRL запросов на новый CRL master, раскомментировав RewriteRule на последней строке в /etc/httpd2/conf/extra-enabled/ipa-pki-proxy.conf
# Only enable this on servers that are not generating a CRL RewriteRule ^/ipa/crl/MasterCRL.bin https://p8.ipa.test/ca/ee/ca/getCRL?op=getCRL&crlIssuingPoint=MasterCRL [L,R=301,NC]
Перезапускаем Apache:
[root@p8.ipa.test ~]# systemctl restart httpd2
Включение роли CRL master на p9.ipa.test
[root@p9.ipa.test ~]# ipa-crlgen-manage enable
Stopping pki-tomcatd
Editing /var/lib/pki/pki-tomcat/conf/ca/CS.cfg
Starting pki-tomcatd
Editing /etc/httpd2/conf/extra-enabled/ipa-pki-proxy.conf
Restarting httpd
Forcing CRL update
CRL generation enabled on the local host. Please make sure to have only a single CRL generation master.
The ipa-crlgen-manage command was successful
Проверка статуса CRL
[root@p9.ipa.test ~]# ipa-crlgen-manage status
CRL generation: enabled
Last CRL update: 2020-09-10 06:35:44
Last CRL Number: 8
The ipa-crlgen-manage command was successful
Вывод из эксплуатации p8.ipa.test
Убедимся, что репликация в domain сегменте работает (P8->P9), например:
Добавим нового пользователя на p8.ipa.test:
[root@p8.ipa.test ~]# ipa user-add test
First name: test
Last name: test
Убедимся, что пользователь среплицирован на p9.ipa.test:
[root@p9.ipa.test ~]# ipa user-find test
--------------
1 user matched
--------------
User login: test
First name: test
Last name: test
Останавливаем IPA на p8.ipa.test:
[root@p8.ipa.test ~]# ipactl stop
Stopping ipa-otpd Service
Stopping pki-tomcatd Service
Stopping ipa-custodia Service
Stopping httpd Service
Stopping ipa_memcached Service
Stopping named Service
Stopping kadmin Service
Stopping krb5kdc Service
Stopping Directory Service
ipa: INFO: The ipactl command was successful
Удаляем p8.ipa.test сервер из топологии на p9.ipa.test:
[root@p9.ipa.test ~]# ipa server-del p8.ipa.test
Запускаем процедуру обновления на p9.ipa.test:
[root@p9.ipa.test ~]# ipa-server-upgrade
Добавляем аттрибут issuerName
к записям сертификатов:
[root@p9.ipa.test ~]# pki-server db-upgrade
После выполненной полной миграции IPA окружения настоятельно рекомендуется проверить установку с помощью утилиты ipa-healthcheck (пакет freeipa-healthcheck).