O que é Segurança de API

O que é Segurança de API. A segurança da API é a proteção da integridade das APIs – tanto as que você possui quanto as que usa. Mas o que isso significa?

Bem, você provavelmente já ouviu falar da Internet das Coisas (IoT), onde o poder da computação está embutido em objetos do dia-a-dia . A IoT possibilita conectar seu telefone à geladeira, de modo que, quando você parar no supermercado a caminho de casa, saiba exatamente o que precisa para aquele jantar improvisado em uma hora. Ou talvez você faça parte de uma equipe DevOps , usando micro-serviços e contêineres para construir e implantar aplicativos legados e nativos da nuvem de maneira iterativa e rápida. APIs são uma das formas mais comuns de comunicação entre micro-serviços e contêineres , assim como sistemas e aplicativos. Conforme a integração e a interconectividade se tornam mais importantes, o mesmo acontece com as APIs.
As empresas usam APIs para conectar serviços e transferir dados . APIs quebradas, expostas ou hackeadas estão por trás das principais violações de dados. Eles expõem dados médicos, financeiros e pessoais confidenciais para consumo público. Dito isso, nem todos os dados são iguais nem devem ser protegidos da mesma maneira. A maneira como você aborda a segurança da API depende do tipo de dados que está sendo transferido.  
Se sua API se conecta a um aplicativo de terceiros, entenda como esse aplicativo está canalizando informações de volta para a Internet. Para usar o exemplo acima, talvez você não se importe se alguém descobrir o que está em sua geladeira, mas se eles usarem a mesma API para rastrear sua localização,  você pode estar mais preocupado. 
A segurança da API Web se preocupa com a transferência de dados por meio de APIs conectadas à Internet. OAuth (Autorização Aberta) é o padrão aberto para delegação de acesso. Ele permite que os usuários forneçam acesso de terceiros a recursos da web sem precisar compartilhar senhas. OAuth é o padrão de tecnologia que permite que você compartilhe aquele vídeo de compilação da barriga do Corgi em suas redes sociais com um único botão “compartilhar”.

A maioria das implementações de API são REST (Representational State Transfer) ou SOAP (Simple Object Access Protocol) .
APIs REST usam HTTP e suportam criptografia Transport Layer Security (TLS) . TLS é um padrão que mantém a privacidade de uma conexão com a Internet e verifica se os dados enviados entre dois sistemas (um servidor e um servidor ou um servidor e um cliente) estão criptografados e não modificados. Isso significa que um hacker que tenta expor as informações do seu cartão de crédito em um site de compras não pode ler seus dados nem modificá-los. Você sabe se um site está protegido com TLS se o URL começa com “HTTPS” (Hyper Text Transfer Protocol Secure). 
APIs REST também usam JavaScript Object Notation (JSON) , que é um formato de arquivo que facilita a transferência de dados em navegadores da web. Ao usar HTTP e JSON, as APIs REST não precisam armazenar ou reempacotar dados, tornando-os muito mais rápidos do que as APIs SOAP.

As APIs SOAP usam protocolos integrados conhecidos como Web Services Security (WS Security). Esses protocolos definem um conjunto de regras que é orientado pela confidencialidade e autenticação. As APIs SOAP suportam os padrões definidos pelos dois principais organismos internacionais de padrões, a Organization for the Advancement of Structured Information Standards (OASIS)  e o World Wide Web Consortium (W3C). Eles usam uma combinação de criptografia XML, assinaturas XML e tokens SAML para verificar a autenticação e autorização. Em geral, as APIs SOAP são elogiadas por ter medidas de segurança mais abrangentes, mas também precisam de mais gerenciamento. Por esses motivos, as APIs SOAP são recomendadas para organizações que lidam com dados confidenciais.

Você provavelmente não guarda suas economias embaixo do colchão. A maioria das pessoas deposita seu dinheiro em um ambiente confiável (o banco) e usa métodos separados para autorizar e autenticar pagamentos. A segurança da API é semelhante. Você precisa de um ambiente confiável com políticas de autenticação e autorização.
Aqui estão algumas das maneiras mais comuns de fortalecer a segurança da API:

  • Use tokens . Estabeleça identidades confiáveis ​​e controle o acesso a serviços e recursos usando tokens atribuídos a essas identidades.  
  • Use criptografia e assinaturas . Criptografe seus dados usando um método como o TLS (veja acima). Exija assinaturas para garantir que os usuários certos estejam descriptografando e modificando seus dados, e mais ninguém.
  • Identifique vulnerabilidades . Acompanhe seu sistema operacional, rede, drivers e componentes de API. Saiba como tudo funciona junto e identifique os pontos fracos que podem ser usados ​​para invadir suas APIs. Use sniffers para detectar problemas de segurança e rastrear vazamentos de dados.
  • Use cotas e throttling. Defina cotas para a frequência com que sua API pode ser chamada e rastreie seu uso ao longo do histórico. Mais chamadas em uma API podem indicar que ela está sendo abusada. Também pode ser um erro de programação, como chamar a API em um loop infinito. Faça regras de limitação para proteger suas APIs de picos e ataques de negação de serviço.
  • Use um gateway de API . Os gateways de API atuam como o principal ponto de aplicação do tráfego de API. Um bom gateway permitirá que você autentique o tráfego, bem como controle e analise como suas APIs são usadas.
Finalmente, a segurança da API geralmente se resume a um bom gerenciamento de API. Muitas plataformas de gerenciamento de API oferecem suporte a três tipos de esquemas de segurança. Estes são:

  • Uma chave API que é uma string de token único (ou seja, um pequeno dispositivo de hardware que fornece informações de autenticação exclusivas).
  • Autenticação básica (APP ID / APP Key) que é uma solução de string de dois tokens (ou seja, nome de usuário e senha).
  • OpenID Connect (OIDC) que é uma camada de identidade simples no topo da popular estrutura OAuth (ou seja, verifica o usuário obtendo informações básicas de perfil e usando um servidor de autenticação).

Ao selecionar um gerenciador de API, saiba quais e quantos desses esquemas de segurança ele pode controlar e tenha um plano de como incorporar as práticas de segurança de API descritas acima.

Violações de dados são assustadoras, mas você pode tomar medidas para melhorar a segurança . As APIs valem o esforço, você só precisa saber o que procurar. A Red Hat publica um relatório anual de riscos de produtos da Red Hat , que descreve as vulnerabilidades de segurança globais que afetam o software corporativo e as soluções da Red Hat para seus produtos. Muito disso se resume a medidas de segurança contínuas, fazer as perguntas certas, saber quais áreas precisam de atenção e usar um gerenciador de API em que você pode confiar. 

A Red Hat recomenda o seu  Red Hat 3scale API Management, que Inclui:

  • Um gerenciador de API que gerencia a API, aplicativos e funções de desenvolvedor
  • Um gerenciador de tráfego (um gateway de API) que impõe as políticas do gerenciador de API
  • Um hub de provedor de identidade (IDP) que oferece suporte a uma ampla gama de protocolos de autenticação

No gateway de API, o Red Hat 3scale API Management decodifica tokens com carimbo de data / hora que expiram; verifica se a identificação do cliente é válida; e confirma a assinatura usando uma chave pública.

Fonte: Red Hat

Veja também:

Sobre mindsecblog 2399 Artigos
Blog patrocinado por MindSec Segurança e Tecnologia da Informação Ltda.

Seja o primeiro a comentar

Deixe sua opinião!