permissões de segurança / etc do debian

5

Estou configurando uma caixa debian com webhhosts compartilhados. Esses usuários não têm permissões ssh, apenas ftp. Os usuários têm permissão para usar o PHP e eu configuro suphp para que os processos do php sejam executados sob sua própria conta de usuário, etc.

Estou um pouco preocupado com a segurança dos arquivos do sistema, especialmente a pasta /etc . Percebo que a maioria dos arquivos desse diretório tem permissões como:

    drwxr-xr-x  2 root root    4096 Mar  4 20:00 pam.d
    -rw-r--r--  1 root root    1358 Mar  5 00:48 passwd
    -rw-------  1 root root    1358 Mar  5 00:48 passwd-
    drwxr-xr-x  2 root root    4096 Feb 18 14:22 pear
    drwxr-xr-x  4 root root    4096 Apr 29  2010 perl
    drwxr-xr-x  6 root root    4096 Feb 18 14:22 php5
    drwxr-xr-x  2 root root    4096 Mar  4 17:42 phpmyadmin

As permissões read-world, que são o padrão debian, fornecem os arquivos em /etc realmente necessários? Qual é a melhor máscara que posso dar a esses arquivos? Existem arquivos em /etc que devem ser legíveis em todo o mundo?

    
por Danny Hiemstra 05.03.2011 / 12:08

5 respostas

7

As permissões padrão são boas e necessárias. Se você, por exemplo não deixava o mundo passwd legível, muitas funcionalidades relacionadas ao usuário parariam de funcionar. Arquivos como / etc / shadow não devem ser (e não são) legíveis pelo mundo.

Confie no sistema operacional para acertar, a menos que você conheça muito bem que o sistema operacional está errado.

    
por 05.03.2011 / 12:11
4

Quase todo o arquivo de configuração precisa ser legível para o mundo, como você espera que seus aplicativos os leiam de outra maneira?

Se você é realmente paranoico, pode criar grupos para cada aplicativo, colocar os usuários necessários neles e alterar o proprietário do grupo e a permissão para o arquivo de configurações relacionadas. Mas acho que isso causaria muito mais mal do que bem.

O único arquivo importante em que consigo pensar que não tem permissão legível para o mundo é / etc / shadow, como declarado em outros comentários.

Se você quer uma caixa Debian segura, eu sugiro que assegurando o Debian Howto seja uma um pouco velho, mas dá uma boa visão geral.

Existe também o pacote harden que cria algumas dependências interessantes e proíbem a instalação de pacotes vulneráveis conhecidos.

    
por 05.03.2011 / 12:20
2

Tudo fica bem exceto no diretório phpmyadmin . Tenha muito cuidado para proteger os arquivos para que a senha do mysql não vaze.

    
por 05.03.2011 / 12:27
1

O passwd precisa ser legível em todo o mundo para que algumas ferramentas funcionem corretamente. Apesar de seu nome, as senhas não são armazenadas lá, elas são armazenadas no arquivo /etc/shadow , que deve ter as permissões -rw------- . O arquivo passwd- é provavelmente um backup. Todos os outros "arquivos" são diretórios e contêm arquivos de configuração.

    
por 05.03.2011 / 12:12
1

Vamos dar um passo para trás: se esses usuários precisarem apenas acessar seus diretórios home, a maioria dos servidores FTP tem alguma configuração que somente permite acesso a esse diretório, e em nenhum outro lugar (mais comumente usando chroot).

Por exemplo, no ProFTPd, é a diretiva DefaultRoot:

<VirtualHost myhost.example.com>
  DefaultRoot ~
</VirtualHost>

link

    
por 05.03.2011 / 12:25