1 / 10

Segurança em Aplicações 6. Melhores Práticas de Programação para Web

Segurança em Aplicações 6. Melhores Práticas de Programação para Web. Márcio Aurélio Ribeiro Moreira marcio.moreira@pitagoras.com.br http:// si.lopesgazzani.br/docentes/marcio /. Princípios comuns. A segurança foi incorporada aos negócios Identifique as vulnerabilidades, ameaças e riscos

nicole
Download Presentation

Segurança em Aplicações 6. Melhores Práticas de Programação para Web

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Segurança em Aplicações6. Melhores Práticas de Programação para Web Márcio Aurélio Ribeiro Moreira marcio.moreira@pitagoras.com.br http://si.lopesgazzani.br/docentes/marcio/

  2. Princípios comuns • A segurança foi incorporada aos negócios • Identifique as vulnerabilidades, ameaças e riscos • A segurança deve ser parte dos requisitos • Identifique os ativos, as mudanças nos casos de uso, os usuários, os papéis e responsabilidades • Identifique as exigências legais • A segurança dever ser parte da arquitetura • A arquitetura deve ser avaliada sob a ótica de segurança, guiadas pelos requisitos de segurança

  3. Vulnerabilidades x Plataformas Legenda: Fonte: P = Programar Java Web Application Security C = Configurar Best Practice Guide - Secologic for SAP

  4. Recomendações • Restrinja ao máximo o anonimato • Onde for recomendável use autenticação • No restante pelo menos trabalhe com identificação • Limite o uso de credenciais administrativas • Prefira o uso de credenciais do usuário ao invés de credenciais administrativas para acesso ao DB • Ainda assim proteja o acesso ao DB por ACL • Prefira formulários com o método POST • Evite ao máximo o uso do método GET

  5. Recomendações • Não envie dados ocultos ao cliente • Não coloque dados para ir e voltar do client • Os dados, mesmo ocultos, podem ser alterados facilmente no client • Alertas: http://xforce.iss.net/alerts/advise42.php • Não armazene dados em páginas (asp/jsp) • Credenciais de acesso a DB, diretórios, etc. podem ser facilmente vistas nas páginas geradas • Atenção para comentários html em produção

  6. Recomendações • Cuidado com scripts através do site (xss) • Leia www.cert.org/advisories/CA-2000-02.html • Cuidado com informações entradas, vistas e alteradas somente por usuários • O administrador não tem ação sobre elas e os usuários podem ficar relativamente anônimos • Cuidado com códigos gerados por wizards • Assistentes são ótimos para usuários • Mas, são prato cheio para os hackers, pois dizem muito sobre a codificação das páginas

  7. Recomendações • Segurança dos middlewares • Aplicações componentizadas (usam COM+ ou EJB) geram uma camada a mais de segurança • A arquitetura deve considerar uso de credenciais para a camada de middleware • Segurança declarativa x programativa • A segurança declarativa é usada quando a segurança está fora da aplicação • Na programativa a segurança está descrita no código • A decisão deve ser tomada a cada aplicação

  8. Recomendações • Uma PKI (infraestrutura de chave pública) não é uma “bala de prata” • Certificados são fáceis de gerar e difíceis de checar • Leia: www.counterpane.com/pki-risks.html • Não presuma nada (plandocheckact) • O mundo real é perigoso e traiçoeiro • Implementações top de linha duram pouco tempo • Nossa grande amiga: revisão de código

  9. Recomendações • Inspecione o que estamos utilizando • A segurança do todo depende das partes • Os componentes, SO, bibliotecas, etc. que você está usando tem vulnerabilidades? • Use os logs para resolver problemas • Na suspeita de um ataque salve os logs • Comece a investigação por eles

  10. Materiais adicionais • Best Practices for Secure Web Development - Razvan Peteanu • Java Web Application Security - Best Practice Guide - Secologic for SAP

More Related