BLOG

Proteger negócios significa proteger APIs

Miniatura de Lori MacVittie
Lori MacVittie
Publicado em 04 de novembro de 2019

As APIs criam valor por meio de sua capacidade de abstração na camada de aplicação. Por exemplo, o uso de uma API para abstrair o acesso a sistemas e dados internos fornece uma maneira de simplificar e automatizar o acesso a sistemas de TI legados. As APIs também são o meio pelo qual a integração em ecossistemas — e com parceiros — é alcançada. As APIs também são o principal meio de automação e orquestração hoje, o que as torna uma das tecnologias essenciais para uma jornada de transformação digital bem-sucedida. Assim, as APIs se tornaram estratégicas para as empresas como fonte de inovação, execução eficiente e monetização.

Monetização 

Em uma economia digital, tudo o que pode gerar receita acabará sendo monetizado. Isso é especialmente verdadeiro para APIs, e pesquisas indicam que a economia de APIs é forte.

  • Mais de uma em cada dez (11%) empresas geram mais da metade de sua receita com APIs e implementações relacionadas a APIs. ( Valor comercial das APIs
  • Impressionantes 59% das empresas geram entre 26% e 50% da receita de sua organização a partir de APIs. ( Valor comercial das APIs )

Integração

As APIs suplantaram os ESB e os portais baseados na web como o principal meio de integração entre empresas. A dependência de APIs como um componente estratégico para o sucesso empresarial na economia digital está bem documentada.

    o Mais de 60% concordam que a integração de API é essencial para sua estratégia de negócios. ( Estado da Integração de API 2018 )

    o Mais de 50% de toda a colaboração B2B ocorrerá via integração de API. ( Estado da Integração de API 2018 )

    o 51% citam 'parcerias com organizações externas' como um dos principais motivadores em sua decisão de desenvolver APIs.
        ( Estado da API 2019

A dependência de arquiteturas de negócios e aplicativos modernos, como microsserviços, em APIs os torna um alvo particularmente atraente para invasores que entendem o valor de obter acesso — ou controle — sobre esses endpoints. Esse risco significa que mais atenção deve ser dada à camada de API, particularmente na proteção do acesso às funções comerciais que elas representam.

A autenticação não é opcional

A segurança das APIs começa com o acesso. E isso significa autenticação. APIs abertas não devem ser uma descrição de um modelo de acesso à API. É um atributo que significa que a API está bem documentada e segue um padrão. A invocação de APIs deve sempre exigir autenticação e, de preferência, autorização.

Há várias opções disponíveis e, antes de escolher, você deve estar ciente das capacidades e limitações de cada uma.

  • BOM: HTTP Básico
    A autenticação básica HTTP é o padrão. É a maneira mais simples e comum de impor autenticação de tráfego baseado em HTTP, como a maioria das APIs atuais. A desvantagem da autenticação básica é que ela exige credenciais e, como todos sabemos, as credenciais geralmente são compartilhadas entre vários aplicativos. Credenciais roubadas (ou expostas) são cada vez mais o caminho utilizado pelos invasores para obter acesso aos sistemas. A força das senhas e onde/como elas são armazenadas também influenciam na segurança geral deste método. É melhor que nada.
  • MELHORAR: Chaves de API
    As chaves de API estão um passo acima da autenticação básica HTTP porque são emitidas (e, presume-se, rastreadas) pelo emissor. As chaves de API são distribuídas e usadas para vários propósitos além da segurança, incluindo medição e cobrança. No entanto, eles geralmente são estáticos, o que significa que podem ser extraídos e usados por terceiros para se passar por um usuário legítimo. Compartilhar chaves também é um problema real. Assim como as credenciais, as chaves podem e são compartilhadas por colegas de trabalho e familiares. E quanto mais eles são espalhados, maior a probabilidade de serem coletados e usados por alguém com intenções maliciosas.
  • MELHOR: Tokens expirados
    O uso de tokens se tornou mais comum à medida que o número de APIs cresceu. Os dois favoritos hoje são os tokens OAuth (usados exclusivamente para APIs) e JWT (JSON Web Tokens). O uso de JSON como formato padrão para troca de declarações sobre acesso a recursos baseados em HTTP e sua aplicabilidade fora de APIs levou o JWT a se tornar um dos mecanismos mais predominantes para autenticação e autorização atualmente. Ele ainda tem um RFC (7519) . Assim como seu primo XML, SAML, uma asserção JSON é emitida descrevendo o alcance de acesso e a função do usuário autenticado. Ele é altamente portátil e, o mais importante, vem com uma data/hora de expiração, o que o torna difícil de usar para se passar por um usuário autenticado. A desvantagem é que os tokens exigem mais trabalho para serem integrados e nem sempre têm suporte nativo. Isso pode levar a erros de implementação que, involuntariamente, introduzem o potencial de exploração.

A segurança da API pode ser implementada diretamente em um aplicativo ou, melhor, em um API Gateway. Um gateway de API pode proteger ainda mais as APIs com recursos como limitação de taxa (para evitar ataques acidentais ou intencionais de negação de serviço) e autorização. A autorização restringe o acesso às APIs permitindo o acesso a chamadas de API específicas somente a clientes especificados, geralmente identificados por tokens ou chaves de API. Um gateway de API também pode limitar os métodos HTTP usados e registrar tentativas de abuso de outros métodos para que você esteja ciente de tentativas de ataque.

Nossa dependência de aplicativos significa que as APIs nas quais eles confiam também precisam ser protegidas. Se você ainda não começou com o básico, é hora de começar. Se você quer proteger seu negócio, você vai precisar de APIs seguras.