BLOG | NGINX

Proteja suas APIs de streaming bidirecional GraphQL e gRPC com o aplicativo F5 NGINX Protect WAF

NGINX-Parte-de-F5-horiz-preto-tipo-RGB
Thelen Blum Miniatura
Thelen Blum
Publicado em 27 de abril de 2023

A economia digital continua a se expandir desde a pandemia da COVID-19, com 90% das organizações expandindo suas arquiteturas de aplicativos modernos. No Relatório de Estratégia de Aplicativos de 2023 da F5, mais de 40% dos 1.000 tomadores de decisões de TI globais pesquisados descrevem seus portfólios de aplicativos como "modernos". Essa porcentagem vem crescendo de forma constante nos últimos anos e a projeção é que ultrapasse 50% até 2025. No entanto, o aumento de aplicativos modernos e o uso de microsserviços são acompanhados por uma proliferação de APIs e endpoints de API, aumentando exponencialmente o potencial de vulnerabilidades e a área de superfície para ataques.

De acordo com o Continuous API Sprawl , um relatório do F5 Office of the CTO, havia aproximadamente 200 milhões de APIs no mundo todo em 2021, um número que deve se aproximar de 2 bilhões até 2030.  Aumentando a complexidade resultante desse rápido crescimento da API está o desafio de gerenciar aplicativos distribuídos em ambientes híbridos e de múltiplas nuvens. Os entrevistados do Relatório sobre o Estado da Estratégia de Aplicativos de 2023 citaram a complexidade de gerenciar diversas ferramentas e APIs como seu principal desafio ao implantar aplicativos em ambientes de várias nuvens. A aplicação de políticas de segurança consistentes e a otimização do desempenho do aplicativo ficaram em segundo lugar.

Figura 1: Principais desafios da implantação de aplicativos em um ambiente multi-nuvem (fonte: Relatório de Estratégia de Aplicação de 2023).

Por que a segurança da API é essencial para seus resultados financeiros

As APIs não são apenas os blocos de construção de aplicativos modernos, elas estão no centro dos negócios digitais – 58% das organizações pesquisadas no relatório F5 2023 dizem que derivam pelo menos metade de sua receita de serviços digitais. As APIs permitem a comunicação entre usuários e aplicativos e entre aplicativos, e o acesso que elas fornecem a dados privados de clientes e informações corporativas internas as tornam alvos lucrativos para invasores. As APIs foram o vetor de ataque escolhido em 2022.

Proteger APIs é fundamental em uma estratégia geral de segurança de aplicativos. Os ataques podem ter consequências devastadoras que vão muito além da violação da privacidade do consumidor (por pior que isso seja), chegando a um nível maior de gravidade que prejudica a segurança pública e leva à perda de propriedade intelectual. Aqui estão alguns exemplos de cada um desses tipos de ataques de API que ocorreram em 2022.

  • Privacidade do consumidor – O Twitter sofreu um ataque de API de vários anos. Em dezembro de 2022, hackers roubaram dados de perfil e endereços de e-mail de 200 milhões de usuários do Twitter . Quatro meses antes, pesquisadores da CloudSEK descobriram 3.207 aplicativos móveis vazando chaves e segredos válidos da API do Twitter. E um mês antes disso, hackers exploraram uma vulnerabilidade de API para apreender e vender dados de 5,4 milhões de usuários .
  • Segurança pública – Uma equipe de pesquisadores encontrou vulnerabilidades críticas de segurança de API em aproximadamente 20 dos principais fabricantes automotivos, incluindo Toyota, Mercedes e BMW . Com tantos carros hoje agindo como dispositivos inteligentes, os hackers podem ir muito além de roubar VINs e informações pessoais sobre proprietários de carros. Eles podem rastrear a localização dos carros e controlar o sistema de gerenciamento remoto, permitindo que eles destravem e liguem o carro ou desabilitem o carro completamente.
  • Propriedade intelectual – Um funcionário visado da CircleCI , uma plataforma de CI/CD usada por mais de 1 milhão de desenvolvedores em todo o mundo para enviar código, foi vítima de um ataque de malware. Este funcionário tinha privilégios para gerar tokens de acesso de produção e, como resultado, os hackers conseguiram roubar as chaves de API e os segredos dos clientes. A violação passou despercebida por quase três semanas. Incapaz de dizer se os segredos de um cliente foram roubados e usados para acesso não autorizado a sistemas de terceiros, a CircleCI só podia aconselhar os clientes a rotacionar os tokens de API pessoais e de projeto.

