Proteja seu gateway de API com o NGINX App Protect WAF

NGINX | 26 de maio de 2022

À medida que os monólitos migram para microsserviços, as aplicações são desenvolvidas mais rapidamente do que nunca. A velocidade é essencial para manter a competitividade, e as APIs estão na linha de frente desses rápidos esforços de modernização. No entanto, a popularidade das APIs na modernização de aplicações traz implicações significativas para a segurança das aplicações. As APIs são alvos vulneráveis a ataques, expondo a lógica das aplicações e dados confidenciais a outras aplicações ou terceiros. À medida que o uso de APIs cresce, aumenta também a necessidade de gateways de API.

De acordo com o Relatório sobre o Estado da Estratégia de Aplicações de 2021 da F5, as organizações estão usando vários métodos para se modernizar, e as APIs lideram esses esforços de modernização:

  • 58% estão adicionando uma camada de APIs para viabilizar interfaces de usuário modernas
  • 51% estão adicionando componentes de aplicativos modernos (por exemplo, Kubernetes)
  • 47% estão refatorando (modificando o próprio código da aplicação)
  • 40% estão migrando para a nuvem pública (lift and shift) sem modernização

Gráfico de barras horizontais mostrando a porcentagem de organizações que estão se modernizando de quatro maneiras diferentes

À medida que as organizações crescem, elas podem reduzir os riscos relacionados às APIs adotando um gateway de API. No relatório atualizado da F5, Relatório sobre o Estado da Estratégia de Aplicações de 2022, vemos que os gateways de API apresentam melhor desempenho na borda da rede ou próximo a ela. Nesse local, eles podem bloquear ataques antes que afetem toda a rede, oferecendo proteção uniforme e consistente para várias APIs. Os gateways de API encapsulam a estrutura interna de uma aplicação, simplificando a comunicação entre o cliente e a API. Em vez de invocar serviços específicos, os clientes simplesmente se conectam ao gateway de API. Isso disponibiliza uma API específica ao cliente, reduz o número de comunicações de ida e volta entre o cliente e a API e simplifica o código do cliente.

Os clientes da F5 NGINX implantaram gateways de API com sucesso em ambientes distribuídos. No entanto, se o seu gateway de API não for seguro, agentes mal-intencionados ainda poderão invadir o sistema. Na NGINX, contamos com ferramentas de segurança robustas para garantir que seus aplicativos protegidos por gateways de API permaneçam seguros neste cenário em constante evolução.

Mais APIs significam uma superfície de ataque maior

As APIs não são novidade. As APIs baseadas na Web remontam à década de 1990, e versões de APIs já existiam antes mesmo da Internet como a conhecemos hoje, servindo para a comunicação entre redes pequenas e distribuídas. O que estamos vendo agora — e que mudou o jogo — são as arquiteturas modernas que utilizam APIs.

Embora as APIs desempenhem um papel fundamental na aceleração da modernização, elas também estão se tornando mais fáceis de explorar. Em arquiteturas de microsserviços, uma única API pode ter centenas de endpoints, e uma única aplicação pode ser composta por vários microsserviços que usam APIs para se conectar entre si. Isso difere das aplicações monolíticas do passado, nas quais havia apenas um ponto de entrada a ser protegido. Como cada microsserviço expõe vários conjuntos de endpoints de API, a superfície potencial de ataque aumentou dez vezes.

Gráfico de barras comparando o tamanho médio dos portfólios de aplicações das organizações entre 2017 e 2022. O tamanho médio varia de 200 a 1.000, com uma faixa de 1 a mais de 3.000.

O relatório de 2022 da F5 também constatou que a maioria das organizações tem entre 200 e 1.000 aplicativos e que 77% executam aplicativos em várias nuvens. Quanto mais aplicativos e APIs forem adicionados a um portfólio em ambientes distribuídos, maior será a possível superfície de ataque.

As 10 principais vulnerabilidades de segurança de APIs segundo a OWASP

Por natureza, as APIs são abertas e podem expor dados confidenciais. O Open Web Application Security Project (OWASP) destaca as vulnerabilidades mais comuns em seu projeto OWASP API Security Top 10:

API1. Quebra de autorização em nível de objeto
API2. Quebra de autenticação do usuário
API3. Exposição excessiva de dados
API4. Falta de recursos e limitação de taxa
API5. Quebra de autorização em nível de função
API6. Atribuição em massa
API7. Configuração incorreta de segurança
API8. Injeção
API9. Gerenciamento inadequado de ativos
API10. Registro e monitoramento insuficientes

As empresas de hoje precisam de agilidade e rapidez à medida que os ciclos de desenvolvimento se aceleram. Nesse cenário vulnerável e orientado por APIs, as soluções de segurança devem ser adaptáveis, leves e incorporadas aos processos automatizados de implantação de uma API.

