O que é segurança de API REST?

As APIs REST são amplamente utilizadas atualmente, mas sua popularidade as torna alvos privilegiados para ciberataques. Proteger as APIs REST é essencial para proteger informações confidenciais e garantir a confiabilidade das aplicações web. Este guia explora várias medidas de segurança, incluindo criptografia, controle de acesso, limitação de taxa e monitoramento de API, para ajudar a proteger APIs REST e mitigar vulnerabilidades.

Por diversos motivos, proteger as APIs REST é uma tarefa crítica para os profissionais de cibersegurança empresarial. Como as APIs expõem aplicações e dados confidenciais ao acesso externo, elas são um alvo preferido de agentes maliciosos que causam violações de dados. Naturalmente, as organizações devem investir em ferramentas de segurança de API para proteger suas APIs REST. A segurança de APIs compreende uma série de contramedidas que incluem criptografia, limitação de taxa, tokens de acesso e muito mais. Vamos explorar esses controles de segurança e como eles podem melhorar a segurança da sua API REST.

O que é uma API REST?

O estilo arquitetônico REST foi definido na dissertação do Dr. Roy Fielding publicada em 2000. O objetivo deste artigo foi definir uma abordagem arquitetônica uniforme e consistente para a comunicação máquina a máquina na web. Uma API REST é uma API que utiliza o estilo arquitetônico REST (REpresentational State Transfer, ou Transferência de Estado Representacional) para enviar e receber dados e chamadas de procedimento. Uma API REST também precisa de um protocolo de transporte e uma linguagem de programação para funcionar. As APIs REST comunicam-se através do HTTP (Protocolo de Transferência de Hipertexto) e o formato de dados preferencial para as mensagens transmitidas é o JSON (Notação de Objetos JavaScript). Assim, o termo “API” quase sempre se refere a uma API REST que usa JSON sobre HTTP.

A API REST tornou-se o modo predominante para APIs por várias razões. Por um lado, é gratuito e baseado em padrões, portanto, quase não há barreiras para sua adoção. A programação RESTful também é “sem estado”, o que facilita o gerenciamento. Uma interface RESTful é uniforme. Os parâmetros de consulta são padronizados. Como resultado, é bastante fácil para uma entidade que cria uma API publicar instruções para os desenvolvedores usarem ao invocar a API, por exemplo: veja como obter dados da API, que serão retornados em JSON. Outros tipos de respostas também são possíveis, incluindo XML (Extensible Markup Language), documentos e imagens.

Práticas recomendadas para proteger suas APIs REST

Sem as devidas proteções, as APIs REST representam uma superfície de ataque extensa e vulnerável. Embora anteriormente as organizações pudessem contar com a “segurança por obscuridade”, em que os hackers teriam que se esforçar muito para encontrar dados dentro de uma rede com uma API, a organização publica literalmente instruções sobre como encontrar os dados e roubá-los.

As práticas de segurança de API REST amadureceram. As contramedidas mais eficazes incluem:

Detecção de APIs

É comum ter APIs que ninguém conhece. A maioria das organizações tem pouca ou nenhuma visibilidade sobre uma grande porcentagem do tráfego de API, muitas vezes porque elas pressupõem que todas as APIs são roteadas por meio de um gateway de API. Mas esse não é o caso. Sua empresa está exposta a uma série de riscos sem um inventário completo e preciso. Recursos essenciais necessários:

  • Localizar e inventariar todas as suas APIs, independentemente da configuração ou tipo
  • Detectar APIs inativas, legadas e zumbis
  • Identificar domínios esquecidos, negligenciados ou de sombra desconhecidos
  • Eliminar pontos cegos e revelar possíveis caminhos de ataque

Gerenciamento de postura de APIs

Com um inventário de API completo, é fundamental entender quais tipos de dados fluem através de suas APIs e como isso afeta sua capacidade de cumprir os requisitos regulamentares. O gerenciamento de postura da API fornece uma visão abrangente do tráfego, código e configurações para avaliar a postura de segurança da API da sua organização. Recursos essenciais necessários:

  • Verificar automaticamente a infraestrutura para descobrir configurações incorretas e riscos ocultos
  • Criar fluxos de trabalho personalizados para notificar as principais partes interessadas sobre vulnerabilidades
  • Identificar quais APIs e usuários internos podem acessar dados confidenciais
  • Atribuir classificações de gravidade aos problemas detectados para priorizar a correção

