backdoors do Linux eu deveria ser cauteloso

1

Sou novo no domínio de gerenciamento de servidores e tenho certeza de que meu servidor é muito inseguro. Eu passei pela verificação de segurança do WHM CPanel, mas tenho certeza que os verdadeiros gurus, que o cheque é estúpido e nem de longe o que precisa ser. Quais são algumas das coisas que eu deveria procurar?

    
por Webnet 09.03.2010 / 18:45

4 respostas

4

Eu respondi uma pergunta semelhante no outro dia aqui:

Servidor LAMP seguro para uso em produção

Para verificar se há compromisso ...

Arquivos suspeitos em / tmp. Arquivos na árvore da Web inesperados.

Módulos do kernel carregados que parecem suspeitos. ( lsmod )

Processos em execução que não deveriam ser. ( ps aufx )

Conexões de rede ativas. ( netstat )

Descritores de arquivos atualmente abertos. ( lsof )

Por fim, se o servidor estiver comprometido, a melhor coisa a fazer é isolar, criar imagens e reconstruir.

Editar 1

Bart trouxe pontos muito bons; especialmente que você não pode confiar no sistema local se acredita estar comprometido.

Após a criação da imagem, você pode manipular a imagem (e os sistemas de arquivos) usando utilitários confiáveis conhecidos para obter mais explicações forenses.

Descargar o tráfego em um switch ou executar um tcpdump no sistema local também pode ser útil.

Editar 2

Na verdade, eu copiei utilitários de um sistema conhecido e usado em um servidor remoto antes. Não é o ideal, mas melhor que nada.

    
por 09.03.2010 / 18:48
2

Eu já fiz alguns comentários, mas para consolidar alguns pensamentos ...

Você está perguntando sobre quais vetores de ataque em potencial?

Fora da caixa, não há muita coisa nas instalações atuais do Linux com as quais você normalmente precisa se preocupar imediatamente. A maioria das pessoas apresenta falhas em seus sistemas Linux instalando novos programas e alterando configurações.

Para lhe dar um melhor conselho, você precisa esclarecer o que está fazendo. Um servidor de casa? Um servidor de banco de dados? Servidor web? Estação de trabalho?

Um sistema com todos os patches e atualizações ainda exporá informações se você estiver executando um servidor de banco de dados que não limpe as entradas e consiga ter um ataque de injeção SQL contra um banco de dados de back-end.

Geralmente, você faz o que precisa fazer em qualquer outro sistema. Atualize regularmente. Use os privilégios mínimos necessários para fazer algo (não execute como root o tempo todo). Não faça login com senhas em texto puro (use o SSH para administrar remotamente o sistema). Não execute serviços desnecessários (desligue a área de trabalho remota / VNC se não estiver usando, não execute um servidor da Web se não estiver usando, etc.) Use senhas strongs. Verifique os registros regularmente em busca de um comportamento incomum. Conheça como o seu sistema age para que você saiba o que é "estranho". Monitore os logs para tentativas de acesso incomuns. Instale o denyhosts e configure-o para bloquear os IPs que tentarem invadir o SSH para acessar o login, ou movê-lo algumas portas para que ele não seja aberto a um ataque de bot. Use o NMAP para verificar quais portas você tem aberto (de outra máquina). Auditoria sua máquina com algo como SAINT (google para ferramentas de auditoria de vulnerabilidade). Não deixe sua estação de trabalho logada quando você for embora.

Coisas como o chkrootkit e o rkhunter ajudam a dar alguma orientação e tranquilidade, assim como o hashing de utilitários como o tripwire, mas eles aumentam a sua manutenção. Você precisa sentar e balancear a usabilidade com as necessidades de segurança e aplicá-las conforme necessário (vale a pena gerar e armazenar hash extras sempre que você alterar um conjunto de arquivos ou executar atualizações do sistema, contra o que você pode perder com o tempo e dinheiro se o servidor for perdido?)

Certifique-se de ter uma boa rotina de backup. Uma cópia de dados em tempo real não é boa se alguém comprometer o servidor e seus backups mais antigos contiverem o comprometimento.

Nunca confie em um sistema se achar que ele foi comprometido. Eu gosto de usar o devil linux para fins de appliance porque é impossível quebrar fora de áreas de risco de dados (coisas como servidores proxy); Ele inicializa e roda a partir do CD, para que ninguém possa substituir os binários. Eu suponho que eles podem consertá-los na memória, mas uma reinicialização limpa isso.

Se você está lidando com necessidades de segurança mais pesadas, faça o eco dos seus registros para outro servidor. Não use a mesma senha para tudo. Se o seu servidor estiver comprometido, eles terão acesso a todas as senhas (eu li uma vez sobre alguém configurando um site pornográfico, depois vendo logins e endereços de e-mail e tal entrada nos registros ... eles acharam que poderiam se virar e usar os mesmos senhas para invadir outros sites, já que a maioria das pessoas usa o mesmo esquema de senhas no local de trabalho e em casa do que em sites comerciais).

Esses são os grandes. Novamente, é tudo uma questão de equilibrar a usabilidade com a segurança e quanto você tem a perder se perder o servidor, mas também as coisas na sua rede. Se alguém assumir um humilde servidor de arquivos ou um servidor da Web dificilmente usado, o Linux pode ser facilmente usado para redirecionar solicitações ARP e atuar como um roteador para detectar o tráfego, para que ele possa ver outras coisas em sua rede, de modo que até um servidor insignificante pode se tornar uma ameaça significativa. Como você não disse qual era o servidor e o papel ou qual era o local, é difícil dizer detalhes (como, "Whoa! Você não quer tocar no armazenamento de informações de cartão de crédito se precisar perguntar sobre isso! o material é altamente regulamentado! "ou," Nunca armazene senhas em segredo. Nunca armazene como texto simples, nunca. ")

    
por 09.03.2010 / 19:37
1
por 09.03.2010 / 19:18
0

Enquanto isso é muito complicado (não diga que eu não avisei). O NeXpose tem um Community Edition [rapid7.com] que você pode usar para verificar vulnerabilidades. Você também pode integrá-lo com o Metasploit [www.metaploit.com]. Esteja preparado para fazer alguma leitura pesada. Mas se você percorrer, você será mais sábio. Estas são mesmo ferramentas usadas por alguns profissionais de segurança.

Envolva a comunidade e estude! Estar comprometido (e comprometer-se) pode ser muito complexo.

Melhor aposta se você estiver ou suspeitar que está comprometido, reinstalar a partir de backups ou fazer uma instalação limpa. Use fontes que forneçam checksums para downloads

Se eles sabem o que estão fazendo, podem até modificar compiladores em seu sistema para compilar em "malware" em novas compilações.

EDIT: Estas são ferramentas para verificar se você pode ser explorado. Eles não verificarão se você está comprometido.

    
por 09.03.2010 / 19:44