BLOG | NGINX

Previna ataques de API com ferramentas essenciais e práticas recomendadas para segurança de API

NGINX-Parte-de-F5-horiz-preto-tipo-RGB
Andrew Stiefel Miniatura
André Stiefel
Publicado em 18 de julho de 2023

Nos últimos anos, a proliferação de APIs mudou significativamente a maneira como as empresas operam. As APIs permitem que diferentes aplicativos se comuniquem e troquem dados entre si, permitindo processos de negócios e desenvolvimento de software mais eficientes e eficazes.

No entanto, com o aumento do uso de APIs, surge o risco de proliferação de APIs , em que as APIs são criadas e implantadas em equipes e arquiteturas distribuídas, geralmente sem supervisão e gerenciamento adequados. Isso pode criar um novo conjunto de riscos de segurança para as empresas, pois cada API representa um ponto de entrada potencial para invasores obterem acesso não autorizado a dados e sistemas confidenciais.

A ascensão do desenvolvimento de software API-First

Um dos principais impulsionadores da proliferação de APIs é a proliferação de microsserviços. Uma arquitetura de microsserviços divide um aplicativo maior em aplicativos menores e individuais que se comunicam entre si via API. Isso divide aplicativos complexos em partes discretas que podem ser gerenciadas por equipes individuais e dimensionadas independentemente umas das outras para atender às demandas de tráfego.

Os microsserviços oferecem muitas vantagens para desenvolvedores, incluindo maior flexibilidade e escalabilidade. No entanto, esses benefícios têm desvantagens, incluindo complexidade adicional. Como resultado, muitas empresas adotam uma abordagem que prioriza a API para criar microsserviços . Nessa estratégia, o processo de design de aplicativos e serviços começa com um contrato de API que descreve como uma API funciona, até o formato de solicitações e respostas.

Integre a segurança em todo o ciclo de vida da API

A superfície de ataque cresce à medida que as APIs proliferam

Os benefícios do desenvolvimento de software API-first podem ser facilmente prejudicados pela falha em levar a segurança da API a sério, especialmente durante o design e a implantação. No nível mais básico, mais APIs significam mais superfície de ataque. Embora as APIs desempenhem um papel vital no desenvolvimento de software moderno, elas estão se tornando mais fáceis de explorar.

Em 2018, a Gartner previu que as APIs se tornariam o vetor de ataque mais comum para aplicativos até 2022. Na verdade, a previsão deles de tanto atraso foi excessivamente otimista. Violações de API de alto nível em grandes empresas que afetaram milhões de usuários já estavam ocorrendo e se tornaram ainda mais comuns:

A amplitude e a variedade desses ataques revelam os desafios enfrentados pelos líderes de segurança e engenharia. Alguns ataques exploram APIs que foram expostas incorretamente na Internet. Outros usam chaves de API ou outros métodos de autenticação que foram expostos incorretamente em repositórios de código. Ou os invasores obtêm acesso a ambientes internos por meio de explorações de VPN e usam APIs internas para exfiltrar dados.

Frustrar ataques de API requer a estratégia e as ferramentas certas

A maneira mais comum de se proteger contra ameaças de API é combinar estratégias tradicionais de segurança de aplicativos web com técnicas modernas de segurança de API. As estratégias tradicionais muitas vezes falham diante das variadas ameaças de API atuais. Técnicas modernas, como descoberta automatizada de API e testes de contraste de API, tentam fechar essas lacunas.

É essencial que as empresas protejam a direita (implementem controles globais e políticas de segurança para proteger aplicativos e APIs implantados) e mudem para a esquerda (incorporem segurança ao código para eliminar vulnerabilidades antes que os aplicativos e APIs entrem em produção). Nenhuma das estratégias pode fornecer segurança abrangente de API por si só, então a chave para evitar violações é uma abordagem holística que abrange três categorias de práticas de segurança de API:

Segurança de API de ponta a ponta

