image

Access unlimited bootcamps and 650+ courses forever

75
%OFF
Article image

IK

Ivan Kovalinkinas23/10/2025 18:22
Share

A GPO padrão do seu AD pode ser o elo fraco — veja como corrigir.

  • #Segurança da Informação

💥 Sua Senha Está Realmente Segura? Entenda Como Fortalecer a Política de Senhas do Active Directory

Descubra como pequenas configurações podem proteger seu ambiente corporativo contra ataques de força bruta e aumentar a conformidade de segurança.

🧠 Introdução

Trago hoje um conceito de segurança muito importante — gestão de senha no ambiente corporativo.

Na estrutura padrão, quando é configurado o AD DS (Active Directory Domain Services), é criada automaticamente uma GPO chamada “Default Domain Policy”, aplicada à raiz do domínio.

No entanto, essa política padrão não segue todas as boas práticas de segurança, sendo suscetível a ataques de força bruta caso nenhuma alteração seja realizada.

🧱 Política Padrão: Default Domain Policy

image

O maior problema nesta GPO é o parâmetro "Account lockout threshold" que como 0 (desativado), o qual não efetua o bloqueio de conta após tentativas consecutivas de erro. Associado ao tamanho mínimo padrão ser 7 caracteres, isso facilitaria muito a uma pessoa mal intencionada efetuar tentativas de descobrir a senha através de força bruta.

🧩 Melhorias Recomendadas

Há a possibilidade de editar esta GPO e aprimorar sua segurança, por exemplo:

  • 🔁 Definir a idade máxima da senha para 30 dias (forçando troca mensal).
  • 🔠 Aumentar o tamanho mínimo exigido (adiciona complexidade).
  • 🚷 Ativar bloqueio de conta por tentativas falhas (evita força bruta).
  • Definir tempo de bloqueio e reinício do contador (bloqueia temporariamente o acesso).

Essas são alterações simples, mas que fazem grande diferença — além de adequar o ambiente às exigências de auditoria e compliance.

⚙️ Políticas de Senha de Granularidade Fina (FGPP)

Agora vamos além: a Fine Grained Password Policy (FGPP) permite definir políticas diferentes por grupo ou usuário — algo impossível via GPO padrão.

  • ⚖️ Caso um usuário esteja em uma GPO de senha e em uma FGPP, a FGPP prevalecerá.
  • Contudo, para manter uma administração organizada, o ideal é adotar apenas um modelo principal.

🧭 Cenário Prático

Vamos aplicar políticas de senha para os grupos abaixo e utilizaremos o PowerShell como ferramenta de administração.

  • Domain Users → usuários comuns
  • Domain Admins → administradores do domínio
  • Terceiros → prestadores de serviço externos

⚙️ Parâmetros do Cmdlet New-ADFineGrainedPasswordPolicy

  • Name – Nome da política  
  • DisplayName – Nome de exibição  
  • Precedence – Quanto maior o valor, menor a prioridade  
  • PasswordHistoryCount – Quantas senhas anteriores são lembradas  
  • MaxPasswordAge – Tempo máximo de validade da senha  
  • MinPasswordAge – Tempo mínimo antes de permitir nova troca  
  • MinPasswordLength – Tamanho mínimo exigido  
  • ComplexityEnabled – Exige senhas complexas  
  • ReversibleEncryptionEnabled – Impede criptografia reversível  
  • LockoutThreshold – Tentativas incorretas antes do bloqueio  
  • LockoutDuration – Duração do bloqueio  
  • LockoutObservationWindow – Tempo de reset do contador  
  • Description – Descrição da política  
  • ProtectedFromAccidentalDeletion – Protege contra exclusão acidental  

🧱 Exemplo de Implementação

▶️ Domain Users

$policyParams = @{
  Name                            = 'FGPP-Domain-Users'
  DisplayName                     = 'FGPP-Domain-Users'
  Precedence                      = 100
  PasswordHistoryCount            = 24
  MaxPasswordAge                  = '60.00:00:00'
  MinPasswordAge                  = '1.00:00:00'
  MinPasswordLength               = 12
  ComplexityEnabled               = $true
  ReversibleEncryptionEnabled     = $false
  LockoutThreshold                = 5
  LockoutDuration                 = '00:30:00'
  LockoutObservationWindow        = '00:15:00'
  Description                     = "Política de senha granular aplicada ao grupo Domain Users."
  ProtectedFromAccidentalDeletion = $true
}

New-ADFineGrainedPasswordPolicy @policyParams
Add-ADFineGrainedPasswordPolicySubject FGPP-Domain-Users -Subjects 'Domain Users'

🛡️ Domain Admins