Segurança de tempo de execução da API

Sem dúvida, você está familiarizado com o conceito de "presumir violações". Violações e ataques específicos de API estão atingindo esse mesmo grau de inevitabilidade. Para todas as APIs que estão em produção, você precisa ser capaz de detectar e bloquear ataques em tempo real. Recursos essenciais necessários:

  • Monitorar a violação e o vazamento de dados, violações de políticas, comportamento suspeito e ataques a APIs
  • Analisar o tráfego de APIs sem alterações de rede adicionais ou agentes de difícil instalação
  • Integrar fluxos de trabalho existentes (emissão de tickets, SIEMs etc.) para alertar equipes de segurança/operações
  • Evitar ataques e uso indevido em tempo real com correção parcial ou totalmente automatizada

Teste abrangente de segurança de APIs

As equipes de desenvolvimento de API estão sob pressão para trabalhar o mais rápido possível. A velocidade é essencial para cada aplicativo desenvolvido, tornando mais fácil para uma vulnerabilidade ou falha de design acontecer e não ser detectada. Testar APIs em desenvolvimento antes de serem lançadas na produção reduz muito o risco e o custo de corrigir uma API vulnerável. Recursos essenciais necessários:

  • Executar uma ampla gama de testes automatizados que simulam tráfego malicioso
  • Descobrir vulnerabilidades antes que as APIs entrem em produção para reduzir o risco de um ataque bem-sucedido
  • Inspecionar as especificações de API em relação às políticas e regras de governança estabelecidas
  • Executar testes de segurança com foco em API sob demanda ou como parte de um pipeline de CI/CD

Essa abordagem abrangente funciona como um complemento aos recursos de proteção de API existentes de uma empresa, que podem incluir:

Canal seguro

  • O canal de comunicação para chamadas e respostas de API precisa ser seguro. Uma prática recomendada é usar o TLS (Transport Layer Security), anteriormente conhecido como SSL (Secure Socket Layer). Um certificado TLS usa criptografia completa para proteger os dados da API e as credenciais de acesso enquanto eles estão em trânsito. O TLS protege as suas informações enviadas através da sua API por meio da criptografia de todas as mensagens enviadas por essa API.
  • Se o seu URL começar com https em vez de http, você saberá que o seu site suporta TLS. Sem o TLS, um invasor pode interceptar informações do servidor de trânsito e acessá-las sem permissão. Todos os métodos de autenticação são prejudicados por isso. O TLS exige certificados de autoridades certificadoras que permitam ao usuário saber que sua API é legal e protegida.

chaves de interface de programação de aplicação, ou API (Application Programming Interface),

As chaves de API são sequências únicas que funcionam como credenciais de acesso à API. São usados para autenticação de clientes que acessam a API.

Tokens

  • Os tokens de API são identificadores digitais exclusivos que autenticam os usuários da API. Os tokens permitem evitar processos de autenticação onerosos, como a verificação em duas etapas e o SSO (Single Sign-On, ou login único). Os administradores de API podem conceder e revogar tokens de API dos usuários de API, proporcionando controle sobre o acesso à API.
  • Os tokens são geralmente emitidos pelo servidor que hospeda a API para uso por aplicações do lado do cliente. O mecanismo de token difere do gerenciamento de sessão baseado em cookies, pois normalmente é sem estado. Não há necessidade de o servidor armazenar detalhes da sessão, facilitando a expansão da infraestrutura que utiliza APIs.

compatível com OAuth 2

Este é um mecanismo de autenticação seguro baseado em padrões e tokens. Funciona para autenticação e autorização de usuários da API.

Token de Web JSON (JWT)

A autenticação de API é uma barreira crítica para manter afastados agentes maliciosos e ameaças. Um JWT é um token de autenticação assinado digitalmente que contém dados sobre o usuário da API em JSON. A vantagem de um JWT é que ele pode armazenar mais dados do que uma chave de API.

Limitação de taxa

  • As APIs são alvos de ataques de DDoS (negação de serviço distribuída). Um invasor pode inundar uma API com solicitações e fazer com que ela seja desativada. Para evitar que isso ocorra, uma ferramenta de segurança de API pode implementar o controle de taxa, por exemplo, desativando o acesso se um cliente tentar invocar a API com muita frequência em um determinado período de tempo.

