Gestão de Senhas

A gestão adequada de senhas representa um dos pilares fundamentais da segurança cibernética moderna, porém continua sendo um dos elos mais fracos na maioria das organizações devido à tendência humana natural de criar senhas fracas, reutilizá-las em múltiplos serviços e armazená-las de forma insegura. Estudos mostram que mais de 80% das violações de dados envolvem credenciais comprometidas, seja através de ataques de credential stuffing utilizando senhas vazadas de outros serviços, phishing que captura credenciais diretamente dos usuários, ou força bruta contra senhas fracas e previsíveis. A complexidade do problema aumenta exponencialmente em ambientes corporativos onde usuários precisam gerenciar dezenas de credenciais diferentes para sistemas internos, aplicações SaaS, VPNs, servidores e contas administrativas, levando inevitavelmente a práticas inseguras como anotação de senhas em post-its, planilhas desprotegidas ou reutilização da mesma senha em todos os sistemas. Este artigo apresenta uma abordagem abrangente para gestão de senhas corporativas e pessoais, cobrindo políticas de complexidade e rotação baseadas em evidências, implementação e seleção de password managers empresariais, estratégias de migração para autenticação multifator (MFA), prevenção de ataques automatizados através de rate limiting e CAPTCHA, monitoramento de credenciais vazadas através de serviços de threat intelligence, e educação contínua de usuários sobre higiene de senhas, construindo uma defesa robusta contra um dos vetores de ataque mais explorados por adversários.

Desafios na Gestão de Senhas

  • Senhas fracas: 123456, password, nome+ano ainda extremamente comuns
  • Reutilização: Mesma senha em múltiplos serviços amplia impacto de breaches
  • Armazenamento inseguro: Post-its, planilhas, emails, navegadores sem master password
  • Fadiga de senhas: Usuários precisam gerenciar 50-100+ credenciais
  • Sharing inseguro: Compartilhamento de senhas via Slack, email, SMS

Políticas de Senha Efetivas

NIST Guidelines (Atualizadas)

Recomendações NIST SP 800-63B:

  • [OK] Mínimo 8 caracteres (12+ recomendado)
  • [OK] Permitir até 64+ caracteres
  • [OK] Aceitar todos caracteres incluindo espaços
  • [OK] Sem requisitos de complexidade forçada (maiúsculas, símbolos)
  • [OK] Sem rotação periódica obrigatória (apenas se comprometida)
  • [OK] Verificar contra lista de senhas vazadas
  • [OK] Permitir paste (facilita uso de password managers)
  • [OK] Oferecer strength meter visual
  • [X] Não usar hints ou perguntas de segurança
  • [X] Não forçar mudança periódica sem motivo

Entropia vs Complexidade

      # Senha complexa mas fraca (baixa entropia):
      P@ssw0rd!   # ~28 bits entropia
      # Previsível, padrão comum
      # Passphrase simples mas forte (alta entropia):
      correct horse battery staple   # ~44 bits entropia
      # Mais longa, menos previsível
      # Melhor: Passphrase + símbolos
      correct-horse-battery-staple-2024   # ~52 bits entropia
      # Fácil de lembrar, difícil de quebrar
      

Password Managers

Password managers são a solução mais efetiva para gestão de credenciais, permitindo senhas únicas e fortes para cada serviço sem memorização.

Soluções Empresariais

  • 1Password Business: Interface intuitiva, vaults compartilhados, Travel Mode
  • LastPass Enterprise: SSO integration, policies centralizadas
  • Bitwarden: Open-source, self-hosted option, compliance
  • Keeper: Zero-knowledge, compliance reporting, privileged access
  • Dashlane Business: VPN incluída, dark web monitoring

Features Críticas

  • Zero-knowledge architecture: Vendor não pode acessar senhas
  • End-to-end encryption: AES-256 ou superior
  • SSO integration: SAML, OAuth para login corporativo
  • Shared vaults: Compartilhamento seguro entre equipes
  • Audit logs: Tracking de acesso e mudanças
  • Emergency access: Delegação para disaster recovery
  • Compliance: SOC 2, ISO 27001, GDPR/LGPD

Proteção Contra Ataques

Brute Force Prevention

      # Rate limiting por IP
      - Max 5 tentativas por minuto
      - Lockout progressivo: 1min, 5min, 15min, 1hora
      - CAPTCHA após 3 falhas
      # Account lockout
      - Bloquear conta após 10 tentativas falhas
      - Requer password reset ou admin unlock
      - Notificar usuário via email/SMS
      # IP blacklisting
      - Bloquear IPs com padrão de ataque
      - Integrar com threat intelligence feeds
      - Whitelist para IPs corporativos conhecidos
      

Credential Stuffing Defense

  • MFA obrigatório: Invalida credenciais vazadas sem 2º fator
  • Breach monitoring: HaveIBeenPwned API, SpyCloud
  • Anomaly detection: Login de geolocation incomum, device novo
  • Bot detection: reCAPTCHA, behavioral analysis
  • Session management: Invalidar sessões antigas em login

Implementação de MFA

      # Métodos MFA por força (do mais ao menos seguro)
      1. Hardware tokens (FIDO2/WebAuthn - YubiKey)
      - Phishing-resistant
      - Sem SMS/email interception
      2. Authenticator apps (TOTP)
      - Google Authenticator, Microsoft Authenticator
      - Offline, mais seguro que SMS
      3. Push notifications
      - Duo Push, Microsoft Authenticator Push
      - Conveniente mas suscetível a MFA fatigue
      4. SMS (evitar se possível)
      - SIM swapping attacks
      - Interception possível
      - Melhor que nada, mas não ideal
      

Monitoramento de Credenciais Vazadas

      # HaveIBeenPwned API Integration
      import requests
      def check_password_breach(password):
      # SHA-1 hash
      sha1 = hashlib.sha1(password.encode()).hexdigest().upper()
      prefix = sha1[:5]
      suffix = sha1[5:]
      # k-Anonymity: Apenas prefixo enviado
      url = f"https://api.pwnedpasswords.com/range/"
      response = requests.get(url)
      # Check if suffix in results
      for line in response.text.split('\n'):
      hash_suffix, count = line.split(':')
      if hash_suffix == suffix:
      return True, int(count)
      return False, 0
      # Forçar reset se senha comprometida
      is_pwned, count = check_password_breach(user_password)
      if is_pwned:
      force_password_reset(user)
      notify_user(f"Senha aparece em  breaches")
      

Service Accounts & API Keys

  • Secrets management: HashiCorp Vault, AWS Secrets Manager
  • Rotação automática: Script rotation de API keys/passwords
  • Least privilege: Permissões mínimas necessárias
  • Audit trail: Log de acesso a secrets
  • Expiration: Keys com TTL, revogação em offboarding

Educação de Usuários

  • Treinamento obrigatório em onboarding
  • Phishing simulations periódicas
  • Campanha de adoção de password manager
  • Comunicação clara sobre políticas
  • Rewards para boas práticas (gamification)

Recomendações Finais

Implemente password manager corporativo obrigatório (1Password, Bitwarden) com políticas centralizadas. Ative MFA universal - TOTP apps para usuários, hardware tokens para admins. Monitor credenciais contra HaveIBeenPwned e force reset proativamente. Adote políticas NIST: senhas longas sem rotação forçada, verificação de breach databases. Elimine SMS MFA gradualmente, migre para TOTP/FIDO2.