Ao combinar a estratégia certa com as ferramentas certas, as organizações podem proteger melhor suas APIs contra ataques e garantir a segurança de seus sistemas de software. Vamos dar uma olhada nas funcionalidades e ferramentas importantes que os líderes de engenharia de plataforma precisam implementar para proteger APIs em todo o seu ciclo de vida.

O que é gerenciamento de postura de segurança de API?

O gerenciamento da postura de segurança da API cria visibilidade sobre o número, os tipos, os locais e os dados expostos pelas suas APIs. Essas informações ajudam você a entender os riscos associados a cada API para que você possa tomar as medidas adequadas para protegê-la.

Funcionalidade principal:

  • Descoberta automatizada de API – Descoberta automática e contínua de API para visibilidade abrangente de APIs implantadas em um ambiente
  • Caracterização de API – Identifique e categorize APIs por protocolo ou arquitetura (REST, GraphQL, SOAP, etc.) e mapeie fluxos de dados confidenciais para entender sua exposição ao risco
  • Catalogação de API – Mantenha uma lista completa de APIs para incentivar as equipes de software a reutilizar APIs existentes e para ajudar as equipes de SecOps a construir uma visão completa de sua postura de segurança

Tecnologias representativas:

  • Proteção de API e aplicativo da Web (WAAP) – Aproveita uma posição global privilegiada na infraestrutura de API para analisar o tráfego que entra e sai dos ambientes, identificar APIs e criar uma visão da sua exposição ao risco
  • Descoberta em linha ou baseada em agente – anexa um agente a gateways de API existentes, balanceadores de carga ou controladores de entrada do Kubernetes para espelhar e analisar o tráfego de API
  • Descoberta fora de banda ou sem agente – Usa espelhamento de tráfego ou logs e métricas exportados para analisar o tráfego de API; geralmente oferece menos visibilidade em APIs e ameaças do que outras tecnologias
  • Rastreadores de domínio – Os provedores de segurança de API podem oferecer rastreadores que sondam seu domínio em busca de endpoints de API expostos que estão permitindo que o tráfego ignore seus gateways de API e balanceadores de carga onde as políticas de segurança podem ser aplicadas

É importante ter em mente que nenhuma tecnologia pode encontrar com segurança todas as APIs em sua arquitetura . A maioria das técnicas de descoberta depende da visibilidade fornecida pelos balanceadores de carga, gateways de API e controladores Ingress existentes e provavelmente não detectará configurações incorretas que ignorem esses componentes arquitetônicos.

Por fim, a revisão de código e a adoção das melhores práticas de API-first oferecem uma prevenção mais eficaz a longo prazo. Mas ferramentas automatizadas de descoberta de API ainda são úteis para criar rapidamente uma visão da sua postura de segurança e para capturar APIs que, de outra forma, poderiam ficar sem gerenciamento e sem segurança.

O que é teste de segurança de API?

Enquanto o gerenciamento da postura de segurança da API se preocupa com a segurança de toda a empresa, os testes de segurança da API se preocupam muito com APIs individuais. Em seu nível mais básico, o teste de segurança de API ajuda a identificar e prevenir vulnerabilidades e seus riscos associados testando o tempo de execução da API – o aplicativo em execução por trás da API. Ele ajuda a garantir que os requisitos básicos de segurança foram atendidos, incluindo condições para autenticação, autorização, limitação de taxa e criptografia.

Funcionalidade principal:

  • Teste de contrato de API – Usa a especificação OpenAPI de uma API para verificar se ela está funcionando conforme o planejado, comparando solicitações do cliente e respostas do servidor. Ele usa uma abordagem “de dentro para fora” para descobrir se as APIs são vulneráveis, antes de serem implantadas.
  • Teste dinâmico de segurança de aplicativos (DAST) – Simula ataques contra um tempo de execução de API para encontrar vulnerabilidades, avaliando a API de “fora para dentro” como um usuário malicioso.

