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.274 Categoria: Linux Subcategoria: Banco de Dados
  • Indicar
  • Impressora
  • Denunciar

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.

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

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

Instalando cvs + cvsd no Ubuntu

Atheros AR8151 no Debian 6.0

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

MySQL no Slackware 14.1 - Configuração inicial

Dump e importação de banco em uma linha

PostgreSQL 8.2 no Ubuntu 8.10

SQLiteStudio - Gerenciador de banco de dados SQLite

Servidores Debian - Adicionando suporte ao MS SQL no PHP 5.3

#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.