Criando senhas seguras com o mkpasswd

Um dos maiores pesadelos dos administradores de redes sempre foi a capacidade incrível dos usuários em escolher senhas inseguras. O que fazer quando não podemos contar com o usuário sequer na hora de criar a sua própria senha?

[ Hits: 29.360 ]

Por: Marcelo Cavalcante Rocha em 26/05/2008


A solução encontrada: mkpasswd



A primeira solução que me veio em mente foi definir eu mesmo as senhas dos usuários, mantendo assim um padrão aceitável de segurança pessoal. Eu estaria garantindo o nível de segurança da forma que eu planejasse, evitando que algum desavisado ou descuidado cometesse o erro de utilizar uma senha facilmente deduzível.

Então aparece um segundo problema. E se eu tiver cerca de 50 usuários? Vou ter que sair pensando em senhas para cada um deles?

Foi nesta tarefa que o Linux mais uma vez me ajudou. Com a ferramenta mkpasswd que gera uma senha aleatória suprindo minhas necessidades básicas de segurança em uma senha que envolvesse por exemplo números, letras e mistura de caracteres especiais variando as letras em maiúsculas e minúsculas por exemplo.

O mkpasswd é uma ferramenta bastante comum para a criação de senhas no mundo Linux. Bastante usada por administradores de redes/sistemas é capaz de gerar milhares de combinações com envolvendo letras e números possibilitando inclusive a escolha de quantos dígitos a senha deverá ter, quantidade mínima de caracteres especiais, letras maiúsculas, minúsculas etc.

Para cada uma dessas respectivas funções existe um parâmetro que deve ser usado juntamente com o mkpasswd.

Como cada caso é um caso, aqui tratarei o comando com exemplos variando em seus diferentes parâmetros, aumentando ou diminuindo seu grau de segurança bem como complexidade.

Antes de se aplicar as senhas, deve-se ter sempre em mente onde a mesma será aplicada, afinal de contas, a complexidade exigida para a senha de um administrador de redes é bem diferente da exigida para a senha de alguém que apenas tem acesso à agenda de serviços externos por exemplo.

Página anterior     Próxima página

Páginas do artigo
   1. Nosso pesadelo...
   2. A solução encontrada: mkpasswd
   3. Uso básico do mkpasswd
   4. Conhecendo os parâmetros do mkpasswd
Outros artigos deste autor

Cultura Hacker - Tenha ética e ganharás respeito

Linux - Só não usa quem não quer

Jogos no Arch Linux - Porque nem tudo é tela preta!

O Software Livre precisa de você!

Um mês de Arch Linux: Resultado obtido

Leitura recomendada

Solução de backup para servidores Windows, Linux & BSD’s

SELinux na prática

Detectando vulnerabilidades com o Nessus

Sudoers 1.8.12 - Parte II - Manual

Apache2 + PHP5 com ModSecurity no Debian Squeeze

  
Comentários
[1] Comentário enviado por lucianopqd em 26/05/2008 - 17:15h

Brow, com certeza esse foi um ótimo artigo, nota 10...

[2] Comentário enviado por eduardo em 26/05/2008 - 17:19h

Detonou no artigo hein kalib. Não conhecia :P

hehe, Só o que faltou é como conseguimos esse programa.

Muito bom.

[3] Comentário enviado por Pianista em 26/05/2008 - 17:23h

"Foi-se o tempo em que a prioridade dentro das empresas era meramente física ou financeira..."(não é bem assim não.. rsrsrs)

Ótimo artigo. parabéns!

[4] Comentário enviado por elgio em 26/05/2008 - 18:28h

Kalib.
Só para registrar o que já haviamos conversado em OFF: existem diversas implementações de mkpasswd. Em algumas delas, como no Ubuntu, o mkpasswd é um binário que GERA O HASH de uma senha CONHECIDA.

Neste, no Ubuntu, tem uma implementaçao em perl (mkpasswd.pl) que se comporta como o que o Kalib descreveu.

Forte Abraço

[5] Comentário enviado por removido em 26/05/2008 - 18:55h

muito bom kalib !!!!!!

[6] Comentário enviado por equeiroga em 26/05/2008 - 19:24h

Pianista, acho q o Kalib fez esse comentário querendo fazer menção à necessidade das empresas, não o cenário atual :)

