Front Matter - API Security in Action
Front Matter - API Security in Action
matéria inicial
prefácio
Com o tempo, a noção de API mudou para abranger interfaces acessadas remota-
mente, onde a segurança não é mais descartada com tanta facilidade. Com medo
de C ++, me encontrei em um mundo de Enterprise Java Beans, com seu próprio
sabor de chamadas remotas de API e enorme peso de interfaces e código clichê.
Nunca consegui me lembrar o que estava construindo naquela época, mas o que
quer que fosse deve ser extremamente importante para precisar de todo esse có-
digo. Posteriormente, adicionamos muito XML na forma de SOAP e XML-RPC. Não
ajudou. Lembro-me da chegada das APIs RESTful e depois do JSON como uma lu-
fada de ar fresco: finalmente a API era simples o suficiente para que você pudesse
parar e pensar sobre o que estava expondo ao mundo. Foi nessa época que come-
cei a me interessar seriamente por segurança.
Em 2013, entrei para a ForgeRock, então uma startup que ressurgiu das cinzas da
Sun Microsystems. Eles estavam ocupados escrevendo APIs REST modernas para
seus produtos de gerenciamento de identidade e acesso, e eu mergulhei de ca-
beça. Ao longo do caminho, fiz um curso intensivo em técnicas modernas de au-
tenticação e autorização baseadas em tokens que transformaram a segurança da
API nos últimos anos e formam um grande parte deste livro. Quando fui abordado
por Manning sobre escrever um livro, soube imediatamente que a segurança da
API seria o assunto.
agradecimentos
Eu sabia que escrever um livro daria muito trabalho, mas não sabia que iniciá-lo
coincidiria com alguns dos momentos mais difíceis da minha vida pessoal e que o
terminaria em meio a uma pandemia global. Eu não teria conseguido passar por
tudo isso sem o apoio e o amor infinitos de minha esposa, Johanna. Também gos-
taria de agradecer a nossa filha, Eliza (a menor diretora de arte), e a todos os nos-
sos amigos e familiares.
Gostaria de agradecer aos meus colegas da ForgeRock por seu apoio e encoraja-
mento. Gostaria de agradecer particularmente a Jamie Nelson e Jonathan Scudder
por me encorajarem a trabalhar no livro, e a todos que revisaram os primeiros
rascunhos, em particular Simon Moffatt, Andy Forrest, Craig McDonnell, David
Luna, Jaco Jooste e Robert Wapshott.
Por fim, gostaria de agradecer a Jean-Philippe Aumasson, Flavien Binet e Anthony
Vennard, da Teserakt, por sua revisão especializada dos capítulos 12 e 13, e aos re-
visores anônimos do livro, que forneceram muitos comentários detalhados.
API Security in Action foi escrito para guiá-lo através das técnicas necessárias
para proteger APIs em uma variedade de ambientes. Ele começa cobrindo as téc-
nicas básicas de codificação segura e, em seguida, analisa as técnicas de autentica-
ção e autorização em profundidade. Ao longo do caminho, você verá como técni-
cas como limitação de taxa e criptografia podem ser usadas para proteger suas
APIs contra ataques.
Este livro foi escrito para desenvolvedores que têm alguma experiência na cria-
ção de APIs da Web e desejam aprimorar seus conhecimentos sobre técnicas de
segurança de API e práticas recomendadas. Você deve ter alguma familiaridade
com a criação de RESTful ou outras APIs remotas e estar confiante no uso de uma
linguagem de programação e ferramentas como um editor ou IDE. Nenhuma ex-
periência anterior com codificação segura ou criptografia é assumida. O livro
também será útil para arquitetos técnicos que desejam se atualizar com as abor-
dagens de segurança de API mais recentes.
A Parte 2 analisa o mecanismo de autenticação para APIs RESTful com mais deta-
lhes. A autenticação é a base sobre a qual todos os outros controles de segurança
são construídos, por isso dedicamos algum tempo para garantir que essa base es-
teja firmemente estabelecida.
O Capítulo 4 aborda a autenticação de cookie de sessão tradicional e a atualiza
para o uso moderno da API da web, mostrando como adaptar técnicas de apli-
cativos da web tradicionais. Você também cobrirá novos desenvolvimentos,
como cookies SameSite.
O Capítulo 5 analisa abordagens alternativas para autenticação baseada em to-
ken, abrangendo tokens de portador e o cabeçalho de autorização padrão. Ele
também aborda o uso de armazenamento local para armazenar tokens em um
navegador da Web e fortalecer o armazenamento de tokens do banco de dados
no back-end.
O Capítulo 6 discute formatos de token independentes, como JSON Web Tokens
e alternativas.
A Parte 5 aborda APIs na Internet das Coisas (IoT). Essas APIs podem ser particu-
larmente difíceis de proteger devido aos recursos limitados dos dispositivos e à
variedade de ameaças que podem encontrar.
Sobre o código
Sobre o autor
A figura na capa da API Security in Action tem a legenda “Arabe du désert”, ou ho-
mem árabe no deserto. A ilustração é retirada de uma coleção de trajes de gala de
vários países de Jacques Grasset de Saint-Sauveur (1757-1810), intitulada Costu-
mes de Différents Pays, publicada na França em 1788. Cada ilustração é finamente
desenhada e colorida à mão. A rica variedade da coleção de Grasset de Saint-Sau-
veur nos lembra vividamente de como as cidades e regiões do mundo eram cultu-
ralmente separadas há apenas 200 anos. Isoladas umas das outras, as pessoas fa-
lavam diferentes dialetos e idiomas. Nas ruas ou no campo, era fácil identificar
onde moravam e qual era o seu ofício ou posição na vida apenas pelo vestuário. A
forma como nos vestimos mudou desde então e a diversidade por região, tão rica
na época, foi se desvanecendo. Agora é difícil distinguir os habitantes de diferen-
tes continentes, quanto mais de diferentes cidades, regiões ou países. Talvez te-
nhamos trocado a diversidade cultural por uma vida pessoal mais variada – certa-
mente por uma vida tecnológica mais variada e acelerada. Numa época em que é
difícil distinguir um livro de computador do outro, Manning celebra a inventivi-
dade e a iniciativa do setor de computadores com capas de livros baseadas na rica
diversidade da vida regional de dois séculos atrás, trazida de volta à vida por
Grasset de Saint- Imagens de Sauveur.