Aprender

Conceitos de redes e segurança, explicados com clareza.

Explicações práticas dos conceitos por trás das ferramentas. Cada artigo é escrito para construir entendimento genuíno, não apenas para definir um termo.

F5 hub do fabricanteFortinet hub do fabricanteNetskope hub do fabricanteExtreme Networks hub do fabricante

Mostrar
Visualização

Certificados e PKI (14)

ArtigoTemaResumo
Anatomia de um Certificado X.509Certificados e PKIO que vive dentro de um certificado TLS, como os bytes ASN.1/DER são estruturados, o que as extensões v3 de fato controlam, e por que decodificar um certificado não é o mesmo que confiar nele.
PEM, DER e os formatos de arquivo de certificadoCertificados e PKIPor que o mesmo certificado vem em tantas formas de arquivo, o que PEM e DER de fato são, e o que .crt, .pem, .pfx e .p12 realmente contêm.
Requisições de assinatura de certificado e como certificados são emitidosCertificados e PKIO que uma CSR contém, por que sua chave privada nunca deixa sua máquina, como uma CA valida e emite, e como o ACME automatiza toda a troca.
Como a validação de certificados de fato funcionaCertificados e PKIOs passos que um cliente executa para decidir que um certificado é confiável: construir a cadeia, checar assinaturas e datas, casar o nome e impor restrições.
Revogação de certificados: CRL, OCSP e certificados de vida curtaCertificados e PKIPor que um certificado às vezes precisa ser cancelado antes de expirar, por que os sistemas clássicos de revogação funcionam mal, e por que a indústria está encolhendo os tempos de vida dos certificados em vez disso.
Authority Information Access: As URLs de OCSP e CA IssuersCertificados e PKIA extensão AIA carrega dois tipos de ponteiro: onde perguntar se um certificado foi revogado (OCSP) e onde buscar o certificado do próprio emissor (CA Issuers). Para que serve cada um, por que são fáceis de confundir e o que o inspetor mostra.
OCSP Must-Staple: Fechando a Brecha do Soft-FailCertificados e PKIA checagem OCSP em tempo real tem uma fraqueza fatal: quando o respondedor está inacessível, os clientes geralmente prosseguem mesmo assim. O OCSP stapling e o sinalizador Must-Staple são a correção. O que a extensão TLS Feature declara, e o risco operacional que ela carrega.
A era dos 47 dias: como os tempos de vida dos certificados TLS estão encolhendoCertificados e PKIO cronograma SC-081v3 do CA/Browser Forum reduz a validade máxima de certificados TLS públicos de 398 para 47 dias até 2029, em três etapas. Quais são as fases, por que 47, e o que isso faz com o volume de renovações.
ACME: como os certificados se emitem e se renovam sozinhosCertificados e PKIComo o protocolo ACME automatiza a emissão de certificados de ponta a ponta: a conta, o pedido, os três tipos de desafio, o registro dns-01 que você publica e a etapa de finalizar e baixar que produz o certificado.
Janelas de validade: notBefore, notAfter e a antecedência da renovaçãoCertificados e PKIComo o tempo de vida de um certificado é definido por dois carimbos de tempo, como esse tamanho é medido contra o limite, por que validade não é o mesmo que tempo restante, e como escolher uma antecedência para a renovação.
Let's Encrypt: a CA gratuita e seus limites de emissãoCertificados e PKIO que é a Let's Encrypt, por que seus certificados são de vida curta e como seus limites de emissão realmente funcionam: os limites por domínio registrado e por conta, os limites por conjunto exato e por falha de autorização, e por que as renovações por ARI são isentas de todos eles.
Reutilização de DCV e SII: a cadência de validação por trás da renovaçãoCertificados e PKIEmitir um certificado significa provar o controle do domínio e, para OV/EV, a identidade da organização. A SC-081v3 encurta por quanto tempo essas provas podem ser reutilizadas, o DCV para 10 dias até 2029, o que remodela a renovação tanto quanto a validade.
Renovar antes da expiração: antecedência, ACME e ARICertificados e PKIPor que a renovação tardia causa quedas, como o ACME automatiza a emissão e a renovação, como a extensão ARI permite que uma AC guie a janela de renovação, e como escolher uma antecedência que deixe espaço para tentar de novo.
PKI pública e privada: quais certificados a SC-081v3 governaCertificados e PKIO cronograma dos 47 dias vincula apenas certificados TLS publicamente confiáveis. O que separa a PKI pública da privada, por que as ACs internas estão isentas, e como ler o veredito de conformidade do planejador para um certificado interno.

Codificação e dados (38)

