Resumo

Foi visto que a primeira fronteira de proteção contra intrusos é o sistema de senhas. Praticamente todos os sistemas multiusuários utilizam um mecanismo de autenticação no qual o usuário é induzido a entrar com o identificador (ID) e uma senha secreta. A senha serve para autenticar o ID do usuário, liberando ou não o acesso ao sistema. O ID é utilizado para:

  1. Determinar se o usuário está autorizado a obter acesso ao sistema (autenticação). Em alguns sistemas específicos, apenas usuários previamente cadastrados terão permissão de acesso.
  2. O ID determina o nível de acesso concedido a um usuário específico (autorização). Alguns usuários, por exemplo, podem ter acesso de administração do sistema, enquanto outros terão acesso apenas de operação.

Em relação ao gerenciamento de senhas no sistema Linux, devemos saber que:

  1. Ao criar um usuário no sistema Linux, uma senha é associada ao ID do usuário.
  2. A senha é manipulada pela função crypt().
  3. A conta do usuário é armazenada no arquivo /etc/passwd.
  4. A senha é armazenada no arquivo /etc/shadow.

Em um ambiente Unix, quando um usuário é criado no sistema, uma senha é associada ao seu ID. Essa senha é manipulada pela função crypt(), que pode trabalhar com criptografia baseada em DES, MD5 ou SHA, para geração do Hash da senha e do SALT (é um número para evitar a pré-computação de um invasor que deseja criar um dicionário de senhas comuns e chaves KEK-Key Encription Key-associadas) que será armazenado no arquivo de senhas do sistema, normalmente armazenado em /etc/shadow.

O SALT é gerado no momento em que a senha é criada. É guardado em texto claro no arquivo de senhas. Objetivos do SALT:

  1. Evitar que senhas duplicadas sejam visualizadas no arquivo de senhas.
  2. Aumentar o tamanho da senha, sem a necessidade de o usuário lembrar de todo o comprimento adicional da senha.
  3. Impedir o uso de uma implementação que utilize o DES em hardware.
Copyright © 2016 AIEC.