Como armazenar senhas de forma segura no banco de dados
Вставка
- Опубліковано 20 бер 2018
- Banco de dados com senhas em MD5 ou SHA1 ainda são muito comuns e muitos programadores simplesmente não se preocupam por achar que algo nunca vai acontecer.
Neste vídeo a gente mostra que isso não é verdade. Usamos uma lista de 100 mil senhas em MD5 e quebramos várias delas em segundos.
Também exploramos os melhores algoritmos e técnicas pra você utilizar na sua aplicação.
Negligenciar senhas dos seus usuários nunca mais!
» Links e fontes «
• Argon2 - github.com/P-H-C/phc-winner-a...
• PBKDF2 - en.wikipedia.org/wiki/PBKDF2
• Scrypt - en.wikipedia.org/wiki/Scrypt
• Bcrypt - en.wikipedia.org/wiki/Bcrypt
• Hashcat - hashcat.net/hashcat/
• OWASP Password Storage Cheat Sheet - www.owasp.org/index.php/Passw...
• Password Hashing Competition - password-hashing.net/
• Painless Password Hash Upgrades - veggiespam.com/painless-passw...
» Não deixe de assistir ao último vídeo! «
• Em que linguagem são escritas as linguagens de programação? - • Em que linguagem são e...
» Críticas ou sugestões? «
Comenta aqui embaixo! ;)
» Produção e apresentação «
• Rafael Soares - / rafaeltravel88 - Наука та технологія
Rapaz vc vai ficar rico. Fala bem, o assunto é massa, ta no meu slack de expat haha, sucesso!
Que as deusas e deuses te ouçam! hahaha Obrigado, Lucas!
Muito bom e obrigado pelas dicas! Parabéns!
Seus vídeos são muito didáticos. Parabéns!
Show de bola o vídeo. Muito legal.
Muito bom o seu canal! Parabéns!
Cara, dica excelente!!!
Gostei muito do video, parabéns!!!
Que canal da hora, pena que são poucos vídeos.
Excelente vídeo!!!!
Caraca! Video phoda!
Canal top!
Mano volta a fazer vídeos, conheci teu canal hoje e já sou seu fã total tu é brabo de mais
A parada ficou interessante...
Muito bom, cai no canal de paraquedas e já sou um fã, o que você achar de um sistema que possui autenticação com dias tabelas, normalmente se usa uma senha na própria tabela usuário, e além disso verificar outra senha em outra tabela?
Muito bom!
Só recomendaria começar o vídeo uns 5 segundos antes, porque eu tive que voltar umas 3 vezes até entender o que você quis dizer logo no início... começa muito rápido e com uma frase muito longa. Fora isso, excelente informação e didática!
Parabéns pelo vídeo, finalmente alguém falando o que penso. Sugiro que faça um video de ataque de SSH o que é possível fazer para evitar(não permitir log de root, geração chave pública com openSSH, limitar as tentativas de login com timeout de retardo ou banimento, limitar ranges de ips, mudanças de porta de escuta). Pode falar de IPtables ou Fail2ban. E se concorda com essas sugestões ou não. Meus parabéns mais uma vez! Continue assim vou espalhar aos amigos pela qualidade dos teus vídeos no teu canal. Valeu!
Muito obrigado pelo comentário e pelas ideias Ayr! Pode ter certeza que já tá tudo anotado aqui e vou levar em consideração tudo isso. Segurança não é minha especialidade, apesar de eu me interessar bastante, mas vou pensar num formato em que eu consiga trazer bons conhecimentos sobre tudo isso.
Obrigado por responder. Sugestão não é obrigação, coloquei as sugestões mas sem expectativas.Fique à vontade para fazer o que quiser. E mesmo não sendo expert em segurança, mandou bem amigo, muito mais que muito especialista. Igual continuarei vendo teus vídeos, independente de qualquer coisa. Parabéns mais uma vez.
Cara, muito maneiro o vídeo. Parabéns de novo. Fiquei com uma dúvida. Bancos, corretoras e etc. geralmente requerem senhas estritamente numéricas para os usuários. Por que no caso deles é seguro? o que eles fazem pra impedir esses ataques? Abs!
Complemento a pergunta com os PINS de celular e aquelas senhas de arrastar dedo.
Parabéns ótima didática
Muito sucesso com os vídeos
Olá Booa Noite é Difícil Criar um Banco de Dados? Grande Video 👏👏👏
Na metade da aula, dei pause no vídeo e fui correndo mudar todas as minhas senhas.😅
Faz um vídeo ensinando a usar Hashcat
MAIS VIDEO PORFAVOR!!!
O Password Hash do PHP é seguro? De 0 a 10 essa função se encontra onde?
E quanto ao HashCode pelo C#? Eu estudo ADS e geralmente converto a string com máscara pela função GetHashCode, no banco eu modifico o número, que sai que tem cerca de 50 dígitos, pegando partes dele aí salvo, meu professor me recomendou dessa forma, mas nunca nem tinha ouvido falar dessas formas que vc citou, vou correr atrás dessas tb ^^
Mas e se seu criar uma senha forte com letras maiúsculas e minúsculas, números e caracteres especiais misturados, seria possível e fácil assim quebrar?
Seria só editar a regra de brute force?
Nossa muito obrigado pela aula, sou estudante e iniciante na área, então gostaria de tirar uma dúvida se o correto seria fazer a criptografia no código e mandar a senha criptografada pro banco ou pegar a senha bruta e fazer a criptografia direto no banco de dados? Desde já agradeço, ahhh e mais uma pergunta estou tentando ir pra área de segurança da informação má muitos me dizem q não vale a pena e investir, tem algum conselho?
O mais correto sempre vai depender do caso, mas geralmente acaba sendo fazer pelo código e só depois mandar para o banco de dados. Ao menos é a maneira mais comum.
Sobre investir na área de segurança, eu não sou dessa área mas conheço muita gente que é e ama. Se você gpsta, vai em frente porque tem muita oportunidade, mas como toda área de computação vai te exigir estudo constante. Ouve podcasts e vídeos com entrevistas de pessoas da área falando sobre como entraram nessa área, de repente te dá uma dica. E procure comunidades na internet, pegunta se tem alguém da área que possa te mentorar, esse é o melhor caminho sempre!
Muito bom, só não entendi como que vou comparar essa senha para login, já que o valor é aleatório. :/
Anglesson, quando você usa o SALT, esse salt fica visivel pra vc. Geralmente, o formato final que você salva no banco de dados fica algo como HASH_DA_SENHA_AQUI:SALT_VISIVEL, daí você extrai esse SALT_VISIVEL, pega a senha em "plain text" que a pessoa colocou no formulario de login, e refaz todo o processo de hashficação, dessa vez passando um salt específico. O resultado final tem q ser o mesmo valor que você guardou no banco de dados. Se não for, a senha da pessoa está incorreta.
e se eu fizer assim: pegar senha tipo 123, e passar no sha1 ai pegar o resultado multiplicar 100x e passar o sha2 depois pegar o resultado e passar mais 10x no sha1 depois pegar o resultado pasar 21x no sha2 e depois pegar o resultado e somar 100x e passar dnv no sha1 e salvar, vai ta seguro ? mesmo sem as opções que vc falou ? e claro n só fica passando mais usar algumas palavras chaves durante essas passadas.
Opa não sou especialista em segurança, porém até onde eu sei o que você apontou se chama multiplos hash, o que definitivamente não é um bom padrão de segurança, para saber mais você pode ler aqui: security.stackexchange.com/questions/131527/why-is-hashing-a-password-with-multiple-hash-functions-useless
ou aqui: security.stackexchange.com/questions/33531/why-improvising-your-own-hash-function-out-of-existing-hash-functions-is-so-bad?rq=1
Italo segue as dicas dele que você estará seguindo por um caminho bem mais seguro!
Fernando Marques ok, vlw 😁
Aqui está um repositório do GitHub com código útil sobre isso -> github.com/alecgn/crypthash
Isso ai 😳 conectado os hackers faz isso ai fácil mente deixando osPC, desconectado OK então é assim
Caralho eu não entendi nada