Na verdade, muitas empresas, realmente, não ligam pra este tipo de detalhe. Um tempo atrás fiz uma consultoria num escritório de advocacia, e os advogados ficaram indagando que era "Frescura do pessoal de informática criar essas senhas dos computadores!!!".

Imagina como fiquei diante disso auhauhuahuaha.

Na verdade, eles nem sabem o risco que correm!!!

[7] Comentário enviado por kalib em 26/05/2008 - 19:35h

Sim pessoal..
É uma ameaça constante..por incrível que pareça...neste século ainda encontramos este tipo de vulnerabilidade. :/

O grande problema da maioria das empresas hoje em dia é o próprio pessoal..a mentalidade deve estar focada e sintonizada com os objetivos e processos da empresa. Altos investimentos em tecnologia sem o mínimo de conscientização do pessoal interno é apenas dinheiro jogado no lixo. ;]

[8] Comentário enviado por fulllinux em 26/05/2008 - 22:30h

Hhaauha... Aew kalib, muito bom seu artigo, não tinha conhecimento desta excelente ferrameta... foi muita boa a leitura do artigo valeu kara.... É sempre bom aprender coisas deste tipo!

Conscientização é uma boa pegada... []'s

[9] Comentário enviado por y2h4ck em 26/05/2008 - 22:39h

A idéia de senhas complexas é bem excitante e atrativa, porém lembrem-se que quanto mais complexa for a senha, maiores as chances delas acabarem em um post-it colado no monitor ou embaixo do teclado :D

Bom artigo Kalib parabéns!

Anderson

[10] Comentário enviado por foguinho.peruca em 26/05/2008 - 23:21h

Olah Kalib!

Gostei do artigo... esses dias eu tava tendo problemas om senhas também que eu precisava criar pro pessoal usaar as maq... eu usei a ferramenta gráfica do gnome, quando a gte cria usuário... mas eh bomm conhecer outras alternativas...

Detalhe: testei os comandos aqui na Keiko (meu note) --> Ubutu 7.1 e os parametros aqui não funcionaram... tava lendo o man do mkpasswd e os parametros que vc passou não são válidos...

MAs eh issu...
[]'s
JEff

[11] Comentário enviado por removido em 27/05/2008 - 07:33h

Ae Kalib!!
Já tinha visto esse artigo em seu site lembra? até que fiz uma pergunta aqui e dae eu consegui instalar o programa... como utilizo o (k)ubuntu como disse o elgio... o mkpasswd gera o HASH de uma Senha já conhecida. Para instalar baixei o mkpasswd junto com uma biblioteca perl que ae sim (mkpasswd.pl)... faz tudo isso que você falou e já está em utilização aqui na minha empresa... concluindo: Excelente Artigo... tá de parabens!

[12] Comentário enviado por removido em 27/05/2008 - 07:39h

foguinho.peruca

para instalar o mkpasswd.pl no ubuntu...

http://www.vivaolinux.com.br/comunidades/verTopico.php?codigo=44&codtopico=19804

simplificando: apt-get install libstring-mkpasswd-perl

com isso vai passar a funcionar.. é só vc por #mkpasswd.pl <parametros>

bom.. espero ter ajudado! falow!

[13] Comentário enviado por Pianista em 27/05/2008 - 08:26h

equeiroga.. xD.. foi só pra discontrair um pouco "=D"e lembrar que embora seja essêncial, algumas empresas ainda não pensam dessa forma.. rsrsrs

Mas não esqueçam, senhas segurar são só o primeiro passo...

http://www.vivaolinux.com.br/artigos/verArtigo.php?codigo=8133

Abraços!

[14] Comentário enviado por Tjdestroyer em 27/05/2008 - 09:21h

Bom Artigo, parabéns....
Mas não se esqueça, estamos lidando com usuário, e se ele não puder escolher a senha dele, com certeza essa senha vai se anotada em um bloquinho e colocada do lado do monitor da seguinte forma:
SENHA DO COMPUTADOR: @wo_45#Yt
Como sempre a melhor solução é conscientizar os usuários na prática do uso de uma boa senha. E torcer para que eles nos ouçam.... :)

[15] Comentário enviado por engos em 27/05/2008 - 09:37h

O artigo sobre o mkpasswd está muito bom, mas a proposta do artigo era falar sobre segurança de senha e não do mkpasswd em si (talvez uma infelicidade sua ao postar?), certo?


