quinta-feira, 8 de outubro de 2009

Desabilitando cr-tools.clients.google.com - Com Alterações

Prezados leitores,

fiz uma observação na postagem anterior (http://redesegura.blogspot.com/2009/09/desabilitando-google-updater-via-script.html), a respeito de algumas estações que não funcionavam com o comando explicado. Segue o trecho alterado da postagem:

ATENÇÃO: Foi necessário realizar uma alteração importante. Algumas estações não possuiam a opção: SCHTASKS.EXE /CHANGE /DISABLE, neste caso, foi necessário apagar a tarefa agendada com o comando: schtasks.exe /delete /F /TN "GoogleUpdateTaskMachine"

A opção /F suprime as mensagens de deleção e avisos.

Espero ter ajudado mais uma vez.

sexta-feira, 18 de setembro de 2009

Desabilitando google updater via script - Desabilitando cr-tools.clients.google.com

Prezados leitores,

estive passando por problemas em proxy que estava sendo inundado por páginas de acesso do tipo:

525 HEAD http://cr-tools.clients.google.com/service/check2? - NONE/- text/html

e gerava-se um tráfego imenso no proxy do squid, com diversas entradas sendo registradas no log. Pesquisando em alguns sítios, percebeu-se que a dúvida era geral. Resolvi então disponibilizar a solução encontrada. Não acredito que a solução correta seja desinstalar, mas sim, desabilitar, pois, uma vez removido, ele poderá ser instalado novamente. Caso esteja instalado, será checado que há a instalação e nada será alterado.

Foi criado um script que desabilita o google updater via registro e ao mesmo tempo, desabilita as tarefas agendadas do Windows.

O teste foi feito no Windows Vista e deverá servir para os demais. Se houver alguma alteração a ser feita no script, favor informar para compartilhar a informação.

As informações abaixo devem ser salvas em um arquivo.bat. Neste caso, pode-se adicioná-lo em uma politica de grupo (GPO) de um controlador de domínio, a saber:

Policy\Computer Configuration\Windows Settings\Scripts\Startup

Apontando nesta política para o arquivo.bat

################################################
rem Arquivo.bat
rem
rem *******************************************************
rem *** Desabilita Google Update Tasks ***
rem *******************************************************
regedit /s \\srv01\netlogon\Google-update-disable.reg
schtasks.exe /delete /F /TN "GoogleUpdateTaskMachine"
schtasks.exe /change /DISABLE /TN "GoogleUpdateTaskMachineUA"
schtasks.exe /change /DISABLE /TN "GoogleUpdateTaskMachineCore"

rem FIM
################################################

Faz-se referência neste arquivo.bat ao arquivo Google-update-disable.reg. O conteúdo do arquivo de registro segue abaixo:

################################################
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Update]
"AutoUpdateCheckPeriodMinutes"=dword:000005a0
"DisableAutoUpdateChecksCheckboxValue"=dword:00000001
################################################

O conteúdo acima deve ser inserido no bloco de notas e deverá ser salvo com o nome Google-update-disable.reg. Não esqueçam de remover as ##################

ATENÇÃO: Foi necessário realizar uma alteração importante. Algumas estações não possuiam a opção: SCHTASKS.EXE /CHANGE /DISABLE, neste caso, foi necessário apagar a tarefa agendada com o comando: schtasks.exe /delete /F /TN "GoogleUpdateTaskMachine"

A opção /F suprime as mensagens de deleção e avisos.

Espero ter ajudado mais uma vez.

domingo, 14 de outubro de 2007

Squid autenticando em base Active Directory do Windows 2000, 2003 ou 2008

Squid autenticando em base Active Directory

1. INTRODUÇÃO: Squid autenticando no Active Directory

Para fins de ilustração, o IP do PDC será 192.168.1.254 e o domínio será meudominio.com.br. Este documento pretende explicar de forma clara os procedimentos para conexão do squid em um servidor de base LDAP do AD para autenticar o acesso dos usuários à Internet.

