Curso Securing Java Web Applications

  • Development

Curso Securing Java Web Applications

24 horas
Visão Geral

Este Curso Securing Java Web Applications foi projetado para fornecer aos alunos a capacidade de proteger seus aplicativos e aplicar as melhores práticas em relação à codificação empresarial segura. Autenticação, autorização e validação de entrada são temas importantes, e os alunos obtêm uma boa exposição à criptografia Java básica para cenários de desenvolvimento específicos, bem como discussões completas sobre configuração HTTPS e gerenciamento de certificados, tratamento de erros, registro e auditoria.

Talvez as partes mais reveladoras do curso digam respeito a 'hacks' comuns da web ou vetores de ataque. Os alunos veem como é fácil deixar um aplicativo desprotegido contra cross-site scripting (XSS), falsificação de solicitação entre sites (CSRF), injeção de SQL e outros tipos de ataque - e aprendem que também é fácil corrigir essas vulnerabilidades e o importância de um processo de desenvolvimento seguro

Objetivo

Após a conclusão do Curso Securing Java Web Applications, os alunos serão capazes de:

  • Desenvolva aplicativos Web Java seguros ou proteja aplicativos existentes refatorando conforme necessário.
  • Defina restrições de segurança e configurações de login que instruem o contêiner da web a impor políticas de autenticação e autorização.
  • Proteja-se contra ataques comuns da Web, incluindo XSS, CSRF e injeção de SQL.
  • Valide a entrada do usuário de forma agressiva, para a integridade geral do aplicativo e especificamente para injeção de alumínio e ataques XSS.
  • Configure um servidor e/ou aplicativo para usar HTTPS unidirecional ou bidirecional.
  • Aplique criptografia em nível de aplicativo quando necessário.
  • Armazene informações confidenciais com segurança, faça hash de senhas de usuários e entenda a importância do salting e do uso de algoritmos e processos de hash lentos para maximizar a segurança das credenciais armazenadas.
  • Proteja arquivos de log e estabeleça trilhas de auditoria para informações ou ações especialmente confidenciais.
Publico Alvo
  • Desenvolvedores web Java
Pre-Requisitos
  • Experiência em programação Java
  • Experiência em programação de servlets
  • Experiência em criação de páginas JSP é recomendada
Materiais
Português + Lab Pratico on premise vs cloud
Conteúdo Programatico

Concerns for Web Applications

  1. Threats and Attack Vectors
  2. Server, Network, and Browser Vulnerabilities
  3. Secure Design Principles
  4. GET vs. POST
  5. Container Authentication and Authorization
  6. HTML Forms
  7. Privacy Under /WEB-INF
  8. HTTP and HTTPS
  9. Other Cryptographic Practices
  10. SOA and Web Services
  11. The OWASP Top 10

Authentication and Authorization

  1. HTTP BASIC and DIGEST Authentication Schemes
  2. Declaring Security Constraints
  3. User Accounts
  4. Safeguarding Credentials in Transit
  5. Replay Attacks
  6. Authorization Over URL Patterns
  7. Roles
  8. FORM Authentication
  9. Login Form Design
  10. Session Fixation
  11. Protections
  12. Programmatic Security
  13. Programmatic Security in JSF

Common Web Attacks

  1. Forceful Browsing
  2. Predictable Resource Locations
  3. Using Random Numbers
  4. Cross-Site Scripting
  5. Output Escaping
  6. Cross-Site Request Forgery
  7. Synchronizer Tokens
  8. Injection Attacks
  9. Protections in JDBC and JPA
  10. Session Management
  11. Taking Care of Cookies

Input Validation

  1. Validating User Input
  2. Validation Practices
  3. Regular Expressions
  4. Bean Validation (a/k/a JSR-303)
  5. Constraint Annotations
  6. Cross-Field Validation
  7. Built-In Support in Java EE
  8. Using a Validator
  9. Producing Error Responses
  10. JSF Validation

HTTPS and Certificates

  1. Digital Cryptography
  2. Encryption
  3. SSL and Secure Key Exchange
  4. Hashing
  5. Signature
  6. Keystores
  7. keytool
  8. Why Keys Aren't Enough
  9. X.509 Certificates
  10. Certificate Authorities
  11. Obtaining a Signed Certificate
  12. Configuring HTTPS
  13. Client-Side Certificates and Two-Way SSL
  14. PKCS #12 and Trust Stores
  15. CLIENT-CERT Authentication

Application-Level Cryptography

  1. The Java Cryptography Architecture
  2. Secure Random Number Generation
  3. The KeyStore API
  4. Digital Signature
  5. Hashing
  6. Password Hashing
  7. Why Hashing Isn't Enough
  8. Salts
  9. Key Lengthening and Key Strengthening
  10. Slow Algorithms
  11. The Java Cryptography Extensions
  12. The SecretKey and KeyGenerator Types
  13. Symmetric Encryption
  14. Choosing Algorithms and Key Sizes
  15. Dangerous Practices
  16. Storing and Managing Keys

Secure Development Practices

  1. Secure Development Cycle
  2. Penetration Testing
  3. Secure Code Review
  4. Error Handling and Information Leakage
  5. Failing to a Secure Mode
  6. Designing for Failure
  7. Back Doors
  8. Logging Practices
  9. Appropriate Content for Logs
  10. Auditing Strategies
  11. Appendix A: Learning Resources
TENHO INTERESSE

Cursos Relacionados

Curso Python Programação Advanced

32 horas

Curso SAP ABAP S4hana Developer Foundation

32 horas

Curso Full Stack and React Essentials

32 Horas

Curso Node.js for JavaScript Developers

24 horas

Curso Elasticsearch for Developers

16H

Curso Elastic Stack Foundation

24 horas

Curso Apache Spark™ Foundation

8 Horas