Поделиться через


Руководство по настройке и ведению журнала событий операций запроса для облачного устройства HSM Azure

Azure Cloud HSM поддерживает ведение журнала событий операций с помощью рабочих областей Log Analytics. Эта возможность обеспечивает централизованную коллекцию, анализ и мониторинг журналов в ресурсах Облачного HSM.

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

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

Изучив это руководство, вы:

  • Настройте и сконфигурируйте журналы операций, включая: создание учетной записи хранения и рабочей области Log Analytics.
  • Запросите журналы событий, чтобы получить определенные события операций HSM.
  • Получите полный список событий операции HSM.

Это важно

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

Ведение журнала событий операции HSM в облаке Azure не может определить, выполнена ли операция HSM успешно или не выполнена. Он может только зарегистрировать факт выполнения операции.

Предпосылки

Настройка и конфигурирование журналов событий операций

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

Создание учетной записи хранения для хранения журналов HSM

Чтобы создать учетную запись хранения для хранения журналов HSM, сначала необходимо создать группу ресурсов. Кроме того, необходимо создать учетную запись хранения в этой группе ресурсов. Используйте следующие команды, чтобы создать все эти элементы:

az group create --name <ResourceGroupName> --location <RegionName>
az storage account create --name <StorageAccountName> --resource-group <ResourceGroupName> --location <RegionName> --sku Standard_LRS --kind StorageV2

Создание рабочей области Log Analytics

Чтобы создать рабочую область Log Analytics для хранения и анализа журналов HSM, используйте следующую команду:

az monitor log-analytics workspace create --resource-group <ResourceGroupName> --workspace-name <WorkspaceName>

Дополнительные сведения о создании рабочей области Log Analytics для Azure Monitor см. в статье "Создание рабочей области Log Analytics".

Включение параметров диагностики с помощью Azure CLI или Azure PowerShell

Чтобы задать переменные и запустить команду, чтобы включить параметры диагностики для ведения журнала событий операции HSM в Облаке Azure, используйте следующий код. Замените заполнители для SubscriptionId, , ResourceGroupNameHSMNameStorageAccountNameи WorkspaceName соответствующими значениями для вашей среды.

Azure CLI (интерфейс командной строки Azure)

$resourceId = "/subscriptions/<SubscriptionId>/resourceGroups/<ResourceGroupName>/providers/Microsoft.HardwareSecurityModules/cloudHsmClusters/<HSMName>"
 
$storageAccountId = "/subscriptions/<SubscriptionId>/resourceGroups/<ResourceGroupName>/providers/Microsoft.Storage/storageAccounts/<StorageAccountName>"
 
$workspaceId = "/subscriptions/<SubscriptionId>/resourcegroups/<ResourceGroupName>/providers/microsoft.operationalinsights/workspaces/<WorkspaceName>"

az monitor diagnostic-settings create --resource $resourceId -n "my-chsmAuditLogs" --storage-account $storageAccountId --logs "[{category:HsmServiceOperations,enabled:true}]"  --workspace $workspaceId

Azure PowerShell

$resourceId = "/subscriptions/<SubscriptionId>/resourceGroups/<ResourceGroupName>/providers/Microsoft.HardwareSecurityModules/cloudHsmClusters/<HSMName>"
 
$storageAccountId = "/subscriptions/<SubscriptionId>/resourceGroups/<ResourceGroupName>/providers/Microsoft.Storage/storageAccounts/<StorageAccountName>"
 
$workspaceId = "/subscriptions/<SubscriptionId>/resourcegroups/<ResourceGroupName>/providers/microsoft.operationalinsights/workspaces/<WorkspaceName>"

New-AzDiagnosticSetting -ResourceId $resourceId -Name "my-chsmAuditLogs" -StorageAccountId $storageAccountId -WorkspaceId $workspaceId -Enabled $true -Category "HsmServiceOperations"

Проверка конфигурации ведения журнала Cloud HSM

После создания параметра диагностики журналы начинают поступать через одну–две минуты.

Журналы событий операций Cloud HSM можно запросить на портале Azure с помощью рабочей области Log Analytics.

Снимок экрана: журналы событий операций Azure Cloud HSM на портале Azure.

Журналы событий операций Cloud HSM можно также запрашивать с помощью Azure CLI и Azure PowerShell. В этом примере вы обновляете ResourceGroupName и WorkspaceName:

$workspaceId = az monitor log-analytics workspace show --resource-group <ResourceGroupName> --workspace-name <WorkspaceName> --query customerId -o tsv
az monitor log-analytics query -w $workspaceId --analytics-query "CloudHsmServiceOperationAuditLogs | take 10"

Снимок экрана: журналы событий операции Azure Cloud HSM в интерфейсе командной строки.

Ошибка регистрации

Если появится сообщение об ошибке "<Подписка> не зарегистрирована для использования microsoft.insights", подписка Azure не зарегистрирована для использования Microsoft.Insights поставщика ресурсов. Чтобы устранить эту проблему, необходимо зарегистрироваться у Microsoft.Insights поставщика в своей подписке.

Чтобы зарегистрировать Microsoft.Insights с помощью Azure CLI, выполните следующую команду:

az provider register --namespace Microsoft.Insights
az provider show --namespace Microsoft.Insights --query "registrationState" --output table

Чтобы зарегистрировать Microsoft.Insights с помощью Azure PowerShell, выполните следующую команду:

Register-AzResourceProvider -ProviderNamespace Microsoft.Insights
Get-AzResourceProvider -ProviderNamespace Microsoft.Insights | Select-Object ProviderNamespace, > RegistrationState

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

