Executando verificação de segurança...
20

Tive meu banco de dados hackeado

Perdi Todos Os Dados do app que estou desenvolvendo No Meu LOCAL

Explicando um pouco como tudo aconteceu, estou desenvolvendo um projeto e como nao quero gastar com banco de dados na fase de desenvolvimento estou rodando tudo local, como a maioria faz.

Estou usando docker e un container do mongodb, ontem enquanto estava usando percebi que não estava retornando mais nada e me deparo com a seguinte mensagem.

https://prnt.sc/7-Y-nJ5t3PUz

Nesse momento fiquei nervoso. Primeira coisa que pensei foi, alguem tem acesso ao meu computador ja que estou rodando tudo localmente achei q tinha algum virus no meu computador, depois de alguns momentos de desespero resolvi pesquisar sobre esse ataque.

Com algumas pesquisa descobri que esse ataque em bancos mongodb é comum a muito tempo, achei post de 2019, basicamente o cara testa todos os ip da internet na porta 27017 que é a porta pardrão do mongodb e tenta se conectar caso o banco não tenha nenhuma autenticação ( meu caso ).
Depois que descobri isso fiquei mais tranquilo, porem ainda não conseguia entender como ele teve acesso ao meu que estava rodando na minha maquina.

Precisei fazer alguns testes e descobri que meu ip estava publico, isso mesmo, qualquer pessoa conseguia ter acesso ao meu roteador por exemplo ( isso é muito perigoso ). Pedi para um amigo fazer um teste, dei meu ip para ele e pedi para ele fazer uma req na porta 8080, e confirmei isso apareceu a pagina de login do meu roteador( nesse momento fiquei maluco ).

Fiz algunas pesquisas e pra resolver eu tive que bloquear todas as requisições http e https vindo da wan para o meu roteador, mas ainda n sei por que meu roteador tem um ip publico.

Depois disso tudo descobri algo bom tambem, agora posso testar minhas api rodando no meu pc com docker sem precisar hospedar em algum lugar, mas por segurança irei fazer isso e liberar apenas um ip especifico pra acessar, que será de alguma aplicação.

Depois de todo esse susto aprendi algumas coisas e irei pesquisar mais sobre redes e coisa do tipo pois tenho pouco conhecimento e esse caso me despertou uma curiosidade sobre alguns assuntos. Só que isso custou algumas linhas que tinha salvo kkkkkkkk

Carregando publicação patrocinada...
6

Sei que essas dicas são muuuito básicas para o pessoal que acessa o Tabnews e não será surpresa para nenhum, mas achei bom comentar essa impressão também. Use as dicas por conta e risco, antes verificando o que cada uma delas realmente faz.

RHamudi, se você não estiver usando uma VPN para acessar determinadas postagens que aparecem e somem da internet (não vou dizer onde, mas são os clickbaits que aparecem e somem com um ou dois links curiosos, pixel tracking etc, nada aparementemente ilicito) para simplesmente registrar seu IP (geolocalização) e posteriormente fazer essa varredura que o silvestrini mencionou. Não é porque está estaticamente hospedado no Github que está livre de tais trackers. Se sua rede já for IPV6, você pode correr o risco do seu dispositivo ter as "impressões digitais" armazenadas em algum lugar e assim saber quando sua máquina está no ar (caso de IPs dinâmicos e se acessa os mesmos links suspeitos).

Então, se tiver portas abertas de serviços que acredita estar rodando localmente, é bom fechar ou limitar com regras no firewall. Até via iptables consegue fazer isso. Com um pouco mais de experiência, consegue criar uma regra para capturar aquelas tentativas de acesso de fora e que não são esperadas em vez de aplicar um DROP para tais requisições. Os logs geralmente te ajudam a conhecer o inimigo se ele não conseguir apagá-los também 8-).

Na dúvida, rode o comando abaixo com sudo. Ele retorna uma lista de portas abertas e processos associados a elas.

netstat -plnt

Caso não tenha alguém para passar um nmap de fora com sua anuência, tente pelo menos verificar se as portas respondem requisições de fora. Há diversos sites que oferecem o serviço de varredura.

Se tem HTTP rodando em alguma porta, pode testar com essa solução online, por exemplo: https://pikwy.com

Outra sugestão é utilizar a conexão do seu smartphone, via rede celular, para testes de fora para dentro de sua rede.

