Перейти до змісту

Шифрування секретів інтеграцій

Третя служба того самого роду, що шифрування секретів SMS і Checkbox, — для ключів API, токенів і паролів решти інтеграцій.

Де шукати: Модулі → Система → Служби → Шифрування секретів інтеграцій

Розбір на прикладі

Шифрування секретів інтеграцій

Як і в сестер: пояснення й одна робоча кнопка «Виконати». «За розкладом» неактивна, бо операція разова. Параметрів немає — що саме шифрується, перелічено нижче.

Навіщо її запускати

Поля-секрети в налаштуваннях інтеграцій працюють лише на запис: значення зберігається в базі зашифрованим, у вікно не віддається (заданий секрет показується маскою з восьми крапок) і в пошуку не знаходиться. Так поводяться значення, збережені вже на новій версії. Те, що лежало в базі до оновлення, лишається відкритим текстом — і в самому полі, і в пошуковому відбитку запису.

Служба доводить старі значення до того самого стану. Запустіть її один раз після оновлення бази до версії з полями лише на запис. Розклад для неї вимкнений: операція разова.

Що саме шифрується

Пароль Atompark, з яким надсилаються SMS, ця служба не шифрує — його шифрує шифрування секретів SMS, запустіть і її. Пароль «Налаштування TurboSMS» шифрують обидві служби, а пошуковий відбиток обох SMS-налаштувань перебудовує кожна з них, тож старий відкритий пароль із нього прибере будь-яка.

Уже зашифровані й порожні значення пропускаються, тож повторний запуск безпечний. Служба проходить по всіх компаніях бази одразу, а не лише по поточній: секрет, забутий в іншій компанії, лишався б відкритим.

Заразом у кожному записі цих реєстрів перебудовується пошуковий відбиток — уже без секрету. Це робиться навіть тоді, коли сам секрет порожній чи вже зашифрований: відкритий текст міг лишитися у відбитку від давнішого збереження.

Ключ шифрування і збої

  • Ключ шифрування — частина конфігурації сервера, у базі його немає. Змінили чи втратили ключ, перенесли базу на сервер з іншим ключем — збережені секрети вже не розшифруються, інтеграції перестануть приймати свої ключі й паролі, і їх доведеться ввести заново в кожному налаштуванні.
  • Ключа на сервері немає — служба зупиняється на першому відкритому секреті з повідомленням «Секрет не вдалося зашифрувати на сервері. Зверніться до адміністратора, щоб він перевірив ключ шифрування»; відкриті значення лишаються як були.
  • Зворотної операції немає: у відкритий вигляд секрети не повертаються, розшифровує їх лише сервер у мить звернення до інтеграції.
  • Рядки записуються по одному, а не однією транзакцією: якщо служба зупинилась посередині, зроблене лишається, а повторний запуск доробить решту.

Як зрозуміти, що все спрацювало

Інтеграції працюють як працювали: система розшифровує збережене значення сама, поки ключ шифрування на сервері той самий. У вікні налаштувань різниці не видно — заданий секрет показується маскою з восьми крапок і до запуску, і після.

Після запуску служба показує підсумок на екрані: скільки рядків зашифровано, у скількох відкритий секрет знайдено в пошуку й прибрано, у скількох пошуковий текст перебудовано без приватних полів. Окремими рядками підсумку з трикутником ідуть: реєстр, який прочитати не вдалося; рядки, змінені, поки служба працювала (запустіть її ще раз); рядок, який не вдалося записати, — у ньому секрет лишився відкритим. Реєстр, якого в цій базі немає, пропускається мовчки. Подробиці по кожному реєстру — у журналі сервера.

Куди дивитися далі