Смена ключа шифрования БД
Компрометация ключа — ситуация, когда ключ становится известен и может быть использован третьими лицами. Если произошла компрометация ключей шифрования баз данных PAM, смените ключи путем обновления конфигурации PAM. Для ротации ключей используется утилита KeyRotator.
Пути к конфигурационным файлам компонентов приведены в таблице.
| Компонент | Windows | Linux |
|---|---|---|
| KeyRotator | IndeedPAM_3.3_RU\indeed-pam-tools\key-rotator\appsettings.json | /etc/indeed/indeed-pam/tools/key-rotator/appsettings.json |
| Core | C:\inetpub\wwwroot\core\appsettings.json | /etc/indeed/indeed-pam/core/appsettings.json |
| IdP | C:\inetpub\wwwroot\idp\appsettings.json | /etc/indeed/indeed-pam/idp/appsettings.json |
Настройка конфигурации KeyRotator
Расшифруйте конфигурационные файлы PAM в зависимости от схемы установки.
Откройте конфигурационный файл KeyRotator.
В секции
Databaseдля параметраProviderукажите тип сервера СУБД:PgSqlилиMsSql.
Не закрывайте файл.Конфигурационный файл KeyRotator
"Database": {
"Provider": "MsSql", // Укажите СУБД
"PamCore": "PAM_CORE_DB_CONNECTION_STRING",
"PamIdp": "PAM_IDP_DB_CONNECTION_STRING"
}Откройте конфигурационный файл Core.
В секции
ConnectionStringsскопируйте значение параметраPamCore.
Укажите это значение в конфигурационном файле KeyRotator в секцииDatabaseдля параметраPamCore.Конфигурационный файл Core
"$schema": "appsettings.schema.json",
"ConnectionStrings": {
"PamCore": "a4a1b2e2910371e15b353", // Скопируйте это значение
"JobsQueue": "ecda23a59b856554561ce"
}Конфигурационный файл KeyRotator
"Database": {
"Provider": "MsSql",
"PamCore": "a4a1b2e2910371e15b353", // Вставьте значение из файла компонента Core
"PamIdp": "PAM_IDP_DB_CONNECTION_STRING"
}Откройте конфигурационный файл Idp.
В секции
ConnectionStringsскопируйте значение параметраDefaultConnection.
Укажите это значение в конфигурационном файле KeyRotator в секцииDatabaseдля параметраPamIdp.Конфигурационный файл Idp
"ConnectionStrings": {
"DefaultConnection": "77f6951e7881ed232cd2d", // Скопируйте это значение
"JobsQueue": "0786670f99283fcceee86"
}Конфигурационный файл KeyRotator
"Database": {
"Provider": "MsSql",
"PamCore": "ENCRYPTED_CfDJ8DpxpXA-mxxMpMmnxTrA",
"PamIdp": "77f6951e7881ed232cd2d" // Вставьте значение из файла компонента IdP
}Сохраните изменения в конфигурационном файле KeyRotator.
Смена ключа шифрования
Смените ключи шифрования баз данных компонентов Core или Idp. Если нужны изменения для обоих компонентов, меняйте ключи поочередно, так как конфигурационный файл KeyRotator хранит только один набор ключей.
База данных компонента Core
Сгенерируйте новый ключ шифрования.
- Windows
- Linux
Чтобы сгенерировать ключ с помощью утилиты KeyGen:
- Перейдите в дистрибутив PAM по пути IndeedPAM_3.3_RU\indeed-pam-tools\key-gen
- Запустите утилиту IndeedPAM.KeyGen.exe.
- Для параметра Algorithm выберите Aes и нажмите Generate.
В результате сгенерируется ключ, например,e16155e21c73e86c4792c. - Сохраните или скопируйте ключ.
Чтобы сгенерировать ключ с помощью утилиты OpenSSL, выполните команду:
openssl rand -hex 32rand— команда для генерации случайных данных.-hex— вывод ключа в шестнадцатеричном формате.32— размер ключа в байтах.
В консоли появится ключ, например,e16155e21c73e86c4792c. Сохраните или скопируйте его.Откройте конфигурационный файл Core. В секции
Encryptionу параметраKeyскопируйте старый ключ и сохраните его, затем укажите новый ключ шифрования.Конфигурационный файл Core
"Encryption": {
"Primary": {
"Algorithm": "AES",
"HashAlgorithm": "SHA512",
"Key": "1c697af0512e1a20ce099", // Скопируйте старый ключ, а затем вставьте новый ключ
"MediaFiles": {
"Algorithm": "AES"
}
}
}Откройте конфигурационный файл KeyRotator.
В секции
Encryptionдля параметраKeyукажите новый ключ шифрования.
В секцииSecondaryдля параметраKeyукажите значение старого ключа из конфигурационного файла Core.Конфигурационный файл KeyRotator
"Encryption": {
// new encryption settings
"Primary": {
"Algorithm": "AES",
"HashAlgorithm": "SHA512",
"Key": "e16155e21c73e86c4792c" // Вставьте новый ключ
},
// old encryption settings
"Secondary": {
"Algorithm": "AES",
"HashAlgorithm": "SHA512",
"Key": "1c697af0512e1a20ce099" // Вставьте старый ключ из файла компонента Core
}
}Сохраните изменения в конфигурационных файлах KeyRotator и Core.
Выполните ротацию ключа с помощью утилиты KeyRotator.
- Windows
- Linux
- Перейдите в дистрибутив PAM по пути IndeedPAM_3.3_RU\indeed-pam-tools\key-rotator
- Запустите утилиту Pam.Tools.KeyRotator.exe.
Выполните команду в терминале:
sudo bash /etc/indeed/indeed-pam/tools/key-rotator.sh rotate --component CoreЗашифруйте конфигурационный файл и перезапустите сервер управления.
База данных компонента Idp
Сгенерируйте новый ключ шифрования.
- Windows
- Linux
Чтобы сгенерировать ключ с помощью утилиты KeyGen:
- Перейдите в дистрибутив PAM по пути IndeedPAM_3.3_RU\indeed-pam-tools\key-gen
- Запустите утилиту IndeedPAM.KeyGen.exe.
- Для параметра Algorithm выберите Aes и нажмите Generate.
В результате сгенерируется ключ, например,594d73ab13ead58463da6. - Сохраните или скопируйте ключ.
Чтобы сгенерировать ключ с помощью утилиты OpenSSL, выполните команду:
openssl rand -hex 32rand— команда для генерации случайных данных.-hex— вывод ключа в шестнадцатеричном формате.32— размер ключа в байтах.
В консоли появится ключ, например,594d73ab13ead58463da6. Сохраните или скопируйте его.Откройте конфигурационный файл IdP. В секции
Encryptionу параметраKeyскопируйте старый ключ и сохраните его, затем укажите новый ключ шифрования.Конфигурационный файл IdP
"Encryption": {
"Primary": {
"Algorithm": "AES",
"HashAlgorithm": "SHA512",
"Key": "ceaaa7f6ac059e0140051", // Скопируйте старый ключ, а затем вставьте новый ключ
}
}Откройте конфигурационный файл KeyRotator.
В секции
Encryptionдля параметраKeyукажите новый ключ шифрования.
В секцииSecondaryдля параметраKeyукажите значение старого ключа из конфигурационного файла IdP.Конфигурационный файл KeyRotator
"Encryption": {
// new encryption settings
"Primary": {
"Algorithm": "AES",
"HashAlgorithm": "SHA512",
"Key": "594d73ab13ead58463da6" // Вставьте новый ключ
},
// old encryption settings
"Secondary": {
"Algorithm": "AES",
"HashAlgorithm": "SHA512",
"Key": "ceaaa7f6ac059e0140051" // Вставьте старый ключ из файла компонента Idp
}
}Сохраните изменения в конфигурационных файлах KeyRotator и IdP.
Выполните ротацию ключа с помощью утилиты KeyRotator.
- Windows
- Linux
- Перейдите в дистрибутив PAM по пути IndeedPAM_3.3_RU\indeed-pam-tools\key-rotator
- Запустите утилиту Pam.Tools.KeyRotator.exe.
Выполните команду в терминале:
sudo bash /etc/indeed/indeed-pam/tools/key-rotator.sh rotate --component CoreЗашифруйте конфигурационный файл и перезапустите сервер управления.
Шифрование и перезапуск сервера управления
После изменения конфигурационных файлов KeyRotator, Core или IdP выполните шифрование файлов и перезагрузите контейнеры сервера управления PAM.
- Windows
- Linux
Выполните шифрование конфигурационных файлов PAM.
Запустите PowerShell от имени администратора.
Запустите IIS Manager:
start inetmgrНажмите на нужный сервер на левой панели.
На правой панели нажмите Restart (Перезапустить).
Выполните шифрование конфигурационных файлов PAM.
Перейдите в папку со скриптами PAM и перезапустите компонент:
sudo bash /etc/indeed/indeed-pam/scripts/run-pam.sh