$policyParams = @{
  Name                            = 'FGPP-Domain-Admins'
  DisplayName                     = 'FGPP-Domain-Admins'
  Precedence                      = 50
  PasswordHistoryCount            = 24
  MaxPasswordAge                  = '30.00:00:00'
  MinPasswordAge                  = '1.00:00:00'
  MinPasswordLength               = 30
  ComplexityEnabled               = $true
  ReversibleEncryptionEnabled     = $false
  LockoutThreshold                = 5
  LockoutDuration                 = '00:30:00'
  LockoutObservationWindow        = '00:30:00'
  Description                     = "Política de senha granular aplicada ao grupo Domain Admins."
  ProtectedFromAccidentalDeletion = $true
}

New-ADFineGrainedPasswordPolicy @policyParams
Add-ADFineGrainedPasswordPolicySubject FGPP-Domain-Admins -Subjects 'Domain Admins'

👥 Terceiros

$policyParams = @{
  Name                            = 'FGPP-Terceiros'
  DisplayName                     = 'FGPP-Terceiros'
  Precedence                      = 50
  PasswordHistoryCount            = 24
  MaxPasswordAge                  = '30.00:00:00'
  MinPasswordAge                  = '1.00:00:00'
  MinPasswordLength               = 15
  ComplexityEnabled               = $true
  ReversibleEncryptionEnabled     = $false
  LockoutThreshold                = 5
  LockoutDuration                 = '00:30:00'
  LockoutObservationWindow        = '00:30:00'
  Description                     = "Política de senha granular aplicada ao grupo Terceiros."
  ProtectedFromAccidentalDeletion = $true
}

New-ADFineGrainedPasswordPolicy @policyParams
Add-ADFineGrainedPasswordPolicySubject FGPP-Domain-Admins -Subjects 'Terceiros'

⚖️ Precedência e Aplicação

Nossa política padrão é a FGPP-Domain-Users, pois é aplicada ao grupo Domain Users — assim, todas as contas novas estarão automaticamente cobertas.

Caso precise criar novas políticas mais específicas, basta definir uma nova com precedência menor (valor numérico mais baixo), que sobrepõe as demais.

🧭 Administração via PowerShell

  • Listar todas as políticas
Get-ADFineGrainedPasswordPolicy -Filter *
  • Consultar uma política específica
Get-ADFineGrainedPasswordPolicy FGPP-Domain-Users

  • Ver política aplicada a um usuário
Get-ADUserResultantPasswordPolicy -Identity user.01
  • Desativar proteção de exclusão
Set-ADFineGrainedPasswordPolicy -Identity FGPP-Domain-Users -ProtectedFromAccidentalDeletion $false
  • Excluir política
Remove-ADFineGrainedPasswordPolicy -Identity FGPP-Domain-Users -Confirm:$false
  • Alterar configuração (Ex: idade máxima)
Set-ADFineGrainedPasswordPolicy -Identity FGPP-Domain-Users -MaxPasswordAge '30.00:00:00'

🧩 Conclusão

Essa foi uma abordagem ampla e prática sobre políticas de senha granulares (FGPP), trazendo uma visão de segurança corporativa e conformidade.

  • 💬 “Pequenos ajustes em políticas podem trazer grandes ganhos de segurança.”

Espero que este material contribua com sua gestão de identidade e acesso — e que compartilhe também um pouco da minha vivência e experiência em administração de infraestrutura.

- Links de referências:

Conteúdo desenvolvido por:

📘 Ivan Barbosa Kovalinkinas

Share
Recommended for you
Bradesco - GenAI & Dados
GitHub Copilot - Código na Prática
CI&T - Backend com Java & AWS
Comments (2)

IK

Ivan Kovalinkinas - 26/10/2025 15:31

Essa é uma boa pergunta, mas não há uma verdade absoluta.

Algumas abordagem podem resolver o problema do desenvolver ter o menos privilégio mas não ter sua atividade impactada, uma empresa com uma maturidade bem desenvolvida pode adotar a segmentação de funções/atividades.

Como uma esteira bem estruturada e o projeto maduro bem definido, não seria o problema saber as necessidades de acesso e permissões e as configurar corretamente ao time de desenvolvimento.

O problema de aplicar o menor privilégio e acabar impactando o desenvolvimento é o adicional "urgente pra ontem", com isso novos acessos em servidores, serviços e ambientes não mapeado no início do projeto se faz necessário o qual o desenvolvedor não teria o acesso.

DIO Community
DIO Community - 24/10/2025 08:47

Excelente, Ivan! Que artigo cirúrgico e essencial sobre Políticas de Senha Granulares (FGPP) no Active Directory! Você abordou um ponto crítico da Segurança da Informação em ambientes corporativos: a fragilidade da Default Domain Policy (GPO padrão) e a necessidade de fortalecer a gestão de identidades.

É fascinante ver como você demonstrou a implementação prática da FGPP via PowerShell, o que permite definir políticas diferentes por grupo (Admin, Usuário Comum, Terceiros) e sobrepor a política padrão.

Qual você diria que é o maior desafio para um desenvolvedor ou administrador ao aplicar o princípio do menor privilégio para gerenciar permissões no IAM, em termos de balancear a segurança com a flexibilidade para que os usuários possam realizar suas tarefas sem interrupções desnecessárias?