Aplicando uma política de grupo para Proxy baseado no local do computador

junho 1, 2014

Olá pessoal!

Neste post vamos falar mais um pouco sobre políticas de grupo e como aplicá-las em estações baseadas em seus nomes.

Em uma infraestrutura de serviço de diretório bem desenhada, o nome de servidores, estações de trabalho e dispositivos de rede seguem um padrão que define a qual local este dispositivo pertence por questões de organização e praticidade no momento de identificar tal dispositivo.

Ter um bom desenho de seu serviço de diretório facilita muito o gerenciamento e também algumas tarefas como aplicar políticas de grupo.

Para ilustrar a mecânica deste post, vamos imaginar a seguinte situação:

  • você possui vários sites.
  • cada site possui uma nomenclatura que identifica seus dispositivos.
  • cada site possui um proxy que deve ser utilizado pelos dispositivos deste site.
  • cada site possui um firewall de borda com o qual o proxy se comunica para navegar na Internet.
  • apenas dispositivos no mesmo site podem usar o proxy do site para evitar tráfego desnecessário no link que interconecta os sites.
  • existem usuário que utilizam 2 ou mais computadores e alguns destes não podem receber as configurações de proxy, pois devem passar diretamente pelo firewall de borda da localidade.

Em uma situação como esta, ter uma configuração do Active Directory Sites and Services bem desenhada refletindo sua infraestrutura de rede ajudaria muito no momento de aplicar um política de grupo com este objetivo. No entanto, existe casos e casos como por exemplo, a possibilidade de se aplicar esta polítia por sites, ou seja, todo computador que esteja dentro da subrede do site irá receber a política.

Neste exemplo, vamos assumir que a necessidade é aplicar apenas em computadores membros e não em servidores membros. Vamos assumir que você tenha 2 sites, neste exemplo, London (LDN) e Manchester (MCH), as subnets 10.10.10.160/28 para London e 10.10.10.176/28 para Manchester e que existem IP site links conectando ambos os sites para a replicação de objetos do serviço de diretório.

ds-group-policy-for-proxy-based-on-site-0001

Vamos assumir também que cada localidade possui um servidor com o arquivo de intrução .PAC do proxy com o nome como mostrado abaixo:

Digamos que eu não queira uma política de grupo para cada site (LDN_SetDefaultProxy, MCH_SetDefaultProxy, etc.) e que o uso do container Internet Explorer Maintenance não esteja disponível no momento de criar uma política de grupo. Como contornar esta situação?

Simples! Utilize uma política de grupo baseada em Group Policy Preference ou GPP e faça a alteração diretamente no registro do sistema baseado no nome do computador através de uma consulta WMI. Vamos ver então como isto é feito na prática.

Primeiramente, precisamos criar uma política de grupo com a finalidade de definirmos as configurações de proxy. Vamos criar uma política chamada GLOBAL_SetIEDefaultProxy como mostrado abaixo.

ds-group-policy-for-proxy-based-on-site-0002

Após criá-la, clique com o botão direiro sobre a política e escolha Edit para abrir o consolte Group Policy Management Editor. Navegue então até o container GLOBAL_SetIEDefaultProxy > User Configuration > Preferences > Windows Settings > Registry como mostrado na imagem a seguir.

ds-group-policy-for-proxy-based-on-site-0003

Agora vamos produzir os registros necessários para que o proxy possa ser definido no computadores membros. Vamos criar os registos na seguinte ordem:

  • Não devem existir nenhum opção de proxy configurada, pois o host irá sair diretamente pelo Gateway (Firewall de borda).
  • A opção Use Automatic Configuration Script deve estar marcada e definida para o proxy de London.
  • A opção Use Automatic Configuration Script deve estar marcada e definida para o proxy de Manchester.

Abra o painel de controle no computador onde você está criando o política de grupo e MUITA ATENÇÂO! caso esteja fazendo este tipo de alteração em um servidor em produção caso o mesmo utilize uma configuração de proxy para se comunicar externamente.

Minha recomendação é que você faça a instalação do RSAT em sua estação de trabalho e use-a para este tipo de procedimento. Abra o Painel de Controle em sua estação, abra Network and Internet > Internet Options, navegue até a guia Connections e clique no botão LAN Settings. Configure as opções como mostrado na imagem a seguir de acordo com as suas definições.

ds-group-policy-for-proxy-based-on-site-0004

Clique em OK e OK novamente para fechar a janela de Internet Options. Retorne novamente ao Group Policy Editor, clique com o botão direito sobre Registry e escolha New > Registry Item. Na nova janela no campo Key Path, clique no botão localizado ao direito do campo.

Na janela de navegação navegue até a subey HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Connections no registro e selecione com um clique o valor DefaultConnectionsSettings como mostrado na imagem abaixo.

ds-group-policy-for-proxy-based-on-site-0005

Clique no botão Select para selecionar o valor de registro. Você irá visualizar a janela de configuração do item de registro, tal como mostrado na imagem abaixo e não há necessidade de alterar nenhum item mais, desde que ele esteja como mostrado abaixo.