Журналы событий операции запроса

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

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

События входа и сеанса

// Find login and session events
CloudHsmServiceOperationAuditLogs
| where OperationName in ("CN_LOGIN", "CN_AUTHORIZE_SESSION")
| project OperationName, MemberId, CallerIpAddress, TimeGenerated

События для создания и удаления пользователей

// Find user creation and deletion events 
CloudHsmServiceOperationAuditLogs
| where OperationName in ("CN_CREATE_USER", "CN_DELETE_USER")
| project OperationName, MemberId, CallerIpAddress, TimeGenerated

События для создания ключа

// Find key creation events
CloudHsmServiceOperationAuditLogs
| where OperationName in ("CN_GENERATE_KEY", "CN_GENERATE_KEY_PAIR")
| project OperationName, MemberId, CallerIpAddress, TimeGenerated

События удаления ключей

// Find key deletion events
CloudHsmServiceOperationAuditLogs
| where OperationName == "CN_TOMBSTONE_OBJECT"
| project OperationName, MemberId, CallerIpAddress, TimeGenerated

Глоссарий операций

Следующие имена связаны с событиями операции HSM.

azcloudhsm_util

Наименование операции Имя команды Описание
CN_LOGIN loginHSM Выполняет вход в HSM.
CN_LOGOUT logoutHSM Завершение сеанса работы с HSM.
CN_GENERATE_KEY genSymKey Создает симметричный ключ.
CN_GENERATE_KEY_PAIR genRSAKeyPair Создает пару ключей RSA.
CN_GENERATE_KEY_PAIR genECCKeyPair Создает пару ключей ECC.
CN_SHARE_OBJECT shareKey Открывает/закрывает общий доступ к существующему ключу для других пользователей.
CN_TOMBSTONE_OBJECT deleteKey Удаляет ключ.
CN_FIND_OBJECTS_FROM_INDEX findSingleKey Находит один ключ.
CN_FIND_OBJECTS_USING_COUNT findKey Находит ключ.
CN_GET_OBJECT_INFO getKeyInfo Возвращает ключевые сведения о общих пользователях и сеансах.
HASH_SINGLE_CALL sign Создает подпись (ME_PKCS_PKCS1v15_CRT_ENCRYPT).
HASH_SINGLE_CALL verify Проверяет подпись (ME_PKCS_PKCS1v15_DECRYPT).
CN_LIST_TOKENS listTokens Перечисляет все токены в текущем разделе.
CN_GET_TOKEN getToken Получает токен.
CN_CREATE_USER createUser Создает пользователя.
CN_DELETE_USER deleteUser Удаляет пользователя.
CN_LIST_USERS listUsers Выводит список пользователей.
CN_CHANGE_PSWD changePswd Изменяет пароль.
CN_MODIFY_OBJECT setAttribute Задает атрибут объекта.
CN_GET_ATTRIBUTE_VALUE
CN_GET_ALL_ATTRIBUTE_VALUE
CN_GET_ATTRIBUTE_SIZE
CN_GET_ALL_ATTRIBUTE_SIZE
getAttribute Возвращает атрибут объекта.
CN_TOKEN_INFO getHSMInfo Возвращает сведения о HSM.
CN_PARTITION_INFO getPartitionInfo Возвращает сведения о разделе.
--- getClusterInfo Не записано.
--- server Не записано.

azcloudhsm_mgmt

Наименование операции Имя команды Описание
CN_LOGIN loginHSM Выполняет вход в HSM.
CN_LOGOUT logoutHSM Выходит из модуля аппаратной безопасности.
CN_GENERATE_KEY genSymKey Создает симметричный ключ.
CN_GENERATE_KEY_PAIR genRSAKeyPair Создает пару ключей RSA.
CN_GENERATE_KEY_PAIR genECCKeyPair Создает пару ключей ECC.
CN_SHARE_OBJECT shareKey Открывает/закрывает общий доступ к существующему ключу для других пользователей.
CN_TOMBSTONE_OBJECT deleteKey Удаляет ключ.
CN_FIND_OBJECTS_FROM_INDEX findSingleKey Находит один ключ.
CN_FIND_OBJECTS_USING_COUNT findKey Находит ключ.
CN_GET_OBJECT_INFO getKeyInfo Возвращает ключевые сведения о общих пользователях и сеансах.
HASH_SINGLE_CALL sign Создает подпись (ME_PKCS_PKCS1v15_CRT_ENCRYPT).
HASH_SINGLE_CALL verify Проверяет подпись (ME_PKCS_PKCS1v15_DECRYPT).
CN_LIST_TOKENS listTokens Перечисляет все токены в текущем разделе.
CN_GET_TOKEN getToken Получает токен.
CN_CREATE_USER createUser Создает пользователя.
CN_DELETE_USER deleteUser Удаляет пользователя.
CN_LIST_USERS listUsers Выводит список пользователей.
CN_CHANGE_PSWD changePswd Изменяет пароль.
CN_MODIFY_OBJECT setAttribute Задает атрибут объекта.
CN_GET_ATTRIBUTE_VALUE
CN_GET_ALL_ATTRIBUTE_VALUE
CN_GET_ATTRIBUTE_SIZE
CN_GET_ALL_ATTRIBUTE_SIZE
getAttribute Возвращает атрибут объекта.
CN_TOKEN_INFO getHSMInfo Возвращает сведения о HSM.
CN_PARTITION_INFO getPartitionInfo Возвращает сведения о разделе.
--- getClusterInfo Не записано.
--- server Не записано.

Резервное копирование и восстановление

Наименование операции Имя команды Описание
/backup
/restore