Arquivos Mensais: Janeiro 2012

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.