Configurar a resposta à verificação de malware
Configure respostas automatizadas para mover ou remover arquivos mal-intencionados ou mover/ingerir arquivos limpos para outro destino. Selecione a opção de resposta preferencial que melhor se ajuste à arquitetura do seu cenário.
Com a verificação de malware, você pode criar sua resposta de automação usando as seguintes opções de resultados de verificação:
- Alertas de segurança do Defender para Nuvem
- Eventos da Grade de Eventos
- Marcas de índice de blob
Dica
Convidamos você a explorar o recurso de verificação de malware no Defender para Armazenamento por meio de nosso laboratório prático. Siga as instruções de Treinamento do Ninja para um guia detalhado passo a passo sobre como configurar e testar a verificação de malware de ponta a ponta, incluindo a configuração de respostas para resultados de verificação. Isso faz parte do projeto 'labs' que ajuda os clientes a estarem preparados para o Microsoft Defender para Nuvem e fornecer uma experiência prática com seus recursos.
Aqui estão algumas opções de resposta que você pode usar para automatizar sua resposta:
Bloqueie o acesso a arquivos não verificados ou mal-intencionados utilizando o controle de acesso baseado em atributos (ABAC)
É possível bloquear o acesso a arquivos mal-intencionados e não verificados com a autorização do ABAC (controle de acesso baseado em atributo) do Microsoft Entra. Ele permite definir o acesso condicional a blobs com base nos resultados da verificação e permite que aplicativos e usuários acessem apenas os arquivos verificados que estejam limpos.
Para configurá-lo, siga as instruções a seguir video.
Excluir ou mover um blob mal-intencionado
Você pode usar código ou um fluxo de trabalho de automação para excluir ou mover arquivos mal-intencionados para a quarentena.
Prepare seu ambiente para excluir ou mover
Excluir o arquivo mal-intencionado — antes de configurar a exclusão automatizada, recomendamos habilitar a exclusão temporária na conta de armazenamento. Ele permite "recuperar" arquivos se houver falsos positivos ou em casos em que profissionais de segurança desejam investigar os arquivos maliciosos.
Mover o arquivo malicioso para a quarentena - Você pode mover arquivos para um contêiner de armazenamento dedicado ou uma conta de armazenamento que são considerados como "quarentena". É desejável que apenas determinados usuários, como um administrador de segurança ou um analista de SOC, tenham permissão para acessar esse contêiner dedicado ou essa conta de armazenamento.
- Usar o Microsoft Entra ID para controlar o acesso ao armazenamento de blobs é considerada uma melhor prática. Para controlar o acesso ao contêiner de armazenamento de quarentena dedicado, use atribuições de função no nível do contêiner usando o RBAC (controle de acesso baseado em função) do Microsoft Entra. Usuários com permissões de nível de conta de armazenamento ainda podem acessar o contêiner de "quarentena". Você pode editar essas permissões para que sejam no nível do contêiner ou escolher uma abordagem diferente e mover o arquivo mal-intencionado para uma conta de armazenamento dedicada.
- Se for preciso usar outros métodos na conta de armazenamento protegida, como tokens SAS (assinaturas de acesso compartilhado), uma boa prática é mover os arquivos mal-intencionados para uma outra conta de armazenamento (quarentena). Em seguida, é melhor conceder permissão apenas ao Microsoft Entra para acessar a conta de armazenamento em quarentena.
Configurar a automação
Opção 1: alertas de segurança de um Aplicativo Lógico baseado no Microsoft Defender para Nuvem
Respostas baseadas em um Aplicativo Lógico são uma abordagem no-code simples para configurar uma resposta. No entanto, seu tempo de resposta é mais lento do que a abordagem baseada em código orientada a eventos.
Implantar o modelo DeleteBlobLogicApp do Azure Resource Manager (ARM) usando o portal do Azure.
Selecione o Aplicativo Lógico que você implantou.
Para permitir que o Logic App exclua blobs da sua conta de armazenamento, adicione uma atribuição de função:
Vá até Identidade no menu lateral e selecione Atribuições de função do Azure.
Adicione uma atribuição de função no nível da assinatura com a função Colaborador de Dados do Blob de Armazenamento.
Crie uma automação de fluxo de trabalho para alertas do Microsoft Defender para Nuvem:
- Vá para oMicrosoft Defender para Nuvem no portal do Azure.
- Vá para Automação do fluxo de trabalho no menu lateral.
- Adicione um novo fluxo de trabalho: no campo O nome do alerta contém, preencha Arquivo mal-intencionado carregado na conta de armazenamento e escolha seu aplicativo Lógicos na seção Ações.
- Selecione Criar.
Opção 2: Aplicativo de Funções com base em eventos da Grade de Eventos
Um Aplicativo de Funções fornece alto desempenho com um tempo de resposta de baixa latência.
Criar um Aplicativo de Funções no mesmo grupo de recursos da sua conta de armazenamento protegida.
Adicione uma atribuição de função para a identidade do aplicativo de Funções.
Vá até Identidade no menu lateral, verifique se o status da identidade Sistema atribuído está Ativado e selecione Atribuições de função do Azure.
Adicione uma atribuição de função nos níveis da assinatura ou da conta de armazenamento com a função Colaborador de Dados do Blob de Armazenamento.
Consuma eventos da Grade de Eventos e conecte uma Função do Azure como tipo de ponto de extremidade.
Ao escrever o código da Função do Azure, você pode usar nossa amostra de função predefinida, MoveMaliciousBlobEventTrigger, ou escrever seu próprio código para copiar o blob em outro lugar e excluí-lo na origem.
Para cada resultado de verificação, um evento será enviado de acordo com o esquema a seguir.
Estrutura da mensagem do evento
A mensagem de evento é um objeto JSON que contém pares chave-valor que fornecem informações detalhadas sobre um resultado de verificação de malware. Aqui está um detalhamento de cada chave na mensagem de evento:
id: Um identificador exclusivo para o evento.
subject: uma cadeia de caracteres que descreve o caminho do recurso do blob verificado (arquivo) na conta de armazenamento.
data: um objeto JSON que contém informações adicionais sobre o evento:
correlationId: Um identificador exclusivo que pode ser usado para correlacionar vários eventos relacionados à mesma verificação.
blobUri: O URI do blob verificado (arquivo) na conta de armazenamento.
eTag: A ETag do blob verificado (arquivo).
scanFinishedTimeUtc: o carimbo de data/hora UTC quando a verificação foi concluída.
scanResultType: O resultado da verificação, por exemplo, Malicioso ou Nenhuma ameaça encontrada.
scanResultDetails: Um objeto JSON que contém detalhes sobre o resultado da verificação:
malwareNamesFound: Uma matriz de nomes de malware encontrada no arquivo verificado.
sha256: O SHA-256 do arquivo verificado.
eventType: Uma cadeia de caracteres que indica o tipo de evento, nesse caso, Microsoft.Security.MalwareScanningResult.
dataVersion: O número de versão do esquema de dados.
metadataVersion: O número de versão do esquema de metadados.
eventTime: o carimbo de data/hora UTC quando o evento foi gerado.
topic: O caminho do recurso do tópico da Grade de Eventos ao qual o evento pertence.
Segue abaixo um exemplo de uma mensagem de evento:
{
"id": "aaaa0000-bb11-2222-33cc-444444dddddd",
"subject": "storageAccounts/<storage_account_name>/containers/app-logs-storage/blobs/EICAR - simulating malware.txt",
"data": {
"correlationId": "aaaa0000-bb11-2222-33cc-444444dddddd",
"blobUri": "https://<storage_account_name>.blob.core.windows.net/app-logs-storage/EICAR - simulating malware.txt",
"eTag": "0x000000000000000",
"scanFinishedTimeUtc": "2023-05-04T11:31:54.0481279Z",
"scanResultType": "Malicious",
"scanResultDetails": {
"malwareNamesFound": [
"DOS/EICAR_Test_File"
],
"sha256": "AA11BB22CC33DD44EE55FF66AA77BB88CC99DD00"
}
},
"eventType": "Microsoft.Security.MalwareScanningResult",
"dataVersion": "1.0",
"metadataVersion": "1",
"eventTime": "2023-05-04T11:31:54.048375Z",
"topic": "/subscriptions/<subscription_id>/resourceGroups/<resource_group_name>/providers/Microsoft.EventGrid/topics/<event_grid_topic_name>"
}
Ao entender a estrutura da mensagem de evento, você pode extrair informações relevantes sobre o resultado da verificação de malware e processá-lo adequadamente.
Torne seus aplicativos e fluxos de dados cientes dos resultados da verificação de malware
A verificação de malware é quase em tempo real e, geralmente, existe uma pequena janela de tempo entre o momento do upload e o momento da verificação. Como o armazenamento não é um processo de computação, não há risco de que arquivos mal-intencionados sejam executados no seu armazenamento. O risco é de que usuários ou aplicativos acessem arquivos mal-intencionados e os disseminem por toda a organização.
Existem alguns métodos para tornar seus aplicativos e fluxos de dados cientes dos resultados da verificação de malware. Esses métodos garantem que os arquivos não possam ser acessados ou processados antes que a verificação seja concluída, os resultados da verificação sejam consumidos e as ações apropriadas sejam tomadas com base nesses resultados.
Os aplicativos ingerem dados com base no resultado da verificação
Opção 1: Aplicativos verificando “Marca de índice” antes do processamento
Uma maneira de obter dados ingeridos é atualizar todos os aplicativos que acessam a conta de armazenamento. Cada aplicativo confere o resultado da verificação de cada arquivo e, se o resultado da verificação da Tag de índice do blob for nenhuma ameaça encontrada, o aplicativo lerá o blob.
Opção 2: conectar seu aplicativo a um Webhook em eventos da Grade de Eventos
Você pode conectar seu aplicativo a um Webhook em eventos da Grade de Eventos e usar esses eventos para disparar os processos relevantes para arquivos que apresentem a informação nenhuma ameaça encontrada nos resultados da verificação. Saiba mais sobre como usar a entrega de eventos do Webhook e validar seu ponto de extremidade.
Usar uma conta de armazenamento intermediária como uma DMZ
Você pode configurar uma conta de armazenamento intermediária para conteúdo não confiável (DMZ) e carregar o tráfego diretamente para a DMZ. Na conta de armazenamento não confiável, habilite a verificação de malware e conecte o Grade de Eventos do Azure e o Function App para mover apenas os blobs verificados com o resultado "nenhuma ameaça encontrada" para a conta de armazenamento de destino.
Próxima etapa
Saiba como entender os resultados da verificação de malware no Microsoft Defender para Armazenamento.