0Pricing
Security+ Academy · Aula

Políticas de senhas e autenticação multifator

Compreenda os requisitos de senhas fortes, os fatores de MFA (algo que você sabe, possui ou é) e por que a combinação de fatores reduz drasticamente o risco de comprometimento de contas.

Políticas de senhas e autenticação multifator é uma aula grátis de Security+ Academy no CoddyKit. Esta é a aula 1 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Security+ Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Security+ Academy inclui 4 aulas no total.

Senhas: o elo mais fraco

As senhas continuam sendo o mecanismo de autenticação mais comum, apesar de serem o alvo de comprometimento com maior frequência. Os invasores roubam senhas por meio de phishing, preenchimento de credenciais (reutilização de credenciais vazadas), ataques de força bruta e registradores de teclas. Até mesmo uma senha "forte" oferece proteção limitada se um invasor conseguir capturá-la silenciosamente. As políticas de senha definem requisitos mínimos de complexidade e troca para reduzir os riscos, mas a melhoria de segurança mais significativa é adicionar um segundo fator — porque saber a senha já não é suficiente para obter acesso.

Requisitos de complexidade de senhas

As políticas eficazes de complexidade de senhas definem padrões mínimos que tornam as senhas mais difíceis de quebrar. Os requisitos tradicionais incluem: comprimento mínimo (12 a 16 caracteres; o comprimento é mais importante que a complexidade), tipos de caracteres obrigatórios (maiúsculas, minúsculas, números e símbolos), proibição de senhas comuns (dicionários de senhas) e proibição do nome de usuário ou da organização dentro da senha. As diretrizes NIST SP 800-63B, atualizadas em 2017, recomendam priorizar o comprimento em vez de regras arbitrárias de complexidade e verificar as senhas em bancos de dados de credenciais vazadas, em vez de exigir trocas frequentes.

# Check if a password appears in known breach databases
# NIST recommends this approach vs forced periodic rotation

# Example: Using Have I Been Pwned (HIBP) API
# Hash the password first (k-anonymity model - sends only first 5 chars of SHA-1)
echo -n 'mysecretpassword' | sha1sum
# Returns: e5e9fa1ba31ecd1ae84f75caaa474f3a663f05f4  -

# Send first 5 chars to HIBP API:
# GET https://api.pwnedpasswords.com/range/E5E9F
# Response includes suffix of any matching hashes
# If found: this password is compromised - reject it

Orientações modernas da NIST SP 800-63B para senhas

NIST SP 800-63B (Diretrizes de Identidade Digital) revisou significativamente as boas práticas para senhas. Principais atualizações: não exigir trocas periódicas, a menos que haja evidências de comprometimento — a troca obrigatória leva os usuários a fazer alterações previsíveis (Password1! → Password2!); verificar nas bases de dados de vazamentos durante a criação e permitir que os usuários vejam a senha enquanto digitam; permitir frases secretas longas, de até 64 caracteres; eliminar regras arbitrárias de complexidade que produzem padrões previsíveis; e implementar bloqueio ou limitação de tentativas da Account para impedir ataques de força bruta, em vez de depender exclusivamente da complexidade.

Os três fatores de autenticação

A autenticação depende de um ou mais de três tipos de fatores. Algo que você sabe (fator de conhecimento): senhas, PINs, perguntas de segurança e frases secretas. Algo que você possui (fator de posse): token físico, smartphone com aplicativo autenticador, cartão inteligente e chave de hardware (YubiKey). Algo que você é (fator de inerência): impressão digital, leitura da retina, reconhecimento facial, padrão de voz e biometria comportamental. Uma quarta categoria — algum lugar onde você está (localização) — às vezes é adicionada. Usar um fator de duas ou mais categorias é a autenticação multifator (MFA). Dois fatores da mesma categoria (como duas senhas) não constituem MFA.

Por que a MFA é tão eficaz

