DBAtlas · Atlas de operações de banco de dados

Política de senhas, bloqueio por falha de login e rotação de senha sem downtime

MySQLSegurança

Comando

-- Password strength policy (component)
INSTALL COMPONENT 'file://component_validate_password';
SET PERSIST validate_password.policy = 'MEDIUM';
SET PERSIST validate_password.length = 12;
SELECT VALIDATE_PASSWORD_STRENGTH('Summer2024') AS score;

-- Failed-login lockout, password lifetime, history
ALTER USER 'ana'@'%' FAILED_LOGIN_ATTEMPTS 5 PASSWORD_LOCK_TIME 1
  PASSWORD EXPIRE INTERVAL 90 DAY PASSWORD HISTORY 5 PASSWORD REUSE INTERVAL 365 DAY;

-- Zero-downtime rotation: dual password
ALTER USER 'svc_app'@'10.0.%' IDENTIFIED BY 'N3w#AppSecret2025' RETAIN CURRENT PASSWORD;
-- Once every application uses the new password
ALTER USER 'svc_app'@'10.0.%' DISCARD OLD PASSWORD;

O que faz

Habilita uma política que rejeita senhas fracas, bloqueia temporariamente contas após falhas de login consecutivas e define regras de validade e reutilização de senha; com senhas duplas, a senha de uma conta de serviço é trocada sem downtime enquanto as aplicações são atualizadas uma a uma.

Quando usar

Para auditorias de segurança / compliance (PCI, ISO 27001) e rotação de senhas de contas de serviço.

Atenção

A política se aplica apenas a senhas novas / alteradas; ela não detecta as fracas já existentes. Em contas de serviço, FAILED_LOGIN_ATTEMPTS permite que um único cliente mal configurado bloqueie a conta e cause uma indisponibilidade; use-o em contas de pessoas. PASSWORD_LOCK_TIME é em dias (UNBOUNDED: até o desbloqueio manual); desbloqueie com ALTER USER ... ACCOUNT UNLOCK. PASSWORD EXPIRE causa indisponibilidades inesperadas em contas de serviço; nelas prefira PASSWORD EXPIRE NEVER mais rotação com senha dupla.

Abrir no DBAtlas →

Relacionados