Tecnologias representativas:

  • Software de teste de contrato de API – Ferramentas especializadas para executar testes que segmentam solicitações e respostas de API para verificar se o comportamento do cliente e do servidor está em conformidade com o contrato de API
  • Software de teste de segurança de aplicativos (AST) – Ferramentas que analisam e testam aplicativos, incluindo APIs, simulando ataques

Existem ferramentas de teste de contrato de código aberto e produtos comerciais de fornecedores dedicados de segurança de API. O mercado de testes de segurança de aplicativos (AST) existe há décadas e cada vez mais fornecedores oferecem ferramentas dedicadas de verificação e teste para APIs.

O que é proteção de tempo de execução de API?

A proteção de tempo de execução da API refere-se à proteção das APIs enquanto elas operam e gerenciam solicitações. Ela prioriza a construção de segurança na infraestrutura da plataforma, bem como no código das próprias APIs. O objetivo é identificar e prevenir solicitações de API maliciosas que surgem após a implantação.
Funcionalidade principal:

  • Controle de acesso – Aplicar políticas de autenticação (authN) e autorização (authZ)
  • Segurança de rede – Criptografe e proteja as comunicações na rede
  • Proteção de aplicativos – Proteja os tempos de execução da API contra solicitações e ataques maliciosos da API
  • Monitoramento em tempo real – Visualize, rastreie e mitigue ataques em toda a infraestrutura de API

Tecnologias representativas:

  • Gateway de API – Aplica e impõe políticas de segurança, incluindo autenticação, autorização, limitação de taxa, listas de controle de acesso e criptografia
  • Firewall de aplicativo da Web (WAF) – Protege APIs e aplicativos contra ataques sofisticados da Camada 7 monitorando e filtrando ativamente o tráfego com base em assinaturas de ataque
  • Provedor de identidade (IdP) – Serviço que armazena e verifica a identidade do usuário e normalmente trabalha com provedores de logon único (SSO) para autenticar usuários

Nem todos os gateways de API e WAFs/WAAPs são criados iguais. Alguns serviços, especialmente as soluções nativas disponíveis na nuvem e outras plataformas, não têm a visibilidade global e a padronização necessárias em arquiteturas híbridas e multinuvem.

Práticas recomendadas de API Security

Dada a importância de proteger APIs, é essencial abordar a segurança de APIs de forma organizada. Os líderes de engenharia e segurança de plataforma devem trabalhar juntos para atender aos requisitos de segurança em todo o ciclo de vida da API. Como exploramos anteriormente, isso se alinha aproximadamente a três áreas principais de prática: Gerenciamento de postura de segurança de API, testes de segurança de API e proteção de tempo de execução de API. Em outras palavras, você precisa se concentrar em saber quantas APIs você tem, como testá-las para detectar erros e como criar segurança em seu código.

Lista de práticas recomendadas de segurança de API

Conclusão

Como toda segurança cibernética, a segurança de API é um processo contínuo que requer colaboração de muitas partes interessadas, incluindo engenheiros de rede, líderes de operações de segurança, líderes de engenharia de plataforma e engenheiros de desenvolvimento de software. A boa notícia é que não é nenhum grande mistério como proteger APIs.

A maioria das organizações já possui medidas para combater ataques conhecidos, como script entre sites, injeção, negação de serviço distribuída e outros que podem ter como alvo APIs. E muitas das melhores práticas descritas acima provavelmente são bastante familiares para profissionais de segurança experientes. Não importa quantas APIs sua organização opera, seu objetivo é estabelecer políticas sólidas de segurança de API e gerenciá-las proativamente ao longo do tempo.

Comece sua avaliação gratuita de 30 dias do NGINX API Connectivity Stack , que inclui o F5 NGINX Management Suite API Connectivity Manager para gerenciar, governar e proteger APIs; o F5 NGINX Plus como um gateway de API; e o F5 NGINX App Protect WAF e DoS para segurança avançada de API.

Recursos adicionais


"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."