2. PRÉ-REQUISITOS

  • A última versão estável do Squid ;
  • Um PDC rodando Windows 2003 ou Windows 2000

2.1 Preparando o Active Directory:

2.2 Cria-se uma OU chamada Internet no Active Directory

2.3 Dentro da OU Internet cria-se quatro Grupos:

  • AcessoNormal - adicione aqui os usuários com acesso "standard";
  • AcessoRestrito - adicione aqui os usuários que só tem permissão para acessar bancos, intranet e sites de parceiros da empresa;
  • AcessoTotal - adicione aqui quem deve ter acesso total e irrestrito;
  • AcessoExclusivo - adicione aqui os usuários que podem acessar sites que os usuários normais não podem alcançar, incluindo sites para fazer download de executáveis e extensões de arquivos que são proibidas para quem tem acesso "standard" ou acesso "restrito". Exemplo: .exe,.mpg,.mp3 etc.

2.3.1 Podem ser criados tantos grupos quantos forem necessários, desde que seja realmente necessário.

2.4 Ainda dentro da OU Internet criamos uma conta de usuário com direito de leitura nos grupos acima chamada Proxy_User e cuja senha é 12345678 (modifique para senha forte depois). Uma observação, mesmo que já tenha sido dada a permissão de leitura e a conta criada não consegue visualizar os grupos e acessos através dos testes que serão feitos no decorrer do documento, coloque a conta Proxy_User no grupo administradores dentro do AD.

2.5 Para resumir, a estrutura da OU criada e conta de leitura no AD ficam da seguinte forma:

Proxy_User = cn=Proxy_user,ou=Internet,dc=meudominio,dc=com,dc=br

Meu Domínio = dc=meudominio,dc=com,dc=br

OU Internet = ou=Internet,dc=meudominio,dc=com,dc=br




Instalação do Squid

Não faz parte do escopo deste documento a instalação completa do Squid. Abaixo apenas um resumo de como fazê-lo. Para maiores informações, leia a documentação do software.

Baixamos o Squid e descompactamos o mesmo no diretório /root:

# tar -zxpvf squid-2.6.STABLE3.tar.gz

# cd /root/ squid-2.6.STABLE3

Faça a compilação básica, depois serão compilados os programas de autenticação LDAP separadamente.

Para tanto, use a seqüência:

# . ./configure --enable-err-language=Portuguese --prefix=/usr/local/squid --enable-arp-acl --enable-auth="basic,ntlm" --with-external-acl-helpers="ldap_group" --enable-linux-netfilter

(sendo /usr/local/squid o local onde o squid será instalado)

Obs.: Pressupõe-se que o pacote gcc esteja instalado.

Entre no diretório src da pasta de instalação do squid e execute o comando:

# make

# make install

(ATENÇÃO ERRO: /usr/bin/ld: cannot find –lmiscutil )

(Correção: entre no diretório lib da pasta de instalação do squid e execute o comando make)

Na versão que foi instalada, a pasta squid/share/errors/Portuguese e squid/share/icons não foram criadas, basta copiá-las da pasta de instalação do squid para estes diretórios citados:

# cp -vr errors /usr/local/squid/share

# cp -vr icons /usr/local/squid/share

Cria-se o diretório /var/cache/squid e muda-se a propriedade dele:

# mkdir /var/cache/squid

# chown nobody.nobody /var/cache/squid

Mude a propriedade do diretório Squid de root para nobody e crie o cache:

# chown -R nobody.nobody /usr/local/squid

# /usr/local/squid/sbin/squid -z

(ATENÇÃO ERRO: FATAL: Could not determine fully qualified hostname. Please set ‘visible_hostname’)

(Correção: abra o arquivo /usr/local/squid/etc/squid.conf, localize o texto referente a tag visible_hosname, acrescente uma linha conforme o modelo abaixo:

# visible_hostname proxy.meudominio.com.br (sem #)

)