ArtigoTemaResumo
A Anatomia de uma URLCodificação e dadosWeb e HTTPToda URL é construída a partir do mesmo punhado de partes definidas pela RFC 3986: esquema, autoridade (userinfo, host, porta), caminho, query e fragmento. O que cada parte significa, como um parser as distingue e onde os limites realmente caem.
A Gramática JSON: Seis Tipos e Algumas Regras EstritasCodificação e dadosJSON é menor do que parece. O formato inteiro são seis tipos de valor e um punhado de caracteres estruturais, governados por regras mais estritas do que a maioria lembra: sem comentários, sem vírgulas finais e chaves que precisam ser strings entre aspas.
Bytes, pontos de código e UTF-8Codificação e dadosA diferença entre um caractere e um byte, por que existem o Unicode e o UTF-8, e o que isso tem a ver com o Base64.
JSON vs YAML: O Que Converte Limpo e o Que Não ConverteCodificação e dadosO YAML foi projetado para que todo documento JSON também seja YAML válido, e é por isso que a conversão entre eles geralmente simplesmente funciona. A parte interessante são as bordas: comentários, âncoras, múltiplos documentos e tipos exclusivos do YAML que não têm equivalente em JSON.
O Que o Tempo Unix Realmente ÉCodificação e dadosO tempo Unix é um único inteiro: o número de segundos desde 1970-01-01T00:00:00Z, a época (epoch). É independente de fuso horário, compacto e ordenável, e por isso sustenta quase todo relógio de sistema, linha de log e timestamp de API. Convertê-lo em uma data de calendário é pura aritmética.
Base64 e Base64URL, explicadosCodificação e dadosComo dados binários viram texto seguro para transmitir, por que existe o preenchimento e o que muda na variante segura para URL.
Coerção de Tipos no YAML e o Problema da NoruegaCodificação e dadosO YAML adivinha o tipo de todo escalar sem aspas, e seus palpites são surpreendentes: o código de país NO vira false, uma versão como 1.0 vira número, e um código com zeros à esquerda perde os zeros. Conhecer a regra é a chave para uma conversão segura.
Números JSON e a Armadilha da PrecisãoCodificação e dadosO JSON não impõe limite ao tamanho ou à precisão de um número, mas a maioria dos parsers converte silenciosamente todo número para um float de 64 bits. Essa incompatibilidade corrompe silenciosamente inteiros grandes e decimais exatos, e por isso um formatador deveria preservar os dígitos originais.
Query Strings: Parâmetros, Sinais de Mais e Chaves RepetidasCodificação e dadosWeb e HTTPA parte de uma URL após o ponto de interrogação parece simples mas esconde ambiguidade real: como os parâmetros são separados, por que um sinal de mais às vezes significa espaço, como chaves repetidas se comportam e por que não há um único padrão governante.
Segundos, Milissegundos, Microssegundos, Nanossegundos: Distinguindo Unidades de ÉpocaCodificação e dadosO mesmo instante pode ser escrito como 1700000000, 1700000000000 ou maior, dependendo de o timestamp contar segundos, milissegundos, microssegundos ou nanossegundos. Confundi-los é um bug clássico. Quase sempre dá para saber qual é qual pela magnitude do número.
Base64URL e o alfabeto seguro para URLsCodificação e dadosPor que JWTs e PKCE usam um alfabeto Base64 diferente, os dois caracteres que mudam e o que acontece com o preenchimento.
Chaves Duplicadas em JSON: Legais, Perigosas e Dignas de DetecçãoCodificação e dadosA sintaxe JSON permite que a mesma chave apareça mais de uma vez em um objeto, mas a especificação não diz o que isso significa. Parsers diferentes resolvem isso de formas diferentes, o que torna chaves duplicadas uma fonte silenciosa de bugs e até de problemas de segurança.
Codificação de URL e Hosts InternacionalizadosCodificação e dadosWeb e HTTPURLs são restritas a um pequeno conjunto de caracteres ASCII, então todo o resto é codificado. A codificação percent cuida de caminhos e queries; o punycode cuida de nomes de host não-ASCII. Como ambos funcionam, e por que hosts internacionalizados são uma preocupação de phishing.
JSON e YAML na Prática: APIs, Declarações e OrquestraçãoCodificação e dadosA divisão não é aleatória: APIs e declarações máquina-a-máquina tendem a ser JSON, enquanto arquivos de orquestração e pipeline escritos por humanos tendem a ser YAML. Entender por que cada domínio escolheu o que escolheu explica quando converter entre eles é útil.
O Problema do Ano 2038Codificação e dadosUm inteiro de 32 bits com sinal só consegue contar segundos até 2147483647, que cai em 2038-01-19T03:14:07Z. Um segundo depois ele transborda e dá a volta para um número negativo, jogando os sistemas afetados de volta a 1901. É o sucessor mais silencioso do Y2K, e a correção é um inteiro mais largo.
Âncoras, aliases e merge keys em YAMLCodificação e dadosO YAML pode definir um valor uma vez e reutilizá-lo com uma âncora e um alias, e mesclar um mapping em outro com uma merge key. Nada disso existe em JSON, então a conversão expande e duplica tudo. Este artigo cobre a sintaxe, o que acontece na conversão, e a armadilha de negação de serviço que eles habilitam.
Escapes de string e Unicode em JSONCodificação e dadosDentro de uma string JSON, alguns caracteres precisam ser escritos como escapes, e qualquer caractere pode ser escrito como \uXXXX. As regras são poucas mas estritas, e a que pega as pessoas é como caracteres além do plano básico, como emoji, precisam de um par substituto (surrogate pair).
ISO 8601, RFC 3339 e a Data HTTPCodificação e dadosDepois que um timestamp Unix é convertido de volta em uma data humana, ele é escrito em um de poucos formatos de texto padrão. O ISO 8601 é o padrão amplo, o RFC 3339 é seu perfil estrito para a internet, e a data HTTP é a exceção. Saber a diferença evita muita dor de cabeça com parsing.
Onde o Base64 aparece: data URIs, MIME, PEM e Basic authCodificação e dadosOs lugares reais em que binário é embrulhado em texto, o custo de tamanho de fazer isso e por que Base64 em um cabeçalho de autenticação não é criptografia.
Base32, explicadoCodificação e dadosIdentidade e tokensPor que o Base32 troca tamanho por um alfabeto sem ambiguidades e insensível a maiúsculas, como funciona seu agrupamento de 5 bits, e onde ele aparece (segredos TOTP, endereços onion, DNS).
Block scalars e strings multilinha em YAMLCodificação e dadosO YAML tem duas formas de escrever uma string multilinha, e elas tratam quebras de linha de modo diferente: o estilo literal as mantém, o estilo folded as transforma em espaços. Indicadores de chomping então decidem o que acontece com a quebra de linha final. Errar isso é por que um script ou certificado embutido sai sutilmente corrompido.
Por Que o Tempo Unix Ignora os Segundos BissextosCodificação e dadosO UTC ocasionalmente insere um segundo bissexto para se manter alinhado com a rotação da Terra, mas o tempo Unix finge que todo dia tem exatamente 86.400 segundos. Essa simplificação deliberada significa que um timestamp Unix não é uma contagem verdadeira de segundos decorridos desde a época — e é a escolha certa para o tempo civil.
Vírgulas finais, comentários e a família JSON5Codificação e dadosO JSON estrito não tem comentários nem vírgulas finais, o que surpreende quem usa um editor que aceita ambos. A razão é que o JSON é um formato mínimo de interchange, e as variantes tolerantes (JSONC, JSON5) são coisas separadas. Saber qual é qual evita arquivos de config que quebram em outra ferramenta.
Codificação hexadecimal (Base16), explicadaCodificação e dadosComo o hexadecimal representa cada byte com dois caracteres, por que é a forma padrão de imprimir bytes brutos, e como ele se compara ao Base64 e ao Base32.
Formatação, minificação e JSON canônicoCodificação e dadosO espaço em branco não muda o que o JSON significa, então JSON identado e minificado são o mesmo dado. Mas quando o JSON é assinado ou hasheado, os bytes exatos importam, e é aí que entra o JSON canônico: uma forma determinística de serializar o mesmo dado exatamente na mesma string toda vez.
URLs relativas e como elas resolvemCodificação e dadosWeb e HTTPUma URL relativa deixa de fora o esquema e o host e é completada contra uma URL base. As regras de como um navegador preenche o resto, e como ./ e ../ e uma barra inicial mudam o resultado, explicam muitos links quebrados e algumas surpresas de segurança.
Codificação por porcentagem (codificação de URL), explicadaCodificação e dadosPor que as URLs escapam certos caracteres como %XX, quais caracteres é seguro deixar como estão, e em que a codificação por porcentagem difere do Base64.
URLs enganosas: lendo além dos truquesCodificação e dadosWeb e HTTPURLs são uma ferramenta favorita para phishing porque o destino real é fácil de disfarçar. O truque do userinfo, os parâmetros de redirecionamento e os caracteres parecidos, todos fazem um link hostil parecer amigável. Este artigo mostra os disfarces comuns e o único hábito confiável para encontrar o host real.
Base16, Base32, Base64 e codificação por porcentagem comparadasCodificação e dadosUm olhar lado a lado para as quatro codificações de texto: seus alfabetos, sobrecarga de tamanho, legibilidade, e quando recorrer a cada uma.
Como funciona o diff de textoCodificação e dadosTexto e utilitáriosUm diff encontra o menor conjunto de inserções e remoções que transforma um texto em outro. Por baixo está a maior subsequência comum: as linhas que as duas versões compartilham, na mesma ordem, formam a espinha dorsal inalterada, e todo o resto é uma adição ou uma remoção.
Como ler um diffCodificação e dadosTexto e utilitáriosComo ler um diff linha a linha: linhas inalteradas, adicionadas e removidas, os marcadores de mais e menos, os números de linha dos dois lados, o destaque palavra a palavra e o que ignorar espaços e ignorar maiúsculas realmente mudam. Mais o que um diff não consegue dizer.
Diffs em nível de palavra e de caractereCodificação e dadosTexto e utilitáriosUm diff de linha marca a linha inteira como alterada mesmo quando um único caractere mudou. Diffs em nível de palavra e de caractere destacam exatamente a parte da linha que mudou, o que é muito mais fácil de ler para prosa, linhas longas e edições pequenas. Este artigo cobre a diferença e quando cada lente é a certa.
Diffs de três vias e conflitos de mergeCodificação e dadosTexto e utilitáriosUm diff normal compara duas versões e não consegue dizer qual delas mudou. Um diff de três vias adiciona um ancestral comum, que é o que torna o merge automático possível e o que produz os marcadores de conflito <<<<<<< ======= >>>>>>>. Este artigo explica o terceiro insumo e como ler e resolver um conflito.
Edições mínimas: por que um diff pode parecer erradoCodificação e dadosTexto e utilitáriosUm diff mostra o menor conjunto de inserções e remoções que transforma um texto no outro. Como o menor conjunto não é único e o algoritmo precisa escolher, um diff pode alinhar linhas de formas contraintuitivas, culpando o bloco errado ou dividindo uma seção movida. Saber disso torna diffs estranhos legíveis.
Lendo a estrutura do XMLCodificação e dadosSegurança e WAFXML é uma árvore de elementos construída a partir de um punhado de partes: uma declaração opcional, elementos com atributos, texto e algumas construções especiais. Uma vez que você consegue nomear cada parte e ver como elas se aninham, ler um documento desconhecido de cima a baixo vira rotina em vez de um jogo de adivinhação.
Namespaces XML explicadosCodificação e dadosSegurança e WAFQuando dois vocabulários XML usam o mesmo nome de elemento para coisas diferentes, namespaces os mantêm separados vinculando um prefixo a uma URI única. O prefixo é apenas um atalho local; a URI é a identidade real. Entender essa divisão resolve a maior parte da confusão com namespaces.
XML bem formado vs válidoCodificação e dadosSegurança e WAFBoa formação é a linha de base do XML: uma raiz, tags aninhadas e correspondidas corretamente, atributos entre aspas e especiais escapados. Validade é uma afirmação mais forte e separada de que um documento também segue um schema. Um parser rejeita XML mal formado de imediato, que é por que estas regras vêm primeiro.
CDATA, comentários e instruções de processamentoCodificação e dadosSegurança e WAFNem tudo em XML é um elemento. Seções CDATA guardam texto cru que de outra forma precisaria de escape, comentários anotam sem afetar o conteúdo, e instruções de processamento carregam direções para uma aplicação. Reconhecer estas três impede que pareçam ruído misterioso.

