Atualização segura

PostgreSQL deprecia o suporte a senhas MD5: o que isso significa para desenvolvedores e administradores

Ilustração representando o lançamento do PostgreSQL e o anúncio da descontinuação do suporte a senhas MD5

Nos últimos anos, a segurança digital tem sido um dos focos mais importantes para desenvolvedores e administradores de banco de dados. Em um movimento há muito esperado, o PostgreSQL finalmente anunciou a descontinuação do suporte para senhas criptografadas com MD5. Essa decisão chega como parte de um esforço contínuo para melhorar a segurança do popular banco de dados de código aberto.

Por que o MD5 está sendo descontinuado?

O MD5, amplamente usado como um algoritmo de hash criptográfico no passado, há muito é considerado obsoleto. Suas vulnerabilidades incluem:

  • Ataques de força bruta: A velocidade do MD5 permite que ele seja facilmente quebrado por hardware moderno.
  • Pass-the-hash attacks: Em senhas MD5 no PostgreSQL, um invasor que obtenha o nome de usuário e o hash é capaz de autenticar-se sem precisar da senha original.

Desde a introdução do SCRAM-SHA-256 no PostgreSQL 10, os usuários têm à disposição um método significativamente mais seguro para armazenamento de senhas. Este é agora o padrão para o parâmetro password_encryption desde o PostgreSQL 14.

O plano de descontinuação gradual

Para garantir uma transição suave, o PostgreSQL implementou um cronograma de descontinuação em quatro etapas, que culminará em 2028:

  1. PostgreSQL 18: O suporte ao MD5 permanece ativo, mas é declarado obsoleto. Avisos de descontinuação serão emitidos ao criar ou alterar senhas MD5, e a documentação refletirá claramente sua descontinuação iminente.
  2. PostgreSQL 19: Ainda será possível autenticar e atualizar sistemas que usam senhas MD5, mas a criação de novas senhas nesse formato será desativada.
  3. PostgreSQL 20: Autenticação com senhas MD5 será completamente desativada. Usuários precisarão migrar para o SCRAM-SHA-256 ou outro formato seguro antes da atualização.
  4. PostgreSQL 21: Todo suporte a senhas MD5 será removido. Atualizações a partir de versões anteriores que ainda utilizem MD5 não serão permitidas.

Como se preparar para a transição

Para administradores de sistemas e desenvolvedores que ainda utilizam MD5, a adoção antecipada do SCRAM-SHA-256 é essencial. Aqui estão algumas etapas práticas para facilitar a transição:

  1. Auditoria de senhas existentes:
  • Verifique se há contas que ainda utilizam MD5.
  • Identifique usuários e aplicações que dependem dessas senhas.
  1. Configuração do password_encryption:
  • Altere o parâmetro password_encryption para scram-sha-256 no arquivo de configuração do PostgreSQL.
  • Garanta que todas as novas senhas sejam armazenadas no formato mais seguro.
  1. Atualização de senhas antigas:
  • Use comandos como ALTER ROLE para redefinir senhas existentes para o formato SCRAM-SHA-256.
  • Reforce a necessidade de senhas fortes e únicas.
  1. Testes de compatibilidade:
  • Certifique-se de que aplicações que interagem com o banco de dados sejam compatíveis com SCRAM-SHA-256.

O impacto na comunidade

A decisão de descontinuar o MD5 foi amplamente apoiada pela comunidade PostgreSQL. Embora possa trazer desafios para organizações que ainda dependem do MD5, a transição para SCRAM-SHA-256 representa um passo significativo para melhorar a segurança.

Conclusão

Com a evolução constante das ameaças cibernéticas, migrar para métodos mais seguros é essencial. A descontinuação do MD5 no PostgreSQL é uma oportunidade para reforçar a segurança e preparar sistemas para o futuro. Aproveite esse momento para revisar práticas de segurança e garantir que sua infraestrutura esteja protegida contra ameaças modernas.