Aplicar as melhores práticas de segurança de Armazenamento do Azure

Concluído

Revisamos como criar e trabalhar com uma SAS (assinatura de acesso compartilhado) e os benefícios que ela pode fornecer à sua solução de segurança de armazenamento.

É importante entender que quando você usa uma SAS no aplicativo, pode haver riscos potenciais.

  • Se uma SAS for comprometida, ela poderá ser usada por qualquer pessoa que a obtiver, incluindo um usuário mal-intencionado.

  • Se uma SAS fornecida para um aplicativo cliente expirar e o aplicativo não conseguir recuperar uma nova SAS do seu serviço, a funcionalidade do aplicativo poderá ser prejudicada.

Assista a este vídeo para obter mais ideias sobre como proteger seu armazenamento. Este vídeo é baseado em Dicas e Truques do Azure nº 272 – Melhores práticas de segurança do Azure.

Recomendações para gerenciar riscos

Vamos examinar algumas recomendações que podem ajudar a reduzir os riscos ao trabalhar com uma SAS.

Recomendação Descrição
Sempre use HTTPS para criação e distribuição Se uma SAS for transmitida por HTTP e interceptada, o invasor poderá acessá-la e utilizá-la. Esses ataques man-in-the-middle podem comprometer dados confidenciais ou permitir que os dados sejam corrompidos pelo usuário mal-intencionado.
Fazer referência às políticas de acesso armazenadas sempre que possível As políticas de acesso armazenadas permitem que você revogue permissões sem precisar regenerar as chaves de conta de armazenamento do Azure. Defina a data de validade da chave da conta de armazenamento para um futuro bem distante.
Definir horários de validade de curto prazo para uma SAS não planejada Se uma SAS estiver comprometida, você poderá atenuar os ataques limitando a validade da SAS a um curto período de tempo. Esta prática é importante quando você não pode fazer referência a uma política de acesso armazenada. Períodos de vencimento breves também limitam a quantidade de dados que podem ser gravados em um blob, limitando o tempo disponível para carregá-los.
Exigir que os clientes renovem a SAS automaticamente Exija que seus clientes renovem a SAS bem antes da data de expiração. Ao renovar antecipadamente, você permite que haja tempo para novas tentativas se o serviço que fornece a SAS não estiver disponível.
Planejar cuidadosamente a hora de início da SAS Se você definir a hora de início de uma SAS para agora, poderão ser observadas falhas intermitentemente para os primeiros minutos devido à defasagem horária (diferenças na hora atual de acordo com computadores diferentes). Em geral, defina a hora de início para pelo menos 15 minutos no passado. Ou não defina uma hora de início específica, o que faz com que a SAS seja válida imediatamente em todos os casos. As mesmas condições geralmente se aplicam à hora de expiração. Você pode notar até 15 minutos de defasagem horária em um dos dois sentidos em qualquer solicitação. Para clientes que usam uma versão da API REST anterior a 2012-02-12, a duração máxima de uma SAS que não faz referência a uma política de acesso armazenada é de uma hora. Todas as políticas que especificam um período maior falharão.
Definir as permissões de acesso mínimo para recursos Uma prática recomendada de segurança consiste em fornecer os privilégios mínimos necessários a um usuário. Se um usuário precisar apenas de acesso de leitura a uma única entidade, conceda-lhe acesso de leitura a essa única entidade, e não acesso de leitura/gravação/exclusão a todas as entidades. Essa prática também ajuda a reduzir o dano caso uma SAS seja comprometida, pois a SAS terá menos poder nas mãos de um invasor.
Entender a cobrança da conta por uso, incluindo uma SAS Se você fornecer acesso de gravação a um blob, um usuário poderá optar por carregar um blob de 200 GB. Se você também tiver concedido o acesso de leitura, será possível baixar o blob 10 vezes, o que incorrerá em 2 TB de custos de saída. Como mencionado, forneça permissões limitadas para ajudar a reduzir a ações em potencial de usuários mal-intencionados. Use uma SAS de curta duração para reduzir essa ameaça, mas tenha cuidado com a defasagem horária na hora de término.
Validar os dados gravados usando a SAS Quando o aplicativo cliente gravar dados na sua conta de armazenamento do Azure, tenha em mente de que poderá haver problemas com esses dados. Se o aplicativo exigir dados validados ou autorizados, valide os dados após a gravação, mas antes de serem usados. Essa prática também protegerá contra dados corrompidos ou mal-intencionados que estiverem sendo gravados na sua conta por um usuário que adquiriu a SAS de forma adequada ou por um usuário que estiver explorando uma SAS vazada.
Não suponha que a SAS seja sempre a escolha correta Em alguns cenários, os riscos associados a uma determinada operação em relação à sua conta de armazenamento do Azure superam os benefícios de usar uma SAS. Para essas operações, crie um serviço de camada intermediária que grave na sua conta de armazenamento após a validação, a autenticação e a auditoria da regra de negócio. Além disso, algumas vezes é mais fácil de gerenciar o acesso de outras maneiras. Se quiser tornar todos os blobs de um contêiner publicamente legíveis, você poderá tornar o contêiner Público, em vez de fornecer uma SAS para o acesso de cada cliente.
Monitorar seus aplicativos com a Análise de Armazenamento do Azure Você pode usar métricas e registrar em log para observar qualquer pico de falhas de autenticação. Você pode ver picos de uma interrupção no serviço de provedor SAS ou da remoção inadvertida de uma política de acesso armazenada.