Hashing e cripto (15)

ArtigoTemaResumo
Hash, criptografia e codificação: três coisas diferentesHashing e criptoCodificação e dadosTrês operações constantemente confundidas, separadas de forma limpa por duas perguntas: é reversível e precisa de uma chave?
Hash criptográfico: SHA-256 e a família SHA-2Hashing e criptoO que uma função de hash garante, as propriedades que a tornam criptográfica e por que um resumo não é criptografia.
Escolhendo um hash: MD5, SHA-1, SHA-2, SHA-3 e BLAKEHashing e criptoQuais funções de hash ainda são seguras, quais estão quebradas, quais são seus tamanhos de saída e como escolher a certa.
Colisões, resistência à pré-imagem e o limite do aniversárioHashing e criptoAs três propriedades de segurança que um hash criptográfico deve ter, por que colisões importam e a matemática do aniversário que define a força real.
Armazenando senhas: bcrypt, scrypt e Argon2Hashing e criptoPor que um hash rápido como o SHA-256 é a ferramenta errada para senhas, e o que o sal e os fatores de trabalho de fato fazem.
HMAC: hash com chave para autenticação de mensagensHashing e criptoIdentidade e tokensPor que um hash simples prova integridade mas não autenticidade, como uma chave secreta resolve isso e por que a estrutura do HMAC importa.
Por que HMAC, e não hash(chave + mensagem)Hashing e criptoO ataque de extensão de comprimento que quebra o hashing com chave ingênuo, e a construção aninhada que o HMAC usa para derrotá-lo.
Autenticando requisições de API com HMACHashing e criptoComo um segredo compartilhado e um hash permitem que um servidor confie em uma requisição que não viu ser feita, e como a proteção contra repetição se encaixa.
Verificando um HMAC com segurança: tempo constante e repetiçãoHashing e criptoPor que comparar assinaturas com == vaza um canal lateral de tempo, e por que uma assinatura válida sozinha não impede uma requisição repetida.
Por Que Hashes Criptográficos São de Mão ÚnicaHashing e criptoUm hash criptográfico mapeia qualquer entrada para um resumo de tamanho fixo e é projetado para que recuperar a entrada a partir do resumo seja inviável. Essa propriedade, resistência à pré-imagem, é o motivo pelo qual você não pode descriptografar um hash. Só há duas formas de revertê-lo: consultar uma tabela ou tentar e verificar — ambas são busca, não inversão.
Força Bruta vs Tabelas de Consulta: Duas Formas de Reverter um HashHashing e criptoComo um hash não pode ser invertido, revertê-lo significa buscar, e há duas famílias. Pré-computar uma tabela gigante de pares entrada-para-hash e consultar o resumo (o que o CrackStation faz), ou gerar candidatos em tempo real e aplicar hash em cada um até um coincidir (força bruta). Elas trocam armazenamento por processamento em direções opostas.
Por Que o Salt Derrota Tabelas Pré-computadasHashing e criptoUm salt é um valor aleatório único armazenado com cada hash de senha e misturado antes de aplicar o hash. Ele faz senhas idênticas gerarem hashes diferentes, o que destrói a economia das tabelas pré-computadas: um atacante precisaria de uma tabela separada para cada salt. O salt é a defesa específica que neutraliza serviços de consulta e tabelas rainbow.
KDFs Lentas: bcrypt, scrypt e Argon2Hashing e criptoO salt derrota a pré-computação, mas não um ataque direcionado de tentar e verificar; um hash rápido ainda permite bilhões de candidatos por segundo. Funções de derivação de chave lentas resolvem isso tornando cada tentativa deliberadamente cara e ajustável, cortando a taxa do atacante em muitas ordens de grandeza. É com elas que você deve armazenar senhas.
Espaço de Chaves, Entropia e Tempo de QuebraHashing e criptoSe a força bruta pode reverter um hash se resume ao tamanho do espaço de chaves versus a taxa de hash do atacante. O espaço de chaves cresce exponencialmente com comprimento e alfabeto, então alguns caracteres a mais levam um segredo de quebrado em segundos a inviável por milênios. É a aritmética por trás de por que comprimento e aleatoriedade importam mais.
Escolhendo um Hash de SenhaHashing e criptoArmazenar senhas com segurança é um problema resolvido: use um hash de senha dedicado, com sal e lento, não um resumo cru. Este é um guia curto de decisão, do algoritmo a escolher aos parâmetros a definir e aos erros a evitar, alinhado às diretrizes da OWASP e do NIST.

Identidade e tokens (21)

