Segurança: logs / configurações / diretórios legíveis no linux

1

O Debian e outros sistemas Linux geralmente vêm com logs / configurações / diretórios que podem ser lidos pelo mundo. Por exemplo, em uma nova instalação da Debian, esses arquivos são legíveis pelo mundo:

  • / etc / passwd
  • / var / log / lastlog
  • lista de tarefas cron em execução

Embora a capacidade de ler esses arquivos não seja uma ameaça direta, em um sistema em que todos os usuários não são confiáveis, é aconselhável minimizar a visibilidade do sistema.

Existe uma ferramenta padrão / sabor linux para evitar esse tipo de situação em que novos usuários podem colher muitos detalhes sobre o servidor que estão usando? Idealmente, eles devem ser limitados aos seus próprios diretórios.

Eu já configurei chroot jails no passado, mas estou procurando uma solução alternativa ou truques que alguns de vocês possam ter.

Obrigado!

    
por Wadih M. 04.10.2009 / 05:45

2 respostas

4

Você pode querer aprofundar um pouco antes de "consertar" isso e garantir que suas alterações sejam totalmente pensadas. Dos arquivos que você mencionou:

Por acaso, sei que / etc / passwd tem que ser legível para qualquer número de programas (ls) para acessar informações de nome de usuário em configurações padrão. Nada em / etc / passwd é secreto ou privilegiado em qualquer máquina moderna, pois é para isso que servem os arquivos de sombra, ou os segredos são hospedados na rede via LDAP, Kerberos ou qualquer outra coisa semelhante.

Eu tenho menos certeza sobre os outros dois. O cron é executado como o usuário cujos trabalhos ele está executando, portanto, ele provavelmente precisa ser capaz de ler esse arquivo como qualquer usuário que possa executar o cron. Qualquer usuário em um sistema comum pode ser executado por último, para ver logins recentes e atuais (lidos do lastlog e wtmp, afair), e assim esses arquivos podem ser lidos. Você pode certamente remover esses comandos, ou o acesso do usuário a eles, e então você pode querer mudar os perms nos arquivos ou removê-los completamente, uma vez que você esteja certo de que eles não são usados.

O Manual Securing Debian pode ser capaz de responder a mais destas perguntas para você ou explicar melhor as coisas. Embora não seja ativamente mantido, ainda é muito bom. Outras distros têm recursos semelhantes.

    
por 04.10.2009 / 09:47
2
  • / etc / passwd deve ser legível por todos; muitos programas precisam lê-lo. Este não é um risco de segurança (a menos que você considere que mostrar quais usuários existem na máquina é um risco de segurança); a senha não é armazenada nela agora e nunca foi armazenada sem criptografia.

  • / var / log / lastlog - se isso for legível pelo mundo, isso significa que as pessoas podem ver se há problemas na máquina que os administradores precisam observar sem ter que incomodar os administradores antes.

  • Lista de tarefas cron em execução - isso é mostrado por 'ps', presumo? Se você está preocupado com os usuários ver o que outras pessoas estão fazendo na mesma máquina, então você tem problemas. O Unix e o Linux geralmente funcionam melhor onde há um mínimo de confiança entre os usuários em uma máquina. Você pode executar com segurança com acesso de leitura público bastante geral; é muito mais difícil de executar sem ele.

Se você deseja executar um sistema seguro, considere SELinux . Não tenho certeza se lida com esses problemas em particular, mas de todos os sistemas Linux, o SELinux ou um de seus derivados é o mais provável de fazê-lo.

    
por 04.10.2009 / 09:54