Comece a proteger suas APIs com o F5 NGINX Plus

Ataques de grande repercussão contra APIs frequentemente ganham as manchetes. Em 2019, a empresa de transporte por aplicativo Uber teve uma falha crítica descoberta em sua API – um endpoint vulnerável da API permitia que agentes mal-intencionados roubassem dados valiosos, incluindo os tokens de autenticação dos passageiros. Felizmente, essa falha foi descoberta antes que qualquer dano ocorresse. Em 2021, o LinkedIn não teve a mesma sorte – devido a uma vulnerabilidade na API, hackers violaram dados pertencentes a mais de 700 milhões de usuários do LinkedIn, que depois foram colocados à venda na dark web.

Ao implantar o F5 NGINX Plus como seu gateway de API, você pode atuar nesse cenário dinâmico de APIs com alto desempenho no roteamento e na entrega de APIs. A GigaOm, uma empresa independente de pesquisa e análise de tecnologia, comparou o desempenho do NGINX com o de outras soluções de gateway de API. Os resultados do benchmark mostraram que o NGINX conseguiu processar 30.000 solicitações por segundo com latência inferior a 30 ms, uma latência 1.000 vezes menor que a dos gateways de API dos hiperescaladores.

O NGINX Plus oferece proteção pronta para uso não apenas contra vulnerabilidades de API do OWASP — sua proteção de segurança adicional também inclui verificações de cookies, JSON e XML malformados, além de validar os tipos de arquivo permitidos e os códigos de status de resposta. Ele garante a conformidade com as RFCs do HTTP e detecta técnicas de evasão usadas para ocultar ataques.

NGINX Plus encaminha rapidamente as solicitações de API, ao mesmo tempo que autentica e autoriza clientes de API para proteger suas APIs e limita a taxa de tráfego para proteger contra sobrecarga os seus serviços baseados em API. Essas ferramentas também protegem suas APIs contra as dez principais vulnerabilidades do OWASP API Security:

  • Mecanismos de autenticação e autorização – Garanta que somente clientes com os privilégios de acesso adequados possam consumir suas APIs. Um desses mecanismos são as declarações em JSON Web Tokens (JWTs). Isso aborda várias vulnerabilidades do OWASP API Security Top 10: Falha na autorização no nível do objeto (API1), Falha na autenticação do usuário (API2), Falha na autorização no nível da função (API5) e Registro e monitoramento insuficientes (API10).
  • Políticas de limitação de taxa – Proteja suas APIs contra sobrecarga e reduza ataques DDoS definindo um limite para o número de solicitações que o gateway de API aceita de cada cliente de API em um período determinado. Com o NGINX Plus, os limites de taxa podem ser específicos para cada origem (com base no valor de uma declaração JWT, por exemplo), para que os usuários legítimos não sejam afetados. Isso ajuda a solucionar a vulnerabilidade de Falta de recursos e limitação de taxa (API4).

Fortaleça suas APIs com o WAF F5 NGINX App Protect

Proteger seu gateway de API com o F5 NGINX App Protect WAF oferece segurança adicional para APIs e mitiga ataques da OWASP, como Injeção (API8). Ao contrário de outros fornecedores de gateways e gerenciamento de APIs, que oferecem apenas o mínimo necessário para a proteção de APIs contra ameaças da OWASP, o NGINX App Protect WAF oferece proteção adicional contra vulnerabilidades como execução remota de código (RCE), cross-site scripting (XSS) e outros vetores de ataque. O NGINX App Protect WAF também oferece a visibilidade necessária dos ataques para lidar com Registro e monitoramento insuficientes (API10). Os detalhes registrados desses ataques podem ser enviados a sistemas de gerenciamento de eventos e informações de segurança (SIEM) ou a outros data lakes do cliente para análise adicional.

Se você usa o NGINX Plus como gateway de API e balanceador de carga (para rotear APIs que precisam ser expostas à Internet e disponibilizadas a desenvolvedores externos e parceiros), esse é o local ideal para implantar o NGINX App Protect WAF como proteção. Com um salto a menos para o tráfego de API, a proteção pode ser adicionada com o mínimo de complexidade e a menor latência possível.

De acordo com os requisitos de conformidade com o PCI para o tratamento de dados confidenciais (informações de identificação pessoal [PII]) em determinados setores, a carga útil deve ser criptografada de ponta a ponta em redes públicas e abertas. Ter o NGINX App Protect WAF no gateway de API, atrás de um balanceador de carga ou CDN, significa que a carga útil permanece totalmente criptografada até ser descriptografada no gateway de API. Assim, suas APIs podem permanecer protegidas e, ao mesmo tempo, atender aos requisitos para o tratamento de dados confidenciais.

