1 pontos por GN⁺ 2025-04-26 | 1 comentários | Compartilhar no WhatsApp
  • No editor do Substack, ocorre um erro de rede ao inserir determinados caminhos do sistema
  • O firewall de aplicação web (WAF) bloqueia esses caminhos para evitar ataques de path traversal e injeção de comandos
  • O equilíbrio entre segurança e usabilidade surge como uma questão importante
  • É necessária uma solução melhor para redatores técnicos
  • É possível contornar o problema usando um caminho alternativo

Quando /etc/h*sts atrapalha o editor do Substack: a aventura da filtragem de conteúdo na web

Um misterioso erro de rede

  • Durante a produção de um post técnico sobre resolução de DNS, ocorreu um erro inesperado
  • Ao digitar o caminho /etc/h*sts, surgia um erro de rede e o salvamento automático falhava
  • A página de status do Substack mostrava que tudo estava funcionando normalmente

O início da investigação

  • O erro ocorria ao inserir um caminho de arquivo específico, mas versões alteradas do caminho funcionavam normalmente
  • Caminhos como /etc/h*sts causavam erro, enquanto versões modificadas não apresentavam problema

O que está acontecendo por trás?

  • Nas ferramentas de desenvolvedor do navegador, foi confirmada uma resposta 403 Forbidden
  • O Cloudflare estava envolvido

Entendendo os filtros de segurança de aplicações web

Explicação rápida sobre WAF

  • Um firewall de aplicação web (WAF) atua como um segurança do site
  • Ele bloqueia requisições suspeitas

Ataques de path traversal: por que são preocupantes

  • Um ataque de path traversal é uma tentativa de acessar arquivos sensíveis do sistema
  • Caminhos como /etc/h*sts podem ser alvos desse tipo de ataque

Injeção de comandos: outro problema de segurança

  • Um ataque de injeção de comandos tenta induzir a execução de comandos no sistema
  • Ao mencionar caminhos do sistema, o filtro pode bloquear o conteúdo

O mistério se aprofunda: exemplos históricos

  • Foram encontrados, em outros posts do Substack, casos de uso de caminhos semelhantes
  • É possível que o comportamento de filtragem tenha mudado em algum momento específico

Segurança versus usabilidade: um equilíbrio delicado

  • O filtro do Substack existe para proteger, mas se torna um obstáculo para redatores técnicos
  • espaço para melhorias: mensagens de erro claras, reconhecimento de conteúdo técnico e soluções documentadas

Observando a resposta HTTP

  • No nível da API, foi confirmado o código de status 403 Forbidden

Soluções melhores para plataformas de conteúdo técnico

  1. Filtragem contextual: reconhecer caminhos do sistema em blocos de código ou discussões técnicas
  2. Mensagens de erro claras: explicar que o bloqueio veio do filtro de segurança, em vez de mostrar apenas "erro de rede"
  3. Soluções documentadas: oferecer orientações sobre como discutir caminhos sensíveis

Conclusão: o ponto de encontro entre segurança e escrita técnica

  • O problema no editor do Substack revela os desafios complexos entre segurança e escrita técnica

  • Algo que pode parecer um padrão de ataque para o filtro de segurança pode, na verdade, ser conteúdo legítimo

  • É possível resolver o problema usando um caminho alternativo

  • O autor pede, nos comentários, que outros compartilhem experiências com problemas semelhantes de filtragem em outras plataformas

1 comentários

 
GN⁺ 2025-04-26
Comentário do Hacker News
  • Quem configura regras de WAF em CDNs muitas vezes não entende bem sites e serviços que lidam com conteúdo técnico. Não é só a Cloudflare; a Akamai sofre do mesmo problema

    • Se for um site que lida com bancos de dados, ativar regras básicas de proteção contra SQL injection pode quebrar o site
    • Também existem conjuntos de regras de inclusão de arquivos, então coisas como /etc/hosts ou /etc/passwd acabam bloqueadas
    • Acho importante haver equilíbrio entre segurança e usabilidade. Aplicar todas as regras de WAF aumenta a segurança, mas é inconveniente em serviços que precisam discutir conceitos técnicos
    • Ajustar regras com granularidade consome muito tempo. Para manter as regras e ainda permitir os casos de uso, são necessárias muitas mudanças
    • Podem surgir problemas como a página não carregar ou recursos não serem carregados. Dá até vontade de desligar as regras
  • Isso me lembra um caso em uma plataforma de e-commerce: alguém programou uma loja virtual com vazamento de memória e resolveu o problema reiniciando o app sempre que a string "OutOfMemoryException" aparecia no log

    • Outro desenvolvedor quis registrar os termos de busca dos clientes, e bastava alguém digitar "OutOfMemoryException" na busca para causar o problema
  • Fico me perguntando se bloqueiam /etc/hosts ou /etc/./hosts. Isso parece um jogo de acertar toupeira fadado ao fracasso. Hackers são mais espertos e mais determinados, então só se deve confiar em segurança comprovada

  • Opiniões sobre como o Substack poderia melhorar essa situação para escritores técnicos

    • Não deveria rodar um WAF idiota em um endpoint onde as pessoas podem editar textos sobre qualquer assunto
    • É como implementar um filtro de XSS em um fórum de desenvolvimento web e impedir que os membros falem sobre XSS
    • Eles precisam aprender a escapar o conteúdo de forma adequada
  • Isso destaca um caso interessante da tensão entre proteção e usabilidade na segurança web

    • Mas neste caso o que se destaca é um bug. A tensão entre segurança e usabilidade realmente existe, mas este não é o caso
    • A tensão entre segurança e usabilidade normalmente é um trade-off. Reforçar a segurança piora a experiência do usuário
    • Aqui vemos tanto segurança ruim quanto experiência de usuário ruim
  • Problema ocorrido ao treinar uma equipe de programação competitiva: se tipos e palavras-chave de C++ apareciam no código, surgia erro 403

    • Quando eu trabalhava em um banco, havia uma API para a qual era preciso enviar arquivos Python, e a maioria deles gerava erro 403
    • Algo parecido também aconteceu em um novo ambiente de nuvem
  • Problema que aconteceu quando um red team interno publicou dados contendo tentativas de XSS e outros ataques de injeção

    • O ataque em si não funcionava, mas a simples presença desses itens impedia o carregamento da página interna de administração
  • Um problema antigo reaparece. Chamam isso de problema de Scunthorpe

  • Tive um problema parecido com o OpenRouter. O OpenRouter é um serviço que oferece um endpoint único para usar vários LLMs

    • Muitas requisições eram bloqueadas quando certos trechos de HTML e JavaScript estavam incluídos no corpo do POST
  • A filtragem de conteúdo precisa depender muito do contexto. Quando o WAF fica separado daquilo que deve filtrar, surgem problemas

    • É parecido com filtragem de spam. O servidor de e-mail filtra com base na configuração do servidor remetente
    • Filtragem baseada na entrega é mais eficaz do que filtragem baseada no conteúdo. O mesmo vale para sites e WAFs