Armazenamento de senhas no Linux
Você sabe como são armazenadas as senhas no Linux? O que é e para que serve o salt number? O que é MD5? Este artigo não pretende ir muito a fundo no mundo da criptografia, mas sim explicar os conceitos necessários para entender o arquivo de senhas, os reais ataques. Quem programa para a WEB poderá achar este artigo além de curioso, muito útil!
Parte 9: Conclusões e referências
A forma como o Linux (por favor, sim, sim, Unix e FreeBSD também. É uma boa herança) armazena senhas é extremamente segura. Os ataques possíveis são por culpa do usuário que insiste em por uma senha fácil.
Como objetivo principal deste artigo espero que os programadores armazenem senhas de uma forma mais segura em seus sistemas. Um simples função de HASH md5 já melhora muito, mas para quem quiser ir mais além, não custa nada implementar salt numbers. Pode ser até concatenando os salt numbers na senha do usuário. Já inviabiliza os ataques, exceto, evidentemente, os de senha fácil.
Em uma universidade que ajudei a administrar implementamos uma página para trocar senha. Ela não aceitava senhas fáceis, como somente números, somente letras, baseadas em login. Usuário é usuário e muitos ficavam horas tentando por uma senha ou mesmo desistiam. Usuário é sempre o ponto mais fraco. Como convencê-lo a não usar a placa do carro como senha? Se você o obriga por força do seu cargo (eu sou o administrador, eu determino que a senha seja assim), você terá um eterno inimigo ou ainda terá que eles passarão a anotar a senha em algum lugar, como no celular por exemplo. Obrigar eles a trocar a senha a cada seis meses então... xiiii...
Como referência para este artigo confesso que realmente não consultei nada para escrevê-lo. É um assunto bem conhecido meu e claro que na minha formação li vários livros e sites que explicavam. Para escrever este artigo usei como base um email meu que enviei para os alunos de segurança. Este email não é igual a este artigo. Ele é mais técnico e dentro de um conceito de aula específico. Mesmo assim se alguém quiser ver o email eu o coloquei no meu site:
(podia simplesmente ter adaptado o email ao VOL, mas preferi escrever outro)
Um site para quebrar hashes MD5 ou SHA1 pode ser encontrado em http://passcracking.com/
Tente com estes HASHES:
698DC19D489C4E4DB73E28A713EAB07B = teste
2FE04E524BA40505A82E03A2819429CC = ola
Muita gente se surpreende com este site e acha que o mundo acabou, que não existe senha segura... Bobagem...
Por fim, eu me empolguei mais do que gostaria neste artigo. Alguns itens, caso seja do interesse, podem ficar para um segundo artigo. Não descrevi como realmente e matematicamente a senha é gerada (está no email) e nem porque o MD5 já é depreciado.
Uma boa leitura é o artigo Introdução a Criptografia aqui no VOL.
Como objetivo principal deste artigo espero que os programadores armazenem senhas de uma forma mais segura em seus sistemas. Um simples função de HASH md5 já melhora muito, mas para quem quiser ir mais além, não custa nada implementar salt numbers. Pode ser até concatenando os salt numbers na senha do usuário. Já inviabiliza os ataques, exceto, evidentemente, os de senha fácil.
Em uma universidade que ajudei a administrar implementamos uma página para trocar senha. Ela não aceitava senhas fáceis, como somente números, somente letras, baseadas em login. Usuário é usuário e muitos ficavam horas tentando por uma senha ou mesmo desistiam. Usuário é sempre o ponto mais fraco. Como convencê-lo a não usar a placa do carro como senha? Se você o obriga por força do seu cargo (eu sou o administrador, eu determino que a senha seja assim), você terá um eterno inimigo ou ainda terá que eles passarão a anotar a senha em algum lugar, como no celular por exemplo. Obrigar eles a trocar a senha a cada seis meses então... xiiii...
Como referência para este artigo confesso que realmente não consultei nada para escrevê-lo. É um assunto bem conhecido meu e claro que na minha formação li vários livros e sites que explicavam. Para escrever este artigo usei como base um email meu que enviei para os alunos de segurança. Este email não é igual a este artigo. Ele é mais técnico e dentro de um conceito de aula específico. Mesmo assim se alguém quiser ver o email eu o coloquei no meu site:
(podia simplesmente ter adaptado o email ao VOL, mas preferi escrever outro)
Um site para quebrar hashes MD5 ou SHA1 pode ser encontrado em http://passcracking.com/
Tente com estes HASHES:
698DC19D489C4E4DB73E28A713EAB07B = teste
2FE04E524BA40505A82E03A2819429CC = ola
Muita gente se surpreende com este site e acha que o mundo acabou, que não existe senha segura... Bobagem...
Por fim, eu me empolguei mais do que gostaria neste artigo. Alguns itens, caso seja do interesse, podem ficar para um segundo artigo. Não descrevi como realmente e matematicamente a senha é gerada (está no email) e nem porque o MD5 já é depreciado.
Uma boa leitura é o artigo Introdução a Criptografia aqui no VOL.