O ApsaraDB RDS for MySQL oferece o plugin validate_password para ajudar você a criar uma política de senha personalizada e aumentar a segurança do banco de dados.
Recursos
O ApsaraDB RDS for MySQL suporta o plugin validate_password, que permite definir requisitos detalhados de complexidade de senha para contas de banco de dados. É possível controlar as seguintes regras:
Se a senha pode ser igual ao nome da conta do banco de dados
Comprimento mínimo da senha
Quantidade mínima de letras maiúsculas e minúsculas
Quantidade mínima de dígitos
Quantidade mínima de caracteres especiais
Política de validação de força da senha
Pré-requisitos
A instância do ApsaraDB RDS for MySQL deve executar o MySQL 5,7 ou 8,0.
Observações de uso
-
A instalação do plugin validate_password no nó primário não é sincronizada automaticamente com o nó secundário
Em instâncias com arquitetura primária/secundária, como as edições High-availability Edition ou Cluster Edition, instale manualmente o plugin validate_password tanto no nó primário quanto no secundário. Realize um failover manual para fazer login no nó secundário e instalar o plugin. Se você instalar o plugin apenas no nó primário, o novo nó primário (originalmente o secundário) não terá o plugin após um failover, e a política de senha não entrará em vigor.
NotaApós a instalação do plugin, os parâmetros de política de senha configurados no console do ApsaraDB RDS são sincronizados automaticamente com o nó secundário. Não é necessário defini-los novamente.
-
Restrições de parâmetros principais e comportamento do sistema
O valor de
lengthdeve ser maior ou igual ao resultado denumber_count + (2 * mixed_case_count) + special_char_count. Se qualquer alteração de valor violar essa regra, o ApsaraDB RDS ajustará automaticamente o valor delengthpara ser igual ao resultado dessa fórmula. -
Regras aplicadas pelo ApsaraDB RDS
Independentemente das configurações da sua política personalizada, ao criar ou modificar uma senha usando o console do ApsaraDB RDS ou chamando uma operação de API (CreateAccount ou ResetAccountPassword), a senha deve sempre atender aos seguintes requisitos:
A senha deve ter entre 8 e 32 caracteres.
A senha deve conter caracteres de pelo menos três dos seguintes tipos: letras maiúsculas, letras minúsculas, dígitos e caracteres especiais (
!@#$%^&*()_+-=).
-
Como contornar o comprimento mínimo obrigatório de 8 caracteres (não recomendado)
Não é possível ignorar as verificações obrigatórias no console do ApsaraDB RDS alterando valores de parâmetros. Por exemplo, se você definir o comprimento mínimo da senha como 5, ainda precisará inserir uma senha de pelo menos 8 caracteres ao criar ou modificar uma senha.
Para definir uma senha com menos de 8 caracteres, use o comando
SET PASSWORDpara contornar a restrição de validação obrigatória do console do ApsaraDB RDS e definir diretamente uma senha de 5 caracteres. Este método destina-se apenas a ambientes de teste ou cenários especiais e não é recomendado para ambientes de produção.
Faturamento
O recurso de política de senha personalizada é gratuito.
Etapa 1: Instalar o plugin validate_password
Use uma conta privilegiada para conectar-se à instância do ApsaraDB RDS for MySQL.
-
Execute o seguinte comando SQL para instalar o plugin
validate_password.INSTALL PLUGIN validate_password SONAME 'validate_password.so'; -
Execute o seguinte comando SQL para verificar se o plugin está instalado.
SHOW GLOBAL VARIABLES LIKE 'validate_password%';Uma saída semelhante à seguinte indica que o plugin foi instalado com sucesso.
Variable_name Value validate_password_dictionary_file validate_password_length 8 validate_password_mixed_case_count 1 validate_password_number_count 1 validate_password_policy MEDIUM validate_password_special_char_count 1
Etapa 2: Modificar parâmetros da política de senha
Acesse a página Instances. Na barra de navegação superior, selecione a região onde a instância RDS reside. Em seguida, localize a instância RDS e clique em ID da instância.
No painel de navegação à esquerda, clique em Parameters.
-
Pesquise e modifique os parâmetros que começam com
loose_validate_password. Para mais informações, consulte Modificar os parâmetros de uma instância do ApsaraDB RDS for MySQL.NotaAntes de modificar os parâmetros, certifique-se de ter instalado o plugin validate_password. Caso contrário, suas alterações não entrarão em vigor.
Antes de modificar os parâmetros, revise as restrições de parâmetros principais descritas na seção Observações de uso. Para mais informações sobre políticas de senha, consulte a documentação oficial do MySQL.
Parâmetro
Versões do BD
Descrição
Exemplo (MySQL 5,7)
loose_validate_password_check_user_name
5,7
Define se a senha pode ser igual ao nome da conta. Valores válidos:
-
ON (padrão): A senha pode ser igual ao nome da conta.
-
OFF: A senha não pode ser igual ao nome da conta.
OFF: Proíbe que a senha seja igual ao nome da conta.
loose_validate_password_policy
8,0/5,7
Especifica a política de força da senha. Valores válidos:
-
0 (LOW): Verifica apenas o comprimento da senha.
-
1 (MEDIUM, valor padrão): Verifica o comprimento da senha, quantidade de dígitos, uso de maiúsculas/minúsculas e caracteres especiais.
-
2 (STRONG): Verifica o comprimento da senha, quantidade de dígitos, letras maiúsculas e minúsculas, caracteres especiais e correspondências em um arquivo de dicionário.
NotaComo o ApsaraDB RDS não suporta arquivos de dicionário personalizados, este nível de política equivale a MEDIUM.
1: Verifica o comprimento da senha, além da quantidade de dígitos, letras maiúsculas e minúsculas e caracteres especiais.
loose_validate_password_length
8,0/5,7
Comprimento mínimo da senha.
-
MySQL 5,7: Valores válidos: 0 a 256. O valor padrão é 8.
-
MySQL 8,0: Valores válidos: 1 a 12. O valor padrão é 8.
10: Define o comprimento mínimo da senha como 10 caracteres (atendendo ao requisito: 10 >= 2 + (2 * 2) + 1 = 7).
loose_validate_password_number_count
5,7
Quantidade mínima de dígitos na senha.
Valores válidos: 0 a 256. O valor padrão é 1.
2: A senha deve conter pelo menos 2 dígitos.
loose_validate_password_mixed_case_count
5,7
Define a quantidade mínima de letras maiúsculas e minúsculas exigidas na senha. Por exemplo, um valor de 1 exige pelo menos uma letra maiúscula e uma minúscula.
Valores válidos: 0 a 256. O valor padrão é 1.
2: Exige que a senha contenha pelo menos 2 letras maiúsculas e 2 minúsculas.
loose_validate_password_special_char_count
5,7
Quantidade mínima de caracteres especiais na senha.
Valores válidos: 0 a 256. O valor padrão é 1.
1: A senha deve conter pelo menos 1 caractere especial.
Tópicos relacionados
Defina uma senha para uma conta de banco de dados usando o console do ApsaraDB RDS (Criar uma conta de banco de dados ou Redefinir a senha de uma conta de banco de dados) ou chamando uma operação de API (CreateAccount ou ResetAccountPassword).
Para restringir as permissões de uma conta de banco de dados, consulte Modificar permissões de conta, Permitir que uma conta acesse o banco de dados a partir de endereços IP específicos e Permitir que uma conta acesse apenas tabelas, visualizações ou colunas específicas.