Melhorando a segurança das senhas armazenadas em seu sistema

Shadow Passwords

Senhas Ocultas (shadow passwords) aumentam consideravelmente a senha do seu sistema pois as senhas serão armazenadas em um arquivo separado: /etc/shadow para senhas de usuários e /etc/gshadow para senhas de grupos. Estes dois arquivos poderão ser acessados somente pelo usuário root. O armazenamento de senhas no arquivo /etc/passwd e /etc/groups não é seguro, estes arquivos devem ser lidos por todos os usuários porque muitos programas mapeiam a UID do usuário com seu nome e vice versa.

O utilitário shadowconfig é usado para ativar/desativar o suporte a senhas ocultas (de usuários e grupos) em seu sistema. Adicionalmente os utilitários pwconv/grpconv podem ser usados separadamente para ativar o suporte a senhas ocultas de usuários/grupos e pwunconv/grpunconv para desativar este suporte.

ATENÇÃO: Caso você inclua usuários em grupos manualmente no arquivo /etc/passwd, também precisará fazer isto no arquivo /etc/shadow para que não tenha problemas. Esta tarefa é feita automaticamente com o comando adduser usuário grupo. O programa vipw e vigr também podem ser usados com a opção -s para editar os arquivos /etc/shadow e /etc/gshadow respectivamente.

Senhas Sha512, SHA256 e MD5

O sistema de criptografia usado pelo SHA512 é mais seguro que o SHA256, e este é mais seguro que o MD5. Na escala de algoritmos mais seguros para o menos seguro, seguido da respectiva forma de identificar qual é qual no /etc/shadow temos o seguintes:

  1. SHA512

    - Tipicammente inicia por $6$Salt$Encriptacao
  1. SHA256

    - Tipicammente inicia por $5$Salt$Encriptacao
  1. Blowfish

    - Tipicammente inicia por $2$Salt$Encriptacao
  1. Blowfish (com correçao caracteres 8 bits)

    - Tipicammente inicia por $2y$Salt$Encriptacao
  1. MD5

    - Tipicammente inicia por $1$Salt$Encriptacao. O uso de MD5 é desencorajado hoje em dia devido ao ataque de colisão de hash
  1. Crypto

    - Obsoleto, não deve ser mais utilizado de forma alguma! Limitado ao máximo de 8 caracteres. Uso é totalmente desencorajado hoje em dia.

O Salt de uma senha pode ter até 16 caracteres, e Encriptacao é a senha criptografada.

Para gerar uma senha com um algoritmo específico, utilize: mkpasswd --method=sha512 --salt=abacabbXYZ SENHA

Caso utilize senhas SHA512 em um sistema com PAM, inclua a palavra SHA5125 na linha de configuração do método de autenticação password do módulo pam_unix.so:

password required pam_unix.so sha512