Como desenvolver as APIs de sua empresa de forma segura?

Alex Amorim, CISO e DPO, recomenda três grandes dicas para o desenvolvimento de APIs

Compartilhar:

Hoje, empresas que não estão utilizando APIs não estão na moda, porém muitas vezes por falta de conhecimento os times realizam implantações que acabam não tendo padrões básicos de segurança e com isso, implementam uma inovação que acaba deixando a empresa exposta.

Desta forma, resolvi escrever este artigo para direcionar e dar algumas dicas básicas de ações que podem ser feitas para aumentar o nível de segurança nas implantações de APIs que podem ser do tipo REST e/ou SOAP.

  1. Basic Authentication: Esta implantação é baseada na utilização de um usuário de senha muitas vezes chamadas de access token (chave de acesso ao ambiente) e Client ID (Identificador do dono da credencial). Onde, com este conjunto de credenciais é possível acessar o ambiente em sua totalidade. O grande problema desta implantação é a gestão dos componentes em todo ciclo de vida (Security by Design) ou seja, desde o momento de sua criação, armazenamento (algumas vezes podem ficar em hardcode) e revogação (podendo ser muito demorado para trocar na aplicação).

 

  1. Oauth 2.0 Authentication: permite que o client ID consiga acessar o ambiente de forma perfilada ou seja, de acordo com o dispositivo que está acessando e possível restrigir o acesso diferente do primeiro ponto que de posse do Access Token e Client ID é possível acessar de forma full o ambiente. Com o Oauth 2.0 é possível criar um conjunto de roles “perfis” segregados como: Resource Owner, Resource Server, Client e Authorization Server. Facilitando muito a gestão do consumo das APIs.

 

  1. Bearer Authentication (OpenAPI 3.0): Foi criado baseado no OAuth 2.0 in RFC 6750. É baseado no scheme de autenticação, onde se inicia uma comunicação para após realizar a troca das chaves criptográficas.

 

Com a compreensão dos itens acima sugiro a adição de um front-end que faça o papel de API gatware onde, poderá receber todas as conexões para realizar um tratamento inicial antes do consumo da aplicação.

Conforme a figura acima de uma solução chamada DataPower da IBM é possível ter a visibilidade de forma lúdica a utilização da camada de gatware para gestão e proteção do ambiente.

Seguem algumas fontes que podem ajudar na profundidade dos temas abordados:

 

https://imasters.com.br/desenvolvimento/como-funciona-o-protocolo-oauth-2-0

https://swagger.io/docs/specification/authentication/bearer-authentication/

https://www.nevatech.com/blog/post/What-you-need-to-know-about-securing-APIs-with-mutual-certificates

https://www.ibm.com/support/knowledgecenter/en/SS9H2Y_7.7.0/com.ibm.dp.doc/apigw_overview.html

 

  • Por Alex Amorim, CISO e DPO

Destaques

Colunas & Blogs

Conteúdos Relacionados

Security Report | Colunas & Blogs

Caminhada (Não tão) solitária rumo à Segurança Digital

Apesar de toda a importância devidamente oferecida aos processos e tecnologias da Segurança Cibernética corporativa, um dos grandes desafios é...
Security Report | Colunas & Blogs

Práticas recomendadas para proteger cargas de trabalho na nuvem

Em um cenário cada vez mais deflagrado de ataques cibernéticos contra serviços de cloud, é necessário pensar em estratégias e...
Security Report | Colunas & Blogs

Minha organização foi invadida. E agora?

Diante de um cenário em que um ataque cibernético sem precedentes possa atingir a qualquer momento os players de mercado,...
Security Report | Colunas & Blogs

Urgência na Proatividade: Uma Análise dos Principais Motivadores para Investimentos em SI na visão dos CISOs

Diversos estudos mercadológicos a respeito das atividades de Segurança e sua relação com as corporações demonstram que a cultura empresarial...