Pular para o conteúdo

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

Dica publicada em Linux / Banco de Dados
Denilson Martins denilsoneskas
Hits: 4.273 Categoria: Linux Subcategoria: Banco de Dados
  • Indicar
  • Impressora
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

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 -[*****] 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.

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Instalando cvs + cvsd no Ubuntu

Ubuntu 10.10 não inicia e cai no initramfs, e agora?... Resolva!

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

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

Atheros AR8151 no Debian 6.0

CentOS 5.7 - Instalando PhpMyAdmin

MySQL no Asterisk

PostgreSQL 8.2 no Ubuntu 8.10

Alterando a senha de root do MySQL no Slackware 14.1

Recuperar senha de root do MySQL

#1 Comentário enviado por fabio em 26/02/2021 - 13:21h
Não uso PostgreSQL, mas valeu pelo aprendizado investigativo.
#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.

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



Grato.

Contribuir com comentário

Entre na sua conta para comentar.