ArtigoTemaResumo
Anatomia de um JSON Web TokenIdentidade e tokensOs três segmentos de um JWT, como a assinatura o torna confiável e por que decodificar um token não é o mesmo que verificá-lo.
JWKS e Rotação de Chaves: Como os Provedores Publicam suas ChavesIdentidade e tokensUm JWKS é a lista pública de chaves de assinatura que um provedor de identidade publica para que qualquer um possa verificar seus tokens. Entender o array keys, o kid que nomeia cada chave e por que um provedor mantém mais de uma chave ao mesmo tempo é a base da verificação de tokens.
OpenID Connect: Uma Camada de Identidade sobre o OAuth 2.0Identidade e tokensO que o OpenID Connect adiciona ao OAuth 2.0, o ID token no centro de tudo, os papéis de relying party e provedor, como o fluxo de código de autorização entrega um ID token, e por que um ID token é apenas um JWT que você pode decodificar e ler.
Algoritmos de assinatura de JWT: HMAC, RSA e ECDSAIdentidade e tokensPor que o cabeçalho alg de um JWT importa, a diferença entre assinatura simétrica e assimétrica, e como escolher.
As Claims do ID Token, e o Que uma Relying Party VerificaIdentidade e tokensAs claims dentro de um ID token OIDC: as obrigatórias iss, sub, aud, exp e iat; o nonce que impede repetição; azp quando há múltiplas audiências; acr e amr para a força da autenticação; auth_time; e as claims de vínculo at_hash e c_hash, com a validação que uma relying party realiza em cada uma.
Tipos de Chave JWK: RSA, EC, OKP e octIdentidade e tokensToda JSON Web Key declara um kty, e esse único campo decide quais parâmetros a chave carrega. Quatro tipos cobrem quase tudo o que você encontrará: RSA, curva elíptica, as curvas de Edwards e Montgomery, e a sequência de octetos simétrica. A divisão crucial em todos eles é público versus privado.
Armadilhas de segurança em JWT: alg:none, confusão de chave e verificações ausentesIdentidade e tokensO punhado de erros que transforma um verificador de JWT em uma máquina de falsificação, e a validação que um verificador correto deve fazer.
OIDC vs OAuth 2.0: Autenticação vs AutorizaçãoIdentidade e tokensPor que o OAuth 2.0 é sobre autorização e o OpenID Connect é sobre autenticação, a diferença entre um access token e um ID token, por que usar OAuth puro como mecanismo de login é um antipadrão conhecido, e como saber qual token é qual.
Verificando um JWT com um JWKS: do kid à AssinaturaIdentidade e tokensVerificar um token assinado é uma sequência curta e rigorosa: ler o cabeçalho, encontrar a chave cujo kid corresponde no JWKS do provedor, confirmar o algoritmo e checar a assinatura. Cada passo tem uma armadilha clássica, e pular o rigor é como acontecem os bypasses de verificação.
OIDC Discovery: O Documento openid-configurationIdentidade e tokensComo o documento .well-known/openid-configuration permite a uma relying party descobrir automaticamente os endpoints e capacidades de um provedor, o que significam os campos issuer, jwks_uri e de algoritmo de assinatura, por que anunciar o algoritmo none é perigoso, e por que o suporte a PKCE S256 importa.
Parâmetros e thumbprints de JWKIdentidade e tokensUma JWK é um objeto JSON que descreve uma chave, e seus parâmetros dizem para que a chave serve e como identificá-la. Além do material da chave, kid a nomeia e um thumbprint (RFC 7638) dá a ela um identificador estável e computado. Este artigo cobre os parâmetros comuns e como um thumbprint é derivado e usado.
Tokens de acesso, tokens de atualização e tokens de IDIdentidade e tokensTrês tokens do OAuth e do OpenID Connect que vivem sendo confundidos, para que cada um de fato serve, e por que enviar o errado ao lugar errado é um bug de verdade.
Ataques de confusão de algoritmo em JWTIdentidade e tokensDuas falhas clássicas de verificação de JWT vêm de confiar no algoritmo declarado pelo próprio token: aceitar alg none, e ser enganado a verificar um token RS256 como HS256 usando a chave pública como segredo. Ambas são derrotadas fixando o algoritmo esperado no servidor em vez de lê-lo do token.
Clientes públicos vs confidenciais, e onde o PKCE se encaixaIdentidade e tokensSe um cliente OAuth consegue guardar um segredo decide todo o seu modelo de segurança. Por que SPAs e apps móveis são clientes públicos, e por que o PKCE agora é recomendado para todos eles.
O fluxo authorization code do OIDCIdentidade e tokensO fluxo authorization code é a forma recomendada de um app obter um ID token: o usuário é redirecionado ao provedor de identidade para logar, o app recebe um código de curta duração, e o troca em um token endpoint de back-channel pelos tokens. Manter o token fora do navegador é o objetivo inteiro.
O fluxo de código de autorização do OAuth 2.0Identidade e tokensOs quatro papéis, a dança de redirecionar e trocar, e por que o código é trocado por um token no canal de fundo.
PKCE: protegendo o fluxo de código de autorização do OAuthIdentidade e tokensO ataque de interceptação que o PKCE derrota, como o verificador e o desafio se encaixam, e por que o S256 é obrigatório.
OpenID Connect: identidade sobre o OAuth 2.0Identidade e tokensComo o OIDC adiciona autenticação à autorização do OAuth, o que é o token de ID e por que o fluxo de código com PKCE é o caminho recomendado.
Como funcionam as senhas de uso único TOTP e HOTPIdentidade e tokensAmbas transformam um segredo compartilhado em um código curto que prova posse sem transmitir o segredo. O HOTP conta eventos; o TOTP conta tempo. O motor por baixo é o mesmo HMAC mais uma etapa de truncamento.
Validando senhas de uso único: desvio, janelas e repetiçãoIdentidade e tokensGerar um código é a metade fácil. Aceitar um exige tolerar o desvio de relógio, limitar a janela, rejeitar a reutilização e conter as tentativas, cada um um compromisso entre usabilidade e segurança.
Provisionando autenticadores: URIs otpauth e QR codesIdentidade e tokensAntes de um app autenticador poder gerar códigos, ele precisa do segredo compartilhado e dos parâmetros que o acompanham. Isso é carregado em uma URI otpauth, normalmente mostrada como um QR code para escanear. Conhecer os campos da URI explica o que o QR code de fato contém e por que o segredo está em base32.

Identificadores (5)

ArtigoTemaResumo
UUIDs: v4 aleatório e v7 ordenado por tempoIdentificadoresComo um identificador de 128 bits permanece único sem uma autoridade central, e por que o v7 está se tornando o padrão para chaves de banco de dados.
Versões de UUID explicadas: v1 até v8IdentificadoresToda a família UUID em um só lugar, da v1 com tempo-e-MAC à v4 aleatória e à v7 com ordenação temporal, além das versões baseadas em nome e como se leem os bits de versão e variante.
UUIDs vão colidir? Probabilidade e o limite do aniversárioIdentificadoresQuantos bits aleatórios um UUID realmente tem, a matemática do aniversário para uma colisão e quando você quer UUIDs determinísticos.
UUIDs como chaves de banco de dados: v4, v7 e localidade de índiceIdentificadoresO verdadeiro compromisso entre UUIDs e inteiros autoincrementais, e por que chaves v4 aleatórias prejudicam silenciosamente o desempenho do banco.
ULID, KSUID, Snowflake e outros IDs ordenáveisIdentificadoresAs alternativas populares aos UUIDs para identificadores ordenados no tempo, como cada um é construído e por que o UUIDv7 agora cobre a maior parte daquilo para que foram inventados.

Redes (44)

