Pergunta exploratória para administradores de segurança (/ etc / passwd + PHP)

3

Tenho visto alguns problemas ultimamente em alguns dos meus servidores em que uma conta é hackeada por meio de scripts desatualizados, e o hacker faz upload de um script cPanel / FTP Brute forçando PHP dentro da conta.

O arquivo PHP lê / etc / passwd para obter os nomes de usuários, e então usa um arquivo passwd.txt para tentar forçar sua entrada em 127.0.0.1:2082.

Estou tentando pensar em uma maneira de bloquear isso. Ele não publica nada, exceto "GET /path/phpfile.php", então não posso usar o mod_security para bloquear isso.

Eu estive pensando em talvez alterar as permissões em / etc / passwd para 600, mas não tenho certeza de como isso resultará em relação aos meus usuários.

Eu também estava pensando em conexões localhost limitadoras de taxa para: 2082, no entanto estou preocupado com mod_proxy sendo afetado.

Alguma sugestão?

    
por JPerkSter 13.04.2010 / 03:13

3 respostas

3

Execute alguma forma de autenticação que não olhe para / etc / passwd para nomes de usuário como LDAP. Além disso, sugiro ativar o SELinux para que esses hacks quebrem logo no passo 1 (o httpd não pode ler o / etc / passwd com as regras padrão), mas o cPanel detesta qualquer tentativa avançada de bloquear o sistema.

    
por 13.04.2010 / 03:18
0

Antes de mais cPHULK , ajudará a proteger o cPanel contra a força bruta. NUNCA altere as permissões para / etc / passwd e / etc / shadow, elas são configuradas dessa forma por um motivo. O SELinux irá adicionar uma camada extra de secuirty e impede que exploits obtenham a execução do código, mas pode não interromper este ataque. Altere o número da porta de 2082 para 2083 ou algo semelhante, o script que eles estão usando pode não ser tão inteligente.

mod_security é incrível, mas não vai fazer nada para parar este ataque.

Você também pode impor regras de senha melhores. Tente brute forçando a si mesmo com o THC-Hydra, se alguma conta estiver quebrada, desative-a e force o usuário a escolher uma senha melhor.

    
por 14.04.2010 / 01:49
0

Então, a primeira coisa é corrigir / deletar os scripts desatualizados que deram aos hackers a capacidade de fazer o upload de scripts cPanel / PHP em primeiro lugar. Depois disso tudo é um bodge (mau ajuste) dançando em torno do problema real, e você continuará tendo vários problemas até que isso seja corrigido.

O sistema espera que /etc/passwd seja mundial e legível por grupo (ou seja, 644 ou 444 , mas que ainda pode quebrar), enquanto /etc/shadow , que armazena os hashes de senha deve limitado a 600 ( proprietário de leitura / gravação, grupo e todos sem acesso o+rw,g-,a- ).

Não tendo experiência com o cPanel, não sei se pode ser limitado através de módulos de autenticação PAM, de modo a classificar as tentativas de verificação de limite de senha, para tornar as tentativas de forçar a senha bruta fúteis. O módulo PAM que eu tinha em mente é chamado pam_faildelay , o que atrasa várias tentativas.

Eu não sei se a solução de estilo tarpit usando Apache e mod_security seria um meio de acesso limitador de taxa para logins cPanel.

    
por 13.04.2010 / 04:28