A autenticação multifator (MFA) é um dos controles de segurança mais impactantes disponíveis. Pesquisas da Microsoft indicam que a MFA bloqueia 99,9% dos ataques de comprometimento de Account. O motivo é que o phishing ou o roubo de credenciais fornece ao invasor "algo que você sabe" (a senha), mas normalmente ele também não consegue obter o segundo fator (um código de uso único no smartphone ou uma chave de hardware). Mesmo que a senha de um usuário seja publicada em uma base de dados de vazamentos, a Account continua protegida se a MFA estiver ativada. Organizações que implementaram a MFA raramente aparecem em relatórios de vazamentos envolvendo tomada de controle de Account com base em credenciais.

OTP por SMS e suas fragilidades

Senhas de uso único por SMS (OTP) são o método de MFA mais utilizado — um código de 6 dígitos enviado por mensagem de texto. Elas são melhores do que não usar MFA, mas apresentam fragilidades documentadas. Ataques de troca de SIM: os invasores se passam pela vítima junto à operadora móvel e transferem o número de telefone para o próprio SIM, interceptando futuros códigos OTP. Vulnerabilidades do protocolo SS7: o protocolo de sinalização da rede telefônica tem falhas conhecidas que permitem interceptar SMS. Phishing em tempo real: proxies sofisticados de phishing retransmitem os OTPs em tempo real, contornando-os. A NIST SP 800-63B restringiu o OTP por SMS ao status de "autenticador restrito". Aplicativos autenticadores ou tokens de hardware são preferíveis.

TOTP: senhas de uso único baseadas em Time

TOTP (senhas de uso único baseadas em Time) — padronizado na RFC 6238 — gera códigos de 6 dígitos a partir de um segredo compartilhado e do Time atual. Aplicativos como Google Authenticator, Authy e Microsoft Authenticator implementam TOTP. O código muda a cada 30 segundos e só é válido para uma tentativa de autenticação. Ao contrário do OTP por SMS, o TOTP não percorre a rede telefônica, portanto é imune a trocas de SIM e ataques SS7. O segredo compartilhado é trocado uma vez (por meio de um código QR durante a configuração) e armazenado no aplicativo autenticador — exigindo acesso físico ao dispositivo registrado para gerar códigos.

# TOTP algorithm (RFC 6238) conceptual implementation
import hmac, hashlib, time, struct, base64

def totp(secret_b32, digits=6, interval=30):
    # Decode the base32 secret
    secret = base64.b32decode(secret_b32, True)
    # Time counter: number of 30-second intervals since epoch
    counter = int(time.time()) // interval
    # HMAC-SHA1 of counter with secret
    msg = struct.pack('>Q', counter)
    digest = hmac.new(secret, msg, hashlib.sha1).digest()
    # Dynamic truncation to get 6 digits
    offset = digest[-1] & 0xf
    code = struct.unpack('>I', digest[offset:offset+4])[0] & 0x7fffffff
    return str(code % (10**digits)).zfill(digits)

FIDO2 e WebAuthn: MFA resistente a phishing

FIDO2 (Fast Identity Online 2) e sua implementação web, WebAuthn, representam o padrão de autenticação mais resistente a phishing disponível. O FIDO2 usa criptografia de chave pública no nível do dispositivo — o autenticador (uma chave de hardware como YubiKey ou a biometria do dispositivo, como Windows Hello) armazena uma chave privada que nunca sai do dispositivo. A autenticação fica vinculada criptograficamente à origem específica (o site), tornando-se imune a phishing: mesmo que um usuário seja enganado e visite um site falso, o desafio de autenticação falhará porque a origem não corresponde. O FIDO2 é o padrão ouro para autenticação de alta segurança.

Tokens de hardware: HOTP e cartões inteligentes

Tokens físicos de hardware fornecem "algo que você possui" independentemente de smartphones. HOTP (OTP baseado em HMAC) — padronizado na RFC 4226 — gera um código a partir de um contador e de um segredo compartilhado; o contador aumenta cada vez que o botão é pressionado. Ao contrário do TOTP, os códigos HOTP não expiram por tempo, mas devem ser usados em sequência. Cartões inteligentes (como os cartões PIV usados por funcionários do governo dos US) armazenam chaves privadas em hardware resistente a adulterações e exigem um PIN para serem desbloqueados, combinando "algo que você possui" (o cartão) com "algo que você sabe" (PIN). A autenticação por cartão inteligente é o padrão para acesso privilegiado em ambientes de alta segurança.

