Author Archives: Marcelo Maciel

Configurando filtragem de Usuários e Grupos no Openfire

Depois de explicar como fazer a instalação do Openfire integrado ao Active Directory, normalmente a empresa vai ter algumas restrições como tal usuário não deve ter acesso ao Spark/Openfire. E como fazer este filtro? O caminho mais fácil seria filtrar através do Base DN, porém mudar toda a estrutura do Active Directory da empresa para fazer este filtro causa um grande transtorno para o administrador da rede.

O recomendado neste caso é fazer o filtro de usuários e/ou grupos através dos filtros de busca. A documentação sobre isso é muito escassa, e através de muita pesquisa no Google, consegui achar uma solução que me atendeu da seguinte maneira: Permitir que somente os usuários que pertencem a um grupo específico tenham acesso ao Spark; Listar somente um tipo de grupo específico, no caso Grupos de Segurança (Security Group).

Configurando o filtro de usuários:

Logue no console do Openfire, e clique na opção Propriedades do Sistema. Serão listadas várias propriedades, procure a que possui nome ldap.searchFilter, e clique no ícone editar. Dentro desta propriedade o filtro padrão é:

(objectClass=organizationalPerson)

Altere o mesmo para:

(&(objectClass=organizationalPerson)(|(memberOf=CN=Spark,OU=Acessos,DC=contoso,DC=intranet)))

Desta forma o Openfire irá permitir acesso aos usuários que são membros do grupo Spark, na Unidade Organizacional Acessos do domínio contoso.intranet. Desta forma temos como conceder acesso de acordo com as melhores práticas da Microsoft.

Configurando o filtro de grupos:

Novamente clique na opção Propriedades do Sistema. Procure a que possui nome ldap.groupSearchFilter, e clique no ícone editar. Dentro desta propriedade o filtro padrão é:

(objectClass=group)

Altere o mesmo para:

(&(objectClass=group)(|(groupType=-2147483646)))

Desta forma o Openfire irá listar somente grupos do Tipo Global – Segurança. Isso facilita a administração do Openfire, listando somente os grupos necessários. Caso queira filtrar por outro tipo de grupo, substitua o valor -2147483646 pelo equivalente na tabela abaixo.

Tipo do Grupo Valor
Grupo Global 2
Grupo Domínio Local 4
Grupo Universal 8
Grupo de Segurança -2147483648

Aguardem o próximo post onde ensinarei como configurar para seu domínio da internet apontar para o servidor.

Obs: Valores da tabela de grupos foram extraídos daqui.

Instalando o Openfire integrado ao Active Directory

O openfire é um servidor Jabber de código aberto, gratuito e multiplataforma, mantido pela Ignite Realtime. Sua administração é totalmente web, com diversos recursos interessantes. Neste post veremos como fazer a instalação do mesmo utilizando como repositório de usuários o Active Directory.

Antes de tudo é necessário ter o java JRE instalado no servidor. O JRE pode ser obtido aqui.

Agora será necessário fazer o download do Openfire no site do desenvolvedor. Eu utilizo a versão .zip, pois sua atualização é mais simples. Porém pode ser utilizada a versão .exe que já possui o Java JRE na instalação.

Após realizar o download basta descompactar o arquivo. Para manter o padrão copio a pasta Openfire, para a pasta %programfiles% do servidor. Após copiar a pasta basta criar o serviço para o servidor iniciar automaticamente com o Windows, conforme os comandos da imagem abaixo:

Pronto, o servidor já está instalado, basta agora configurar e colocar o serviço no ar. O Openfire utiliza a porta http 9090 para o console de administração. Então no próprio computador basta digitar http://localhost:9090 para acessar o console e iniciar a configuração. A primeira tela solicita a seleção do idioma:

Selecione Português Brasileiro (pt_BR) e clique em continuar.

Na próxima tela deverá ser informado o domínio do servidor, e as portas utilizadas no console de administração. Se necessário altere as portas conforme o seu ambiente.

