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

Por: Alex Amorim, ⌚ 20/05/2019 às 14h02 - Atualizado em 22/05/2019 às 07h52

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


Newsletter

Rangel Rodrigues
Rangel Rodrigues
Rangel Rodrigues
Alex Amorim

/ VEJA TAMBÉM



/ COMENTÁRIOS