Segurança no Angular: Protegendo Contra Vulnerabilidades na Web
- #Angular
O Angular, um framework amplamente utilizado para desenvolvimento web, vem equipado com recursos de segurança integrados para proteção contra vulnerabilidades comuns na web. Neste artigo, exploraremos as medidas de segurança fornecidas pelo Angular.
Angular faz parte do Programa de Recompensas por Vulnerabilidades de Código Aberto da Google. Os desenvolvedores são incentivados a relatar vulnerabilidades por meio do programa de recompensas da Google.
Melhores Práticas
O Angular sugere melhores práticas para aprimorar a segurança em aplicações:
- Manter Atualizado com as Versões do Angular;
- Evitar Alterações no Angular;
- Usar APIs Seguras do Angular.
Prevenção de Script Entre Sites (XSS)
O Script Entre Sites (XSS) é um ataque que permite a inserção de código malicioso em páginas web. O Angular adota um modelo de segurança para bloquear sistematicamente bugs de XSS.
Sanitização e Contextos de Segurança
O Angular define contextos de segurança para sanitização:
- HTML: Usado ao interpretar um valor como HTML.
- Estilo: Usado ao vincular CSS na propriedade de estilo.
- URL: Usado para propriedades de URL como <a href>
- URL de Recurso: Usado para URLs carregados e executados como código, por exemplo, em <script src>.
Confiando em Valores Seguros
Angular trata todos os valores como não confiáveis por padrão, existem cenários em que as aplicações precisam incluir código executável. Nestes casos, os desenvolvedores podem marcar um valor como confiável usando DomSanitizer e métodos como:
bypassSecurityTrustHtml
bypassSecurityTrustScript
bypassSecurityTrustStyle
bypassSecurityTrustUrl
bypassSecurityTrustResourceUrl
Uso Direto de APIs do DOM e Chamadas Explícitas de Sanitização
Para evitar vulnerabilidades, os desenvolvedores devem evitar interagir diretamente com as APIs do DOM. Se for o caso, use as funções de sanitização integradas do Angular, como DomSanitizer.sanitize, e informe o contexto de segurança apropriado.
Política de Segurança de Conteúdo (CSP)
A Política de Segurança de Conteúdo (CSP) é uma técnica de defesa contra XSS. O Angular recomenda configurar o servidor web para retornar um cabeçalho HTTP CSP.
Aplicação de Tipos Confiáveis
Recomenda-se o uso de Tipos Confiáveis como uma forma de ajudar a proteger suas aplicações contra ataques de script entre sites. Os Tipos Confiáveis são uma funcionalidade da plataforma web que pode ajudar a prevenir ataques de script entre sites, impondo práticas de codificação mais seguras.