Um 404 custa 1,45 MB, que é como um scanner derrubou o site

Fixkamo-internal
Navios
5 de setembro de 2026 às 15:05 UTC
Autor
Kamo
Enviar
86421e8

O próximo não encontrado é uma PAGE. Ele renderiza através do layout root, que resolve a organização do inquilino através da rede e serializa toda a shell app e catálogo de mensagens — 1.450.309 bytes e ~0.5-0.75s de renderização do servidor, para /backup new.zip. Então um scanner de commodity andando uma lista de palavras de backup de arquivo não obter barato 404s, ele tem renderizações de aplicação completas, e Node executa um loop de requisição por processo. Em 2026-09-05 que era 1.033 tais pedidos em 21 minutos. A sonda de vida em /api/health retorna uma string fixa e ainda não pôde ser respondido dentro de sua Tempo limite 5s, então kubelet reiniciou ambos os pods por estar ocupado em vez de preso. Cada um dos pedidos do scanner foi recusado — 572 x 404, 461 x 499 — assim nada foi alcançado; era caro, não perigoso. O proxy agora responde a esses caminhos com uma string fixa, usando uma lista DENY de extensões e prefixos em vez de uma lista de permissões de rotas reais: uma permissão lista tem que estar certo sobre cada página que este aplicativo tem e cada um que cresce, e estar errado serve um 404 para uma tela de trabalho. DELIBERADAMENTE não aplicado em /api. Essas rotas já respondem a um desconhecido caminho em algumas dezenas de bytes sem renderização, e eles carregam domínios o caminho. `.zip` e `.sh` são domínios reais de topo, então uma regra sufixo lá recusaria uma procura legítima de locatário — para qualquer cliente que possua tal Nome. Os pinos de teste que razão para a isenção não é arrumada mais tarde. Mais duas coisas que este incidente expôs: O layout buscou sua própria organização através da internet pública. Abordagem `https://${host}/api/org/...` onde o host é o nome de máquina público do inquilino, então Cada renderização do servidor deixou o cluster, cruzou para a nossa própria borda e voltou através de Traefik para alcançar um manipulador no processo que fez a chamada — um TLS aperto de mão e dois Traefik traversals por página, contado contra o próprio inquilino limite de taxa. Agora sobre loopback, carregando x-forwarded-host explicitamente porque o manipulador deriva a base de API upstream a partir dele e de outra forma iria resolver cada inquilino à plataforma padrão. Um host que resolve para nenhuma organização também é relembrado brevemente: um tal inquilino produziu 538 pesquisas a montante em 21 minutos, Todos a fazer uma pergunta com a mesma resposta. E o contêiner não declarou quaisquer recursos, que não é "ilimitada", mas BestEffort — a primeira classe de QoS despejada e a última CPU dada, também num nó Fazendo inferência de tradução em oito núcleos. Um limite de CPU ainda é deliberadamente omitido: o estrangulamento do CFS trava o loop do evento em 100ms quanta, e um estrangulamento O renderizador SSR se parece exatamente com um com cunha, o que causaria o reinício isto impede.

Todas as alterações

Como o que vês no transporte?

Cada uma dessas atualizações pousa automaticamente em seu espaço de trabalho. Comece grátis e veja crescer semana após semana.

Começar Livre Para SempreVer Preços