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