Partilhar via


Moldura de Segurança: Auditoria e | de Registo Mitigações

Produto/Serviço Artigo
Dynamics CRM
Aplicação Web
Base de dados
Armazenamento do Azure
WCF
API Web
Gateway de Campo IoT
IoT Cloud Gateway

Identificar entidades confidenciais na sua solução e implementar a auditoria de alterações

Título Detalhes
Componente Dynamics CRM
Fase SDL Compilação
Tecnologias Aplicáveis Genérica
Atributos N/D
Referências N/D
Passos Identifique entidades na sua solução que contenham dados confidenciais e implemente a auditoria de alterações nessas entidades e campos

Confirme que a auditoria e o registo são impostos na aplicação

Título Detalhes
Componente Aplicação Web
Fase SDL Compilação
Tecnologias Aplicáveis Genérica
Atributos N/D
Referências N/D
Passos Ative a auditoria e o registo em todos os componentes. Os registos de auditoria devem capturar o contexto do utilizador. Identifique todos os eventos importantes e registe esses eventos. Implementar o registo centralizado

Certifique-se de que a rotação de registos e a separação estão implementadas

Título Detalhes
Componente Aplicação Web
Fase SDL Compilação
Tecnologias Aplicáveis Genérica
Atributos N/D
Referências N/D
Passos

A rotação de registos é um processo automatizado utilizado na administração do sistema no qual os ficheiros de registo datados são arquivados. Os servidores que executam aplicações grandes registam frequentemente todos os pedidos: face aos registos volumosos, a rotação de registos é uma forma de limitar o tamanho total dos registos e, ao mesmo tempo, permitir a análise de eventos recentes.

A separação de registos significa basicamente que tem de armazenar os seus ficheiros de registo numa partição diferente, como onde o SO/aplicação está em execução para evitar um ataque Denial of service ou mudar para uma versão anterior do desempenho da sua aplicação

Certifique-se de que a aplicação não regista dados confidenciais do utilizador

Título Detalhes
Componente Aplicação Web
Fase SDL Compilação
Tecnologias Aplicáveis Genérica
Atributos N/D
Referências N/D
Passos

Verifique se não regista quaisquer dados confidenciais que um utilizador submeta no seu site. Verifique se existem registos intencionais, bem como efeitos colaterais causados por problemas de conceção. Exemplos de dados confidenciais incluem:

  • Credenciais de Utilizador
  • Número da Segurança Social ou outras informações de identificação
  • Números de cartão de crédito ou outras informações financeiras
  • Informações de estado de funcionamento
  • Chaves privadas ou outros dados que podem ser utilizados para desencriptar informações encriptadas
  • Informações do sistema ou da aplicação que podem ser utilizadas para atacar mais eficazmente a aplicação

Certifique-se de que a Auditoria e os Ficheiros de Registo têm Acesso Restrito

Título Detalhes
Componente Aplicação Web
Fase SDL Compilação
Tecnologias Aplicáveis Genérica
Atributos N/D
Referências N/D
Passos

Verifique se os direitos de acesso aos ficheiros de registo estão devidamente definidos. As contas de aplicação devem ter acesso só de escrita e os operadores e o pessoal de suporte devem ter acesso só de leitura, conforme necessário.

As contas de administradores são as únicas contas que devem ter acesso total. Verifique a ACL do Windows nos ficheiros de registo para garantir que estão devidamente restritos:

  • As contas de aplicação devem ter acesso só de escrita
  • Os operadores e o pessoal de suporte devem ter acesso só de leitura, conforme necessário
  • Os administradores são as únicas contas que devem ter acesso total

Certifique-se de que os Eventos de Gestão de Utilizadores são Registados

Título Detalhes
Componente Aplicação Web
Fase SDL Compilação
Tecnologias Aplicáveis Genérica
Atributos N/D
Referências N/D
Passos

Certifique-se de que a aplicação monitoriza eventos de gestão de utilizadores, tais como inícios de sessão de utilizador com êxito e com falhas, reposições de palavras-passe, alterações de palavra-passe, bloqueio de conta, registo de utilizador. Esta ação ajuda a detetar e reagir a comportamentos potencialmente suspeitos. Também permite recolher dados de operações; por exemplo, para controlar quem está a aceder à aplicação

Certifique-se de que o sistema tem defesas incorporadas contra utilização indevida