Depois muda-se a propriedade do diretório /usr/local/squid/var/cache:

# chown -R nobody.nobody /usr/local/squid/var/cache

Com isso o seu Squid já está instalado e pronto pra ser configurado.

Agora passaremos para o passo seguinte, onde iremos acessar squid-2.6.STABLE03/helpers/basic_auth/LDAP e compilar o daemon squid_ldap_auth, que fará a autenticação de usuários no AD:

# cd /squid-2.5.STABLE12/helpers /basic_auth/LDAP:

# make

(ATENÇÃO ERRO: lber.h: Arquivo ou diretório não encontrado. Ldap.h: Arquivo ou diretório não encontrado. Expected ‘)’ before ‘*’ token.)

(Correção: falta a instalação dos pacotes: cyrus-sasl-devel, openldap-devel e openldap-clients. Instale-os.)

Após a compilação, copie o daemon squid_ldap_auth para dentro da libexec:

# cp squid_ldap_auth /usr/local/squid/libexec

Acesse squid-2.5.STABLE12/helpers/external_acl/ldap_group e compile o daemon squid_ldap_group:

# cd /squid-2.5.STABLE12/helpers/external_acl/ldap_group:

# make

Após a compilação, copie o squid_ldap_auth para dentro da libexec:

# cp squid_ldap_group /usr/local/squid/libexec

Crie na pasta /usr/local/squid/libexec o arquivo para teste:

# vi teste.squid.auth

Insira a linha conforme as configurações de domínio e da sua rede:

/usr/local/squid/libexec/squid_ldap_auth –R –b “dc=meudominio,dc=com,dc=br” –D “cn=Proxy_user,ou=Internet,dc=meudominio,dc=com,dc=br” –w “12345678” –f sAMAccountName=%s –h 192.168.1.254

Sendo:

-w “12345678” = senha da conta do usuário Proxy_user

-h 192.168.1.254 = IP do servidor Windows 2000 ou 2003 com Active Directory

Salve o arquivo e dê permissões de execução a ele:

# chmod o+x teste.squid.auth

Executando o arquivo:

# ./teste.squid.auth

Logo abaixo, digite:

Proxy_user 12345678

Deverá aparecer como resposta:

# OK

(ATENÇÃO ERRO: WARNING, could not bind to binddn ‘Invalid credentials’)

(Correção: Esse erro não se refere a erro de conta de usuário ou senha, mas sim das informações do AD. Confira o nome completo do seu servidor de domínio da rede, com active directory instalado, o IP do servidor, na linha dada acima: /usr/local/squid/libexec/squid_ldap_auth –R –b “dc=meudominio,dc=com,dc=br” –D “cn=Proxy_user,ou=Internet,dc=meudominio,dc=com,dc=br” –w “12345678” –f sAMAccountName=%s –h 192.168.1.254 . Se todas estas informações estiverem OK, vai funcionar.)

Crie agora na pasta /usr/local/squid/libexec outro arquivo para teste:

# vi teste.squid.group

Insira a linha conforme as configurações de domínio e da sua rede:

/usr/local/squid/libexec/squid_ldap_group –R –b “dc=meudominio,dc=com,dc=br” –D “cn=Proxy_user,ou=Internet,dc=meudominio,dc=com,dc=br” –w “12345678” –f “(&(objectclass=person)(sAMAccountName=%v)(memberof=cn=%a,ou=Internet,dc=meudominio,dc=com,dc=br))” –h 192.168.1.254

Salve o arquivo e dê permissões de execução a ele:

# chmod o+x teste.squid.group

Executando o arquivo:

# ./teste.squid.group

Logo abaixo, digite:

Proxy_user AcessoNormal

Neste caso, ele compara se a conta de usuário Proxy_user está no grupo AcessoNormal, caso esteja aparecerá OK como resposta, caso contrário, se não estiver, aparecerá conforme a linha abaixo:

# ERR

O próximo passo é configurar o Squid.

(Cenas do próximo artigo)