Comportamentos inesperados em um servidor ou desktop Linux podem ser resultado de alguma infecção por Malwares e precisam ser investigados o quanto antes. Computadores Linux tem uma fama errada de serem totalmente seguros e livre de vírus, embora as camadas de segurança e autenticação sudo contribuam para um SO mais seguro, essa afirmação acaba levando muitos usuários a negligenciarem suas instalações e consequentemente sua segurança. Escanear periodicamente seu computador linux com programas especializados é altamente indicado, principalmente para aquelas pessoas que tem o hábito de executar qualquer código da internet com sudo, não faça isso, sério!

Existem excelentes programas que podem ajudar a identificar sistemas comprometidos e as possíveis ameaças em sua máquina. Nesse artigo cobriremos 3 programas que uso e recomendo:

  • ClamAV
  • Sophos Antivírus
  • Rkhunter
  • Chkrootkit

Atualize as informações de seus pacotes

Antes de mais nada vamos atualizar os pacotes do nosso sistema operacional:

$ sudo apt-get install clamav clamav-daemon

ClamAV

O ClamAV é um antivírus de código aberto muito popular e disponível em várias plataformas, incluindo na maioria das distribuições Linux.

Instale com o comando abaixo:

$ sudo apt-get install clamav clamav-daemon

Após a instalação precisamos atualizar o banco de dados do antivírus ClamAV :

$ sudo freshclam

Agora que o nosso antivírus está atualizado podemos começar nossa investigação escaneando a pasta home:

$ sudo clamscan -r /home

Se tudo ocorrer conforme o esperado e não existir nenhum arquivo infectado na sua pasta home, o comando não retornará nada.

Como testar se o antivírus funciona realmente?

Para testar podemos baixar um arquivo inofensivo que tem o intuito de ser facilmente identificável pelos antivírus. Rode o seguinte comando para baixar o programa na sua pasta home:

$ wget -P ~/ http://www.eicar.org/download/eicar.com

Agora escaneie novamente sua pasta home com os mesmo comandos do primeiro passo e note que você receberá uma mensagem informando que um arquivo infectado foi identificado. Agora que você já confirmou que ele funciona, rode o comando abaixo para escanear e remover o arquivo infectado:

$ sudo clamscan --infected --remove --recursive /home

Muito cuidado ao executar o comando com a opção de remoção, sempre execute uma verificação inicial sem ele para não deletar nenhum arquivo que possa ser identificado falsamente por engano.

Para fazer uma análise completa de seu servidor execute o comando abaixo:

$ sudo clamscan --infected --recursive --exclude-dir="^/sys" /

Esse comando verifica todos os diretórios recursivamente, pulando apenas a pasta /sys para evitar alertas desnecessários.

Sophos Antivírus

Para instalar o antivírus Sophos precisamos criar uma conta no site oficial e aceitar os termos para baixar o arquivo tarball que contém a instalação.

Baixe em algum local de fácil acesso e extraia o arquivo tarball:

$ tar xzf sav-linux-free-9.tgz

Navegue até a pasta extraída e rode a instalação do script:

$ cd sophos-av
$ sudo ./install.sh

Aceite o acordo de licença de usuário final (EULA)

Assim que o instalador começar precisamos aceitar o acordo de licença. Desça até o final e aceite para dar sequência na instalação:

...
I accept the Sophos End User License Agreement and acknowledge the Sophos Privacy Policy. Yes(Y)/No(N) [N]
> Y

Selecione o lugar de instalação. Por padrão a instalação ocorrerá na pasta /opt/sophos-av:

Where do you want to install Sophos Anti-Virus? [/opt/sophos-av]
> ENTER

Em seguida podemos optar por ativar o “on-access scan mode”, recomendo que ative:

Do you want to enable on-access scanning? Yes(Y)/No(N) [Y]
> ENTER

Agora o Sophos solicitará permissão para atualizar automaticamente, recomendo que ative para sempre ter em dia os novos Malwares identificados:

Sophos recommends that you configure Sophos Anti-Virus to auto-update.

It can update either from Sophos directly (requiring username/password details) or from your own server (directory or website (possibly requiring
username/password)).

Which type of auto-updating do you want? From Sophos(s)/From own server(o)/None(n) [s]
> ENTER

Agora selecione a versão gratuita digitando “f” e pressionando enter.

Do you wish to install the Free (f) or Supported (s) version of SAV for Linux? [s]
> f

Após todas as perguntas terminarem e a instalação também, um resultado similar ao abaixo deve ser retornado:

Fetching free update credentials.
Installing Sophos Anti-Virus....
Selecting appropriate kernel support...

Installation completed.
Your computer is now protected by Sophos Anti-Virus.

Isso significa que o Sophos Antivirus foi instalado com sucesso e já está protegendo seu computador.

Comandos importantes para o uso do Sophos Antivirus

Verificar se o Sophos Antivirus está executando:

$ /opt/sophos-av/bin/savdstatus
Sophos Anti-Virus is active and on-access scanning is running

Habilitar ou desabilitar carregamento na inicialização do sistema:

$ /opt/sophos-av/bin/savdctl enableOnBoot savd
$ /opt/sophos-av/bin/savdctl disableOnBoot savd

Habilitar ou desabilitar Sophos Antivirus “on-access mode”:

/opt/sophos-av/bin/savdctl enable # Habilitar
/opt/sophos-av/bin/savdctl disable # Desabilitar

Executar um escaneamento sob demanda:

$ savscan /home/shadowlik

Rkhunter

Rkhunter é uma solução bastante famosa para escanear seu sistema em busca de rootkits e outras vulnerabilidades. Sua instalação está disponível direto do gerenciado de pacotes:

$ sudo apt-get install rkhunter

Uma vez instalado, antes de começar a escanear o computador, precisamos atualizar o seu banco de propriedades:

$ sudo rkhunter --propupd

Isso permite que o programa saiba o estado atual de alguns arquivos para previnir falsos alertas. Agora vamos iniciar o escaneamento:

$ sudo rkhunter --checkall

O programa escaneia por alguns comandos padrões do sistema, verificando a existência de rootkits, alguns Malwares e também as configurações de rede. O resultado da análise é exibida no terminal e salva em um arquivo log com o resumo da operação.

Para verificar o resultado salvo no arquivo log:

$ sudo cat /var/log/rkhunter.log | grep -i warning

Leia com calma o relatório e considere as dicas para melhorar o seu sistema.

Chkrootkit

Chkrootkit é outra solução bastante popular para escanear seu sistema por rootkits, ele executa uma serie de verificações úteis que conseguem te direcionar o caminho para identificar possíveis vulnerabilidades.

$ sudo apt-get install chkrootkit

Para escanear basta executar o comando abaixo:

$ sudo chkrootkit

Chkrootkit diferente do Rkhunter não salva nenhum arquivo de log, apenas retorna o resultado no terminal. Se você deseja salvar o relatório para analisar depois, use o comando tee para direcionar o retorno para um arquivo em disco.

$ sudo chkrootkit | sudo tee /var/log/chkrootkit/chkrootkit.log

Agora verifique o seu arquivo filtrando por avisos do tipo warning:

$ sudo cat /var/log/chkrootkit/chkrootkit.log | grep -i warning

Chkrootkit pode ser muito útil para determinar se sua máquina foi comprometida, mas não use como sua única resposta, sempre em conjunto com outro programa para analisar mais profundamente possíveis danos na sua instalação.

Author

Um nerd nada tradicional… Desenvolvedor web full-stack, escritor amador e inventor nas horas vagas. Apaixonado por tecnologia e entusiasmado por projetos de código aberto!