Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Criando Sistemas de Autenticação Seguros

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers. →

Criando Sistemas de Autenticação Seguros

Palestra apresentada na Cryptorave 2017

Avatar for Dann Luciano

Dann Luciano

May 06, 2017

More Decks by Dann Luciano

Other Decks in Technology

Transcript

  1. 2

  2. 4

  3. 18

  4. Senhas • Tamanho da Senha • Complexidade da Senha •

    Armazenamento de Senhas • Recuperação de Senhas • Envio de Senhas 25
  5. Tamanho da Senha • Um tamanho Mínimo deve ser forçado

    pela aplicação • Senhas < 10 caracteres são consideradas fracas • Um tamanho Maximo não deve ser muito pequeno • 128 caracteres está de bom tamanho
  6. Complexidade da Senha • Pelo menos 1 letra Maiúscula (A-Z)

    • Pelo menos 1 letra Minúscula (a-z) • Pelo menos 1 Digito (0-9) • Pelo menos 1 caracter Special (!@#$%ˆ&*_- ‘“…)
  7. Complexidade da Senha • Certifique-se que cada caractere digitado seja

    incluido na senha • Informe para o seu Usuário a importância de um "Boa Senha”
  8. Armazenamento de Senhas • Use SALTs • Gere salts únicos

    para cada senha criada • Não apenas por usuário ou sistema • Use dados aleatórios seguros
  9. Recuperação de Senhas • Obtenha dados de Identidade • e-mail,

    celular, perguntas de segurança, códigos secretos • Envie um Token em outro canal de comunicação • Permita que o usuário mude a senha em uma sessão ja existente • Pedindo os dados da senha antiga e da nova
  10. Envio de Senhas • As telas de autenticação devem transportar

    os dados através de TLS • HTTPS = HTTP + SSL/TLS • Navegadores Modernos vão “obrigar” que formulários com senhas usem HTTPS
  11. Outros Dados • ID (UUID) • Nome • CPF •

    IP • Ultimo Login • Cartão de Crédito
  12. Mensagens de Erro • Exemplos Incorretos de Mensagens de Erro

    • “Login para Usuario smith: senha invalida” • “Login falhou, usuario invalido” • “Login falhou; conta desativada” • “Login falhou; esse usuário não estar ativo”
  13. Mensagens de Erro • Exemplo Correto de Mensagem de Erro

    • “Login falhou; Usuario ou Senha Invalidos”
  14. Ataques de Força Bruta • Crie bloqueios de acesso curtos

    (20 min) • quando sucessivas falhas de autenticação ocorrerem
  15. Monitoração • Falhas devem ser logadas e revisadas: • Falhas

    de Senha • Contas Bloqueadas • Recuperação de Senhas
  16. Autenticação em Duas Etapas • Evite usar SMS • Prefira

    usar Time-based One-Time Password (TOTP)
  17. OWASP • OWASP Authentication Cheat Sheet • OWASP Forgot Password

    Cheat Sheet • OWASP Password Storage Cheat Sheet • OWASP Session Management Cheat Sheet 63