Proteção em várias camadas com o F5 NGINX App Protect WAF

Diagrama de topologia de três opções para implantar o NGINX App Protect WAF com gateways de API

Talvez você tenha um balanceador de carga e um WAF — como o F5 Advanced WAF — nesse balanceador. Por trás deles, você implantou um gateway de API. Então, por que você precisa de um WAF no gateway de API se já tem um no balanceador de carga?

Um dos principais benefícios de substituir uma combinação de balanceador de carga e WAF na borda por uma combinação de gateway de API e WAF dentro do seu ambiente é obter um controle de segurança mais rigoroso e granular. A responsabilidade pela segurança pode ser transferida para uma equipe de APIs, permitindo que as políticas sejam mais específicas para APIs.

Com essa abordagem em duas camadas, você garante que suas APIs permaneçam protegidas mesmo nos ciclos mais rápidos de desenvolvimento e lançamento de APIs.

Adicionando segurança positiva com validação de esquema OpenAPI

Uma área fundamental em que a proteção deve ser específica para cada API é a validação da Especificação OpenAPI. Os esquemas OpenAPI são exclusivos de cada API e mudam a cada versão. A proteção baseada no esquema OpenAPI de uma API não pode esperar que uma equipe de TI atualize os controles de segurança no WAF centralizado que mantém, pois isso exige aprovação e testes cuidadosos para evitar efeitos inesperados em outras APIs e aplicações.

O NGINX App Protect WAF pode validar esquemas OpenAPI, verificando se as solicitações estão em conformidade com o que a API oferece (métodos, endpoints, parâmetros etc.). Por isso, o ideal é usar o NGINX App Protect WAF para fornecer segurança positiva no gateway de API, atrás de um WAF centralizado no balanceador de carga.

“Segurança como código” para acompanhar o ritmo das implantações de APIs

Os pipelines de CI/CD são criados para priorizar a velocidade, não a segurança. As APIs também são publicadas com mais frequência do que os aplicativos de antigamente. É por isso que estamos observando um movimento de shift left no cenário orientado por APIs. Ao deslocar a segurança para a esquerda, ou seja, aplicar controles de segurança mais cedo no ciclo de vida de desenvolvimento do aplicativo, o DevOps avança em direção a uma cultura de DevSecOps, na qual a segurança é tratada como código.

Ícone com símbolo do infinito mostrando o fluxo de trabalho de DevSecOps

Independentemente de você posicionar um WAF no gateway de API, no balanceador de carga ou em ambos, as configurações do WAF precisam ser implantadas de forma automatizada para acompanhar as mudanças de versão da API. Quando as organizações adotam uma cultura shift-left e integram a “segurança como código” ao pipeline de CI/CD, a segurança pode ser incorporada a cada etapa do desenvolvimento de aplicações e APIs, em vez de ser adicionada posteriormente.

Há muitos benefícios em consumir políticas e configurações de segurança como código:

  • O código pode ser facilmente obtido de um repositório de código-fonte.
  • Sua equipe de SecOps pode criar e manter políticas de segurança declarativas para garantir que os controles necessários para proteger a empresa estejam implementados.
  • As políticas declarativas podem ser incorporadas repetidamente a novos aplicativos e APIs.
  • A segurança passa a ser automatizada no pipeline de CI/CD.

Ao automatizar o esquema da API, sempre que você atualizar uma API, também precisará atualizar a configuração e o código nesse arquivo. Mais uma vez, a automação é fundamental. Quando uma filosofia shift-left ou de “segurança em primeiro lugar” for plenamente adotada, os desenvolvedores poderão obter facilmente esse código do repositório, mantendo a agilidade, aumentando a velocidade e reduzindo o tempo de lançamento no mercado.

Proteção de alto desempenho para suas APIs

Independentemente de onde você implante um WAF para proteger suas APIs, o alto desempenho e a baixa latência são requisitos que permitem que elas respondam rapidamente aos clientes, proporcionando uma experiência de usuário mais completa. A arquitetura leve do WAF do NGINX App Protect oferece esse alto desempenho e essa baixa latência com demandas computacionais extremamente baixas na nuvem.

Em seu Relatório de testes de segurança de aplicações de alto desempenho, a GigaOm apresenta os resultados dos testes de desempenho do NGINX App Protect WAF, AWS WAF, Azure WAF e ModSecurity Open Source WAF. A GigaOm constatou que o NGINX App Protect WAF apresenta latência 4,7 vezes menor que o ModSecurity OSS WAF no NGINX e 128 vezes menor que o AWS WAF para aplicações que exigem alto desempenho.

