O Open Web Application Security Project (OWASP) mantém uma lista do que considera como os Os 10 principais riscos de segurança da aplicação web.
Elas estão listadas abaixo, juntamente com uma explicação de como o CRX lida com elas.
A prática geral de mitigação é codificar toda a saída de conteúdo gerado pelo usuário usando uma biblioteca de proteção XSS do lado do servidor com base em Codificador OWASP e AntiSamy.
O XSS é uma prioridade máxima durante testes e desenvolvimento, e todos os problemas encontrados são (normalmente) resolvidos imediatamente.
AEM usa técnicas de autenticação comprovadas e de som, que dependem do Apache Jackrabbit e Apache Sling. Sessões de Navegador/HTTP não são usadas em AEM.
Todo o acesso a objetos de dados é mediado pelo repositório e, portanto, restringido pelo controle de acesso baseado em funções.
A falsificação de solicitação entre sites (CSRF) é atenuada ao injetar automaticamente um token criptográfico em todos os formulários e solicitações de AJAX e verificar esse token no servidor para cada POST.
Além disso, AEM vem com um filtro baseado no cabeçalho do referenciador, que pode ser configurado para somente permitir solicitações de POST de hosts específicos (definido em uma lista).
É impossível garantir que todos os softwares estejam sempre configurados corretamente. No entanto, nos esforçamos para fornecer o máximo de orientação possível e tornar a configuração o mais simples possível. Além disso, AEM vem com verificações de integridade de segurança integradas que ajudam a monitorar a configuração de segurança imediatamente.
Revise a Lista de verificação de segurança para obter mais informações, que fornecem instruções de proteção passo a passo.
As senhas são armazenadas como hashes criptográficos no nó do usuário; por padrão, esses nós só podem ser lidos pelo administrador e pelo próprio usuário.
Dados confidenciais, como credenciais de terceiros, são armazenados em formulários criptografados usando uma biblioteca criptográfica certificada pelo FIPS 140-2.
O repositório permite a configuração de privilégios finamente granulados (conforme especificado pelo JCR) para qualquer usuário ou grupo em um determinado caminho, por meio de entradas de controle de acesso. As restrições de acesso são aplicadas pelo repositório.
Atenuado pela configuração do servidor (por exemplo, usar somente HTTPS).
Atenuado ao restringir todos os redirecionamentos para destinos fornecidos pelo usuário a locais internos.