ArtigoTemaResumo
Como funcionam os endereços IPv4RedesOs 32 bits por trás de todo endereço em quad pontilhado, e o que faixas privadas, de loopback e especiais significam.
O PRI do Syslog: Um Número, Dois SignificadosRedesToda mensagem de syslog começa com um PRI, um número entre colchetes angulares que empacota uma facility e uma severity em um único valor. A fórmula é pequena e a aritmética é fácil depois que você a vê: PRI é igual a facility vezes oito mais severity.
Facilities e Severities do Syslog, ExplicadasRedesO syslog define 24 facilities e 8 severities. As severities são uma escala limpa de urgência, de emergency até debug; as facilities são uma mistura de categorias genuinamente úteis e resquícios históricos do Unix, mais oito slots locais nos quais os dispositivos de rede se apoiam bastante.
Fundamentos de sub-redesRedesComo dividir uma rede em sub-redes menores, e por que tomar emprestado bits de host é todo o truque.
Notação CIDR explicadaRedesO que a barra em 192.168.1.0/24 de fato significa, e como um comprimento de prefixo define um bloco de endereços IP.
Syslog em Dispositivos de Rede: Qual Facility Faz o QuêRedesFirewalls, balanceadores de carga e switches quase sempre registram nas facilities locais, mas cada fabricante escolhe um padrão diferente. Saber que o FortiGate usa local7 por padrão, o Cisco ASA usa local4 e o F5 BIG-IP usa local0 transforma uma parede de números de PRI em um mapa de qual caixa disse o quê.
Formatos de mensagem syslog: RFC 3164 vs RFC 5424RedesO PRI é o mesmo em todo lugar, mas o que vem depois não é. O syslog BSD legado (RFC 3164) tem um formato solto e sem ano, enquanto o formato moderno (RFC 5424) é preciso e estruturado. Saber qual você está vendo explica timestamps ausentes, campos ambíguos e por que parsers discordam.
VLSM: dividindo um bloco em sub-redes desiguaisRedesComo recortar um bloco de endereços em sub-redes de tamanhos diferentes sem desperdiçar espaço, e a regra do maior primeiro que mantém tudo organizado.
Como o syslog viaja: UDP, TCP e TLSRedesO syslog pode trafegar sobre UDP puro, sobre TCP, ou sobre TLS, e a escolha decide se as mensagens podem ser silenciosamente perdidas, reordenadas ou lidas em trânsito. Este artigo cobre os três transportes, as portas envolvidas, e por que qualquer coisa da qual você depende para auditoria não deveria ser enviada sobre UDP.
Uma atribuição VLSM, resolvida do início ao fimRedesUma atribuição completa de sub-redes de comprimento variável para uma rede realista: dimensionar cada segmento, ordenar do maior para o menor, atribuir os endereços reais e contabilizar o espaço que sobra.
A Primeira Hora: Isolamento de Falhas Orientado por HipótesesRedesOperações e fieldcraftA diferença entre um incidente de duas horas e um de dois dias costuma ser decidida na primeira hora, e raramente é decidida por ferramentas. É decidida por método: alinhar o início com a mudança, isolar por escopo, ler assinaturas de camada e tratar toda explicação como uma hipótese que a evidência precisa sustentar ou enfraquecer antes que alguém aja sobre ela.
Supernetting e agregação de rotasRedesComo prefixos contíguos se combinam em um mais curto, a regra de alinhamento que decide se dois blocos podem se fundir, e a diferença entre a agregação exata e uma única super-rede que os cubra.
Sumarização de rotasRedesPor que uma única rota resumo pode substituir muitas específicas, a atribuição contígua e alinhada da qual ela depende, e o risco de buraco negro ao sumarizar uma faixa que você não possui por completo.
Sobreposições e lacunas de sub-redesRedesO que significa dois prefixos se sobreporem ou um conter o outro, por que a correspondência de prefixo mais longo torna algumas sobreposições intencionais, e como encontrar as lacunas não atribuídas de um plano de endereços.
Espaço de endereços IPv4 privados e a RFC 1918RedesAs três faixas privadas, por que não são roteáveis na Internet e os outros blocos especiais que a ferramenta CIDR sinaliza.
Entendendo o endereçamento IPv6RedesComo um endereço IPv6 de 128 bits é estruturado e escrito, as regras para comprimi-lo canonicamente, o que os tipos de endereço e escopos significam, e como identificadores de interface e DNS reverso funcionam.
Como hosts IPv6 obtêm endereços: SLAAC e DHCPv6RedesComo um host IPv6 se configura a partir do link-local para cima, o que os anúncios de roteador decidem, e a diferença entre SLAAC, endereços de privacidade, e DHCPv6.
Sub-redes IPv6 e a fronteira /64RedesPor que as sub-redes IPv6 são sobre estrutura em vez de escassez, por que uma única sub-rede é quase sempre um /64, e como a delegação de prefixo distribui espaço de endereços.
Sufixos públicos e o domínio registrado (eTLD+1)RedesCertificados e PKIO que são um sufixo público (eTLD) e um domínio registrado (eTLD+1), por que você não pode calculá-los pegando os dois últimos rótulos, como o algoritmo da Public Suffix List os resolve, e onde a fronteira importa: limites de emissão de certificados, cookies e same-site.
Descoberta de Vizinhos: como o IPv6 substitui o ARPRedesComo o IPv6 encontra vizinhos em um enlace usando ICMPv6 e multicast em vez do ARP por broadcast, as cinco mensagens de Descoberta de Vizinhos, e por que o broadcast se foi.
Rodando IPv6 e IPv4 juntos: dual-stack e traduçãoRedesComo a internet faz a ponte entre duas famílias de endereços incompatíveis: dual-stack, Happy Eyeballs, NAT64, e os endereços com IPv4 embutido que fazem isso funcionar.
Lendo a saída do dig de cima a baixoRedesUma resposta do dig tem uma forma fixa: uma linha de versão, o cabeçalho, a linha de flags, a pseudo-seção OPT, as quatro seções e as estatísticas da consulta. Depois que você conhece cada bloco, consegue ler qualquer resposta num relance e identificar a única linha que explica um problema de resolução.
O cabeçalho DNS: opcode, status e flagsRedesDuas linhas carregam todo o estado de uma mensagem DNS: que tipo de consulta é, se ela teve sucesso e sete flags de um único bit (qr, aa, tc, rd, ra, ad, cd) que dizem quem respondeu e como. Lê-las corretamente é a diferença entre um diagnóstico de dois minutos e uma hora de adivinhação.
Lendo os registros em uma resposta do digRedesTodo registro em uma seção do dig são cinco colunas: nome, TTL, classe, tipo e rdata. Este artigo percorre as colunas e depois o rdata dos tipos de registro que você realmente encontra, de A e CNAME a MX, SOA, SRV e CAA, para que uma parede de registros se leia como fatos simples.
O EDNS e a pseudo-seção OPTRedesA pseudo-seção OPT não é um registro e não é algo que você consultou: é metadado do EDNS(0) que o dig mostra perto do topo de uma resposta. Ela carrega o tamanho do payload UDP, a flag DO que solicita DNSSEC e opções como COOKIE, e explica silenciosamente toda uma classe de falhas de resolução.
Registros DNSSEC na saída do digRedesAdicione +dnssec e uma resposta do dig ganha uma nova família de registros: RRSIG, DNSKEY, DS e os registros de negação NSEC ou NSEC3. Este artigo explica o que é cada um, como eles se encadeiam da raiz até uma zona, e o que a flag ad realmente certifica.
Lendo a saída do nslookupRedesO nslookup imprime um cabeçalho Server / Address para o resolvedor usado, um marcador opcional Non-authoritative answer, e então a resposta em um formato de prosa por tipo. Conhecer essa forma permite ler qualquer resultado rapidamente e ver num relance se ele teve sucesso, de onde veio e o que significa.
nslookup vs dig: qual usarRedesO nslookup e o dig ambos consultam DNS, mas o nslookup é mais enxuto e esconde as flags do cabeçalho e os TTLs que o dig mostra por completo. Este artigo mapeia uma saída sobre a outra e dá uma regra simples para saber qual usar.
Como o nslookup imprime cada tipo de registroRedesEm vez das colunas fixas do dig, o nslookup rotula cada registro em prosa: mail exchanger =, canonical name =, nameserver = e um bloco de várias linhas para o SOA. Um guia curto para ler a linha de cada tipo.
Respostas autoritativas vs não autoritativasRedesO marcador Non-authoritative answer no nslookup significa que o resultado veio do cache de um resolvedor, não de um servidor que de fato mantém a zona. Este artigo explica a diferença, por que ela normalmente não é problema, e como obter uma resposta autoritativa quando você precisa.
Erros do nslookup e o que significamRedesQuando uma consulta falha, o nslookup imprime uma linha como ** server can't find NAME: CODE. O código é o diagnóstico inteiro. Este artigo cobre NXDOMAIN, SERVFAIL, REFUSED e timeouts, o que cada um diz, e a primeira coisa a verificar para cada.
Consultas DNS reversas com o nslookupRedesO DNS reverso mapeia um endereço IP de volta para um nome por meio de registros PTR que ficam sob in-addr.arpa para IPv4 e ip6.arpa para IPv6. O nslookup faz isso automaticamente quando você lhe passa um endereço. Este artigo cobre como o nome reverso especial é construído, por que os servidores de e-mail se importam, e por que o direto e o reverso podem legitimamente discordar.
Modo interativo do nslookupRedesExecute o nslookup sem argumentos e ele entra em um prompt interativo onde você pode trocar de resolvedor, mudar o tipo de registro, ligar a saída de debug e consultar vários nomes em uma única sessão. Este artigo cobre o punhado de comandos que vale a pena conhecer e quando o interativo vence uma consulta única.
Opções de consulta e controle de saída do digRedesO verdadeiro poder do dig está em suas opções: escolher qual servidor perguntar, o tipo de registro e exatamente quanto da resposta imprimir. Este artigo cobre o punhado que você realmente usará todo dia, de @servidor e -t a +short e a combinação +noall +answer que reduz o dig a apenas os registros.
Seguindo a delegação com dig +traceRedesO dig +trace resolve um nome da forma como a internet de fato faz: começando na raiz, seguindo a delegação para o TLD e então para os próprios servidores autoritativos do domínio, imprimindo cada salto. É a melhor forma de ver onde a resolução quebra e de entender como o DNS é costurado.
Lendo um comando curlRedesWeb e HTTPUm comando curl é um comando de shell: a palavra curl, um conjunto de opções e uma URL. Lê-lo é ver como o shell primeiro divide a linha (aspas, contrabarras, continuações de linha) e depois como o curl lê sinalizadores curtos, longos e agrupados.
Sinalizadores de dados do curl e a armadilha do Content-TypeRedesWeb e HTTPO curl tem várias formas de anexar um corpo, e elas diferem na codificação e no Content-Type padrão. A grande surpresa é que -d usa codificação de formulário por padrão, não JSON, então um corpo JSON pode ser rotulado errado e recusado.
Traduzindo curl para fetch()RedesWeb e HTTPA API fetch do navegador e o curl descrevem a mesma requisição de formas diferentes. Método, cabeçalhos e corpo se mapeiam de forma limpa, mas algumas diferenças (Content-Type de formulário implícito, cookies e verificação TLS) exigem cuidado.
Cabeçalhos, autenticação e cookies no curlRedesWeb e HTTPCabeçalhos, autenticação e cookies são como uma requisição se identifica e se autoriza. -H adiciona cabeçalhos, -u é HTTP Basic, um token bearer é apenas um cabeçalho, e -b/-c cuidam de cookies. Todos são sensíveis.
Como o curl infere o método HTTPRedesWeb e HTTPO curl nem sempre precisa de -X para escolher um método. Dados no corpo implicam POST, -I implica HEAD, -G força GET, e um -X explícito sempre vence. Conhecer as regras diz num relance o que uma requisição fará.
Sinalizadores do curl que mudam a postura de segurançaRedesWeb e HTTPAlguns sinalizadores do curl mudam o quão segura é uma requisição: -k desativa a verificação TLS, http envia tudo em texto puro, e credenciais na URL podem vazar. Nenhum torna uma requisição maliciosa, mas cada um vale a leitura antes de executar ou compartilhar um comando.
O Proxy TCP: O Que um Middlebox de Camada 4 Vê e o Que Não VêRedesWeb e HTTPUm proxy TCP termina a conexão TCP do cliente e abre uma separada para o servidor, unindo dois fluxos independentes na Camada 4. Ele reescreve endereços e portas, pode agrupar e reutilizar conexões, e não vê nada do payload da aplicação acima do cabeçalho de transporte. Este artigo explica full-proxy versus encaminhamento de pacotes, por que o IP de origem desaparece, e como o Proxy Protocol o traz de volta.
Proxies HTTP: Forward vs Reverse, Explícito vs TransparenteRedesWeb e HTTPUm proxy HTTP parseia requisições na Camada 7, então pode rotear por URL, reescrever cabeçalhos e impor política sobre conteúdo que um proxy TCP não consegue ver. Dois eixos descrevem toda implantação: forward vs reverse (para qual lado ele trabalha) e explícito vs transparente (se o cliente sabe que ele está lá). Este artigo cobre o método CONNECT, o X-Forwarded-For e o Via, e onde cada combinação é usada.
Os 27 protocolos que o curl falaRedesWeb e HTTPO curl é conhecido como ferramenta de HTTP, mas a versão atual fala 27 esquemas de URL: transferência de arquivos por FTP, SFTP e SMB, e-mail por SMTP, POP3 e IMAP, publish-subscribe MQTT, consultas LDAP e relíquias como Gopher, DICT e Telnet. Conhecer o mapa, e saber quais esquemas começam em texto claro, muda a forma de usar a ferramenta.

