
- A segurança é importante, mas o desempenho também.
- Mais da metade (57%) das organizações usa firewalls de aplicações web para proteger aplicativos na nuvem e em ambientes locais (State of Application Delivery 2018)
- A verificação de uma resposta de saída é uma das últimas oportunidades para detectar uma violação em andamento — e interrompê-la.
- É possível ter “coisa boa demais”. Avalie cuidadosamente como equilibrar segurança e desempenho para otimizar ambos.
Nós (ou seja, todos nós) sabemos como o desempenho é importante para o sucesso contínuo dos negócios digitais. Embora aqueles de nós que cresceram usando conexões discadas e enfrentando downloads que levavam horas tendam a ser mais tolerantes quando se trata de desempenho, nossos filhos, nativos digitais, não são tão pacientes. Eles esperam respostas instantâneas e downloads rápidos.
A prova da nossa impaciência está nos números – mais de 80% de nós já excluímos um aplicativo devido ao baixo desempenho. Alguns de nós – três em cada dez – estão até dispostos a pagar para ter o privilégio de contar com aplicativos extremamente rápidos.
Mas somos difíceis de agradar, não importa a qual geração tecnológica pertençamos. Nem pense em ignorar a segurança enquanto torna esse aplicativo mais rápido. Se fizer isso e nossos dados forem violados, faremos mais do que simplesmente excluir seu aplicativo.
Cabe, então, aos profissionais de TI — especialmente àqueles que atuam na área de segurança — equilibrar a demanda por desempenho com a necessidade de segurança. Os aplicativos devem ser rápidos e seguros.
Uma das maneiras pelas quais mais da metade das organizações torna seus aplicativos mais seguros é usando um firewall de aplicações web (WAF) — entre outros serviços de aplicações — para protegê-los contra ataques. Isso é feito de duas maneiras:
Primeiro, elas verificam as solicitações recebidas para detectar qualquer atividade maliciosa. Em seguida, inspecionam as respostas enviadas. Não é de surpreender que as organizações que sempre aplicam essas táticas de segurança estejam entre as mais confiantes em sua capacidade de resistir a um ataque a aplicações.

Com um WAF, você pode inspecionar cada detalhe de uma requisição e de uma resposta. É possível analisar, decompor, manipular e modificar o conteúdo como quiser.
Mas só porque você pode, não significa que deva.
A segurança não é gratuita. São necessários ciclos de CPU e memória para inspecionar o tráfego de aplicações com o nível de atenção necessário para detectar ataques ou indícios de uma violação.
Por isso, é importante equilibrar segurança e desempenho. Cada microssegundo adicional gasto na análise ou filtragem representa mais um microssegundo que os usuários precisam esperar pela resposta.
E eles se acumulam.
Afinal, é uma questão de física: os pacotes levam alguns microssegundos para percorrer uma rede e voltar. São necessários mais alguns microssegundos para estabelecer uma conexão. E mais alguns para processar… você já entendeu. Tudo o que você faz leva tempo e, quanto mais demora, mais impacientes ficam os seus usuários.
Tradicionalmente, algumas pessoas acabam jogando fora o bebê junto com a água do banho ao lidar com esse conflito. Elas desativam a segurança até que o desempenho seja aceitável. Mas essa não é a solução correta. É possível encontrar um equilíbrio que atenda tanto à necessidade de segurança quanto à demanda por desempenho.
Na requisição, fique à vontade para realizar a análise e a verificação no nível do protocolo. Inspecione o payload e procure por quaisquer indícios de ataque. Dê prioridade às varreduras baseadas em assinaturas primeiro e, em seguida, às comparações baseadas em texto. Sempre que possível, as varreduras baseadas em assinaturas melhoram o desempenho da segurança, pois não é necessário analisar e comparar. Trata-se apenas de uma comparação direta, um processo bastante rápido.
Na resposta, não caia na tentação de analisar e examinar o conteúdo minuciosamente. É preciso haver certo nível de confiança nos desenvolvedores de que o JSON esteja formatado corretamente ou que o XML siga o esquema apropriado. Convenhamos: se houver um erro de protocolo ou de formato, o usuário acabará percebendo. Essa é uma questão para os desenvolvedores, não um risco de segurança em geral.
O que representa um risco à segurança é a inclusão de dados confidenciais — números de cartão de crédito ou de contas, números de CPF, endereços de e-mail, talvez. Números e dados com padrões bem definidos, que podem ser rapidamente identificados e ocultados. Assim como nas varreduras baseadas em assinaturas, o que se faz aqui é a correspondência de padrões, e os serviços de segurança se tornaram realmente bons em realizá-la com a maior rapidez possível.
O tamanho do conteúdo também é algo que você deve verificar, se possível. Diversas explorações de vulnerabilidades de grande repercussão puderam ser identificadas simplesmente pela quantidade de conteúdo retornado. Se você sabe que uma solicitação específica deveria retornar apenas cerca de 1 KB de dados, uma resposta de 4 KB provavelmente deveria disparar algum alerta. É uma verificação simples que leva muito menos tempo do que analisar e contar registros de dados.
Uma boa regra prática é sempre seguir a Regra Zero de Segurança na requisição e verificar tudo o que for possível quando houver dados fornecidos pelo usuário. Na saída, procure indícios de uma violação em andamento e ofusque dados confidenciais, mas não perca tempo se preocupando com formatos de dados e conformidade com esquemas. Deixe que os desenvolvedores se preocupem em saber se formataram a resposta corretamente. Essa é a responsabilidade deles, não a sua.
É possível equilibrar segurança e desempenho, desde que você não sacrifique um em favor do outro. E isso vale para os dois lados. Não abra mão da segurança em nome do desempenho, mas também não prejudique o desempenho em nome de uma segurança que pode nem ser necessária.
Se você usar a segurança de forma estratégica para impedir explorações e detectar violações, poderá alcançar o equilíbrio necessário entre segurança e desempenho para manter os usuários satisfeitos e os dados e aplicativos protegidos.
Sobre o autor