0
2
2
  1. Tente mexer no firewall do seu roteador para bloquear todas as requisições externas
    Uma das primeiras ações que você deve tomar é verificar as configurações de firewall do seu roteador. Bloqueie todas as requisições externas (vindas da WAN) para evitar acessos não autorizados ao seu dispositivo local. Isso pode ser feito diretamente na interface de administração do roteador. Além disso, certifique-se de que o roteador só permita conexões internas ou de IPs específicos quando necessário. Isso vai ajudar a evitar acessos indesejados e possíveis ataques.

  2. Converse com seu provedor para entender se eles precisam de acesso remoto ao seu roteador
    Se você percebeu que seu roteador tem um IP público e você não sabe o motivo, entre em contato com o seu provedor de internet. Pergunte se há alguma necessidade de acesso remoto à sua rede, e se for esse o caso, relate a falha de segurança que você encontrou e se eles têm alguma sugestão. Veja também se o provedor pode fornecer um IP específico, para o qual seu roteador irá liberar acesso, e garanta que apenas esse IP possa se conectar remotamente.

  3. Se tiver um domínio, utilize o Cloudflare Tunnel para proteger seu tráfego
    Se você tem um domínio para sua aplicação, uma boa prática de segurança seria utilizar o Cloudflare Tunnel. Ele cria um túnel seguro entre sua aplicação local e a infraestrutura da Cloudflare, fazendo com que o tráfego passe por eles e fique mais protegido. Isso ajuda a minimizar o risco de ataques diretos à sua máquina, já que o tráfego real da sua aplicação fica oculto e é protegido por camadas de segurança adicionais.

  4. Modifique seu docker-compose para que o seu banco de dados só seja visto pela aplicação
    No seu arquivo docker-compose.yml, é importante garantir que seu banco de dados (MongoDB, no caso) não esteja exposto a redes externas. Você pode fazer isso limitando a visibilidade do banco de dados para a aplicação que precisa acessá-lo, usando redes internas no Docker. Assim, apenas os containers que fazem parte da mesma rede interna terão acesso ao banco, enquanto ele ficará inacessível de fora. Aqui está um exemplo básico de como configurar isso no Docker Compose:

version: "3.8"
services:
  app:
    image: sua-imagem-da-aplicacao
    networks:
      - app-network
  mongo:
    image: mongo
    networks:
      - app-network
    ports:
      - "127.0.0.1:27017:27017"  # Isso limita o acesso ao MongoDB localmente
    volumes:
      - ./mongo-data:/data/db
networks:
  app-network:
    driver: bridge

No exemplo acima, o banco de dados MongoDB é configurado para não expor a porta para o mundo externo, limitando o acesso ao localhost (127.0.0.1). Além disso, ambos os serviços (app e mongo) estão na mesma rede interna app-network, o que garante que só a aplicação tenha acesso ao banco.

Essas são boas práticas para melhorar a segurança no seu ambiente de desenvolvimento. Implementando essas ações, você pode proteger melhor seu sistema e evitar que outros possam explorar vulnerabilidades.

2

Caramba cara, que dor e que susto bonito você deve ter levado com isso
Eu costumo rodar algumas aplicações local apenas para testes rápidos, mas normalmente hospedava em alguma hospedagem gratuita (hoje tenho uma que paguei um plano de 4 anos então estou tranquilo por um tempo bom)

0
2

peguei um plano do falecido 000webhost da hostinger, deu uma promoção quando ele encerrou, custando 1 dolar por mês, ai eu peguei o de 48 meses paguei 48 dólares e estou safe por uma longa data kkk acho aue é o segundo plano ali da hostinger, o que vem depois do mais barato

2

Os caras ficam varrendo a web a madrugada inteira atrás de portas específicas de banco de dados abertas. Aqui na minha região, não sei ao certo se o ip chega a ser fixo, mas muito dificilmente muda. A questão é que seu roteador estava escancarado e isso é uma falha de segurança enorme, imagine isso em uma empresa, faz um belo estrago (já vi). E mesmo com backup, vc perde muitos dados importantes.

2

Tem uma configuração em alguns roteadores que permite o acesso remoto, talvez ativando isso, o router acabe liberando o acesso ao ip via wan com todas as outras portas além da 80.Já vi isso ativado por padrão em alguns provedores pequenos, acho que as grandes operadoras não "dariam esse mole".

1
1

É uma vulnerabilidade "simples" mas em uma empresa isso faria um estrago gigantesco kkkkk, com esse erro aprendi e vou adotar algumas medidas de segurança no meu db agora.

1

Fiquei preocupado com isso. Não sei se minha máquina está aberta para hackers. Alguém sabe indicar um site ou software gratuito que eu possa usar para validar a rede lá de casa?

1

cara acho bem dificil voce estar na mesma situação que eu, por padrão os roteadores bloqueiam a conexão vindo de fora. A conexão wan, Só verificar isso no seu roteador.

0
0