O próximo passo é configurar o banco de dados do servidor. Para pequenos ambientes (até 20 usuários), sem necessidade de gravar log das conversas pode ser utilizado a opção de Banco de Dados Interno. Caso sua intenção seja gerar log das conversas dos seus usuários será necessário o uso de um banco de dados externo. Não há necessidade de um servidor dedicado para o banco, pode ser um MySQL ou PostgreSQL. O motivo de utilizar um banco externo é que o HSQLDB funciona totalmente carregado na memória do servidor, o que se torna um problema quando o uso é intenso. Como o Openfire foi desenvolvido em Java, ele suporta qualquer banco de dados com conector JDBC. Tenho um servidor rodando com MSSQL 2008 R2, mas isso é assunto para outro post.

Neste exemplo simples vou utilizar o Banco de Dados Interno. Na tela de Configuração de Perfis é onde a integração com o Active Directory se inicia. Selecione a opção Servidor de Diretórios (LDAP), e clique em Continuar.

Agora será configurada a integração com o Active Directory. Neste exemplo estamos utilizando o domínio contoso.intranet. As informações devem ser preenchidas conforme a imagem abaixo:

Na seção Autenticação, o servidor solicita um usuário administrador. No meu caso acho mais seguro criar um usuário sem qualquer acesso especial, para ter acesso a leitura do Active Directory somente. Clique em Salvar & continuar.

Como as configurações preenchidas já vem preparadas para o Active Directory, só marco a opção Store avatar in database if not provided by LDAP, para o usuário poder armazenar sua foto na base do Openfire. Clique em Salvar & continuar.

Na terceira etapa será feito o mapeamento dos Grupos do Active Directory. Com a configuração padrão, o Openfire será capaz de ler todos os grupos do Active Directory, dentro do Base DN especificado na etapa 1. Em breve farei outro post explicando como alterar o Openfire para ler somente um tipo de grupo do Active Directory.

Após o Banco de dados ser criado, basta adicionar a conta de administrador. Para isto basta digitar o usuário utilizado no Active Directory e clicar em adicionar. Depois do usuário ser listado como a imagem acima, basta clicar em continuar.

Depois que esta tela aparecer está tudo finalizado, e você poderá fazer login com seu usuário do Active Directory, no console de administração, e utilizar o Spark ou qualquer outro cliente Jabber, para utilizar os serviços do Openfire.

Em breve devo fazer novos posts, ensinando a configurar a filtragem de grupos e usuários no Active Directory, e outras dicas úteis para este serviço.

Desativar Outlook Express no Windows Server 2003

A um tempo atrás estava configurando um servidor de Terminal Server para um cliente, e precisava bloquear o máximo possível de acessos dos usuários em uma estrutura sem o Active Directory. Portanto precisei criar um perfil padrão para os usuários com vários recursos bloqueados através do regedit.

O item que me deu mais trabalho para descobrir como desativar ou desinstalar do Windows Server 2003 foi o Outlook Express. Após bastante pesquisa no Google, descobri que não existe como desinstalar o Outlook Express do Windows Server 2003, nem mesmo editando o arquivo c:\windows\inf\sysoc.inf e tentado desativar o mesmo pelo Adicionar ou Remover Programas. A maneira mais simples que encontrei é remover as seguintes chaves do registro:

Desativa Outlook Express:

HKLM\SOFTWARE\Microsoft\Active Setup\Installed Components\{44BBA840-CC51-11CF-AAFA-00AA00B6015C}\StubPath

Desativa Catálogo de Endereços do Outlook:

HKLM\SOFTWARE\Microsoft\Active Setup\Installed Components\{7790769C-0471-11D2-AF11-00C04FA35D02}\StubPath

Excluindo estas chaves de registro, os atalhos do Outlook e do Catálogo de Endereços não serão mais criados no momento em que um novo usuário logar na primeira vez. Caso o usuário já tiver logado alguma vez, esta alteração não fará efeito, e será necessário excluir os atalhos dos programas manualmente.

Encontrei esta solução e traduzi a mesma daqui.

