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

Uma coisa que percebi lendo as requisições do python é que ele lida com requisições esternas como se fossem requisições locais e isso devido a o cloudflare tunnel. Sabem cmo resolver?
Esses "tunnels" transformam requisições esternas em locais, e se o cara souber explorar basicamente ele consegue rodar comandos e tentar explorar alguma vulnerabilidade.

Carregando publicação patrocinada...
1

Olá, Juan. Meu nome é Juan também kkkj, mas pode me chamar de J. Muito pertinente sua observação técnica sobre o funcionamento de túneis. Você tocou em um ponto crítico de segurança: a confiança implícita no localhost.

Sobre a questão técnica das requisições e a Confiança no Localhost

No Crom-me, o túnel funciona criando uma ponte via WebSocket entre o servidor (VPS) e o cliente local (crom-cli). O risco que você apontou é real: como o crom-cli faz uma requisição HTTP interna para a aplicação do usuário (ex: um Flask na porta 5000), a aplicação enxerga o tráfego vindo de 127.0.0.1. Se o desenvolvedor deixar uma rota como /admin/shutdown protegida apenas por IP, qualquer pessoa com a URL do túnel poderia acessá-la.

Como podemos evoluir o Crom-me tecnicamente para resolver isso:

  • Injeção de Headers no Protocolo Customizado: Atualmente, o meu internal/tunnel/protocol.go transporta o corpo e os headers da requisição original. O próximo passo é garantir que o servidor capture o r.RemoteAddr (o IP real do atacante/visitante) e o encapsule na estrutura de dados enviada ao CLI.
  • Sanitização no crom-cli: O crom-cli deve ser instruído a injetar obrigatoriamente os headers X-Forwarded-For e X-Real-IP antes de disparar a requisição contra o serviço local. Isso "avisa" a aplicação de que aquela conexão é, na verdade, um proxy.
  • Implementação de Trusted Proxies: No lado da aplicação, vou configurar um middleware (como o ProxyFix no Python ou o RealIP em Go) para desconsiderar o IP local e ler o IP real, mas apenas se a requisição vier de um proxy conhecido (neste caso, o binário do Crom).
  • Mecânicas de Zero Trust: No longo prazo, o Crom pode implementar um "Access Control" no próprio túnel, onde o usuário define no crom-cli quais IPs externos têm permissão para cruzar a ponte, bloqueando o acesso indesejado antes mesmo de ele chegar à rede local.

Muito obrigado pelo seu comentário, vou analise melhor posteriormente para melhor essa aplicação.


Convite

Li seu artigo sobre a exaustão com a falta de acessibilidade em ferramentas de segurança. Como desenvolvedor, seu relato foi um tapa na cara necessário. Muitas vezes, na pressa de arquitetar a rede, backend, frontend, ux... deixamos passar o básico de acessibilidade, o que exclui talentos como o seu. Sei que continuarei errando quanto a isso, por isso recomendo se integrar a pessoas que não possuem o mesmo problema que você, e tentar com elas criar um movimento, acredito ser algo fundamental, não só para inclusão, mas para não haver desperdicios de talentos como o seu, e criar as pontes para outros que não conhecem se interessar por esse caminho.

Estou construindo o ecossistema CROM, um projeto focado em infraestrutura independente e soberania técnica. Como mencionei, ainda não foquei nas partes de acessibilidade (estou na fase de criatividade e "escovação de bits" da rede e segurança), mas adoraria que esse fosse um pilar nativo do projeto, e não algo corrigido depois.

Gostaria de te fazer um convite:
Se você tiver dificuldade em navegar ou entender o site atual da https://crom.run devido às barreiras que você mesmo apontou, deixo aqui dois artigos meus no TabNews que explicam a essência do que estou montando:

  1. Apenas um relato — MRJ
  2. Manifesto Pessoal — MRJ

Além disso, todos os artigos técnicos dos meus projetos estão no meu perfil aqui no TabNews.

Adoraria conversar com você por e-mail: [email protected]. Sua visão em Cyber Security e sua experiência com acessibilidade seriam inestimáveis para o CROM. Se tiver interesse em conhecer e, quem sabe, participar desse desenvolvimento desde a base, as portas estão abertas.

Se quiser uma call, tem o discord: https://discord.gg/4b5wqdxreZ

Um abraço,
MrJ - de Juan para Juan - Teu chará kkj

4