Esses ataques de API servem como contos de advertência. Quando as APIs têm vulnerabilidades de segurança e são deixadas desprotegidas, as consequências de longo prazo podem ir muito além dos custos monetários. A importância da segurança da API não pode ser exagerada.

Como o F5 NGINX ajuda você a proteger suas APIs

A solução NGINX API Connectivity Stack ajuda você a gerenciar seus gateways de API e APIs em ambientes multinuvem. Ao implantar o NGINX Plus como seu gateway de API com o NGINX App Protect WAF , você pode ajudar a prevenir e mitigar explorações comuns de API que abordam os três principais desafios de API identificados no Relatório de Estratégia de Estado de Aplicativos F5 2023 – gerenciar a complexidade de API em ambientes multinuvem, garantir políticas de segurança e otimizar o desempenho do aplicativo – bem como os tipos de ataques de API discutidos na seção anterior. O NGINX Plus pode ser usado de várias maneiras, inclusive como um gateway de API, onde você pode rotear solicitações de API rapidamente, autenticar e autorizar clientes de API para proteger suas APIs e limitar a taxa de tráfego para proteger seus serviços baseados em API contra sobrecarga.

O NGINX Plus fornece proteção pronta para uso não apenas contra as 10 principais vulnerabilidades de segurança da API OWASP . Ele também verifica cookies, JSON e XML malformados, valida tipos de arquivos permitidos e códigos de status de resposta e detecta técnicas de evasão usadas para mascarar ataques. Um gateway de API NGINX Plus garante proteção para protocolos de API HTTP ou HTTP/2, incluindo REST, GraphQL e gRPC.

O NGINX App Protect WAF fornece segurança leve e de alto desempenho para aplicativos e APIs que vai além da proteção básica contra o OWASP API Security Top 10 e o OWASP (Application) Top 10 , com proteção contra mais de 7.500 assinaturas avançadas, assinaturas de bots e campanhas de ameaças. Ele permite uma estratégia de mudança para a esquerda e fácil automação da segurança de API para integrar segurança como código em pipelines de CI/CD. Em testes com os WAFs da AWS, Azure e Cloudflare, descobriu-se que o NGINX App Protect WAF oferece forte segurança de aplicativos e APIs, mantendo melhor desempenho e menor latência. Para mais detalhes, confira este Relatório GigaOm .  

O NGINX App Protect WAF é incorporado ao gateway de API do NGINX Plus, resultando em um salto a menos para o tráfego de API. Menos saltos entre camadas reduzem a latência, a complexidade e os pontos de falha. Isso contrasta fortemente com as soluções típicas de gerenciamento de API que não se integram a um WAF (você deve implantar o WAF separadamente e, uma vez configurado, o tráfego da API deve atravessar o WAF e o gateway da API separadamente). A forte integração do NGINX significa alto desempenho sem comprometer a segurança.

GraphQL e gRPC estão em ascensão

Os desenvolvedores de aplicativos e APIs estão constantemente buscando novas maneiras de aumentar a flexibilidade, a velocidade e a facilidade de uso e implantação. De acordo com o Relatório do Estado da API de 2022 da Postman, REST ainda é o protocolo de API mais popular usado hoje (89%), mas GraphQL (28%) e gRPC (11%) continuam crescendo em popularidade. Em última análise, a escolha do protocolo de API depende muito da finalidade da aplicação e da melhor solução para o seu negócio. Cada protocolo tem seus próprios benefícios.

Por que usar APIs GraphQL?

Os principais benefícios do uso de APIs GraphQL incluem:

  • Adaptabilidade – O cliente decide sobre a solicitação de dados, tipo e formato.
  • Eficiência – Não há busca excessiva, as solicitações são executadas em um esquema criado e os dados retornados são exatamente (e somente) o que foi solicitado. A formatação de dados em solicitação e resposta é idêntica, tornando as APIs GraphQL rápidas, previsíveis e fáceis de escalar.
  • Flexibilidade – Suporta mais de uma dúzia de idiomas e plataformas.

