A resposta curta: um aviso de netscan quer dizer que o seu servidor abriu, em poucos minutos, ligações a muitos endereços de uma gama, sempre nas mesmas portas (por exemplo 22, 80 e 443, ou 6379). Quase sempre é um programa malicioso que entrou no servidor e anda à procura de novas vítimas; às vezes é uma ferramenta de varrimento que alguém correu contra redes que não são suas, o que também é abuso. Este artigo é para quem tem um VPS ou servidor dedicado: encontra-se o processo pelas ligações, pára-se, e procura-se por onde entrou.
O que as portas do aviso lhe dizem
| Portas de destino no registo |
O que o programa anda a fazer |
| 22 (SSH) |
A tentar adivinhar senhas de SSH noutros servidores. É muitas vezes assim que o seu também foi apanhado. |
| 80 e 443 (web) |
À procura de sites e aplicações com falhas conhecidas. |
| 6379 (Redis) |
À procura de Redis abertos. Se o seu Redis está aberto, foi provavelmente por aí que entrou: Redis aberto à internet. |
| Muitos destinos seguidos (uma gama inteira) |
Um varrimento: o programa percorre endereço a endereço. |
| IP de origem |
É o IP do seu servidor. Se tem vários, o aviso diz qual. |
Encontrar o processo e pará-lo
| 1 |
Anote as portas e a hora (UTC) do aviso, e entre por SSH como root. Se o varrimento ainda decorre, vê-se agora; se já parou, vá directo ao passo 5.
|
|
| 2 |
Liste as ligações de saída pendentes: um varrimento deixa muitas ligações em SYN-SENT (tentativas que ninguém atendeu). Os comandos do bloco abaixo mostram-nas e contam-nas por processo.
|
|
| 3 |
Identifique o programa: com o número do processo (PID), veja o ficheiro com ls -l /proc/PID/exe e a linha de comando com /proc/PID/cmdline. Se iftop ou nethogs estiverem instalados, mostram o tráfego por ligação ou por processo; podem não estar.
|
|
| 4 |
Congele, copie e só depois mate o processo (segundo bloco). kill -STOP pára-o sem o apagar da memória, para poder copiar o programa para análise.
|
|
| 6 |
Feche a porta por onde entrou (Redis aberto, senha fraca no SSH, aplicação desactualizada), confirme com ss -tnp state syn-sent que o varrimento parou, e envie o relatório: responder a um aviso de abuso.
|
|
Encontrar o processo pelas ligações
Troque PID pelo número que o primeiro comando mostrar no fim de cada linha. Estes comandos só lêem: ss -tnp state syn-sent
ss -tnp state syn-sent | awk 'NR>1 {print $NF}' | sort | uniq -c | sort -rn | head
ss -tunap | grep ':6379'
ls -l /proc/PID/exe
tr '\0' ' ' < /proc/PID/cmdline; echo
systemctl status PID
Congelar, copiar e parar
Copie o programa antes de o matar: depois de morto, pode já não haver ficheiro no disco. kill -STOP PID
mkdir -p /root/analise
cp /proc/PID/exe /root/analise/amostra-PID
sha256sum /root/analise/amostra-PID
kill -9 PID
Cortar a saída enquanto limpa
Com o ufw, bloqueia-se a saída para uma porta; se usa nftables directamente, o terceiro comando mostra as regras que tem. Confirme antes que nenhuma aplicação sua precisa de sair por essa porta: ufw deny out 6379/tcp
ufw status numbered
nft list ruleset
|
Matar o processo não chega. Se não retirar o que o arranca (cron, serviço, chave) e não fechar a entrada, o varrimento volta, às vezes minutos depois, e o servidor é desligado. E não bloqueie a saída para as portas 80 e 443 de forma permanente: o próprio servidor precisa delas para se actualizar e para as suas aplicações.
|
|
A firewall do servidor ajuda enquanto investiga: bloquear a saída para a porta que o programa varre (o exemplo do bloco é a 6379) corta o abuso sem afectar o resto. Retire a regra quando tiver limpo, se precisar dessa porta. Num servidor invadido, o mais seguro é reinstalar o sistema e repor uma cópia limpa (reinstalar o sistema do VPS e que cópia restaurar). A limpeza no sítio é para quem sabe o que está a fazer: um atacante com acesso root pode deixar portas de volta que não se vêem à primeira.
|
|
Recebeu um aviso de netscan e não encontra o processo? Envie-nos o resultado de ss -tunap no pedido de suporte do aviso.
Abrir pedido de suporte
|
PRODUTO RECOMENDADO Servidor VPS com acesso root Recursos só seus, o sistema que escolher, reinstalação quando quiser. desde 7.560,00 Kz/mês (plano de 3 anos, com cupão) Ver planos |