Nesse caso então você falou da solução mais insegura e de maior (re)trabalho que pode existir. Qualquer tipo de sniffer quebraria sua perna ao passar a senha para o usuário, o qual teria que mante-la por escrito em algum lugar (pois dificilmente iria se recordar), o que seria super simples de se conseguir obter, bastaria "pagar o café" enquanto a pessoa coloca a senha que enquanto ela toma o café você olha a senha e pronto! :)

Alem disso, senhas devem ser mudadas de tempos em tempos, aumentando ainda mais seu trabalho e a possibilidade de sniffer ou roubo de senha de qualquer outro modo, pois se você não mudar de tempos em tempos, qualquer programinha de ataque consegue cedo ou tarde quebrar a senha.


Agora no caso Petrobras, ou para qualquer note, o correto é ter todos os dados criptografados no HD e somente depois de se autenticar é que se pode dar o boot no sistema.


Ainda acredito que a melhor opção é o usuários escolher a senha, a qual deve ser validada antes de aceita, verificando a quantidade de caracteres, se tem caracteres numéricos e alfa, alem de manter um dicionário de palavras para serem pesquisadas que jamais devem conter na senha e também checar os dados do usuário (data de nascimento, cidade etc) para se assegurar que nada disso está indo para a senha.


Não sei se era esse seu intuito no artigo, mas foi o que a introdução dele deu a entender...


[]s

[16] Comentário enviado por Icehawk em 27/05/2008 - 09:46h

É um bom comando mas para o usuário fica meio complicado. Trabalhei muito tempo com usuários e esse sempre foi um problema. Os usuários comuns tendem a usar as senhas mais fáceis possíveis, data de aniversário, nome dos filhos, data do casamento, etc. Devemos nos lembrar que o usuário já tem muitas senhas para lembrar (bancos, e-mail, login...) e se for escolhida uma senha complicada, fatalmente ela será anotada em algum lugar. Muitos usuários reclamavam quando a senha vencia e quase sempre havia a mudança de apenas um dígito na senha anterior, para não "complicar". Sem contar que a cada troca de senha muitos usuários esqueciam a senha nova e ligavam para criarmos outra senha. Então devemos lembrar sempre que estamos lidando com pessoas e não com máquinas, sendo assim devemos encontrar um meio termo entre segurança e capacidade dos usuários.

[17] Comentário enviado por kalib em 27/05/2008 - 09:46h

Acho que não caro engos...
Acho que foi o oposto...voc6e que foi infeliz em seu comentário... huahauha
E não é a primeira vez que isso acontece, em meu ver pelo menos...

A proposta do artigo nunca foi falar de segurança de senhas...se você tivesse lido com atenção o artigo, veria logo no título:
"Criando senhas seguras com o mkpasswd"

Claro que no caso de muitos usuários pode-se utilizar um script para agilizar as coisas em cima do mkpasswd. ;]

Enfim..maior atenção antes de comentar algo camarada... hauhauh

[18] Comentário enviado por f_Candido em 27/05/2008 - 09:49h

Muito Bom

Parabéns

[19] Comentário enviado por kalib em 27/05/2008 - 09:58h

Acho que alguns confundiram a idéia do artigo..
A idéia aqui não é dizer qual a melhor forma de se criar uma senha..e qual a mais segura...
Mas apenas apresentar como o mkpasswd pode fazer uma senha segura... Se é a melhor forma...isso já é outra história..afinal depende muito do tipo de corporação, tipo de pessoas que usarão...
Numa firma com 10 funcionários, talvez seja bom você deixar que eles escolham uma senha e passe por uma análise de segurança e complexidade da mesma...mas numa firma com 100 funcionários a coisa muda um pouco.. não é mais tão simples checar a de cada um..você deveria criar um script para checar isso e por os devidos parâmetros para dizer: a senha dele precisa de pelo menos duas letras maiusculas, dois numeros e dois caracteres especiais...

Neste tipo de caso..eu particularmente prefiro adotar o mkpasswd juntamente com uma política de gestão de pessoas (conscientização) da importância daquilo e do porque ela ter sido gerada daquela forma "estranha".

Cada caso é um caso...

E novamente..o artigo não é sobre como tornar uma senha segura, ou como aumentar a segurança..

Mas sim COMO GERAR UMA SENHA SEGURA COM O MKPASSWD, que é uma forma de se fazer isso...repito... é UMA forma de se fazer isso. ;]