A NGINX é a única fornecedora que incorpora um WAF a um gateway de API da NGINX, eliminando uma etapa no tráfego de API. Menos etapas entre as camadas reduzem a latência, a complexidade e os pontos de falha. Isso contrasta fortemente com as soluções típicas de gerenciamento de APIs que não se integram a um WAF (é necessário implantar o WAF separadamente e, após a configuração, o tráfego de API precisa passar pelo WAF e pelo gateway de API de forma independente). A integração estreita da NGINX proporciona alto desempenho sem comprometer a segurança.

Conclusão

Na NGINX, oferecemos segurança robusta para APIs com o NGINX Plus e o NGINX App Protect WAF. Com a escalabilidade leve do NGINX e a robustez do mecanismo Advanced WAF da F5, você pode entrar no mundo orientado por APIs com a confiança de que seus aplicativos modernos estão seguros.

Em conformidade com os valores fundamentais da NGINX, o NGINX App Protect WAF é uma solução moderna de segurança de software para aplicações, independente de plataforma e que se integra perfeitamente às ferramentas comuns de DevOps para eliminar atritos e acelerar implantações seguras. Com recursos de configuração declarativa, a segurança pode ser automatizada como parte do pipeline de CI/CD e de todo o ciclo de vida de desenvolvimento de software (SDLC). Isso não só ajuda a acelerar o ritmo dos lançamentos, como também permite que as organizações criem APIs confiáveis e protegidas, reduzindo as lacunas entre as equipes de DevOps e SecOps e viabilizando uma mudança cultural rumo ao DevSecOps.

Pronto para experimentar o NGINX App Protect WAF? Comece uma avaliação gratuita de 30 dias hoje mesmo ou entre em contato conosco para conversar sobre seus casos de uso.


Compartilhar

Sobre os autores

Thelen Blum
Thelen BlumGerente Sênior de Marketing de Produto, NGINX App Protect | F5

Mais publicações de Thelen Blum

Publicações relacionadas no blog

Como o F5 NGINX One aprimora o gerenciamento e a observabilidade
NGINX | 10/10/2024

Como o F5 NGINX One aprimora o gerenciamento e a observabilidade

Descubra como o F5 NGINX One aprimora o gerenciamento e a observabilidade de ambientes híbridos e multicloud ao oferecer um console web centralizado baseado em SaaS, com insights em tempo real, conformidade automatizada e gerenciamento simplificado de configurações.

Do OpenAPI ao NGINX como gateway de API usando uma API declarativa
NGINX | 17/06/2024

Do OpenAPI ao NGINX como gateway de API usando uma API declarativa

Descubra como transformar uma definição de esquema OpenAPI em uma configuração NGINX totalmente funcional, operando como um API Gateway com a segurança de um Web Application Firewall e um Portal do Desenvolvedor, usando uma abordagem declarativa de API.

Como gerenciar picos repentinos de tráfego e sobrecarga do servidor
NGINX | 14/07/2021

Como gerenciar picos repentinos de tráfego e sobrecarga do servidor

Picos de tráfego e sobrecarga de servidores são preocupações sérias para varejistas online em qualquer época, mas especialmente durante a “Cyber Season” de compras de fim de ano. Detalhamos como você pode aproveitar as soluções de entrega de aplicações de nível de produção da NGINX para se preparar para aumentos repentinos de tráfego.

Distribuição segura de chaves privadas SSL com o NGINX
NGINX | 02/04/2019

Distribuição segura de chaves privadas SSL com o NGINX

Descrevemos três maneiras progressivamente mais seguras de proteger chaves privadas SSL ao configurar o NGINX para processar tráfego HTTPS: permitir acesso de leitura apenas ao usuário root, criptografar as chaves com senhas armazenadas separadamente e distribuir as senhas a partir de um repositório central.

Agrupando solicitações de API em lotes com NGINX Plus e o módulo JavaScript do NGINX
NGINX | 24/05/2018

Agrupando solicitações de API em lotes com NGINX Plus e o módulo JavaScript do NGINX

O módulo JavaScript do NGINX lançado com o NGINX Plus R15 oferece suporte a subsolicitações, possibilitando uma classe totalmente nova de casos de uso para o NGINX Plus. Este exemplo completo também usa a API do NGINX Plus e os módulos de chave-valor para converter solicitações de API dos clientes em solicitações separadas para as APIs dos microsserviços que compõem um aplicativo.

Como superar o esgotamento de portas efêmeras no NGINX e no NGINX Plus
NGINX | 19/04/2016

Como superar o esgotamento de portas efêmeras no NGINX e no NGINX Plus

Confira dicas para evitar o esgotamento de portas efêmeras com ajustes no kernel do Linux, conexões keepalive e conexões vinculadas dinamicamente a endereços IP locais.