Título Detalhes
Componente Aplicação Web
Fase SDL Compilação
Tecnologias Aplicáveis Genérica
Atributos N/D
Referências N/D
Passos

Os controlos devem estar implementados, o que gera uma exceção de segurança em caso de utilização indevida da aplicação. Por exemplo, se a validação de entrada estiver em vigor e um atacante tentar injetar código malicioso que não corresponda ao regex, pode ser emitida uma exceção de segurança que pode ser indicativa de utilização indevida do sistema

Por exemplo, é recomendado ter exceções de segurança registadas e ações tomadas para os seguintes problemas:

  • Validação de entrada
  • Violações da CSRF
  • Força bruta (limite superior para o número de pedidos por utilizador por recurso)
  • Violações de carregamento de ficheiros

    Ativar o registo de diagnósticos para aplicações Web no Serviço de Aplicações do Azure

    Título Detalhes
    Componente Aplicação Web
    Fase SDL Compilação
    Tecnologias Aplicáveis Genérica
    Atributos EnvironmentType - Azure
    Referências N/D
    Passos

    O Azure fornece diagnósticos incorporados para ajudar na depuração de uma aplicação Web Serviço de Aplicações. Também se aplica a aplicações API e aplicações móveis. Serviço de Aplicações aplicações Web fornecem funcionalidades de diagnóstico para informações de registo do servidor Web e da aplicação Web.

    Estes estão logicamente separados em diagnósticos de servidor Web e diagnósticos de aplicações

    Confirme que a auditoria de início de sessão está ativada no SQL Server

    Título Detalhes
    Componente Base de Dados
    Fase SDL Compilação
    Tecnologias Aplicáveis Genérica
    Atributos N/D
    Referências Configure Login Auditing (Configurar a Auditoria de Início de Sessão)
    Passos

    A auditoria de início de sessão do Servidor de Base de Dados tem de estar ativada para detetar/confirmar ataques de adivinhação de palavras-passe. É importante capturar tentativas de início de sessão falhadas. Capturar tentativas de início de sessão bem-sucedidas e falhadas proporciona benefícios adicionais durante investigações forenses

    Ativar a Deteção de ameaças no SQL do Azure

    Título Detalhes
    Componente Base de Dados
    Fase SDL Compilação
    Tecnologias Aplicáveis SQL Azure
    Atributos Versão do SQL - V12
    Referências Introdução à Deteção de Ameaças Base de Dados SQL
    Passos

    A Deteção de Ameaças deteta atividades anómalas da base de dados que indicam potenciais ameaças de segurança à base de dados. Fornece uma nova camada de segurança, que permite que os clientes detetem e respondam a potenciais ameaças à medida que ocorrem, fornecendo alertas de segurança sobre atividades anómalas.

    Os utilizadores podem explorar os eventos suspeitos com o SQL do Azure a Auditoria da Base de Dados para determinar se resultam de uma tentativa de acesso, violação ou exploração de dados na base de dados.

    A Deteção de Ameaças simplifica a resolução de potenciais ameaças à base de dados sem a necessidade de ser um especialista em segurança ou de gerir sistemas de monitorização de segurança avançados

    Utilizar o Azure Análise de Armazenamento para auditar o acesso ao Armazenamento do Azure

    Título Detalhes
    Componente Armazenamento do Azure
    Fase SDL Implementação
    Tecnologias Aplicáveis Genérica
    Atributos N/D
    Referências Utilizar Análise de Armazenamento para monitorizar o tipo de autorização
    Passos

    Para cada conta de armazenamento, pode ativar o Azure Análise de Armazenamento para efetuar o registo e armazenar dados de métricas. Os registos de análise de armazenamento fornecem informações importantes, como o método de autenticação utilizado por alguém quando acede ao armazenamento.

    Isto pode ser muito útil se estiver a proteger fortemente o acesso ao armazenamento. Por exemplo, no Armazenamento de Blobs, pode definir todos os contentores como privados e implementar a utilização de um serviço SAS em todas as suas aplicações. Em seguida, pode verificar regularmente os registos para ver se os blobs são acedidos com as chaves da conta de armazenamento, o que pode indicar uma falha de segurança ou se os blobs são públicos, mas não deveriam ser.

    Implementar Registos suficientes

    Título Detalhes
    Componente WCF
    Fase SDL Compilação
    Tecnologias Aplicáveis .NET Framework
    Atributos N/D
    Referências MSDN, Fortify Kingdom
    Passos

    A falta de um registo de auditoria adequado depois de um incidente de segurança pode dificultar os esforços forenses. O Windows Communication Foundation (WCF) oferece a capacidade de registar tentativas de autenticação bem-sucedidas e/ou falhadas.

    O registo de tentativas de autenticação falhadas pode alertar os administradores sobre potenciais ataques de força bruta. Da mesma forma, registar eventos de autenticação com êxito pode fornecer um registo de auditoria útil quando uma conta legítima é comprometida. Ativar a funcionalidade de auditoria de segurança de serviço do WCF

    Exemplo

    Segue-se uma configuração de exemplo com a auditoria ativada

    <system.serviceModel>
        <behaviors>
            <serviceBehaviors>
                <behavior name=""NewBehavior"">
                    <serviceSecurityAudit auditLogLocation=""Default""
                    suppressAuditFailure=""false"" 
                    serviceAuthorizationAuditLevel=""SuccessAndFailure""
                    messageAuthenticationAuditLevel=""SuccessAndFailure"" />
                    ...
                </behavior>
            </servicebehaviors>
        </behaviors>
    </system.serviceModel>
    

    Implementar o Processamento de Falhas de Auditoria suficiente

    Título Detalhes
    Componente WCF
    Fase SDL Compilação
    Tecnologias Aplicáveis .NET Framework
    Atributos N/D
    Referências MSDN, Fortify Kingdom
    Passos

    A solução desenvolvida está configurada para não gerar uma exceção quando não consegue escrever num registo de auditoria. Se o WCF estiver configurado para não gerar uma exceção quando não consegue escrever num registo de auditoria, o programa não será notificado da falha e a auditoria de eventos de segurança críticos poderá não ocorrer.

    Exemplo

    O <behavior/> elemento do ficheiro de configuração do WCF abaixo indica ao WCF para não notificar a aplicação quando o WCF não escrever num registo de auditoria.

    <behaviors>
        <serviceBehaviors>
            <behavior name="NewBehavior">
                <serviceSecurityAudit auditLogLocation="Application"
                suppressAuditFailure="true"
                serviceAuthorizationAuditLevel="Success"
                messageAuthenticationAuditLevel="Success" />
            </behavior>
        </serviceBehaviors>
    </behaviors>
    

    Configure o WCF para notificar o programa sempre que não conseguir escrever num registo de auditoria. O programa deve ter um esquema de notificação alternativo para alertar a organização de que os registos de auditoria não estão a ser mantidos.

    Confirme que a auditoria e o registo são impostos na API Web

    Título Detalhes
    Componente API Web
    Fase SDL Compilação
    Tecnologias Aplicáveis Genérica
    Atributos N/D
    Referências N/D
    Passos Ative a auditoria e o registo nas APIs Web. Os registos de auditoria devem capturar o contexto do utilizador. Identifique todos os eventos importantes e registe esses eventos. Implementar o registo centralizado

    Confirme que a auditoria e o registo adequados são impostos no Gateway de Campo

    Título Detalhes
    Componente Gateway de Campo IoT
    Fase SDL Compilação
    Tecnologias Aplicáveis Genérica
    Atributos N/D
    Referências N/D
    Passos

    Quando vários dispositivos se ligam a um Gateway de Campo, certifique-se de que as tentativas de ligação e o estado de autenticação (êxito ou falha) para dispositivos individuais são registados e mantidos no Gateway de Campo.

    Além disso, nos casos em que o Gateway de Campo mantém as credenciais Hub IoT para dispositivos individuais, certifique-se de que a auditoria é efetuada quando estas credenciais são obtidas. Desenvolva um processo para carregar periodicamente os registos para Hub IoT do Azure/armazenamento para retenção de longo prazo.

    Confirme que a auditoria e o registo adequados são impostos no Cloud Gateway

    Título Detalhes
    Componente IoT Cloud Gateway
    Fase SDL Compilação
    Tecnologias Aplicáveis Genérica
    Atributos N/D
    Referências Introdução à monitorização de operações de Hub IoT
    Passos

    Conceção para recolher e armazenar dados de auditoria recolhidos através da Monitorização de Operações do Hub IoT. Ative as seguintes categorias de monitorização:

    • Operações de identidade do dispositivo
    • Comunicações do dispositivo para a cloud
    • Comunicações da cloud para o dispositivo
    • Ligações
    • Carregamentos de ficheiros