CACTI com autenticação LDAP no Active Directory

Hoje vamos configurar o CACTI para funcionar com autenticação em LDAP, buscando os usuários no Active Directory, e filtrando o acesso dos usuários através de um grupo do Active Directory.

Entre no CACTI, siga para Configuration –> Settings –> Authentication.

Selecione o método LDAP Authentication;

Em Special Users deixe como padrão: Guest User –> guest e User Template –> admin;

Na seção LDAP General Settings deixe da seguinte forma:

Server nome do dominio
Port Standard 389
Port SSL 636
Protocol Version Version 3
Encryption None
Referrals Disabled
Mode Specific Searching
Distinguished Name (DN) <username>@nome do domínio
Require Group Membership Marcar para ativar o filtro por grupo

Agora será necessário configurar o filtro LDAP, para permitir acesso somente a quem pertencer ao grupo correto no Active Directory. Na seção LDAP Group Settings preencha da seguinte forma:

Group Distingished Name (DN) Ex: CN=CACTI,OU=Acessos,DC=contoso,DC=intranet
Group Member Attribute member
Group Member Type Distingished Name

O campo Group Distingished Name (DN) deve ser preenchido com o nome distinto do grupo que será utilizado para filtrar os usuários.

Por último deverá ser preenchida a seção LDAP Specific Search Settings.

Search Base Ex: CN=CACTI,OU=Acessos,DC=contoso,DC=intranet
Search Filter member
Search Distingished Name (DN) Distingished Name
Search Password Senha do usuário

O campo Search Base deve ser preenchido com o nome do domínio, ou Unidade Organizacional onde estarão os usuários. Em Search Filter preencha exatamente como está na tabela. Em Search Distingished Name (DN) deverá conter o nome do usuário utilizado para fazer a pesquisa no Active Directory, no formato Distingished Name (Nome destinto), e no campo Search Password a senha deste usuário. Um detalhe: este usuário não precisa ter quaisquer permissões especiais, nem mesmo de administrador para realizar a pesquisa no Active Directory.

Espero que tenha explicado de uma maneira simples como configurar o CACTI para autenticação no Active Directory.

Obs: Caso esteja utilizando a versão 0.8.7g do CACTI será necessário aplicar os patches oficiais, ou atualizar para a versão 0.8.7i, disponibilizado em 11/12/2011.

Clientes WSUS não aparecem

Você implantou o WSUS, configurou tudo, GPOs, IIS, WSUS, criou os grupos, e mesmo assim alguns computadores não aparecem no console. Ou pior ainda, é como se o computador ficasse mudando de nome no console, às vezes aparece, às vezes não. Este problema normalmente ocorre com estações que foram clonadas. Todo computador conectado ao WSUS possui um ID, em computadores clonados este ID acaba sendo o mesmo para todos os computadores baseados na mesma imagem.

Para resolver este problema basta pegar o código deste script e gravar em um arquivo .bat ou .cmd.

@echo off
Echo Save the batch file "AU_Clean_SID.cmd". This batch file will do the following:
Echo 1.    Para o serviço wuauserv
Echo 2.    Deleta a chave do registro AccountDomainSid (se existir)
Echo 3.    Deleta a chave do registro PingID (se existir)
Echo 4.    Deleta a chave do registro SusClientId (se existir)
Echo 5.    Inicia o serviço wuauserv
Echo 6.    Reseta o Cookie de Autorização e força a sincronização

Pause
@echo on
net stop wuauserv
REG DELETE "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate" /v AccountDomainSid /f
REG DELETE "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate" /v PingID /f
REG DELETE "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate" /v SusClientId /f
net start wuauserv
wuauclt /resetauthorization /detectnow
Pause

O script foi desenvolvido pela equipe do blog do WSUS, e traduzido por Marcelo Maciel.

No mesmo blog existe um script para realizar a mesma tarefa, porém utilizando um script de logon, que será executado somente uma vez na máquina. Muito útil em grandes ambientes.

  • Página 1 de 3
  • 1
  • 2
  • 3
  • >