O GitHub é um usuário bem conhecido do GraphQL. Eles mudaram para GraphQL em 2016 por motivos de escalabilidade e flexibilidade.

Por que usar APIs gRPC?

Os principais benefícios do uso de APIs gRPC incluem:

  • Desempenho – O formato de dados leve e compacto minimiza as demandas de recursos e permite codificação e decodificação rápida de mensagens
  • Eficiente – O formato de dados protobufs simplifica a comunicação serializando dados estruturados
  • Confiabilidade – HTTP/2 e TLS/SSL são necessários, melhorando a segurança por padrão

A maior parte do poder vem do lado do cliente, enquanto o gerenciamento e os cálculos são transferidos para um servidor remoto que hospeda o recurso. O gRPC é adequado para casos de uso que precisam rotineiramente de uma quantidade definida de dados ou processamento, como tráfego entre microsserviços ou coleta de dados em que o solicitante (como um dispositivo IOT) precisa conservar recursos limitados.

A Netflix é um exemplo de usuário conhecido de APIs gRPC.

Proteja suas APIs GraphQL com o NGINX App Protect WAF

O NGINX App Protect WAF agora oferece suporte a APIs GraphQL , além de APIs REST e gRPC. Ele protege APIs GraphQL aplicando assinaturas de ataque, eliminando explorações maliciosas e defendendo-se contra ataques. O tráfego GraphQL é analisado nativamente, permitindo que o NGINX App Protect WAF detecte violações com base na sintaxe e no perfil do GraphQL e aplique assinaturas de ataque. A visibilidade das consultas de introspecção permite que o NGINX App Protect WAF as bloqueie, bem como bloqueie padrões detectados nas respostas. Esse método ajuda a detectar ataques e executar assinaturas nos segmentos apropriados de uma carga útil e, ao fazer isso, ajuda a reduzir falsos positivos.
 
Aprenda como o NGINX App Protect WAF pode defender suas APIs GraphQL de ataques nesta demonstração.

Benefícios da segurança da API GraphQL com NGINX App Protect WAF:

  • Defina parâmetros de segurança – Defina de acordo com sua política organizacional o comprimento total e o valor dos parâmetros no modelo GraphQL e no perfil de conteúdo como parte da política de segurança do aplicativo
  • Reduza falsos positivos – Melhore a precisão da prevenção de ataques com controles granulares para melhor detecção de ataques em uma solicitação GraphQL
  • Alivie explorações maliciosas – Defina o máximo de consultas em lote em uma solicitação HTTP para reduzir o risco de exploração e ataques maliciosos
  • Elimine ataques DoS – Configure a profundidade máxima da estrutura em perfis de conteúdo para interromper ataques DoS causados por consultas recursivas
  • Limite a exposição ao risco da API – Aplique restrições em consultas de introspecção para evitar que hackers entendam a estrutura da API, o que pode levar a uma violação

APIs de streaming bidirecional gRPC seguras com NGINX App Protect WAF

O NGINX App Protect WAF agora oferece suporte a streaming bidirecional gRPC , além de tipos de mensagens unárias, permitindo que você proteja APIs baseadas em gRPC que usam fluxos de mensagens (cliente, servidor ou ambos). Isso fornece segurança completa para APIs gRPC, independentemente do tipo de comunicação.

O NGINX App Protect WAF protege APIs gRPC aplicando seu esquema, definindo limites de tamanho, bloqueando arquivos desconhecidos e prevenindo ataques DoS que esgotam recursos. Você pode importar seu arquivo Interface Definition Language (IDL) para o NGINX App Protect WAF para que ele possa impor a estrutura e o esquema de suas mensagens gRPC e verificar se há ataques nos lugares certos. Isso permite a detecção precisa de tentativas de exploração do seu aplicativo por meio do gRPC e evita falsos positivos que podem ocorrer ao verificar a segurança nos lugares errados e sem contexto.

Saiba como o NGINX App Protect WAF pode defender suas APIs bidirecionais gRPC contra ataques nesta demonstração.