Segurança e WAF (31)

ArtigoTemaResumo
Cabeçalhos de Segurança HTTP: a Camada de Defesa em ProfundidadeSegurança e WAFO que são os cabeçalhos de segurança HTTP, por que formam uma camada de defesa sobre o código seguro em vez de substituí-lo, quais cabeçalhos têm mais peso e como ler a postura de uma resposta rapidamente.
Quantificadores e Classes de Caracteres em RegexSegurança e WAFWeb e HTTPUma expressão regular é construída a partir de duas perguntas: qual caractere eu quero e quantos deles? As classes de caracteres respondem à primeira, os quantificadores respondem à segunda. Acerte essas duas e a maior parte das regex se encaixa.
SAML 2.0: Como Funciona o SSO no NavegadorSegurança e WAFIdentidade e tokensO que é uma asserção SAML, os papéis do provedor de identidade e do provedor de serviço, o fluxo de Web Browser SSO iniciado pelo SP de ponta a ponta, e a diferença entre os bindings HTTP-POST e HTTP-Redirect que transportam as mensagens.
Content Security Policy, Diretiva por DiretivaSegurança e WAFComo a CSP funciona como controle contra cross-site scripting e injeção: a forma de uma política, por que default-src importa, o que 'unsafe-inline' e 'unsafe-eval' entregam, como nonces e hashes permitem código inline específico com segurança e para que serve o modo report-only.
Dentro de uma Asserção SAML: Sujeito, Condições e AudiênciaSegurança e WAFIdentidade e tokensA anatomia de uma asserção SAML: o Subject e os formatos de NameID, a SubjectConfirmation do tipo bearer e as verificações de NotOnOrAfter / Recipient / InResponseTo, a janela de validade das Conditions, a AudienceRestriction e o AuthnStatement, com a validação que um provedor de serviço deve fazer em cada uma.
Grupos, Retrorreferências e Lookarounds em RegexSegurança e WAFWeb e HTTPOs parênteses fazem muito mais do que definir precedência em uma regex. Eles capturam texto para você reutilizar, nomeiam as partes que importam e — com um prefixo de interrogação — permitem afirmar o que vem antes ou depois sem consumir.
Assinaturas SAML e XML-DSigSegurança e WAFIdentidade e tokensComo uma mensagem SAML é assinada com XML Signature: o ds:Signature envelopado, os algoritmos SignatureMethod e DigestMethod, por que o SHA-1 é fraco, a diferença entre assinar a Response e assinar a Assertion, e como funcionam os ataques de signature wrapping em XML.
Backtracking Catastrófico e ReDoSSegurança e WAFWeb e HTTPAlguns padrões de aparência inocente podem levar segundos, minutos ou praticamente uma eternidade em uma string curta. A causa é o backtracking catastrófico, e quando um atacante controla a entrada ele vira uma falha de negação de serviço. Eis por que acontece e como escrever padrões que não podem travar.
HSTS e a Exigência de HTTPSSegurança e WAFComo o Strict-Transport-Security fecha a janela de downgrade para HTTP, o que max-age, includeSubDomains e preload fazem, a brecha de confiança no primeiro uso que o preload remove e os erros de configuração que silenciosamente o desativam.
Âncoras e limites em regexSegurança e WAFWeb e HTTPÂncoras casam uma posição, não um caractere: o início ou o fim da string, ou a borda de uma palavra. São a diferença entre um padrão que casa em qualquer lugar e um que casa só onde você quer. Este artigo cobre ^, $, \b e seu comportamento em modo multilinha, além dos erros que causam.
Flags de Segurança de CookiesSegurança e WAFComo Secure, HttpOnly e SameSite protegem os cookies de sessão, o que cada valor de SameSite significa, por que SameSite=None exige Secure e como os prefixos __Host- e __Secure- impõem essas garantias no nível do navegador.
XXE e Por Que um Parser SAML Rejeita DOCTYPESegurança e WAFIdentidade e tokensComo funcionam os ataques de Entidade Externa de XML (XXE), a negação de serviço billion laughs, por que ambos dependem de uma DTD, e por que um decodificador SAML reforçado rejeita qualquer DOCTYPE ou declaração de entidade de imediato em vez de tentar interpretá-lo com segurança.
Bindings SAML e iniciação por SP vs IdPSegurança e WAFIdentidade e tokensUm fluxo SAML pode começar no serviço ou no provedor de identidade, e as mensagens podem viajar por dois bindings diferentes: um redirect HTTP com a mensagem compactada na URL, ou um formulário HTML de auto-submit que a envia por POST. Qual binding carrega qual mensagem, e onde o fluxo começa, explica muito do comportamento do SSO.
Clickjacking e Controle de EnquadramentoSegurança e WAFO que é clickjacking, como o enquadramento o torna possível, a diferença entre o cabeçalho legado X-Frame-Options e a diretiva moderna CSP frame-ancestors, por que ALLOW-FROM é obsoleto e como os dois controles interagem.
Flags e modos em regexSegurança e WAFWeb e HTTPUma flag muda como o padrão inteiro casa: sensibilidade a maiúsculas, se ^ e $ enxergam linhas, se o ponto cruza quebras de linha e se o espaço em branco no padrão é ignorado. O mesmo regex pode casar coisas completamente diferentes dependendo de suas flags, então conhecê-las evita muita confusão.
O SAML Proxy: Inserindo uma Camada de Identidade numa SessãoSegurança e WAFIdentidade e tokensUm SAML proxy fica no fluxo de SSO em vez do caminho dos pacotes: ele termina a requisição do usuário, força a autenticação contra um provedor de identidade, e só então deixa a sessão passar, usando o modelo de redirecionamento por navegador do SAML. Ele pode agir como provedor de serviço para o IdP e provedor de identidade para a aplicação ao mesmo tempo (um proxy ou broker), que é como um único login federa muitos sistemas downstream. Este artigo explica os papéis, o fluxo, e por que ele é um proxy afinal.
XXE e entidades externasSegurança e WAFXML permite que um documento declare entidades, e uma entidade externa pode apontar para um arquivo ou URL. Um parser que resolve uma pode ser enganado a ler arquivos locais ou fazer requisições no lado do servidor, a vulnerabilidade XXE. A correção é direta e eficaz: não processar um DOCTYPE de forma alguma.
Billion laughs e expansão de entidadesSegurança e WAFEntidades podem referenciar outras entidades, e se cada uma multiplica a anterior, um documento minúsculo pode expandir para gigabytes e exaurir a memória. O ataque billion laughs transforma isso em uma negação de serviço. A defesa é limitar a expansão ou recusar o DOCTYPE de imediato.
Como Funciona a Pontuação CVSSSegurança e WAFO CVSS transforma uma string de vetor curta em um número de severidade de 0 a 10 usando uma fórmula fixa. A pontuação Base é construída a partir de duas subpontuações: Explorabilidade (quão acessível e fácil é a falha) e Impacto (quão grave é o resultado). Todo o resto refina essa base. Isso é aritmética, não opinião, e por isso uma calculadora reproduz exatamente qualquer pontuação publicada.
As Métricas Base do CVSS, ExplicadasSegurança e WAFA pontuação Base vem de oito métricas em duas famílias. Quatro métricas de explorabilidade (Vetor de Ataque, Complexidade do Ataque, Privilégios Necessários, Interação do Usuário) descrevem quão difícil é o ataque, e quatro métricas de impacto (Escopo, mais Confidencialidade, Integridade e Disponibilidade) descrevem o dano. O Escopo é a sutil: é o que permite que uma pontuação ultrapasse a fronteira do próprio componente vulnerável.
Pontuações Temporal e Ambiental do CVSSSegurança e WAFA pontuação Base é apenas o ponto de partida. As métricas Temporais a reduzem conforme os fatos surgem, como o lançamento de um patch, e só podem diminuir a pontuação. As métricas Ambientais permitem que uma organização recalcule a falha para seus próprios sistemas, elevando ou reduzindo a importância de confidencialidade, integridade e disponibilidade e sobrescrevendo métricas base. Ambas são opcionais, mas produzem um número mais honesto.
Lendo uma String de Vetor CVSSSegurança e WAFUm vetor CVSS é uma string compacta e autodescritiva: um prefixo de versão seguido de pares métrica:valor separados por barras. Aprender a lê-la diretamente, em vez de confiar em uma pontuação renderizada, permite detectar erros de transcrição e entender exatamente o que um fornecedor afirmou. As métricas Base são obrigatórias e o resto é opcional.
Faixas de Severidade do CVSS, e o Que a Pontuação Não DizSegurança e WAFO número de 0 a 10 é mapeado para cinco faixas qualitativas, de Nenhuma a Crítica. Esse mapeamento é útil para triagem, mas uma pontuação Base do CVSS mede severidade, não risco. Ela não diz nada sobre uma falha estar sendo explorada, quão valioso é o ativo, ou quais controles você tem. Tratar o número base como uma fila de prioridade é a forma mais comum de as equipes usarem mal o CVSS.
CVSS v3.0, v3.1 e v4.0: O Que MudouSegurança e WAFEste decodificador calcula CVSS v3.0 e v3.1. As duas versões v3 compartilham uma fórmula mas diferem no arredondamento e em um termo ambiental, então as pontuações podem diferir em um décimo. O CVSS v4.0, lançado em 2023, é um redesenho maior, com novos grupos de métricas e sem a métrica Escopo, e seus vetores não são compatíveis com ferramentas v3. O CVSS v2 está descontinuado.
O Que É Server-Side Request Forgery (SSRF)Segurança e WAFSSRF é uma vulnerabilidade em que um atacante faz o servidor emitir uma requisição HTTP para um destino escolhido por ele. Como a requisição parte de dentro da rede do servidor, ela alcança serviços internos, metadados de nuvem e endereços de loopback que o atacante jamais alcançaria diretamente. A correção é validar o destino, não o texto da URL.
Faixas de IP Privadas, Reservadas e PúblicasSegurança e WAFUm filtro de SSRF precisa saber quais endereços são internos. Este é o mapa: espaço privado RFC 1918, loopback, link-local, NAT de operadora, as faixas de documentação e todo o resto que é público e roteável. Conhecer as faixas é o que transforma um endereço bruto em uma decisão de seguro-ou-não.
Truques de Ofuscação de Endereço IPSegurança e WAFUm endereço IP pode ser escrito de muitas formas: decimal simples, octal, hexadecimal, forma abreviada e IPv6 mapeado em IPv4. Cada forma volta a apontar para o mesmo endereço, e é assim que atacantes passam um alvo interno por um filtro que só bloqueia a grafia decimal pontuada. Por isso verificações de SSRF precisam decodificar, não comparar texto.
Endpoints de Metadados de Nuvem e SSRFSegurança e WAFToda nuvem grande dá a uma instância um serviço de metadados em um endereço link-local fixo, e ele pode devolver credenciais temporárias do papel da instância. Isso o torna o alvo de SSRF de maior valor. Conhecer os endpoints, e as defesas no estilo IMDSv2, é essencial tanto para entender o ataque quanto para a defesa.
Defendendo-se de SSRF com Allow-ListsSegurança e WAFA defesa durável contra SSRF é uma allow-list de destinos pretendidos, combinada com resolver o endereço antes de confiar nele e reverificar após redirecionamentos. Block-lists de faixas internas ajudam, mas perdem para ofuscação e DNS rebinding. Esta é a abordagem em camadas que se sustenta.
Esquemas de URL Perigosos em SSRFSegurança e WAFSSRF não se limita a http. Esquemas como file, gopher, dict e ftp permitem a um atacante ler arquivos locais ou forjar bytes brutos para serviços internos como Redis e SMTP. Um buscador de URL que não restringe o esquema entrega ao atacante uma primitiva muito mais poderosa do que uma simples requisição web.
SSL Forward Proxy: Como Funciona a Interceptação de TLS de Saída e o Que a QuebraSegurança e WAFCertificados e PKITLS e transportePara inspecionar tráfego de saída criptografado, um forward proxy realiza um man-in-the-middle controlado: ele termina a sessão TLS do usuário, abre a sua própria para o servidor real, e forja um certificado para aquele servidor assinado por uma CA privada em que os próprios dispositivos da organização confiam. Este artigo explica a mecânica, o modelo de confiança que o torna seguro (e perigoso), e por que pinning, HSTS e TLS mútuo o derrotam.

