Segurança da API

Views: 810
0 0
Read Time:6 Minute, 30 Second

Visão Geral

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

Bem, você provavelmente já ouviu falar da Internet das Coisas (IoT), onde poder de computação está incorporado em objetos do dia a dia. A IoT possibilita conectar seu telefone à sua geladeira, para 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 microsserviços e contêineres para criar e implantar aplicativos legados e nativos da nuvem de maneira rápida e iterativa. APIs são uma das maneiras mais comuns pelas quais microsserviços e contêineres se comunicam, assim como sistemas e aplicativos. À medida que a integração e a interconectividade se tornam mais importantes, as APIs também se tornam mais importantes.

Por que a segurança da API é importante?

As empresas usam APIs para conectar serviços e transferir dados. APIs quebradas, expostas ou hackeadas estão por trás de grandes violações de dados. Eles expõem dados médicos, financeiros e pessoais sensíveis para consumo público. Dito isso, nem todos os dados são iguais nem devem ser protegidos da mesma maneira. A forma como você aborda a segurança da API dependerá do tipo de dados que estão sendo transferidos.

Se sua API se conectar 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á na sua geladeira, mas se eles usarem essa mesma API para rastrear sua localização, você pode estar mais preocupado.

O que é segurança da API da web? Segurança da API REST vs. Segurança da API SOAP.

A segurança da API da Web está preocupada com a transferência de dados através de APIs conectadas à Internet. OAuth (Autorização Aberta) é o padrão aberto para delegação de acesso. Ele permite que os usuários dêem acesso de terceiros aos recursos da web sem ter que compartilhar senhas. OAuth é o padrão de tecnologia que permite compartilhar aquele vídeo de compilação Corgi belly flop 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).

As APIs REST usam HTTP e suportam criptografia TLS (Transport Layer Security).TLS é um padrão que mantém uma conexão com a Internet privada e verifica se os dados enviados entre dois sistemas (um servidor e um servidor, ou um servidor e um cliente) são criptografados e não modificados. Isso significa que um hacker que tenta expor as informações do seu cartão de crédito de 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çar com “HTTPS” (Hyper Text Transfer Protocol Secure).

As APIs REST também usam JavaScript Object Notation (JSON), que é um formato de arquivo que facilita a transferência de dados pelos navegadores da web. Ao usar HTTP e JSON, as APIs REST não precisam armazenar ou reembalar dados, tornando-os muito mais rápidos do que as APIs SOAP.

APIs SOAP usam protocolos integrados conhecidos como Segurança de Serviços Web (WS Security). Esses protocolos definem um conjunto de regras que é guiado pela confidencialidade e autenticação. As APIs SOAP suportam padrões estabelecidos pelos dois principais órgãos internacionais de padrões, a Organização para o Avanço dos Padrões de Informação Estruturada (OASIS) e o World Wide Web Consortium (W3C). Eles usam uma combinação de criptografia XML, assinaturas XML e tokens SAML para verificar autenticação e autorização. Em geral, as APIs SOAP são elogiadas por terem 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.

Quais são algumas das melhores práticas de segurança de API mais comuns?

Você provavelmente não mantém suas economias debaixo do colchão. A maioria das pessoas tem 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 sua API:

  • Use tokens. Estabeleça identidades confiáveis e, em seguida, 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). Exigir assinaturas para garantir que os usuários certos estejam descriptografando e modificando seus dados, e ninguém mais.
  • Identifique vulnerabilidades. Acompanhe seu sistema operacional, rede, drivers e componentes da API. Saiba como tudo funciona em conjunto e identifique pontos fracos que podem ser usados para invadir suas APIs. Use farejar para detectar problemas de segurança e rastrear vazamentos de dados.
  • Use cotas e estrangulamento. Coloque cotas sobre a frequência com que sua API pode ser chamada e acompanhe 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. Crie regras para estrangulamento para proteger suas APIs de picos e ataques de Negação de Serviço.
  • Use um gateway de API. Gateways de API atuam como o principal ponto de imposição para o 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.

Gerenciamento e segurança de API

Finalmente, a segurança da API geralmente se resume a um bom gerenciamento de API. Muitas plataformas de gerenciamento de API suportam três tipos de esquemas de segurança. Estes são:

  • Uma chave de API que é uma única string de token (ou seja, um pequeno dispositivo de hardware que fornece informações exclusivas de autenticação).
  • 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 sobre o popular framework OAuth (ou seja, verifica o usuário obtendo informações básicas de perfil e usando um servidor de autenticação).

Quando você seleciona um gerenciador de APIs, saiba quais e quantos desses esquemas de segurança ele pode lidar e tenha um plano de como você pode incorporar as práticas de segurança de API descritas acima.

Por que escolher a Red Hat para gerenciamento e segurança de APIs

Violações de dados são assustadoras, mas você pode tomar medidas em direção a uma melhor segurança. APIs valem o esforço, você só precisa saber o que procurar. A Red Hat publica um relatório anual de risco de produtos Red Hat, que descreve vulnerabilidades de segurança globais que afetam o software corporativo e as soluções da Red Hat para nossos produtos. Muito disso se resume a medidas contínuas de segurança, fazendo as perguntas certas, sabendo quais áreas precisam de atenção e usando um gerenciador de APIs em que você pode confiar. Estamos aqui para ajudar.

Na Red Hat, recomendamos nosso premiado Red Hat 3scale API Management. Inclui:

  • Um gerenciador de APIs 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 suporta uma ampla gama de protocolos de autenticação

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

FONTE: REDHAT

POSTS RELACIONADOS