Benefícios da segurança da API gRPC com o NGINX App Protect WAF:

  • Proteção gRPC abrangente – De streaming unário a bidirecional, segurança completa independentemente do tipo de comunicação
  • Reduzir falsos positivos – Precisão aprimorada da aplicação da estrutura e esquema de mensagens gRPC, para melhor detecção de ataques em uma solicitação gRPC
  • Bloqueio de explorações maliciosas – Aplicação de que cada campo na mensagem gRPC tenha o tipo correto e o conteúdo esperado, com a capacidade de bloquear campos desconhecidos
  • Elimine ataques DoS – Limites de tamanho de mensagem para evitar tipos de ataques DoS que esgotam recursos

Tanto as equipes de SecOps quanto as de desenvolvimento de API podem gerenciar e automatizar a segurança de API

No Relatório State of the API de 2022 do Postman, 20% dos 37.000 desenvolvedores e profissionais de API pesquisados declararam que incidentes de API ocorrem pelo menos uma vez por mês em sua organização, resultando em perda de dados, perda de serviço, abuso ou acesso inadequado. Em contraste, 52% dos entrevistados sofreram um ataque de API menos de uma vez por ano, ressaltando a importância de incorporar a segurança desde o início como parte de uma estratégia de mudança para a esquerda para a segurança de API. Com as APIs sendo publicadas com mais frequência do que os aplicativos, uma estratégia de mudança para a esquerda está sendo cada vez mais aplicada à segurança das APIs. Quando as organizações adotam uma cultura de mudança para a esquerda e integram a segurança como código em pipelines de CI/CD, elas criam segurança em cada estágio do desenvolvimento de API, permitem que os desenvolvedores permaneçam ágeis e aceleram a velocidade de implantação.

Diagrama mostrando como deslocar para a esquerda usando segurança como código com NGINX App Protect WAF, Jenkins e Ansible
Figura 2: O NGINX App Protect WAF permite a integração de segurança de API em pipelines de CI/CD para proteção automatizada que abrange todo o ciclo de vida da API.

Uma área importante onde a proteção deve ser específica da API é a validação de esquemas de API, incluindo arquivos IDL gRPC e consultas GraphQL. Os esquemas são exclusivos de cada API e mudam com cada versão da API. Ao automatizar o esquema da API, sempre que você atualizar uma API, também precisará atualizar a configuração e o código naquele arquivo. As configurações do WAF podem ser implantadas de forma automatizada para acompanhar as alterações da versão da API. O NGINX App Protect WAF pode validar esquemas, verificando se as solicitações estão em conformidade com o que a API suporta (métodos, endpoints, parâmetros e assim por diante). O NGINX App Protect WAF permite segurança consistente de aplicativos com políticas declarativas que podem ser criadas por equipes de SecOps, com equipes de desenvolvimento de API capazes de gerenciar e implantar segurança de API para controle e agilidade mais granulares. Se você deseja automatizar a segurança de sua API em escala em ambientes híbridos e multinuvem, o NGINX App Protect WAF pode ajudar.

Resumo

Os portfólios de aplicativos modernos continuam a crescer e, com o uso de microsserviços, ocorre uma proliferação ainda maior de APIs. A segurança de API é complexa e desafiadora, especialmente para organizações que operam em ambientes híbridos ou multi-nuvem. A falta de segurança de API pode ter efeitos devastadores a longo prazo, além dos custos monetários. O NGINX App Protect WAF fornece segurança de API abrangente que inclui proteção para suas APIs REST, GraphQL e gRPC e ajuda suas equipes de SecOps e API a migrarem e automatizarem a segurança em todo o ciclo de vida da API e em ambientes distribuídos.

Teste o NGINX App Protect WAF hoje mesmo com uma avaliação gratuita de 30 dias.

Recursos adicionais

Blogue: Proteja seu API Gateway com o NGINX App Protect WAF
e-book: Segurança de API e aplicativos modernos
e-book: Dominando a Arquitetura de API da O'Reilly
Ficha de dados: WAF DE NGINX APP PROTECT


"Esta postagem do blog pode fazer referência a produtos que não estão mais disponíveis e/ou não têm mais suporte. Para obter as informações mais atualizadas sobre os produtos e soluções F5 NGINX disponíveis, explore nossa família de produtos NGINX . O NGINX agora faz parte do F5. Todos os links anteriores do NGINX.com redirecionarão para conteúdo semelhante do NGINX no F5.com."