TLS e transporte (9)

ArtigoTemaResumo
Anatomia de uma suíte de cifra TLSTLS e transporteO que uma suíte de cifra TLS realmente nomeia, como ler uma suíte como TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 parte por parte, e como o mesmo ponto de código de dois bytes aparece sob três convenções de nomes diferentes.
Lendo nomes de suítes de cifra: IANA, OpenSSL e GnuTLSTLS e transportePor que a mesma suíte de cifra tem três nomes diferentes e um ponto de código de dois bytes, como traduzir entre as convenções da IANA, do OpenSSL e do GnuTLS, e o que a coluna Recommended da IANA, com Y, N e D, realmente significa.
AEAD vs CBC: por que o modo importaTLS e transporteA diferença prática entre uma cifra AEAD como o AES-GCM e uma cifra CBC mais antiga com um HMAC separado, os ataques de oráculo de preenchimento que mataram o MAC-then-encrypt, e a única troca que o AEAD ainda pede.
Sigilo de encaminhamento e a troca de chavesTLS e transporteO que o sigilo de encaminhamento garante, por que o transporte de chave RSA estático não o oferece, como ECDHE e DHE oferecem, e por que autenticação e troca de chaves são duas tarefas distintas que o nome de uma suíte mantém separadas.
Suítes de cifra do TLS 1.3: o que mudouTLS e transportePor que uma suíte de TLS 1.3 nomeia apenas uma cifra e um hash, para onde foram a troca de chaves e a autenticação, e por que a lista de suítes encolheu de centenas para um punhado.
O Que um Computador Quântico Quebraria, e o Que Não QuebrariaTLS e transporteUm computador quântico grande não enfraqueceria toda a criptografia por igual. O algoritmo de Shor quebra por completo a matemática de chave pública por trás de RSA, Diffie-Hellman e curvas elípticas; o algoritmo de Grover apenas reduz pela metade a força de cifras simétricas e hashes, o que AES-256 e SHA-384 já suportam. Este artigo explica a divisão, por que 'colher agora, decifrar depois' torna isso um problema de hoje, e por que um candidato quebrado como o SIKE é um lembrete de humildade.
Os Padrões Pós-Quânticos do NIST: ML-KEM, ML-DSA e SLH-DSATLS e transporteEm agosto de 2024 o NIST finalizou os três primeiros padrões pós-quânticos: FIPS 203 (ML-KEM, do Kyber) para estabelecimento de chaves, e FIPS 204 (ML-DSA, do Dilithium) e FIPS 205 (SLH-DSA, do SPHINCS+) para assinaturas. Este artigo explica para que serve cada um, por que há dois padrões de assinatura sobre matemáticas diferentes, e onde o HQC e o FN-DSA entram como reservas ainda a caminho.
Troca de Chaves Híbrida no TLS 1.3: O Que o X25519MLKEM768 Faz no FioTLS e transporteA web não trocou a troca de chaves clássica pela pós-quântica; ela roda as duas ao mesmo tempo. O X25519MLKEM768 combina uma curva elíptica dos anos 1990 com o ML-KEM-768 baseado em reticulado num único grupo do TLS 1.3, de modo que a quebra de qualquer um ainda deixa a sessão segura. Este artigo cobre por que híbrido em vez de substituição, o formato no fio e seu problema de tamanho, e onde está a implantação entre navegadores, servidores e os middleboxes que ele quebra.
TLS de Entrada: Offload, Bridging e Passthrough no Reverse ProxyTLS e transporteCertificados e PKIUm reverse proxy que trata HTTPS de entrada tem três escolhas para a sessão TLS: terminá-la e enviar texto claro ao backend (offload), terminar e recriptografar até o backend (bridging), ou encaminhar os bytes criptografados intocados (passthrough). Cada uma equilibra visibilidade contra confidencialidade e custo de forma diferente. Este artigo explica as três, por que o proxy detém o certificado do servidor, e o que o SNI e o TLS mútuo mudam.