abraços e obrigado pelos comentários e pela discussão saudável.

[20] Comentário enviado por y2h4ck em 27/05/2008 - 10:33h

Caro Engos, vc fala repetidamente no comentário, que concordo com Kalib que foi infeliz ao comentar, que "um sniffer isso", "um sniffer aquilo". Rapaz, vc realmente sabe o que é um sniffer?? Afinal olhe ali eu não estou vendo nenhuma situação do nosso amigo Kalib onde ele fala pra alguem acessar os servidores via TELNETD para setar senhas ... oO

Assim... mkpasswd gera a senha para a maquina onde ele executa ... sendo assim o seu "sniffer ultra l33t hax0r" a menos que ele seja tão ninja a ponto de decriptar uma sessão SSH on the fly pra capturar essas senhas ai que ele está gerando, só posso crer que você anda viajando nos seus conceitos. rlogin e telnetd não são mais usados não meu velho (não pelo menos por pessoas que pensam).


[21] Comentário enviado por kalib em 27/05/2008 - 10:48h

É o mesmo que falar que as melancias se estragam rápido para alguém que está lhe vendendo pera... hauhauha

A coisa se distorceu com o engos..não sei de onde ele tirou tanta imaginação... mas...é a vida...

Nisso que dá esses filmes sobre ficção científica...

Bom...essas tecnologias que você citou realmente estão ultrapassadas..nem mesmo um scriptkid de 14 anos usaria mais isso...

As coisas mudam engos..as coisas mudam...

E concordo com o y2h4ck com relação ao sniffer..não entendi qual a ligação de uma coisa com a outra...mas enfim...

Não estou vendendo melancia, portanto pouco me importa se ela apodrece cedo. ;] Mas se quizer pera, ainda estou vendendo.

abraço

[22] Comentário enviado por lipecys em 27/05/2008 - 13:54h

Cara, muito bacana o artigo.

Abraço, obrigado por colaborar com a comunidade.

[23] Comentário enviado por Pianista em 27/05/2008 - 14:07h

o coitado do engos nem falou mais nada, mas valha como vocês são.. rsrsrsrs

[24] Comentário enviado por rafastv em 27/05/2008 - 19:58h

Não conhecia o script, bom artigo :-)
Só faltou mencionar que o mkpasswd tem implementações diferentes, aqui no Kurumin, que uso no trabalho, por exemplo, o mkpasswd é apenas um front end para acessar a função crypt da libc.
Existe uma versão on-line do script:
http://www.samurajdata.se/~cj/mkpasswd.html
O mkpasswd original de Don Libes para baixar faz parte do pacote Expect:
http://expect.nist.gov/
Existe também uma alternativa, que me pareceu melhor(você pode inclusive escolher a quantidade de senhas geradas), implementada em PERL por Aaron Sherman no seguinte endereço:
http://www.ajs.com/~ajs/mkpasswd.html

Cordialmente,

[25] Comentário enviado por KelvinVicente em 28/05/2008 - 00:00h

Artigo excelente =]
E esse artigo é um pé para artigos sobre segurança da informação.
Utilizo o mkpasswd e ele pode não ser o melhor, mas tem se mostrado bastante eficiente para criar senhas com um certo nível de segurança.
Quanto ao que falaram de anotarem senhas, pode até acontecer, mas se a pessoa tiver senso ela vai memorizar aquela senha ou então deixar anotado em algum lugar que apenas ela tenha acesso até o momento em que não necessitará mais olhar para o papel e o jogará fora, mesmo senhas complexas tendem a serem memorizadas com seu uso constante
;-)
(a não ser que a pessoa seja uma mula hahahahahaha)

Kalib, mais uma vez, parabéns pelo excelente artigo, agora me diz uma coisa: quando tu vai escrever um sobre segurança propriamente dita? Se já escreveu me dá um toque =]

Abraços

[26] Comentário enviado por kalib em 28/05/2008 - 08:46h

Obrigado a todos que comentaram até agora.. ;]

KelvinVicente...
O que exatamente você deseja ler sobre segurança em si? Conceitos de segurança da informação? É isso?

Sobre artigos voltados para a área de segurança temos sim vários aqui no vol... por exemplo o nosso amigo y2h4ck... ele possui vários artigos aqui voltados para a área de segurança.. vale a pena dar uma conferida...

abraço ;]


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts