Quer impor senhas maiores que 14 caracteres em controladores de domínio com Windows Server 2019? Veja como ultrapassar o limite da Default Domain Policy usando Fine‑Grained Password Policies (PSO) para exigir 16, 20 ou mais caracteres, com controle fino e implantação segura.
Visão geral e objetivo
Em domínios do Active Directory, a Default Domain Policy limita o “Minimum password length” a 14 caracteres. Para organizações que querem adotar passphrases e padrões mais fortes (por exemplo, mínimo de 16, 20 ou 24 caracteres), a abordagem recomendada é usar Fine‑Grained Password Policies (FGPP), implementadas via Password Settings Objects (PSO). Elas permitem aplicar políticas diferentes por usuário ou por grupo de segurança, sem alterar a política padrão do domínio e sem afetar contas que não precisam de requisitos mais rígidos.
Como as Fine‑Grained Password Policies funcionam
FGPPs são objetos armazenados diretamente no AD DS (CN=Password Settings Container,CN=System,<Domínio>
). Cada PSO contém parâmetros de senha e bloqueio de conta equivalentes aos da política de domínio, porém com faixa de valores ampliada para comprimento mínimo (até 255). A aplicação da FGPP ocorre quando um usuário:
- é alvo direto do PSO, ou
- é membro de um grupo de segurança global ao qual o PSO é associado.
Se múltiplos PSOs forem aplicáveis ao mesmo usuário, o AD resolve o “vencedor” pela propriedade Precedence: o menor número tem prioridade. Evite empates de precedência.
Pré‑requisitos e limitações
- Nível funcional do domínio igual ou superior a Windows Server 2008.
- Permissões: por padrão, membros de Domain Admins criam/alteram PSOs; é possível delegar.
- Âmbito de aplicação: PSO aplica‑se a usuários e a grupos de segurança globais (não se aplica a grupos de distribuição nem a grupos locais de domínio; evite universais para FGPP).
- Unidades Organizacionais não são alvos diretos. Para atingir uma OU, utilize grupos.
- Replicação: mudanças entram em vigor após replicarem para os controladores de domínio.
- Contas locais de estações/servidores não são impactadas; elas seguem as políticas locais/GPO vinculadas às máquinas.
Comparativo rápido
Recurso | Default Domain Policy | Fine‑Grained Password Policy (PSO) |
---|---|---|
Escopo | Todo o domínio | Usuários e grupos de segurança globais selecionados |
Comprimento mínimo | Até 14 | De 1 a 255 |
Granularidade | Única política | Múltiplos PSOs com precedência |
Local de configuração | GPO (GPMC) | ADAC / PowerShell / ADSI |
Aplicação imediata | Depende de GP processing | Efetiva após replicação do AD |
Procedimento no Active Directory Administrative Center
- Abrir o Active Directory Administrative Center (ADAC).
- Navegar até
<Domínio> → System → Password Settings Container
. - Clicar em Novo → Password Settings.
Esse caminho cria um novo PSO com todos os parâmetros necessários para compor a política de senha e bloqueio de conta desejada.
Configuração do Password Settings Object
Ao criar o PSO, defina os seguintes campos:
Campo | O que é | Sugestão prática |
---|---|---|
Name | Identificador amigável | Use padrão consistente, por ex.: PSO‑Prod‑Privileged‑16 |
Precedence | Número inteiro; menor vence | Reserve faixas: 10 para contas privilegiadas, 20 para aplicações, 30 para usuários |
Minimum password length | Mínimo de caracteres | Defina > 14 (recomendado ≥ 16) |
Enforce password history | Quantidade de senhas lembradas | 24 ou mais para reduzir “reciclagem” |
Minimum/Maximum password age | Tempo mínimo/máximo antes de trocar | 24h mínimo para evitar “pula‑pula”; máximo conforme política (90–365 dias) |
Password must meet complexity | Requisito de complexidade | Habilite; incentive passphrases com palavras aleatórias |
Reversible encryption | Armazenar reversível | Desabilite, salvo exigência legada |
Account lockout | Limiar, duração, janela de observação | Equilibre segurança e usabilidade (p.ex., 10 tentativas, 15 min) |
Aplicação correta e precedência
Na criação/edição do PSO, use o campo Direct applies to para adicionar alvos. Boas práticas:
- Prefira grupos de segurança globais (ex.:
GRPUsuariosSensiveis
), não OUs. - Evite associar PSO diretamente a usuários, exceto em testes controlados.
- Documente a precedência e evite números duplicados.
PSO | Alvo | Precedence | Comprimento mínimo | Resultado se um usuário pertencer a todos |
---|---|---|---|---|
PSO‑Privileged‑Strict | GRP_Admins | 10 | 20 | Vence por ter precedência menor |
PSO‑Apps‑Service | GRP_ServiceAccounts | 20 | 24 | Perde na disputa; só vale se o usuário não estiver no PSO anterior |
PSO‑Users‑Baseline | GRP_Usuarios | 30 | 16 | Base para quem não cai em PSO mais prioritário |
Verificação e auditoria
Valide a configuração e o “resultado efetivo” por usuário com PowerShell:
# Listar todos os PSOs
Get-ADFineGrainedPasswordPolicy -Filter * | Select-Object Name,Precedence,MinPasswordLength,PasswordHistoryCount
Ver a política resultante para um usuário
Get-ADUserResultantPasswordPolicy -Identity \ |
Select-Object Name,Precedence,MinPasswordLength,ComplexityEnabled,MaxPasswordAge,LockoutThreshold
Conferir o atributo msDS-ResultantPSO diretamente
Get-ADUser -Identity \ -Properties msDS-ResultantPSO |
Select-Object Name,@{n='ResultantPSO';e={$\_.'msDS-ResultantPSO'}}
Dica: a diretiva “Minimum password length audit” permite medir tentativas abaixo de um alvo (por exemplo, 16) sem impor o bloqueio. Útil em projetos pilot‑first para avaliar impacto antes da virada.
Automação com PowerShell
Crie e aplique PSOs de forma reprodutível. Exemplo de criação para um mínimo de 16 caracteres:
# Requer RSAT-AD-PowerShell no host de administração
New-ADFineGrainedPasswordPolicy -Name 'PSO-Users-16' `
-Precedence 30 `
-MinPasswordLength 16 `
-PasswordHistoryCount 24 `
-MinPasswordAge (New-TimeSpan -Days 1) `
-MaxPasswordAge (New-TimeSpan -Days 365) `
-ComplexityEnabled $true `
-ReversibleEncryptionEnabled $false `
-LockoutDuration (New-TimeSpan -Minutes 15) `
-LockoutObservationWindow (New-TimeSpan -Minutes 15) `
-LockoutThreshold 10
Aplicar a um grupo de segurança global
Add-ADFineGrainedPasswordPolicySubject -Identity 'PSO-Users-16' -Subjects 'GRP\_Usuarios'
Para serviços, um segundo PSO com menos rotações de senha, mas comprimento mais alto:
New-ADFineGrainedPasswordPolicy -Name 'PSO-Service-24' `
-Precedence 20 `
-MinPasswordLength 24 `
-PasswordHistoryCount 12 `
-MinPasswordAge (New-TimeSpan -Hours 8) `
-MaxPasswordAge (New-TimeSpan -Days 180) `
-ComplexityEnabled $true `
-ReversibleEncryptionEnabled $false
Add-ADFineGrainedPasswordPolicySubject -Identity 'PSO-Service-24' -Subjects 'GRP_ServiceAccounts'
Estratégias de direcionamento
- Por risco: contas privilegiadas, operadores de backup e contas de serviço críticas com requisitos mais fortes.
- Por função: finanças, jurídico, P&D.
- Por aplicação: grupos de usuários de sistemas sensíveis ou expostos à internet.
- Por geografia: se legislação local impõe requisitos mínimos.
Plano de implantação
- Levantamento: inventarie grupos e sobreposições de membros.
- Piloto: habilite “Minimum password length audit” e comunique passphrases.
- Criação de PSOs: defina precedência e nomes consistentes.
- Aplicação gradual: inicie por grupos menores e expanda.
- Monitoração: acompanhe falhas de troca de senha e chamados de suporte.
- Virada: comunique o prazo final e ofereça self‑service de redefinição quando disponível.
Interações com políticas do domínio e considerações
- A Default Domain Policy permanece com limite de 14 e continua a reger quem não tem PSO aplicável.
- Quando um PSO se aplica a um usuário, os parâmetros de senha/lockout desse PSO substituem os da política de domínio para aquele usuário.
- GPOs de senha locais em servidores membros/estações não afetam contas de domínio; já PSO é decidido no controlador de domínio no momento da alteração de senha.
- FGPPs não exigem
gpupdate
; entram em vigor após replicação AD. - Ambientes híbridos: com sincronização para nuvem, a imposição para contas on‑premises segue o PSO, a menos que o fluxo de alteração ocorra via outro provedor. Ajuste conforme arquitetura.
Boas práticas de segurança e usabilidade
- Adote passphrases (por exemplo, quatro palavas aleatórias) com mínimo de 16+ caracteres.
- Combine com MFA para contas privilegiadas.
- Evite expirar senhas com frequência inadequada; foque em comprimento e detecção de comprometimento.
- Implemente LAPS ou equivalente para senhas locais de administradores das máquinas.
- Oriente sobre gerenciadores de senhas e bloqueio de tela.
Resolução de problemas
Sintoma | Causa provável | Correção |
---|---|---|
Usuário ainda limitado a 14 | PSO não se aplica ao usuário/grupo correto ou precedência perdendo disputa | Verifique com Get-ADUserResultantPasswordPolicy ; ajuste Direct applies to e Precedence |
PSO aplicado a OU não funciona | FGPP não se aplica a OU | Crie grupo de segurança global, adicione os usuários e associe o PSO ao grupo |
Conflito entre PSOs | Dois PSOs atingem o mesmo usuário | Padronize precedências; evite empates; documente a hierarquia |
Contas de serviço quebram | Aplicativo não suporta troca forçada ou comprimento alto | Isolar em grupo próprio e usar PSO específico com janela de troca compatível |
Equipe de suporte recebe muitas solicitações | Comunicação insuficiente e falta de automação | Campanha de passphrases, portal de autoatendimento e guias rápidos |
Checklist de implementação
Item | Status | Observação |
---|---|---|
Nível funcional verificado | ✔ | Domínio em Windows Server 2008+ |
Grupos de destino definidos | ✔ | Globais, por função/risco |
Precedência planejada | ✔ | Faixas reservadas por categoria |
PSOs criados no ADAC/PowerShell | ✔ | Nomes padronizados |
Aplicação aos grupos | ✔ | “Direct applies to” validado |
Validação com cmdlets | ✔ | Get-ADUserResultantPasswordPolicy |
Comunicação aos usuários | ✔ | Dicas de passphrases e prazos |
Modelos de nomenclatura e governança
Padronize para facilitar suporte e auditoria:
PSO‑<Ambiente>‑<Público>‑<MinLen>
(ex.:PSO‑Prod‑Usuarios‑16
)- Documente em um repositório: nome, distinguishedName, precedência, grupos alvo, objetivo.
- Evite precedências duplicadas; se ocorrer, ajuste imediatamente para remover ambiguidade.
Exemplos práticos
Política reforçada para administradores
- Criar
PSO‑Privileged‑20
(precedência 10, mínimo 20, histórico 24, complexidade habilitada). - Aplicar ao grupo global
GRP_Admins
. - Validar com
Get-ADUserResultantPasswordPolicy -Identity <Administrador>
.
Política base para usuários
- Criar
PSO‑Users‑16
(precedência 30, mínimo 16). - Aplicar ao grupo global
GRP_Usuarios
. - Manter a Default Domain Policy inalterada (limite 14) para quem não está nesses grupos.
Aceleração com script para atingir uma OU
Como OUs não são alvo direto, você pode popular um grupo com todos os usuários de uma OU e aplicar o PSO a esse grupo. Exemplo:
$ou = 'OU=Vendas,DC=contoso,DC=local'
$grupo = 'GRPVendasUsuarios'
Get-ADUser -SearchBase $ou -LDAPFilter '(objectClass=user)' -SearchScope Subtree |
ForEach-Object { Add-ADGroupMember -Identity $grupo -Members $_.SamAccountName -ErrorAction SilentlyContinue }
Add-ADFineGrainedPasswordPolicySubject -Identity 'PSO-Users-16' -Subjects \$grupo
Automatize a atualização do grupo periodicamente (por tarefa agendada) para acompanhar entradas e saídas da OU.
Expiração e força de redefinição
Para exigir troca imediata após criar o PSO, defina expiração ou marque usuários para alteração no próximo logon:
# Forçar alteração no próximo logon para um conjunto de usuários
Get-ADGroupMember GRP_Usuarios | ForEach-Object {
Set-ADUser $_.SamAccountName -ChangePasswordAtLogon $true
}
Notas rápidas
Tema | Dica |
---|---|
Default Domain Policy | Permanece com limite de 14; não conflita com FGPP, desde que a precedência do PSO esteja clara. |
Auditoria de comprimento | “Minimum password length audit” mede, mas não impõe; útil para estatísticas antes de exigir. |
Boas práticas | Passphrases longas (≥ 16) com MFA elevam a resistência a ataques e melhoram usabilidade. |
Automação | Use New-ADFineGrainedPasswordPolicy e Add-ADFineGrainedPasswordPolicySubject para criar/aplicar via script. |
Perguntas frequentes
Posso aplicar FGPP a uma OU? Não diretamente. Crie um grupo de segurança global com os usuários da OU e aplique o PSO ao grupo.
FGPP substitui a política de domínio? Apenas para os usuários aos quais o PSO se aplica. Os demais seguem a política do domínio.
É necessário gpupdate
? Não. O PSO é avaliado pelo controlador de domínio no momento da alteração de senha; vale após replicação.
Qual é o limite máximo de “Minimum password length” no PSO? O campo aceita valores de 1 a 255, permitindo passphrases longas.
Grupos universais funcionam? Para FGPP, utilize grupos de segurança globais. Evite universais e locais de domínio para essa finalidade.
Conclusão
Ao adotar Fine‑Grained Password Policies, você elimina a limitação histórica de 14 caracteres e passa a exigir senhas realmente fortes onde importa, sem penalizar todo o domínio. Com uma estratégia clara de precedências, grupos bem definidos, validação por PowerShell e comunicação adequada, é possível migrar com segurança para um patamar superior de proteção usando senhas mínimas de 16, 20 ou mais caracteres.