Escolar Documentos
Profissional Documentos
Cultura Documentos
Este capítulocapas
RGPD
ParaPara ilustrar alguns dos conceitos de segurança da API, considere uma analo-
gia da vida real: fazer seu teste de direção. A princípio, isso pode não ter muito a
ver com APIs ou segurança, mas, como você verá, há semelhanças entre os aspec-
tos desta história e os principais conceitos que você aprenderá neste capítulo.
Você termina o trabalho às 17h, como de costume. Mas hoje é especial. Em vez de
ir para casa para cuidar de sua coleção de plantas carnívoras e depois se jogar na
frente da TV, você tem outro lugar para estar. Hoje você está fazendo seu exame
de direção.
Você sai correndo de seu escritório e atravessa o parque para pegar um ônibus
para o centro de testes. Ao passar tropeçando pela fila de pessoas na barraca de
cachorro-quente, você vê sua velha amiga Alice passeando com sua alpaca de esti-
mação, Horatio.
“Olá Alice!” você berra jovialmente. “Como está indo a recriação em miniatura da
Paris do século 18?”
"Bom!" ela responde. "Você deve vir e ver isso em breve."
Ela faz o gesto de mão universalmente reconhecido para “me ligue” e vocês dois
se apressam em seus caminhos separados.
Você chega ao centro de testes um pouco quente e incomodado com a viagem lo-
tada de ônibus. Se ao menos você pudesse dirigir, você pensa consigo mesmo!
Após uma breve espera, o examinador sai e se apresenta. Ele pede para ver a car-
teira de motorista do seu aluno e estuda a foto antiga de você com aquele corte de
cabelo ruim que você achou muito legal na época. Depois de alguns segundos de
olhares interrogativos, ele finalmente aceita que é realmente você, e você pode
começar o teste.
SAIBA MAIS A maioria das APIs precisa identificar os clientes que estão intera-
gindo com elas. Como ilustram essas interações fictícias, pode haver diferentes
maneiras de identificar seus clientes de API apropriados em diferentes situações.
Como no caso de Alice, às vezes há uma relação de confiança de longa data base-
ada em um histórico de interações anteriores, enquanto em outros casos é neces-
sária uma prova de identidade mais formal, como mostrar uma carteira de moto-
rista. O examinador confia na licença porque ela é emitida por um órgão confiá-
vel e você corresponde à foto da licença. Sua API pode permitir que algumas ope-
rações sejam executadas com apenas uma identificação mínima do usuário, mas
requer um nível mais alto de garantia de identidade para outras operações.
Você falhou no teste desta vez, então decide pegar um trem para casa. Na estação,
você compra uma passagem de classe padrão de volta ao seu bairro suburbano,
mas, sentindo-se um pouco despreocupado, decide se esgueirar para o vagão de
primeira classe. Infelizmente, um atendente bloqueia sua passagem e exige ver
seu ingresso. Docilmente, você corre de volta para a classe padrão e afunda em
seu assento com os fones de ouvido.
Ao chegar em casa, você vê a luz piscando na secretária eletrônica. Huh, você ti-
nha esquecido que tinha uma secretária eletrônica. É Alice, convidando você para
o novo clube quente que acabou de abrir na cidade. Você poderia sair à noite para
se animar, então decide ir.
O que você precisa é de férias. Você reserva uma estadia de duas semanas em um
hotel chique. Enquanto você está fora, você dá a seu vizinho Bob a chave de sua
estufa tropical para que ele possa alimentar sua coleção de plantas carnívoras.
Sem que você saiba, Bob dá uma grande festa em seu quintal e convida metade da
cidade. Felizmente, devido a um erro de cálculo, eles ficam sem bebidas antes que
qualquer dano real seja causado (exceto à reputação de Bob) e a festa se dispersa.
Sua seleção de uísque premiada permanece trancada com segurança lá dentro.
SAIBA MAIS Além de apenas identificar seus usuários, uma API também pre-
cisa ser capaz de decidir que nível de acesso eles devem ter. Isso pode ser baseado
em quem eles são, como a celebridade entrando no clube, ou baseado em um to-
ken de tempo limitado, como uma passagem de trem, ou uma chave de longo
prazo, como a chave da estufa que você emprestou ao seu vizinho. Cada aborda-
gem tem diferentes trade-offs. Uma chave pode ser perdida ou roubada e depois
usada por qualquer pessoa. Por outro lado, você pode ter chaves diferentes para
fechaduras diferentes (ou operações diferentes), permitindo que apenas uma pe-
quena quantidade de autoridade seja dada a outra pessoa. Bob poderia entrar na
estufa e no jardim, mas não em sua casa e na coleção de uísque.
Ao retornar de sua viagem, você revisa as imagens de seu abrangente (alguns po-
dem dizer exagerado) sistema de vigilância por câmera. Você risca Bob da lista de
cartões de Natal e faz uma anotação mental para pedir a outra pessoa que cuide
das plantas na próxima vez.
Na próxima vez que você vir Bob, você o confrontará sobre a festa. Ele tenta ne-
gar a princípio, mas quandovocê aponta as câmeras, ele admite tudo. Ele compra
para você uma linda armadilha de Vênus para pedir desculpas. As câmeras de ví-
deo mostram a vantagem de ter bons registros de auditoria para que você possa
descobrir quem fez o quê quando as coisas dão errado e, se necessário, provar
quem foi o responsável de uma forma que eles não podem facilmentenegar.
Agora você pode ver alguns dos mecanismos envolvidos na segurança de uma
API, mas antes de mergulharmos nos detalhes, vamos revisar o que é uma API e o
que significa ser segura.
1.2 O que é uma API?
Tradicionalmente,uma API foi fornecida por uma biblioteca de software que pode
ser vinculada a um aplicativo estaticamente ou dinamicamente em tempo de exe-
cução, permitindo a reutilização de procedimentos e funções para problemas es-
pecíficos, como OpenGL para gráficos 3D ou bibliotecas para redes TCP/IP. Essas
APIs ainda são comuns, mas um número crescente de APIs agora está disponível
na Internet como serviços Web RESTful.
De um modo geral, uma API é um limite entre uma parte de um sistema de soft-
ware e outra. Ele define um conjunto de operações que um componente fornece
para outras partes do sistema (ou outros sistemas) usarem. Por exemplo, um ar-
quivo de fotografia pode fornecer uma API para listar álbuns de fotos, para visua-
lizar fotos individuais, adicionar comentários e assim por diante. Uma galeria de
imagens on-line poderia usar essa API para exibir fotos interessantes, enquanto
um aplicativo de processador de texto poderia usar a mesma API para permitir a
incorporação de imagens em um documento. Conforme mostrado na Figura 1.1,
uma API lida com solicitações de um ou mais clientes em nome dos usuários. Um
cliente pode ser um aplicativo da Web ou móvel com uma interface de usuário
(UI) ou pode ser outra API sem interface do usuário explícita. A própria API pode
conversar com outras APIs para realizar seu trabalho.
Figura 1.1 Uma API lida com solicitações de clientes em nome dos usuários. Os cli-
entes podem ser navegadores da web, aplicativos móveis, dispositivos na Internet
das Coisas ou outras APIs. A API atende as solicitações de acordo com sua lógica
interna e, em algum momento, retorna uma resposta ao cliente. A implementação
da API pode exigir a comunicação com outras APIs de “back-end”, fornecidas por
bancos de dados ou sistemas de processamento.
Diferentes estilos de API são adequados para diferentes ambientes. Por exemplo,
uma organização que adotou uma arquitetura de microsserviçospode optar por
uma estrutura RPC eficiente para reduzir a sobrecarga de chamadas de API. Isso é
apropriado porque a organização controla todos os clientes e servidores nesse
ambiente e pode gerenciar a distribuição de novas bibliotecas stub quando elas
são necessárias. Por outro lado, uma API pública amplamente utilizada pode ser
mais adequada ao estilo REST usando um formato amplamente utilizado como
JSON para maximizar a interoperabilidade com diferentes tipos de clientes.
A infraestrutura básica usada para proteger uma API na Internet, incluindo fi-
rewalls, balanceadores de carga e proxies reversos, e as funções que eles de-
sempenham na proteção de sua API (consulte a próxima seção)
Uso de protocolos de comunicação seguros, como HTTPS, para proteger os da-
dos transmitidos de ou para sua API
Além desses elementos básicos, você pode encontrar vários outros serviços
especializados:
Um gateway de APIé um proxy reverso especializado que pode fazer com que
diferentes APIs apareçam como se fossem uma única API. Eles costumam ser
usados em uma arquitetura de microsserviços para simplificar a API apresen-
tada aos clientes. Os gateways de API geralmente também podem cuidar de al-
guns dos aspectos da segurança de API discutidos neste livro, como autentica-
ção ou limitação de taxa.
UMAfirewall de aplicação web(WAF) inspeciona o tráfego em um nível mais
alto do que um firewall tradicional e pode detectar e bloquear muitos ataques
comuns contra serviços da Web HTTP.
Umsistema de detecção de intrusão(IDS) ousistema de prevenção de
intrusão(IPS) monitora o tráfego dentro de suas redes internas. Quando de-
tecta padrões suspeitos de atividade, pode emitir um alerta ou tentar ativa-
mente bloquear o tráfego suspeito.
Figura 1.3 As solicitações para seus servidores de API geralmente passam pri-
meiro por vários outros serviços. Um firewall funciona no nível TCP/IP e permite
apenas o tráfego dentro ou fora da rede que corresponda aos fluxos esperados.
Um balanceador de carga roteia solicitações para serviços internos apropriados
com base na solicitação e em seu conhecimento de quanto trabalho cada servidor
está fazendo no momento. Um proxy reverso ou gateway de API pode cuidar de
tarefas caras em nome do servidor de API, como encerrar conexões HTTPS ou va-
lidar credenciais de autenticação.
Na prática, muitas vezes há alguma sobreposição entre esses serviços. Por exem-
plo, muitos balanceadores de carga também são capazes de executar tarefas de
um proxy reverso, como encerrar conexões TLS, enquanto muitos proxies rever-
sos também podem funcionar como um gateway de API. Certos serviços mais es-
pecializados podem até lidar com muitos dos mecanismos de segurança que você
aprenderá neste livro, e está se tornando comum permitir que um gateway ou
proxy reverso lide com pelo menos algumas dessas tarefas. Existem limites para o
que esses componentes podem fazer, e práticas de segurança inadequadas em
suas APIs podem prejudicar até mesmo o gateway mais sofisticado. Um gateway
mal configurado também pode apresentar novos riscos à sua rede. Compreender
os mecanismos básicos de segurança usados por esses produtos ajudará você a
avaliar se um produto é adequado para sua aplicação e exatamente quais são seus
pontos fortes elimitaçõessão.
questionário
UmA API, por sua própria natureza, define um conjunto de operações que um
chamador pode usar. Se você não deseja que um usuário execute alguma opera-
ção, basta excluí-lo da API. Então, por que precisamos nos preocupar com a segu-
rança da API?
Primeiro, a mesma API pode ser acessada por usuários com diferentes níveis
de autoridade; por exemplo, com algumas operações permitidas apenas para
administradores ou outros usuários com uma função especial. A API também
pode ser exposta a usuários (e bots) na Internet que não deveriam ter nenhum
acesso. Sem controles de acesso apropriados, qualquer usuário pode realizar
qualquer ação, o que provavelmente é indesejável. Esses são fatores relaciona-
dos ao ambiente em que a API deve operar.
Em segundo lugar, embora cada operação individual em uma API possa ser se-
gura por conta própria, as combinações de operações podem não ser. Por
exemplo, uma API bancária pode oferecer operações separadas de retirada e
depósito, que verificam individualmente se os limites não foram excedidos.
Mas a operação de depósito não tem como saber se o dinheiro que está sendo
depositado veio de uma conta real. Uma API melhor ofereceria uma operação
de transferência que movimenta dinheiro de uma conta para outra em uma
única operação, garantindo que sempre exista a mesma quantia de dinheiro. A
segurança de uma API precisa ser considerada como um todo, e não como ope-
rações individuais.
Por último, pode haver vulnerabilidades de segurança devido à implementa-
ção da API. Por exemplo, deixar de verificar o tamanho das entradas para sua
API pode permitir que um invasor derrube seu servidor enviando uma en-
trada muito grande que consome toda a memória disponível; um tipo de ata-
que de negação de serviço (DoS).
Alguns projetos de API são mais passíveis de implementação segura do que ou-
tros, e existem ferramentas e técnicas que podem ajudar a garantir uma imple-
mentação segura. É muito mais fácil (e mais barato) pensar no desenvolvimento
seguro antes de começar a codificar, em vez de esperar até que os defeitos de se-
gurança sejam identificados posteriormente no desenvolvimento ou na produção.
Alterar retrospectivamente um ciclo de vida de design e desenvolvimento para le-
var em conta a segurança é possível, mas raramente é fácil. Este livro ensinará
técnicas práticas para proteger APIs, mas se você quiser uma base mais completa
sobre como projetar a segurança desde o início, recomendo o livro Secure by De-
sign de Dan Bergh Johnsson, Daniel Deogun e Daniel Sawano ( Manning, 2019).
1.4.1 Ativos
PorNa maioria das APIs, os ativos consistirão em informações, como nomes e en-
dereços de clientes, informações de cartão de crédito e conteúdo de bancos de da-
dos. Se você armazenar informações sobre indivíduos, especialmente se forem
confidenciais, como orientação sexual ou afiliações políticas, essas informações
também devem ser consideradas um ativo a ser protegido.
Também há ativos físicos a serem considerados, como servidores físicos ou dispo-
sitivos nos quais sua API está sendo executada. Para servidores rodando em um
datacenter, há relativamente poucos riscos de um intruso roubar ou danificar o
próprio hardware, devido às proteções físicas (cercas, muros, fechaduras, câme-
ras de vigilância etc.) aqueles ambientes. Mas um invasor pode obter o controle
dos recursosque o hardware fornece por meio de pontos fracos no sistema opera-
cional ou no software executado nele. Se eles puderem instalar seu próprio soft-
ware, poderão usar seu hardware para executar suas próprias ações e impedir
que seu software legítimo funcione corretamente.
Resumindo, qualquer coisa relacionada ao seu sistema que tenha valor para al-
guém deve ser considerada um ativo. Dito de outra forma, se alguém sofrer danos
reais ou percebidos se alguma parte do sistema for comprometida, essa parte
deve ser considerada um ativo a ser protegido. Esse dano pode ser direto, como
perda de dinheiro, ou pode ser mais abstrato, como perda de reputação. Por
exemplo, se você não proteger adequadamente as senhas de seus usuários e elas
forem roubadas por um invasor, os usuários podem sofrer danos diretos devido
ao comprometimento de suas contas individuais, mas sua organização também
sofrerá danos à reputação se souber que você não tinha seguido a segurança
básicaprecauções.
Segurançaos objetivos são usados para definir o que a segurança realmente signi-
fica para a proteção de seus ativos. Não existe uma definição única de segurança e
algumas definições podem até ser contraditórias! Você pode quebrar a noção de
segurança em termos dos objetivos que devem ser alcançados ou preservados
pelo correto funcionamento do sistema. Existem vários objetivos de segurança pa-
drão que se aplicam a quase todos os sistemas. As mais famosas delas são as cha-
madas “Tríades da CIA”.”:
Embora essas três propriedades sejam quase sempre importantes, existem outras
metas de segurança que podem ser igualmente importantes em diferentes contex-
tos, como responsabilidade (quem fez o quê) ou não repúdio(não poder negar ter
realizado uma ação). Discutiremos os objetivos de segurança em profundidade
conforme você desenvolve aspectos de uma API de amostra.
Nem todos os cenários podem ser tão precisos quanto os usados na criptografia.
Uma alternativa é refinar objetivos de segurança mais abstratos em requisitos es-
pecíficos que sejam concretos o suficiente para serem testados. Por exemplo, uma
API de mensagens instantâneas pode ter o requisito funcional de que os usuários
possam ler suas mensagens. Para preservar a confidencialidade, você pode adicio-
nar restrições de que os usuários só podem ler suas próprias mensagens e que um
usuário deve estar conectado antes de poder ler suas mensagens. Nessa aborda-
gem, as metas de segurança tornam-se restrições aos requisitos funcionais exis-
tentes. Então fica mais fácil pensar em casos de teste. Por exemplo:
Não há uma única maneira correta de dividir uma meta de segurança em requisi-
tos específicos e, portanto, o processo é sempre de iteração e refinamento à me-
dida que as restrições se tornam mais claras com o tempo, conforme mostrado na
figura 1.5. Depois de identificar os ativos e definir os objetivos de segurança, você
divide esses objetivos em restrições testáveis. Então, ao implementar e testar es-
sas restrições, você pode identificar novos ativos a serem protegidos. Por exem-
plo, depois de implementar seu sistema de login, você pode fornecer a cada usuá-
rio um cookie de sessão temporária exclusivo. Este cookie de sessão é em si um
novo ativo que deve ser protegido. Os cookies de sessão são discutidos no capítulo
4.
Figura 1.5 A definição de segurança para sua API consiste em um processo itera-
tivo de quatro etapas para identificar ativos, definir os objetivos de segurança que
você precisa preservar para esses ativos e, em seguida, dividi-los em restrições de
implementação testáveis. A implementação pode então identificar novos ativos ou
metas e assim o processo continua.
Esse processo iterativo mostra que a segurança não é um processo único que pode
ser assinado uma vez e depois esquecido. Assim como você não testaria o desem-
penho de uma API apenas uma vez, revise as metas e suposições de segurança re-
gularmente para garantir que elas ainda sejamválido.
1.4.3 Ambientes e modelos de ameaças
O conjunto de ameaças que você considera relevante para sua API é conhecido
como seu modelo de ameaça, e o processo de identificação é conhecido como mo-
delagem de ameaças.
IDENTIFICANDO AMEAÇAS
Uma metodologia muito popular é conhecida pela sigla STRIDE, que significa:
Cada inicial na sigla STRIDE representa uma classe de ameaça à sua API. Mecanis-
mos gerais de segurança podem efetivamente lidar com cada classe de ameaça.
Por exemplo, ameaças de spoofing, nas quais alguém finge ser outra pessoa, po-
dem ser tratadas exigindo que todos os usuários se autentiquem. Muitas ameaças
comuns à segurança da API podem ser totalmente eliminadas (ou pelo menos mi-
tigadas significativamente) pela aplicação consistente de alguns mecanismos bási-
cos de segurança, como você verá no capítulo 3 e no restanteistolivro.
SAIBA MAIS SOBRE ISSO Você pode aprender mais sobre o STRIDE e como
identificar ameaças específicas para seus aplicativos por meio de um dos muitos
bons livros sobre modelagem de ameaças. Recomendo Threat Modeling: Desig-
ning for Security (Wiley, 2014), de Adam Shostack, como uma boa introdução ao
assunto.
questionário
Criptografiagarante que os dados não possam ser lidos por pessoas não autori-
zadas, seja quando estiverem sendo transmitidos da API para um cliente ou
em repouso em um banco de dados ou sistema de arquivos. A criptografia mo-
derna também garante que os dados não possam ser modificados por um
invasor.
Autenticaçãoé o processo de garantir que seus usuários e clientes sejam quem
dizem ser.
Controle de acesso (também conhecido como autorização) é o processo de ga-
rantir que todas as solicitações feitas à sua API sejam devidamente
autorizadas.
Log de auditoriaé usado para garantir que todas as operações sejam registra-
das para permitir a responsabilidade e o monitoramento adequado da API.
Limitação de taxaé usado para impedir que qualquer usuário (ou grupo de
usuários) use todos os recursos e impeça o acesso de usuários legítimos.
A Figura 1.7 mostra como esses cinco processos normalmente são colocados em
camadas como uma série de filtros pelos quais uma solicitação passa antes de ser
processada pela lógica central de sua API. Conforme discutido na seção 1.3.1, cada
um desses cinco estágios às vezes pode ser terceirizado para um componente ex-
terno, como um gateway de API. Neste livro, você criará cada um deles do zero
para poder avaliar quando um componente externo pode ser uma escolha
apropriada.
Figura 1.7 Ao processar uma solicitação, uma API segura aplicará algumas etapas
padrão. As solicitações e respostas são criptografadas usando o protocolo HTTPS.
A limitação de taxa é aplicada para evitar ataques DoS. Em seguida, os usuários e
clientes são identificados e autenticados, e é feito o registro da tentativa de acesso
em log de acesso ou auditoria. Por fim, são feitas verificações para decidir se esse
usuário deve ser capaz de realizar essa solicitação. O resultado da solicitação tam-
bém deve ser registrado no log de auditoria.
1.5.1 Criptografia
Solicitações e respostas a uma API podem estar em risco à medida que trafe-
gam por redes, como a Internet. Criptografia de dados em trânsitoé usado para
proteger contra essas ameaças.
Os dados podem estar em risco de pessoas com acesso ao armazenamento em
disco usado para persistência. Criptografia de dados em repousoé usado para
proteger contra essas ameaças.
TLS deve ser usado para criptografar dados em trânsito e é abordado no capítulo
3. Alternativas para TLS para dispositivos restritos são discutidas no capítulo 12.
Criptografar dados em repouso é um tópico complexo com muitos aspectos a se-
rem considerados e está muito além do escopo deste livro . Algumas considera-
ções para criptografia de banco de dados são discutidas emcapítulo 5.
Por que precisamos identificar os usuários de uma API em primeiro lugar? Você
sempre deve fazer essa pergunta para qualquer mecanismo de segurança que es-
teja adicionando à sua API, e a resposta deve ser em termos de uma ou mais das
metas de segurança que você está tentando alcançar. Você pode querer identificar
os usuários por vários motivos:
Você deseja registrar quais usuários executaram quais ações para garantir a
responsabilidade.
Você pode precisar saber quem é um usuário para decidir o que ele pode fazer,
para impor metas de confidencialidade e integridade.
Você pode querer processar apenas solicitações autenticadas para evitar DoS
anônimoataques que comprometam a disponibilidade.
Como a autenticação é o método mais comum de identificar um usuário, é comum
falar em “autenticar um usuário” como uma abreviação para identificar esse
usuário por meio de autenticação. Na realidade, nunca “autenticamos” um usuá-
rio, mas sim reivindicamossobre sua identidade, como seu nome de usuário. Au-
tenticar uma reivindicação significa simplesmente determinar se ela é autêntica
ou genuína. Isso geralmente é feito solicitando ao usuário que apresente algum
tipo de credencialque provem que as declarações estão corretas (eles fornecem
credibilidade às declarações, que é de onde vem a palavra “credencial”), como
fornecer uma senha junto com o nome de usuário que somente esse usuário
saberia.
FATORES DE AUTENTICAÇÃO
Existem duas abordagens principais para o controle de acesso que são usadas
para APIs:
A chave para evitar esses ataques é reconhecer que um cliente (ou grupo de clien-
tes) está usando mais do que sua parcela justa de algum recurso: tempo, memória,
número de conexões e assim por diante. Ao limitar os recursos que qualquer
usuário pode consumir, podemos reduzir o risco de ataque. Depois que um usuá-
rio é autenticado, seu aplicativo pode impor cotasque restringem o que eles po-
dem fazer. Por exemplo, você pode restringir cada usuário a um determinado nú-
mero de solicitações de API por hora, evitando que eles inundem o sistema com
muitas solicitações. Muitas vezes, há motivos comerciais para fazer isso para fins
de cobrança, bem como benefícios de segurança. Devido à natureza específica do
aplicativo das cotas, não as cobriremos mais neste livro.
O aspecto mais importante da limitação de taxa é que ela deve usar menos recur-
sos do que seria usado se a solicitação fosse processada normalmente. Por esse
motivo, a limitação de taxa geralmente é executada em código altamente otimi-
zado em execução em um balanceador de carga, proxy reverso ou gateway de API
pronto para uso que pode ficar na frente de sua API para protegê-la contra Do-
Sataques em vez de ter que adicionar esse código a cada API. Algumas empresas
comerciais oferecem proteção DoS como um serviço. Essas empresas possuem
uma grande infraestrutura global capaz de absorver o tráfego de um ataque DoS e
bloquear rapidamente clientes abusivos.
No próximo capítulo, colocaremos a mão na massa com uma API real e aplicare-
mos algumas das técnicas discutidas neste capítulo.
questionário
1. c,e, e f. Embora outros aspectos da segurança possam ser relevantes para dife-
rentes APIs, essas três disciplinas são a base da segurança da API.
2. d. Um gateway de API é um tipo especializado de proxy reverso.
3. Confidencialidade, Integridade e Disponibilidade.
4. b. Os fluxos de dados que ultrapassam os limites de confiança são o local mais
provável para a ocorrência de ameaças. As APIs geralmente existem em limites
de confiança.
5. Repúdio. Ao desabilitar o log de auditoria, o administrador do sistema invasor
poderá posteriormente negar a execução de ações no sistema, pois não haverá
registro.
6. e. A limitação de taxa protege principalmente contra ataques de negação de
serviço, impedindo que um único invasor sobrecarregue a API com
solicitações.
7. Uma chave de segurança de hardware é algo que você tem. Eles geralmente
são pequenos dispositivos que podem ser conectados a uma porta USB do seu
laptop e podem ser conectados asuachaveanel.
Resumo
Você aprendeu o que é uma API e os elementos de segurança da API, com base
em aspectos de segurança da informação, segurança de rede e segurança de
aplicativos.
Você pode definir a segurança de sua API em termos de ativos e metas de
segurança.
Os objetivos básicos de segurança da API são confidencialidade, integridade e
disponibilidade, bem como responsabilidade, privacidade e outros.
Você pode identificar ameaças e avaliar riscos usando estruturas como
STRIDE.
Mecanismos de segurança podem ser usados para atingir seus objetivos de se-
gurança, incluindo criptografia, autenticação, controle de acesso, log de audito-
ria elimitador de taxa.
1.
Nesse contexto, o termo mais recente TLS raramente é usado.