Usuários comuns são capazes de ler / etc / passwd, isso é um buraco de segurança?

19
ls -l /etc/passwd

$ ls -l /etc/passwd
-rw-r--r-- 1 root root 1862 2011-06-15 21:59 /etc/passwd

Assim, um usuário comum pode ler o arquivo. Isso é um buraco de segurança?

    
por abc 04.07.2011 / 02:06

4 respostas

49

Os hashes de senha reais são armazenados em /etc/shadow , o que não é legível por usuários comuns. /etc/passwd contém outras informações sobre ids de usuários e shells que devem ser legíveis por todos os usuários para que o sistema funcione.

    
por 04.07.2011 / 02:09
16

Normalmente, as senhas hashed são armazenadas em /etc/shadow na maioria dos sistemas Linux:

-rw-r----- 1 root shadow 1349 2011-07-03 03:54 /etc/shadow

(Eles são armazenados em /etc/master.passwd em sistemas BSD .)

Os programas que precisam executar a autenticação ainda precisam ser executados com root privileges:

-rwsr-xr-x 1 root root 42792 2011-02-14 14:13 /usr/bin/passwd

Se você não gosta dos programas setuid root e de um único arquivo contendo todas as senhas em hash do seu sistema, você pode substituí-lo pelo Openwall Módulo TCB PAM . Isso fornece cada usuário com seu próprio arquivo para armazenar sua senha em hash - como resultado, o número de Programas setuid root no sistema podem ser drasticamente reduzidos.

    
por 04.07.2011 / 02:13
13

As senhas não foram armazenadas em /etc/passwd há anos. o nome é legado, a função de ser o banco de dados do usuário local permanece e deve ser legível por todos para esse propósito.

    
por 04.07.2011 / 02:07
6

Até certo ponto, como você pode identificar usuários. No passado, você também podia pegar suas senhas. No entanto, o one userid realmente vale a pena cracking é root , que é bem conhecido sem o arquivo de senha.

O utilitário de ter o mundo do arquivo de senhas legível geralmente supera em muito o risco. Mesmo se não fosse legível pelo mundo, um comando getent passwd em funcionamento tornaria o ganho de segurança nulo.

A capacidade de usuários não-root identificarem arquivos pertencentes a outros desapareceria. A capacidade de identificar arquivos de propriedade (usuário em arquivo passwd) e não pertencentes (usuário que não está no arquivo passwd) pode ser útil para revisar o conteúdo de um sistema de arquivos. Embora seja possível resolver isso com os programas setuid apropriados, isso adicionaria um enorme vetor de ataque por meio desses programas.

No final, é uma questão de equilíbrio e, nesse caso, eu diria que o equilíbrio é ter uma senha legível para o mundo todo.

    
por 04.07.2011 / 06:19