Lori MacVittie é engenheira distinta e evangelista-chefe no Escritório do CTO da F5, com ampla experiência em entrega de aplicações, estratégia de automação e infraestrutura. Ela é conhecida por transformar complexidade em clareza, seja definindo diretrizes para agentes de IA, analisando arquiteturas multinuvem frágeis ou investigando os limites de sistemas escaláveis. Ela acumula mais de trinta anos de experiência no setor, abrangendo desenvolvimento de aplicações, arquitetura de TI e operações de redes e sistemas. Antes de ingressar na F5, atuou como editora de tecnologia e recebeu diversos prêmios. MacVittie tem mestrado em Ciência da Computação e é uma autora prolífica, com publicações que abrangem segurança, nuvem e arquitetura empresarial. Ela também é uma entusiasta de jogos de tabuleiro e videogames, além de ter opiniões assumidamente fortes sobre queijos.
Mais publicações de Lori Mac VittiePublicações relacionadas no blog

Entrega e proteção de agentes de IA em fábricas de IA: F5 para a arquitetura de referência NVIDIA OpenShell para agentes de IA seguros
As soluções da F5 ampliam a Arquitetura de Referência NVIDIA OpenShell para agentes de IA seguros.
Como medir – e minimizar – o custo total de propriedade do seu Kubernetes
O Kubernetes pode ser baixado e executado gratuitamente, mas sua manutenção está longe de não ter custos. Assim como outras grandes plataformas de código aberto que são “gratuitas” apenas em um sentido simplista, o Kubernetes quase certamente exigirá investimentos para ser implantado e operado.
As-Code: a pilha de TI contínua
Infraestrutura, configuração, pipeline, operações. De repente, tudo é “como código”. Lori MacVittie busca esclarecer a terminologia e identificar os diferentes componentes de uma stack contínua de TI.
O estado da entrega de aplicações em 2017: automação, APIs e DevOps
Explore o relatório State of Application Delivery de 2017. Leia o blog retrospectivo da F5 sobre o início da ascensão das redes declarativas e dos pipelines de DevOps.
DevOps Summit: onde a rede foi convidada para a festa
No DevOps Summit NY, falou-se muito não apenas sobre DevOps, mas também sobre contêineres, IoT e microsserviços. As sessões se concentraram não só na mudança cultural necessária para crescer em escala com uma abordagem DevOps, mas também fizeram questão de incluir...
F5 e Nutanix convergem em infraestrutura no .NEXT
Aplicações empresariais como Microsoft SharePoint e Exchange, juntamente com a VDI, continuam sendo a espinha dorsal da sua empresa. A produtividade, embora não seja tão atraente quanto o lucro, é um fator essencial para o sucesso das operações empresariais atuais. Deixar de...