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

Conteúdos Relacionados

Security Report | Colunas & Blogs

Como integrar Cyber Security, Proteção de dados e DevOps?

Considerando todas as etapas do processo operacional e cada grupo de dados segundo o seu uso presente na empresa, é...
Security Report | Colunas & Blogs

Estamos prontos para o futuro com a IA?

Algumas propostas do mercado de tecnologia, como a chegada da Inteligência Artificial e a migração de todos os players em...
Security Report | Colunas & Blogs

Tendências da Black Hat USA 2024: O que acontece em Vegas não fica em Vegas

O evento direcionado a especialistas e líderes de Segurança da Informação revisitou diversos temas essenciais e em destaque na atualidade...
Security Report | Colunas & Blogs

Brasil: Um terreno fértil para o Cibercrime

De acordo com matéria da Folha de S. Paulo, 4.600 pessoas são alvos de golpes financeiros a cada hora no...