• Sign in
 

LATAM Team blog

Search Blogs
Tags
  • Cloud
  • Cluster
  • Crash
  • Desarrollo
  • Desenvolvimento
  • Directory Services
  • DST
  • Español
  • Exchange/Outlook
  • Hang
  • High Availability
  • IIS
  • Networking
  • Office
  • People
  • Performance
  • Português
  • PowerShell Scripts
  • Security
  • Setup
  • Sharepoint
  • SQL
  • Virtualization
  • Windbg Scripts
  • Windows
Blog - News

Where Are You Coming From Today?

Where are you now?

Follow us on:

Options
  • Blog Home
  • About
  • Share this
  • RSS for posts
  • Atom
  • RSS for comments
Archive
Archives
  • May 2013 (4)
  • April 2013 (5)
  • March 2013 (6)
  • February 2013 (3)
  • January 2013 (3)
  • December 2012 (2)
  • November 2012 (1)
  • October 2012 (4)
  • September 2012 (5)
  • August 2012 (2)
  • July 2012 (2)
  • June 2012 (3)
  • May 2012 (13)
  • April 2012 (6)
  • March 2012 (6)
  • February 2012 (4)
  • January 2012 (7)
  • December 2011 (11)
  • October 2011 (6)
  • September 2011 (1)
  • August 2011 (3)
  • July 2011 (7)
  • June 2011 (6)
  • May 2011 (5)
  • April 2011 (2)
  • March 2011 (13)
  • February 2011 (1)
  • January 2011 (5)
  • December 2010 (6)
  • November 2010 (1)
  • October 2010 (6)
  • September 2010 (2)
  • August 2010 (3)
  • July 2010 (3)
  • June 2010 (5)
  • May 2010 (1)
  • April 2010 (10)
  • March 2010 (21)
  • February 2010 (8)
  • January 2010 (3)
  • December 2009 (5)
  • November 2009 (5)
  • October 2009 (6)
  • September 2009 (8)
  • August 2009 (9)
  • July 2009 (1)
  • June 2009 (3)
  • May 2009 (2)
  • April 2009 (7)
  • March 2009 (4)
  • February 2009 (7)
  • January 2009 (7)
  • December 2008 (8)
  • November 2008 (7)
  • October 2008 (22)
  • September 2008 (17)
  • August 2008 (13)
  • July 2008 (11)
  • June 2008 (7)
  • May 2008 (3)
  • April 2008 (2)
  • March 2008 (6)
  • January 2008 (4)
  • December 2007 (9)
  • November 2007 (4)
  • October 2007 (3)
  • September 2007 (8)
  • August 2007 (4)
  • July 2007 (2)
  • June 2007 (5)
  • May 2007 (7)
  • April 2007 (9)
  • March 2007 (7)
  • February 2007 (6)
  • January 2007 (4)
  • December 2006 (14)
  • November 2006 (10)
  • October 2006 (10)
  • September 2006 (11)
  • August 2006 (15)
  • July 2006 (7)
  • June 2006 (14)
  • May 2006 (22)
  • April 2006 (16)
  • March 2006 (20)
  • January 2006 (1)

Cuidados ao manipular a base do Active Directory

TechNet Blogs > LATAM Team blog > Cuidados ao manipular a base do Active Directory

Cuidados ao manipular a base do Active Directory

LatamBlog
31 Oct 2008 5:24 PM
  • Comments 4

Por: Renie Aloisi Mansur / Revisado por: Diana Hernandez

Introdução

A utilização de scripts ou programas, desenvolvidos com o intuito de manipular a base de dados do Active Directory é muito comum para agilizar tarefas específicas.

Esta prática, ao ser feita com os devidos cuidados, proporciona ganho de tempo para determinadas ações. Todavia, quando um detalhe passa despercebido ou há utilização sem devido controle, resultados indesejados podem ocorrer.

Descrição do problema

A queixa inicial do cliente era extrema demora ao acessar uma aplicação web que solicitava autenticação num domain controller. Um sintoma mencionado, era alta utilização do lsass.exe no domain controller usado, seguido de lentidão ou impossibilidade de logon na aplicação.

O próprio cliente identificara a causa deste problema :). A aplicação consultava um grupo de segurança para efetuar a autenticação do domínio... até aí, sem mistérios. Contudo, na semana onde o impacto foi percebido, durante a resolução do problema, o cliente identificou que o grupo de segurança utilizado na autenticação tinha como membro “ele mesmo”! Isto causava uma espécie de loop durante a autenticação, gerando a lentidão e demais sintomas negativos no domain controller e, conseqüentemente, na aplicação.

Com o problema do cliente resolvido (removendo o grupo “dele mesmo”), o seguinte questionamento foi levantado:

“Como um grupo poderia ser adicionado a ele mesmo se, por padrão, isso não seria permitido?”

Para esclarecer esta dúvida, dependemos da resposta de como a ação foi realizada. O cliente não tinha certeza do que acontecera por ser um post-mortem (problema que não mais ocorre com a solicitação de análise da causa), conseqüentemente, para nós, chegou a tarefa de confirmar o conceito e simular as possibilidades :).

Ações iniciais

Antes de tudo, precisamos entender qual é o comportamento normal do produto ao executar a operação.

Para tal, dois grupos de escopo global e de tipo segurança chamados “TESTE” e “TESTE2” foram criados. Este último era membro do “TESTE” e a idéia era fazer com que ele também fosse membro “dele mesmo”, eis o resultado:`

v-60rema_Cuidados ao manipular a base do Active Directory_1

Como esperado, uma adição normal do grupo nele mesmo não foi permitida.

A partir deste momento, foi importante a geração de hipóteses de como o grupo foi adicionado “nele mesmo”. Se você também pensou num editor de baixo nível...sim...esta é uma possibilidade.

A adição de um grupo em outro, nada mais é que a alteração do atributo member ou memberOf do objeto em questão. Com isto em mente, a ação seguinte foi executar a mesma operação, utilizando o adsiedit.msc (ferramenta do support tools):

v-60rema_Cuidados ao manipular a base do Active Directory_2

Porém, ao confirmar as alterações, tanto editando o atributo member, como memberOf a ação não era concluída, recebendo a mensagem abaixo (o que é esperado do ponto de vista do Active Directory):

v-60rema_Cuidados ao manipular a base do Active Directory_3

Outra possibilidade seria a operação de escrita direta na base do Active Directory e entendimento de qual seria o comportamento apresentado. Para esse tipo de ação (dentre inúmeras outras úteis que esta ferramenta permite), podemos utilizar o ldp.exe. Para maiores informações sobre o ldp.exe, leia o white paper dele aqui:

Basicamente, tomamos os seguintes passos:

  1. Conectamos ao domain controller utilizando a porta 389 (connection -> connect e bind);
  2. Navegamos até o Menu View -> Tree;
  3. Localizamos o objeto a ser editado, e selecionamos modify (Menu Browse);
  4. Populamos o campo Values do atributo member com o Distinguished Name do objeto que seria adicionado a ele mesmo (CN=TESTE2,CN=Users,DC=B,DC=COM)
  5. Finalmente, selecionamos add, clicamos em enter, seguido de Run

v-60rema_Cuidados ao manipular a base do Active Directory_4

Após completar as ações acima, recebemos o seguinte resultado:

v-60rema_Cuidados ao manipular a base do Active Directory_5

Bingo! Esse output indica que a alteração foi realizada com sucesso. Ao abrirmos o Active Directory Users and Computers, observamos o grupo sendo membro “dele mesmo”:

v-60rema_Cuidados ao manipular a base do Active Directory_6

Explicamos ao cliente que, provavelmente um script ou programa foi executado, fazendo o acesso com privilégio elevado à base do Active Directory. Ou ainda, na pior das hipóteses, um usuário mal intencionado teria feito a alteração. O fato é que, independente de como, necessariamente, privilégios administrativos seriam exigidos.

Conclusão

Posteriormente, o cliente identificou que alguém, indevidamente, executou um script com ações semelhantes, que, causara a alteração da base do AD.

O importante neste caso foi esclarecer que, um ponto é o comportamento padrão do sistema operacional (por exemplo, adicionando o grupo pela GUI), outro é quando você escreve diretamente na base do Active Directory com permissões elevadas, assim, alterando seu comportamento padrão.

Informações adicionais

Há muitas ferramentas e links interessantes para compartilhar neste tipo de caso. Creio que esta seja a melhor parte:

  • AdInsight (semelhante ao Process Monitor, mas para Active Directory)
  • ADExplorer
  • ADModify
  • Script Center
  • Creating More Efficient Microsoft Active Directory-Enabled Applications
  • How to restore deleted user accounts and their group memberships in Active Directory`
  •  

Até o próximo artigo!

  • 4 Comments
Português, Directory Services, Windows
Comments
Comments
  • Alexandre Perazza
    4 Nov 2008 6:51 AM

    Ótimo post, parabéns!

  • Rodrigo Lugarinho
    5 Nov 2008 4:20 PM

    Ótimo post Renie, muito interessante.

  • Rodrigo Sorbara
    5 Nov 2008 5:18 PM

    Congrats Rema, keep it up!

  • good
    10 Nov 2008 6:32 AM

    muito bom!

Page 1 of 1 (4 items)
  • © 2013 Microsoft Corporation.
  • Terms of Use
  • Trademarks
  • Privacy & Cookies
  • 5.6.426.415
  • TechNet
  • Products
  • IT Resources
  • Downloads
  • Training
  • Support
Products
  • Windows
  • Windows
    Server
  • System
    Center
  • Internet
    Explorer
 
  • Office
  • Office 365
  • Exchange
    Server
 
  • SQL Server
  • SharePoint
    Products
  • Lync
  • See all products »
Resources
  • Evaluation Center
  • Learning Resources
  • Microsoft IT Camps
  • Microsoft Technical Communities
  • Microsoft Virtual Academy
  • Script Center
  • Server and Tools Blogs
  • Solution Accelerators
  • TechNet Blogs
 
  • TechNet Flash Newsletter
  • TechNet Gallery
  • TechNet Library
  • TechNet Magazine
  • TechNet Subscriptions
  • TechNet Video
  • TechNet Wiki
  • Windows Sysinternals
  • Virtual Labs
Solutions
  • Networking
  • Cloud and Datacenter
  • Security
  • Virtualization
Updates
  • Service Packs
  • Security Bulletins
  • Microsoft Update
Trials
  • Windows Server 2012
  • System Center 2012
  • Microsoft SQL Server 2012 SP1
  • Windows 8 Enterprise
  • See all trials »
Related Sites
  • Microsoft Download Center
  • TechNet Evaluation Center
  • Drivers
  • Compatability & Converters
  • Windows Sysinternals
  • TechNet Gallery
Training
  • Training Catalog
  • Class Locator
  • Microsoft Virtual Academy
  • Free Windows Server 2012 courses
  • Free Windows 8 courses
  • SQL Server training
  • e-Learning overview
Certifications
  • Certification overview
  • MCSA: Windows 8
  • Windows Server Certification (MCSE)
  • Private Cloud Certification (MCSE)
  • SQL Server Certification (MCSE)
Other resources
  • TechNet Events
  • Second shot for certification
  • Born To Learn blog
  • IT Camps
Support by product
  • Exchange Server
  • Forefront Server
  • Forefront Edge Security
  • Forefront Server Security
  • Internet Explorer
  • Office
  • SharePoint
 
  • SQL Server
  • System Center
  • Windows Server
  • Windows XP
  • Windows Vista
  • Windows 7
  • Windows 8
Other support links
  • Microsoft Premier Online
  • Microsoft Fix It Center
  • TechNet Forums
  • MSDN Forums
  • Security Bulletins & Advisories
  • International support solutions
  • Log a support ticket
  • Look up event IDs and error codes
Not an IT pro?
  • Microsoft Customer Support
  • Microsoft Community Forums