Os backends nem sempre produzem respostas ideais. Aplicações legadas podem retornar números de identidade, números de cartão, endereços de e-mail, hostnames internos, links antigos ou informações técnicas desnecessárias. Como esses valores aparecem dentro do corpo de resposta em vez de nos headers, eles não podem ser corrigidos com uma regra de header padrão.
Corrigir o problema no código da aplicação frequentemente é lento. O serviço pode pertencer a uma equipe diferente, o cronograma de release pode ser meses adiante, ou o código-fonte pode ser difícil de alterar por causa de tecnologia antiquada. No entanto, a equipe de segurança e conformidade precisa que o vazamento seja fechado imediatamente.
Intervir no corpo de resposta sem cuidado pode em si criar novos riscos. Um regex mal escrito pode corromper uma página inteira, a injeção HTML pode cair no lugar errado, e o processamento de respostas muito grandes pode afetar o desempenho. As regras de modificação de corpo devem, portanto, ser aplicadas com parâmetros controlados e escopo bem definido.
A abordagem correta é gerenciar operações de mask, replace e tag HTML no corpo de resposta como regras de tráfego centralizadas. Uma regra deve saber a qual path, content-type ou condição ela se aplica; o comportamento de correspondência e os limites de tamanho de corpo devem ser explicitamente definidos.
A Modificação do Corpo de Resposta do TR7 mascara, substitui ou injeta HTML no conteúdo de resposta sem alterar o código do backend — resolvendo vazamentos de dados e necessidades de correção legada na camada ADC/WAAP.
O TR7 lida com modificação do corpo de resposta por meio de três modos principais: mascaramento, substituição e injeção de tags HTML.
O modo mask substitui uma parte de um valor correspondido por string ou regex por um caractere de máscara. Configurações de offset e correspondência mínima reduzem o risco de falsos positivos.
O modo replace troca uma string específica ou correspondência regex por um novo valor. É usado para corrigir links legados, ocultar hostnames internos ou normalizar pequenos problemas de resposta.
O modo htmlTag pode inserir scripts, banners, meta tags ou fragmentos HTML semelhantes em uma resposta — sem tocar no template da aplicação.
Regras de modificação do corpo podem ser definidas para um vService, path, content-type ou condição de tráfego específicos. O limite padrão de corpo é mantido baixo e pode ser aumentado deliberadamente quando necessário.
A Modificação do Corpo de Resposta faz alterações controladas em corpos de resposta para fins de segurança, conformidade e modernização de sistemas legados.
O TR7 transforma mudanças de conteúdo em regras centralizadas por meio da ação modifyResponse, que opera no corpo de resposta. A regra corre durante a fase de resposta e processa o corpo que chega do backend antes de ser encaminhado ao cliente. Essa estrutura permite correções rápidas sem depender de código da aplicação, templates ou do processo de release do backend — e é especialmente valiosa para fechar lacunas críticas de segurança em aplicações legadas.
O modo mask substitui um valor capturado por um caractere de máscara escolhido. O caractere de máscara é definido como um único caractere e tem como padrão `*`. Uma configuração de offset permite que um número especificado de caracteres no início ou no final permaneça visível. Isso protege dados sensíveis em campos como números de cartão, números de identidade, IDs de pacientes ou endereços de e-mail, preservando visibilidade parcial.
O modo replace troca uma string específica ou correspondência regex por um novo valor. Hostnames internos, domínios antigos, links incorretos, endpoints depreciados ou detalhes técnicos em uma resposta podem ser todos corrigidos. A operação normaliza a saída do backend no ponto de saída final. O cliente recebe conteúdo correto e seguro sem qualquer alteração no código da aplicação.
O modo htmlTag insere tags ou conteúdo específicos em uma resposta HTML. É útil para avisos de manutenção, banners de segurança, texto de conformidade ou pequenas correções client-side. A abordagem adiciona conteúdo no nível de resposta sem modificar o template da aplicação. As regras podem ser definidas para um path ou condição de host específicos para aplicação controlada.
Uma correspondência por string está disponível para matching literal simples. Uma correspondência por regex pode ser selecionada para padrões mais complexos. O regex ajuda a capturar valores variáveis como números de identidade, formatos de cartão, endereços de e-mail ou padrões personalizados da organização. Os operadores podem escolher matching literal rápido ou matching flexível baseado em padrão de acordo com suas necessidades.
A sensibilidade a maiúsculas/minúsculas pode ser crítica em alguns conteúdos de resposta. O TR7 pode controlar o comportamento do matcher com uma configuração de sensibilidade a maiúsculas/minúsculas. Opções como caracteres omitidos permitem que caracteres específicos sejam preservados durante o mascaramento. Isso produz uma saída de mascaramento mais legível para números de telefone, IBANs, números de cartão ou valores com formatação personalizada.
O mascaramento total nem sempre é desejável. Para fins de auditoria ou experiência do usuário, os últimos quatro dígitos, os primeiros caracteres ou uma seção específica de formato podem ser deixados visíveis. O offset de máscara transforma esse comportamento em um parâmetro de regra. Um padrão de mascaramento parcial é aplicado sem nenhum código de aplicação.
Alguns padrões podem produzir correspondências únicas acidentais. Uma configuração de contagem mínima de correspondências significa que uma regra só se aplica quando um número especificado de correspondências é encontrado. Isso ajuda a prevenir que mascaramento excessivamente agressivo corrompa uma página. Padrões de dados sensíveis são aplicados de forma mais segura e previsível.
Processar o corpo de resposta é mais custoso do que regras de header. O TR7 opera com um tamanho de corpo limitado por padrão; esse valor pode ser aumentado quando necessário. O impacto no desempenho e na memória deve ser considerado para respostas muito grandes. Os operadores devem executar regras de modificação de corpo apenas nos serviços e content-types onde são necessárias.
A modificação de corpo pode ser aplicada a respostas de API JSON, páginas HTML ou saída de texto simples. Mascaramento de campos sensíveis em JSON, injeção de banner em HTML e ocultação de informações internas em texto simples são todas suportadas. As regras podem ser restringidas por condições de content-type e path. Essa flexibilidade permite que diferentes tipos de aplicação sejam gerenciados com a mesma ação.
A modificação do corpo de resposta é um dos mecanismos de aplicação no lado de resposta de uma estratégia de mascaramento de dados sensíveis. Quando mascaramento de IP em log, criptografia de cookie e mascaramento do corpo de resposta são usados juntos, um controle mais amplo de vazamento de dados é alcançado. Mesmo que o backend retorne mais dados do que o pretendido, o TR7 pode intervir no ponto de saída final. Isso dá às equipes de conformidade uma camada de segurança adicional forte.
Uma regra de modificação de corpo não precisa correr em toda resposta. Pode ser acionada por host, path, código de status, content-type, usuário, IP de origem ou outras condições FX. Isso garante que a modificação seja aplicada apenas em endpoints sensíveis ou para grupos específicos de usuários. O custo desnecessário de desempenho e o risco de substituição não intencional são ambos reduzidos.
A modificação do corpo de resposta deve ser projetada em conjunto com tipo de matcher, tamanho de corpo, escopo de content-type, compressão, comportamento de streaming e visibilidade de auditoria.
Um matcher por string é adequado para correspondências rápidas e determinísticas. Um matcher por regex é mais flexível, mas pode corresponder de forma muito ampla se escrito incorretamente. Testes em uma condição de escopo restrito são recomendados para regras críticas.
O limite padrão de corpo é mantido pequeno e pode ser aumentado quando necessário. Processar respostas grandes cria sobrecarga de memória e latência. Se o limite precisar ser aumentado para centenas de MB, o escopo do endpoint deve ser restringido cuidadosamente.
As regras devem ser restritas apenas a respostas JSON, HTML ou de texto. A modificação de corpo não deve ser aplicada a arquivos binários, arquivos compactados ou respostas de mídia. Um filtro de content-type é importante para operação segura.
Se uma resposta estiver comprimida, o conteúdo deve estar em um estado processável antes que a modificação do corpo possa correr. A sequência de compressão e modificação deve ser planejada corretamente. Caso contrário, o matcher não verá o texto esperado.
A modificação de corpo em respostas de streaming requer tratamento mais cuidadoso. Os limites de correspondência e o comportamento do buffer são importantes para conteúdo em chunks. O escopo da regra deve ser mantido restrito para streams grandes ou contínuos.
Qual regra correu contra qual resposta pode ser registrado. Em vez de registrar o próprio valor sensível, metadados como nome da regra, endpoint e contagem de correspondências devem ser retidos. Isso produz um registro de auditoria mais seguro para revisão de conformidade e segurança.
Uma aplicação financeira pode retornar números de cartão em sua resposta. O TR7 mascara tudo exceto os últimos quatro dígitos, reduzindo o risco de exposição de dados sensíveis.
Uma aplicação de saúde legada pode retornar IDs de pacientes ou informações de identidade em sua resposta. O TR7 oculta esses campos com mascaramento baseado em regex antes que cheguem ao usuário.
Uma resposta HTML pode conter referências a domínio antigo ou hostname interno. O modo replace substitui esses links pelo novo domínio público, facilitando o processo de migração.
Quando o template da aplicação não pode ser alterado, o TR7 pode usar o modo htmlTag para adicionar um banner ou fragmento informativo à página. Isso fornece uma solução prática para avisos temporários de manutenção e conformidade.
Um backend pode retornar endereços IP internos, hostnames ou informações técnicas de versão em sua resposta. O TR7 remove essas informações antes que cheguem ao cliente usando uma regra de replace ou mask.
Mascaramento de dados sensíveis, reescrita de links legados e injeção de banners por meio dos modos mask, replace e htmlTag. Vamos percorrer uma configuração ao vivo nos seus próprios serviços.