Gerenciadores de senhas: resolvendo o problema humano

Os gerenciadores de senhas resolvem a tendência humana de reutilizar senhas, gerando e armazenando senhas únicas e aleatórias para cada site. A senha mestra desbloqueia um cofre criptografado que contém todas as credenciais. Os gerenciadores de senhas empresariais (1Password Teams, Bitwarden Business, CyberArk) adicionam recursos como aplicação centralizada de políticas, registros de auditoria, compartilhamento seguro e acesso de emergência. As equipes de segurança devem incentivar ativamente ou exigir a adoção de gerenciadores de senhas — é raro um controle de segurança melhorar tanto a segurança (senhas únicas em todos os lugares) quanto a usabilidade (sem necessidade de memorizar dezenas de senhas). Combinados com MFA, os gerenciadores de senhas reduzem significativamente o comprometimento de Account baseado em credenciais.

Bloqueio e limitação de tentativas da Account

O bloqueio da Account desativa uma Account após um número definido de tentativas de login malsucedidas, impedindo ataques de força bruta. As políticas típicas bloqueiam uma Account após 3 a 10 tentativas malsucedidas, com duração do bloqueio variando de um período fixo (30 minutos) à exigência de desbloqueio por um administrador. A limitação de tentativas é uma alternativa mais branda: em vez de bloquear Accounts, aumenta progressivamente o atraso entre as tentativas de login, fazendo com que os ataques de força bruta levem anos em vez de minutos, sem o impacto dos bloqueios na experiência do usuário. Os aplicativos web devem implementar ambos — limitação de taxa no nível da API e limitação no nível da Account — para impedir ataques automatizados a credenciais.

# Configure account lockout policy via Windows Group Policy
# Computer Configuration > Windows Settings > Security Settings
# > Account Policies > Account Lockout Policy
#
# Account lockout threshold:     5 invalid logon attempts
# Account lockout duration:      30 minutes
# Reset account lockout after:   30 minutes

# Linux PAM-based lockout (/etc/pam.d/common-auth)
# auth required pam_tally2.so deny=5 unlock_time=1800
# auth required pam_faillock.so preauth deny=5 unlock_time=1800

Verificação rápida

Teste sua compreensão dos conceitos de CompTIA Security+ (SY0-701) apresentados nesta lição.

Recapitulação da lição

Nesta lição, você aprendeu: a NIST SP 800-63B recomenda frases secretas longas e verificação contra vazamentos em vez de políticas complexas de troca; os três fatores de MFA são saber, possuir e ser; os aplicativos TOTP são mais seguros que o OTP por SMS; FIDO2/WebAuthn é resistente a phishing; e o bloqueio da Account impede ataques de força bruta. A seguir, exploraremos Biometric e autenticação baseada em tokens.

Perguntas Frequentes

A aula “Políticas de senhas e autenticação multifator” é grátis?

Sim — o texto completo de “Políticas de senhas e autenticação multifator” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Security+ Academy, atualize para CoddyKit PRO. O curso de Security+ Academy inclui 4 aulas no total.

O que vou aprender em “Políticas de senhas e autenticação multifator”?

Compreenda os requisitos de senhas fortes, os fatores de MFA (algo que você sabe, possui ou é) e por que a combinação de fatores reduz drasticamente o risco de comprometimento de contas. Você pratica Security+ Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Security+ Academy?

Nenhuma experiência prévia é necessária. Security+ Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 4.

Quanto tempo leva a aula “Políticas de senhas e autenticação multifator”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Security+ Academy?

Sim. Cada aula de Security+ Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Políticas de senhas e autenticação multifator
  2. Biometria e autenticação baseada em tokens
  3. Modelos de autorização: RBAC, MAC e DAC
  4. Identidade federada: SAML, OAuth e OpenID Connect
← Voltar para Security+ Academy