Integração com IAM

  • É possível estabelecer identidades de usuário para clientes de API integrando o gerenciamento de API com sistemas de IAM (Gerenciamento de identidade e acesso). Dessa forma, um administrador pode controlar quem tem permissão para usar uma API, o que impede o acesso não autorizado.

Validação de entradas de consulta baseadas em parâmetros

  • Os hackers podem tentar enganar uma API modificando os dados da solicitação JSON e os parâmetros da URL. Ao validar essas entradas baseadas em parâmetros, é possível impedir esse tipo de ataque antes que ele comece.

Lista de permissão de métodos HTTP permitidos

Esta contramedida estabelece uma lista de métodos HTTP permitidos para a API, por exemplo, POST, GET, PUT. Por padrão, esse controle bloqueia métodos que não devem ser permitidos por um usuário de API pública, como EXCLUIR.

Monitoramento de APIs

  • É fundamental rastrear o uso e o desempenho da API, de preferência em tempo real. Ao monitorar as APIs, os administradores podem sinalizar comportamentos anômalos que possam indicar um ataque em andamento. Isso pode incluir registrar solicitações com falha e procurar padrões suspeitos.

Proteção e segurança de ponto de extremidade

Dado o papel fundamental dos pontos de extremidade da API na arquitetura da API REST, a proteção dos pontos de extremidade é fundamental. A implementação de soluções de segurança para ponto de extremidade garante que cada ponto de extremidade esteja protegido contra acesso não autorizado e atividades maliciosas. Isso inclui o uso de gateways de API para gerenciar e proteger o tráfego de API, aplicar políticas e fornecer um ponto centralizado de controle de acesso.

Proteger aplicações web

Proteger as APIs REST é essencial para proteger as aplicações web. As APIs REST costumam servir como espinha dorsal das aplicações web, permitindo a comunicação entre o cliente e os servidores back-end. A implementação de medidas de segurança, como controle de aplicações e controle de acesso, ajuda a proteger tanto as APIs quanto as aplicações web que elas suportam.

Perguntas frequentes

Os gateways de API desempenham um papel crucial na segurança de APIs REST, atuando como um único ponto de entrada para solicitações de API. Eles aplicam políticas de segurança, gerenciam o tráfego e garantem que apenas usuários autorizados possam acessar os pontos de extremidade da API. Os gateways de API também ajudam a mitigar os riscos de segurança, fornecendo recursos como limitação de taxa, autenticação e criptografia de dados.

A validação das entradas de consulta é essencial para prevenir vulnerabilidades de segurança, como injeção de SQL e outros ataques de injeção. Ao garantir que todas as entradas sejam devidamente validadas, as organizações podem proteger suas APIs contra atividades maliciosas que exploram dados não validados.

O OAuth 2 fornece um método seguro e padronizado para autenticar usuários e autorizar o acesso a recursos da API. Permite a autenticação baseada em token, o que simplifica o processo para os usuários, garantindo que apenas pessoas autorizadas possam acessar informações confidenciais. O OAuth 2 também suporta integração com provedores de autenticação terceirizados, aumentando a segurança geral.

O monitoramento de API permite que as organizações rastreiem o uso de API e detectem comportamentos incomuns em tempo real. Ao analisar solicitações, respostas e padrões de tráfego de API, os administradores podem identificar possíveis ameaças à segurança, como tentativas de acesso não autorizado ou uso indevido de API. Essa abordagem proativa ajuda a mitigar os riscos antes que eles se transformem em ataques completos.

Por que os clientes escolhem a Akamai

A Akamai é a empresa de cibersegurança e computação em nuvem que potencializa e protege negócios online. Nossas soluções de segurança líderes de mercado, inteligência avançada contra ameaças e equipe de operações globais oferecem defesa em profundidade para garantir a segurança de dados e aplicações empresariais em todos os lugares. As abrangentes soluções de computação em nuvem da Akamai oferecem desempenho e acessibilidade na plataforma mais distribuída do mundo. Empresas globais confiam na Akamai para obter a confiabilidade, a escala e a experiência líderes do setor necessárias para expandir seus negócios com confiança.

Explore todas as soluções de segurança da Akamai