RESUMO
Neste artigo são descritas as formas de autenticação e autorização de REST apis distribuídas, os motivos que aumentam a complexidade de desenvolvimento dessas futures em web services escalonados e as soluções baseadas nas melhores práticas em relação à essas arquiteturas.
Também é abordado a importância da criação de sistemas seguros, evidências que demonstram como esse problema impacta desde pequenas startups até grandes empresas, a gravidade da ciência do nível de criticidade e risco em relação aos softwares desenvolvidos e a importância de expor apenas recursos que sejam realmente necessários.
Serão mencionados também os perigos relacionados aos ataques de Man-in-the-middle, negação de serviço, SQL inject, JSON inject e os métodos utilizados para combatê-los.
INTRODUÇÃO
Informações sigilosas são expostas diariamente e esse problema não atinge apenas jovens startups que não tem o devido investimento na área, com frequência surgem notícias de grandes empresas que são hackeadas e acabam vazando dados indesejados. Somente neste ano, o Yahoo! afirmou que quinhentos milhões de contas foram hackeadas. No Dropbox foram mais de sessenta milhões e a Anatel teve seu banco de dados invadido. Inclusive grandes organizações como NASA e ESA não ficam fora dessa lista.
Softwares com suas arquiteturas baseados em micro serviços, orquestração e coreografias são termos cada vez mais citados na comunidade de desenvolvimento web. E todas as abordagens tem uma característica em comum: REST APIs. Elas estão por toda a parte.
Com o crescimento exponencial de estratégias digitais em mobilidade, cloud computing, mídias sociais e dispositivos inteligentes da Internet das Coisas, empresas de todos os tamanhos e setores estão desenvolvendo e expondo seus Web Services. Mas como sempre no mundo da computação, nem tudo são flores: junto com várias vantagens relacionadas à utilização de APIs distribuídas, também existem grandes problemas a serem resolvidos, e uma das maiores dificuldades é a segurança desses sistemas.