ds-group-policy-for-proxy-based-on-site-0006

Clique em Apply e Ok para finalizar esta parte. Clique com o botão direito sobre o novo item DefaultConnectionsSettings, escolha Rename e acrescente ao final o nome _ProxyException para identificarmos que este item está relacionado as estações que não devem ter a nenhum configuração de proxy.

ds-group-policy-for-proxy-based-on-site-0007

Abra novamente as Internet Options, guia Connections > botão LAN Settings, mas agora configure as opções de proxy para LDN como mostrado na imagem abaixo ou de acordo com o seu endereço de proxy.

ds-group-policy-for-proxy-based-on-site-0008

Retorne novamente o Group Policy Management Editor e repita os mesmos passos anteriores – crie um novo Registry Item, navegue até a mesma subkey informada anterioremente, selecione o valor DefaultConnectionSettings, configura as configurações, salve o item, mas renomeie este novo item acrescentando ao final _LDN para identificarmos a quem este item de registro pertence.

Novamente abra Internet Options, guia Connection > botão LAN Settings, configure as opções para o proxy de MCH, salve, crie novamente um novo Regitry Item, navegue até a subkey já conhecida, selecione o valor já conhecido, confira as configurações, salve e desta vez renomeie o item acrescentando ao final _MCH para identificarmos a quem este item de registro pertence.

No final, você deve visualizar os seguintes itens disponíveis:

ds-group-policy-for-proxy-based-on-site-0009

Agora que possuímos os itens de registro necessários para aplicarmos as configurações de proxy baseado na localidade, vamos criar o restante dos itens necessários para continuarmos e concluirmos esta tarefa.

Por questões de organização, eu recomendo que você crie um grupo ou mais grupos relacionados com a política de grupo para facilitar, organizar e permitir que algumas tarefas como esta que iremos fazer sejam possíveis de serem feitas. Muitas vezes uma política de grupo deverá ser aplicada a um grupo específico de objetos e não a todos os objetos em um domínio, sendo necessário a remoção do grupo padrão Authenticated Users como objeto alvo da política e a substituição por um grupo específico.

Crie então no seu domínio os grupos abaixo:

  • GLOBAL_SETIEDEFAULTPROXY
  • GLOBAL_SETIEDEFAULTPROXY_EXCEPTIONS

ds-group-policy-for-proxy-based-on-site-0010

O grupo GLOBAL_SETIEDEFAULTPROXY foi criado para a necessidade de se aplicar esta política em objetos específicos e o grupo GLOBAL_SETIEDEFAULTPROXY_EXCEPTIONS para conter os objetos que não devem receber qualquer configuração relacionada com o proxy.

Retorne ao console Group Policy Management Editor, clique com o botão direito sobre o item de registro DefaultConnectionSettings_ProxyException e escolha Properties. Clique na guia Common, marque a opção Item-level targeting e em seguida clique no botão Targeting….

ds-group-policy-for-proxy-based-on-site-0011

Agora é que vamos aprender a criar os filtros necessários para que cada item de registro seja aplicado em seu devido objeto e também mostrar por que definir um bom modelo de nome de computadores é algo muito importante em sua infraestrutura de serviço de diretório.

Clique no botão New Item e escolha a opção Security Group. Na parte inferior da janela a frente do campo Group, clique no botão … ao lado direito do campo, procure pelo grupo GLOBAL_SETIEDEFAULTPROXY_EXCEPTIONS e insira o mesmo clicando em OK na janela de pesquisa de objeto. Em seguida, marque a opção Computer in group como mostrado na imagem abaixo.

ds-group-policy-for-proxy-based-on-site-0012

O que nós acabamos de fazer neste momento? Nós estamos informando que este item de registro só poderá ser aplicado em computadores que sejam membros do grupo GLOBAL_SETIEDEFAULTPROXY_EXCEPTIONS. Clique em OK para concluir esta configuração, Apply e OK para fechar a janela do item de registro.

Vamos agora configurar o filtro para que as estações de London recebam as configurações de proxy de London. Clique com o botão direito sobre DefaultConnectionSettings_LDN e escolha Properties. Clique na guia Common, marque a opção Item-level targeting e em seguida clique no botão Targeting…. Clique no botão New item e selecione o item WMI Query.

No campo Query na parte inferior da janela, nós vamos utilizar a seguinte consulta WMI para o que desejamos:

Select * From Win32_ComputerSystem WHERE Name Like ‘StringToSearch’

‘StringToSearch’ representa o que desejamos procurar, neste caso, o inicio do nome dos computadores membros que devem receber esta política e que neste exemplo são os computadores de London e Manchester que possuem a seguinte nomenclatura:

Type Location EnvCode Department XXXX ou WLDN001IT0001

W representa que é uma workstation, LDN representa que está localizada em London, 001 é um código interno para representar o ambiente (PRD, COB, BCM, UAT, SIT, QA) ao qual o computador pertence, IT é o departamente onde o computador está localizado e 0001 é um número de identificação.

