Processo aleatório consumindo CPU por meio do usuário Postgres

Publicado por Denilson Martins em 26/02/2021

[ Hits: 2.941 ]

 


Processo aleatório consumindo CPU por meio do usuário Postgres



Possuo uma máquina Ubuntu 20.04 LTS e instalei o PostgreSQL para os meus testes locais em programação. Após alguns dias da instalação apareceu um processo aleatório, exemplo "SFDFsfd", que consumia a CPU toda e quando eu o matava era iniciado um novo e com outro nome.

A cada vez que tal processo consumia a CPU eu o matava e um novo era criado. Desconfiado comecei a verificar sobre o processo e descobri que é um processo utilizado para a mineração de uma criptomoeda.

Passei então a tentar entender como o processo era executado utilizando o conjunto TOP, LSOF e CAT na seguinte ordem:

1. Ver se o processo está em execução, assim eu pegava o ID do processo no sistema operacional:

top -cu postgres

2. Ver arquivos abertos pelo processo (neste ponto vi que estava conectado no IP 136.243.90.99 via SSH ou utilizando-se do SSH):

lsof | grep ID_PROCESSO

3. Ver possível arquivo que executou o processo:

cat /proc/ID_PROCESSO/exe

Feito tais comandos descobri que o processo era iniciado também por um arquivo aleatório, exemplo "rjewkidlfjlwkjrklsdfmsdfksmdf", que estava no diretório /var/lib/postgres. Ao acessar o diretório executei um "ls -las" e verifiquei que havia um diretório oculto ".ssh" e um arquivo ".systemd.script.sh" também oculto.

Com base nestas informações ao pesquisar me deparei com o seguinte artigo que confirmou minha descoberta: Investigation into Postgres malware (hack?) - DEV Community

Assim como no artigo citado acima, matei o processo que consumia os recursos, o processo que o iniciava e também o diretório e arquivo oculto de dentro do "/var/lib/postgres". Porém após algum tempo, menos de um dia, todo o problema voltou a acontecer e neste momento resolvi colocar uma senha no usuário "postgres", pois o mesmo na instalação não é configurado por padrão.

Após a definição da senha, matei os processos, removi os ocultos e reiniciei o computador. BINGO, não tive mais o problema após esta última ação. Depois achei melhor restaurar as bases que estava testando e tudo ficou aparentemente normal.

Outras dicas deste autor

Como criar um xorg.conf no Ubuntu 9.10

Adicionando impressora de rede instalada em um servidor Linux (CUPS) pelo protocolo IPP

Execução do apt-get --> (ERRRO) Sources Hash Sum Mismatch <-- Correção que funcionou

Atheros AR8151 no Debian 6.0

Debian - Instalando kernel 32 bits via DVD em máquinas com mais de 4GB de RAM

Leitura recomendada

MySQL, Amazon Web Services (AWS) EC2 e Out of Memory (OOM)

PostgreSQL com encoding LATIN1

MariaDB no Debian 7

Resolvendo as dependências do DBDesigner 4 no Mandriva

Erro: ERROR 2006 (HY000): "MySQL server has gone away" [Resolvido]

  

Comentários
[1] Comentário enviado por fabio em 26/02/2021 - 13:21h

Não uso PostgreSQL, mas valeu pelo aprendizado investigativo.

[2] Comentário enviado por maurixnovatrento em 26/02/2021 - 13:42h


Boa dica.

___________________________________________________________
[code]Conhecimento não se Leva para o Túmulo.
https://github.com/MauricioFerrari-NovaTrento [/code]

[3] Comentário enviado por leandropscardua em 26/02/2021 - 22:20h

No final do ano passado houve um intenso ataque contra bases postgres. Será que foi parte de uma campanha dessas?
https://www.zdnet.com/article/pgminer-botnet-attacks-weakly-secured-postgresql-databases/

[4] Comentário enviado por denilsoneskas em 01/03/2021 - 08:51h


[3] Comentário enviado por leandropscardua em 26/02/2021 - 22:20h

No final do ano passado houve um intenso ataque contra bases postgres. Será que foi parte de uma campanha dessas?
https://www.zdnet.com/article/pgminer-botnet-attacks-weakly-secured-postgresql-databases/


Creio que faça parte sim, pois faltou mencionar na dica que meu server estava com a porta 5432 aberta para acesso externo também, além de é claro, o usuário postgres no S.O. estar sem senha definida.

[5] Comentário enviado por denilsoneskas em 01/03/2021 - 08:53h


[1] Comentário enviado por fabio em 26/02/2021 - 13:21h

Não uso PostgreSQL, mas valeu pelo aprendizado investigativo.


Grato.

[6] Comentário enviado por denilsoneskas em 01/03/2021 - 08:53h


[2] Comentário enviado por mauricio123 em 26/02/2021 - 13:42h


Boa dica.

___________________________________________________________
[code]Conhecimento não se Leva para o Túmulo.
https://github.com/MauricioFerrari-NovaTrento [/code]


Grato.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts