Общие сведения о защите Azure Key Vault от удаления

Опубликовано: 1 Марта, 2023
Общие сведения о защите Azure Key Vault от удаления

В наши дни Azure Key Vault должен быть частью любой облачной реализации. Это повышает безопасность на столь многих уровнях, что трудно представить полное решение, не полагаясь в значительной степени на Azure Key Vault. Иногда я вижу, как люди задают вопросы о безопасности и отказоустойчивости Key Vault как услуге, а также о традиционных сценариях «если». Цель этой статьи — создать простую симуляцию между Azure Key Vault и Capt. Destruction — злодеем, который сделает все возможное, чтобы разрушить Azure Key Vault путем безвозвратного удаления.

Когда я был ребенком, фильм «Крепкий орешек» был блокбастером. Когда я увидел, как Брюс Уиллис сражается в одиночку со всеми плохими парнями, это было впечатляюще (в этом комментарии я указал свой возраст), и при написании этой статьи я чувствовал, что Azure Key Vault находится в том же положении, что и мы. попробуйте несколько способов избавиться от чего-либо, хранящегося в нашем Key Vault. Я надеюсь, что к концу этой статьи вы будете доверять Azure Key Vault так же, как Брюсу Уиллису, спасающему мир от плохих парней.

Версии хранилища ключей

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

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

Если вы попытаетесь зашифровать данные, изменив содержимое, у вас будет больше данных, а предыдущие данные будут сохранены. Результат: Key Vault 1, Capt. Destruction 0.

Удаление секретов, ключей и сертификатов в Azure Key Vault

Отлично! Если мы не можем удалить определенные версии, давайте удалим все это, весь объект (секрет, ключ или сертификат), верно? Проблема решена — капитану Уничтожению!

Мы удалим тот же секрет Techgenix-Password, нажав «Удалить» и подтвердив, нажав « Да».

Готово, секрет утерян. Можем ли мы претендовать на победу в этом? Не так быстро, стрелок! Вернитесь на главную страницу секретов, нажмите Управляемые удаленные секреты и в новой колонке, которая показывает список всех удаленных секретов, выберите нужный секрет и нажмите Восстановить.

В результате тайна со всеми своими версиями воскреснет из мертвых. Извините, капитан, но счет теперь Azure Key Vault 2, Capt. Destruction 0.

Приведение больших пушек

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

После шифрования данных, удаления секрета мы не смогли удалить данные. Давайте удалим все это: The Key Vault!

Да, победа за нами! Давайте проанализируем ситуацию, прежде чем сказать, что у нас есть победитель. Если мы перейдем к колонке Key Vaults, будут перечислены все Key Vaults, удаленные в выбранной подписке.

Чтобы восстановить нужное Key Vault, выберите из списка и нажмите Recover.

Что ж, это делает окончательный результат Azure Key Vault 3, Capt. Destruction 0. У нас есть победитель!

Уроки выучены

Большинство функций безопасности, которые мы рассматривали до сих пор в этой статье, были добавлены автоматически во время подготовки нового Azure Key Vault. По умолчанию функция обратимого удаления включена, что означает, что любое удаление на уровне Azure Key Vault можно восстановить через 90 дней (это ограничение можно изменить на минимальное значение в семь дней и максимальное значение в 90 дней).

Мы также можем включить защиту от очистки. Один защищает Key Vault, ключи, секреты и сертификаты от удаления. Это дало нам преимущество в дуэли с Капитаном Разрушением во время упражнения, выполненного в начале этой статьи.

Использование замков

Использование мягкой защиты и защиты от продувки, безусловно, помогает восстановиться из безобразной ситуации. Однако удаление Azure Key Vault приведет к некоторым перебоям в работе приложения и служб, использующих затронутое Key Vault.

Чтобы добавить еще один уровень безопасности, администратор облака может ввести блокировки на уровне Key Vault. Мы можем использовать портал (как показано на изображении ниже), Azure PowerShell, Azure CLI или шаблоны ARM.

Преимущество использования блокировок заключается в том, что Key Vault всегда будет доступно, поскольку любая попытка удаления не будет проходить через Azure Resource Manager, и будет отображаться сообщение об ошибке.

Если вы хотите реализовать блокировку во время процесса подготовки с помощью шаблонов ARM, добавьте этот оператор ниже, чтобы создать блокировку для вашего нового хранилища ключей Azure. Единственное требуемое значение — это имя Key Vault, которое мы получаем из переменной v_keyvaultName.

{ "тип": "Microsoft.Authorization/locks", "apiVersion": "2016-09-01", "имя": "[concat('Lock-',variables('v_keyvaultName'))]", "scope ”: “[concat('Microsoft.KeyVault/хранилища/', variable('v_keyvaultName'))]", "dependsOn": [ "[resourceId('Microsoft.KeyVault/хранилища', variable('v_keyvaultName'))] », «свойства»: { «уровень»: «CanNotDelete», «примечания»: «Key Vault не следует удалять». } },

Мониторинг деятельности

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

Простой пример, который подходит для этого сценария, — добавить правило оповещения в Azure Monitor для отправки уведомления, когда кто-то пытается удалить Azure Key Vault. Это может дать группе безопасности и эксплуатации предупреждение, когда кто-то пытается удалить что-то важное, например Azure Key Vault.

Azure Key Vault: защита от удаления — это только начало

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