A consulta WMI para o item de registro de London ficará da seguinte maneira baseado na nomenclatura deste exemplo:

Select * From Win32_ComputerSystem WHERE Name Like ‘WLDN%’

A consulta acima verifica se o nome do computador inicia por WLDN e o sinal de % é um curinga para que não faça diferença o restante do nome, pois o que nós queremos validar aqui é que o computador membro está localizado no site de London e que é uma workstation e para isto, a informação WLDN retornada como TRUE na consulta é suficiente.

A configuração deste item de registro ficará da seguinte forma:

ds-group-policy-for-proxy-based-on-site-0013

Este item de registro está pronto? Ainda não! Lembre-se que existem computadores membros em London e Manchester cujo o proxy não pode ser aplicado e precisamos garantir que isto ocorra. Clique novamente no botão New Item e escolha Security Group para adicionar uma segunda validação a este item de registro.

Com o item Security Group selecionado, procure novamente pelo grupo GLOBAL_SETIEDEFAULTPROXY_EXCEPTIONS, adicione-e, mas que opção Computer in group como fizemos anteriormente e aqui está o truque para evitar que os computadores membros deste grupo recebam este item. Ao lado direito do botão New Item, clique em Item Options e escolha a opção Is Not.

ds-group-policy-for-proxy-based-on-site-0014

O que foi feito aqui? Foi criada uma condição onde se o nome do computador contem a string WLDN no começo do nome e se o computador não é membro do grupo GLOBAL_SETIEDEFAULTPROXY_EXCEPTIONS, a política será aplicada, caso contrário, não. Legal não? Infelizmente, muitos profissionais de IT não usam e até mesmo não têm conhecimento deste tipo de recurso disponível na GPP.

Clique em OK, Apply e OK novamente para concluirmos a configuração do item de registro de London. Agora vamos repetir os mesmos passos para configurar o item de registro de Manchester, alterando apenas o prefixo do nome dos computadores a serem verificados, neste caso, WMCH.

Select * From Win32_ComputerSystem WHERE Name Like ‘WMCH%’

Logo, a configuração do item de registro de Manchester ficará da seguinte maneira:

ds-group-policy-for-proxy-based-on-site-0015

ds-group-policy-for-proxy-based-on-site-0016

Neste momento nós já temos o que precisamos para configurar as opções de proxy baseado no nome das estações em suas localidades e também tratar as exceções que não devem ter opção de proxy alguma configurada.

Nós podem desejar e também é uma boa prática desabilitar o acesso a opções de proxy para evitar que os usuários alterem, mesmo que temporariamente, estas configurações. Para realizar esta configuração, navegue até o seguinte container no console Group Policy Management Editor:

Computer Configuration > Policies > Administrative Templates > Windows Components > Internet Explorer

Ao lado direito, configure como Enable as seguintes políticas:

  • Disable changing Automatic Configuration settings
  • Prevent changing proxy settings

ds-group-policy-for-proxy-based-on-site-0017

Vamos agora inserir o grupo GLOBAL_SETIEDEFAULTPROXY na política, pois ainda não fizemos isto e deixarmos disponível caso existe a necessidade de limitar seu uso futuramente.

Feche o console Group Policy Management Editor, retorne o console Group Policy Management Console, selecione a política GLOBAL_SETIEDEFAULTPROXY e no painel direito na guia Scope, use o botão Add… no bloco Security Filtering para adicionar o grupo GLOBAL_SETIEDEFAULTPROXY como objeto desta política de grupo.

ds-group-policy-for-proxy-based-on-site-0018

Agora o que nos resta fazer é linkar a política para que ela comece a ser aplicada nos computadores clientes. Como esta é uma política global, nós iremos linká-la na seguinte OU do ambiente de exemplo:

ds-group-policy-for-proxy-based-on-site-0019

Agora que já fizemos todos os passos necessários, vamos testar na prática com dois computadores dos sites de London e Manchester o que ocorre após o usuário da localidade efetuar logon no computador.

ds-group-policy-for-proxy-based-on-site-0020

ds-group-policy-for-proxy-based-on-site-0021

ds-group-policy-for-proxy-based-on-site-0022

ds-group-policy-for-proxy-based-on-site-0023

Como podemos ver nas imagens anteriores, as políticas foram aplicadas com sucesso em ambos os computadores e com a opção e endereço de proxy corretos baseados no nome do computador.

Não exibi o comportamento do computador que deve ser uma exceção para a configuração do proxy, pois não é necessário. A única coisa que você precisa realizar para validar esta condição é inserir um computador como membro do grupo GLOBAL_SETIEDEFAULTPROXY_EXCEPTIONS, reiniciar o computador e efetuar o logon com um usuário para visualizar a configuração limpa de todas as opções do proxy.

Bem… É isso pessoal! Espero que tenham gostado da informação e que seja útil para o dia a dia.

Até o próximo post…

%d blogueiros gostam disto: