Archive for May, 2009

Treinamento de OpenLDAP – Uma abordagem Integrada

clodonil May 28th, 2009

Instrutor: Clodonil Honorio Trigo

INSCREVA-SE AGORA

 

Domine definitivamente o LDAP e integre a sua rede usando apenas uma ferramenta.

Pré-requisitos:

  • Conhecimento básico de Linux

Metodologia:

  • Curso é oferecido à distância utilizando o ambiente virtual Moodle, com disponibilidade de 99,99%;
  • Aulas pelos chat na segunda e quarta-feira das 14h às 17h (logs);
  • Utilização obrigatória no fórum do Moodle;
  • Exercícios de validação;

Material didático:

  • Apostilas;
  • Livro: OpenLDAP – Uma abordagem Integrada;
  • CDROM – UBUNTU SERVER;
  • Vídeo Aulas com as implementações;
  • Arquivos de Configurações;

Suporte: Durante o curso é oferecido os seguintes suporte:

  • MSN
  • EMAIL
  • Fórum (Moodle)
  • Voip (skype)

Duração do curso: 6 semanas Datas:

  • Início da Inscrição: 10/05/2009
  • Início do curso: 01/07/2009
  • Vagas: 10 vagas
  • Valor: R$ 840,00 
  • Mais informações: clodonil@nisled.org, clodo_trigo@hotmail.com

Conteúdo programático:

  •   1. Semana
    • Conceitos de Diretórios
    • Estrutura do LDAP
    • Instalação do OpenLDAP
    • Definição e conceitos sobre os esquemas
  •   2. Semana
    • Configuração do OpenLDAP
    • OpenLDAP configurado com SSL
    • Réplicas da base LDAP
    • Comandos do OpenLDAP

  •   3. Semana
    • Gerenciador do LDAP – GOSA
    • Jabber (MSN) com LDAP
  •   4. Semana
    • Proxy (squid) com LDAP
      • Autenticação por usuário
      • Controle de sites por grupos de usuário
      • Relatório
    • Gerenciando DNS pelo LDAP

  •   5. Semana
    • Servidor de Email (Postfix) com LDAP
      • WEBMAIL
      • IMAP e POP
    • Autenticação Linux pelo LDAP

  •   6. Semana
    • SAMBA 3x com LDAP
    • Preview do Samba4

 

 Certificado: O certificado será emitido pelo Centro Universitário Adventista de São Paulo com a carga horária de 70 hs para aqueles que participarem dos fóruns e realizarem as atividades proposta.

Sobre Instrutor: Clodonil Honório Trigo  Professor  no  Centro  Universitário Adventista de São Paulo – UNASP, onde graduou-se em Matemática,  e  especializou-se  em  Administração  de  Redes  Linux  e  em Didática. Mestre pela  Universidade Metodista  de  Piracicaba-  UNIMEP,  é  ainda  especialista em  sistemas  operacionais  em software  livre,  tendo  publicado artigos  para  revistas  especializadas. Atuou como consultor de Linux e  participou  como  palestrante convidado em várias edições do Congresso  Internacional de Software  Livre  realizado  em  Porto Alegre – RS. Coordena  o  Grupo  de  Pesquisa  Free-Soft  e  o Núcleo de  Informática  em  Software  Livre Aplicado no Ensino à Distância – NISLED (www.nisled.org). Autor dos livros:  Projetos de Segurança em Software Livre e OpenLDAP – Uma abordagem Integrada.

INSCREVA-SE AGORA

GOsa-2.6.x – Gerenciador de Sistemas OpenLDAP (Centralizador)

clodonil May 25th, 2009

Como já falei em outros artigos, o GOsa é uma ótima ferramenta para administração de contas de usuários no LDAP. Além de ter uma interface agradável, os recursos presente na ferramenta auxiliam os administradores de rede. Neste artigo pretendo mostrar a instalação completa do GOsa-2.6.x (combined).

Antes de instalar o GOsa, vamos instalar o pré-requisitos necessários do sistema. Como ponto de partida, será utilizado um Linux Ubuntu 9.04 pré-instalado.

  1. Instalando o Apache2 e PHP5
    Como o GOsa funciona via WEB, vamos primeiramente instalar o apache e o PHP5.


    Após a instalação teste em um browser de internet se o apache está funcionando. O próximo passo é instalar o OpenLDAP.

  2. Instalando o LDAP
    Vamos utilizar o pacote do ubuntu para instalar o LDAP. Portanto instale o slapd e ldap-utils.



    Não fique preocupado com as informações que são requeridas durante a instalação do slapd. Todas essas informações serão rescritas nas configurações que faremos. Para configurar o LDAP vamos precisar dos schemas do GOsa. Portanto faça o download do pacote no site http://oss.gonicus.de/pub/gosa/ ou você também pode pegar as últimas atualizações através do subversion.

    É recomendável fazer o download do GOsa pelo subversion porque pega as últimas atualizações.

     

    Se você optar fazer o download do pacote "tar.gz", utilize a versão 2.6.x da versão combined. Após fazer o download descompacte o GOsa dentro do diretório /usr/share/. E crie um link simbólico para /usr/share/gosa. O mesmo procedimento deve ser feito tanto para quem fez o download do GOsa pelo subversion ou pelo download do "tar.gz".

    Segue abaixo o código que realiza essas tarefas:  

     

    Copie os arquivos de schema que estão dentro do diretório /usr/share/gosa/contrib/openldap para dentro do /etc/ldap/schema.  

     

    Com os schemas copiados vamos configurar o arquivo slapd.conf.  

  • /etc/ldap/slapd.conf

    Por padrão o Ubuntu trás o slapd com a configuração online. Para tirar essa opção e fazer a configuração manual utilizando o arquivo slapd.conf, teremos primeiramente que parar o slapd, apagar o diretório /etc/ldap/slapd.d e editar o arquivo /etc/default/slapd acrescentando ao path do arquivo de configuração dentro da variável SLAPD_CONF.

    Configure o slapd.conf conforme abaixo altere o domínio e as senhas.

     

    include         /etc/ldap/schema/core.schema
    include         /etc/ldap/schema/cosine.schema
    include         /etc/ldap/schema/inetorgperson.schema
    include         /etc/ldap/schema/openldap.schema
    include         /etc/ldap/schema/nis.schema
    include         /etc/ldap/schema/misc.schema
    include         /etc/ldap/schema/samba3.schema
    include         /etc/ldap/schema/gosystem.schema
    include         /etc/ldap/schema/gofon.schema
    include         /etc/ldap/schema/goto.schema
    include         /etc/ldap/schema/goserver.schema
    include         /etc/ldap/schema/gosa-samba3.schema
    include         /etc/ldap/schema/trust.schema
    password-hash           {CRYPT}
    defaultsearchbase       dc=trigo
    pidfile  /var/run/slapd/slapd.pid
    argsfile /var/run/slapd/slapd.args
    loglevel        1024
    modulepath      /usr/lib/ldap
    moduleload      back_hdb
    moduleload      back_monitor
    access to dn.base=""
            by * read
    access to dn.subtree=cn=Monitor
            by * read
    access to attrs=userPassword,sambaPwdLastSet,sambaPwdMustChange,sambaPwdCanChange \
                   ,shadowMax,shadowExpire
            by dn.regex="uid=[^/]+/admin\+(realm=TRIGO)?" write
            by anonymous auth
            by self write
            by * none
    access to attrs=goImapPassword
            by dn.regex="uid=[^/]+/admin\+(realm=TRIGO)?" write
            by * none
    access to attrs=goKrbPassword
            by dn.regex="uid=[^/]+/admin\+(realm=TRIGO)?" write
            by * none
    access to attrs=goFaxPassword
            by dn.regex="uid=[^/]+/admin\+(realm=TRIGO)?" write
            by * none
    access to attrs=gotoLastUser
            by * write
    access to attrs=sambaLmPassword,sambaNtPassword
            by dn.regex="uid=[^/]+/admin\+(realm=TRIGO)?" write
            by anonymous auth
            by self write
            by * none
    access to *
            by dn.regex="uid=[^/]+/admin\+(realm=TRIGO)?" =wrscx
            by * readdatabase        monitor
    database        hdb
    cachesize		5000
    mode            0600
    suffix          "dc=trigo"
    checkpoint      512 720
    rootdn  "cn=manager,dc=trigo"
    rootpw  x
    index   default                                      		 sub
    index   uid,mail                                          	 eq
    index   gosaSnapshotDN                                   	 eq
    index   gosaSnapshotTimestamp                           	 eq,sub
    index   gosaMailAlternateAddress,gosaMailForwardingAddress 	 eq
    index   cn,sn,givenName,ou                               	 pres,eq,sub
    index   objectClass                                        	 pres,eq
    index   uidNumber,gidNumber,memberuid                      	 eq
    index   gosaSubtreeACL,gosaObject,gosaUser            		 pres,eq
    index   member                                           	 pres,eq
    index   sambaSID                                       		 eq
    index   sambaPrimaryGroupSID                              	 eq
    index   sambaDomainName                              		 eq
    directory       "/var/lib/ldap"
    lastmod on

     

Para testar inicie o servidor LDAP em modo debug. Se existir algum erro a linha que contém o erro será mostrada.

Se nenhum erro for apresentado, você já pode iniciar o LDAP da forma tradicional

  1. Gosa

Após a instalação do OpenLDAP vamos começar a instalar o GOsa. Lembrando que descompactamos toda a ferramenta dentro do diretório /usr/share/gosa. Crie os seguintes diretórios:

  • /var/spool/gosa (Coloque o usuário do apache como dono deste diretório)
  • /etc/gosa

Instale os seguintes módulos do PHP:

  • Suporte ao LDAP (php5-ldap)
  • Suporte ao Mshash (php5-mhash)
  • Suporte ao IMAP (php5-imap)
  • Suporte ao Mysql(php5-mysql)
  • fping
  • libcrypt-smbhash-perl
  • Imagick (php5-imagick)

A configuração que temos que fazer no apache é criar um alias do gosa apontando no /usr/share/gosa/html.

Alias /gosa /usr/share/gosa/html

Acrescente a linha acima no arquivo "/etc/apache2/sites-enabled/000-default". Também é necessário alterar alguns parâmetros do php.ini, para isso altere o arquivo /etc/php5/apache2/php.ini, conforme o exemplo abaixo.

 

register_globals = Off
session.gc_maxlifetime = 86400
session.auto_start = Off
memory_limit = 32 M
implicit_flush = Off
max_execution_time = 30
expose_php = Off
magic_quotes_gpc = On
zend.ze1_compatibility_mode = Off

 

Após as configurações reinicie o apache  

 

Antes de acessar o site pelo browser, temos que rodar o comando "update-gosa" para o gosa fazer os devidos updates. Dentro do diretório "/usr/share/gosa", execute o seguinte comando

  1. Instalação pelo browser

    Acesse o browser e termine a instalação; utilize as telas abaixo para se guiar. Ao iniciar o browser chame o endereço do servidor apache (http://ip-do-servidor/gosa). A primeira tela que deverá aparecer é a tela1. Nesta tela podemos destacar como característica a preocupação dos criadores do GOsa com a segurança. Para continuarmos a instalação é necessário copiar a chave especifica e colocar no /tmp.

Tela1 – Inicio da instalação

Na segunda tela o usuário terá a opção de escolher o idioma que desejar usar. Não existe em português. A Seguinte expressa à licença de uso do software. A tela 4, é uma checagem dos pré-requisitos. Todas as opções requeridas devem ser atendidas. Nos pré-requisitos que descrevi anteriormente, estes itens já são instalados.

Tela4 – Checagem de pré-requisitos

A tela seguinte (tela5) também é um método de checagem de arquivos schema. Caso apareça algum erro, deve ser resolvido antes de continuar a instalação.

Tela 5 – Checagem de schemas

Na tela 6, o usuário tem que configurar a conexão com o servidor LDAP. Defina um usuário que tenha permissão de administrador na base LDAP. De acordo a configuração feita, este usuário é o cn=manager

Tela 6 – Administrador da base LDAP

Nas telas seguintes, são definidas o timezone e os aditivos de serviços que o GOsa vai suportar, tais como DNS, DHCP, entre outros. Nas telas seguintes é necessário definir as entradas de usuário e grupos, além da criptografia utiliza. Também é necessário configurar as principais funcionalidades do GOsa tais como, sessão, debug e gid, como mostra a Tela 7.

Tela 7 – Funcionalidades do GOsa

A tela seguinte é muito importante. O GOsa reorganiza todas os objetos cadastrados na base LDAP. É também cadastra o usuário  administrador do GOsa. Não confunda com o administrador da base LDAP, a Tela 8 e 9 mostra essa tela.

Tela 8 – Cadastro da Estrutura do Gosa

O erro acima aconteceu porque a estrutura não existe. Para criar a estrutura clicando no "Try to create root object". Deve ficar como a tela 9. Também na tela 8 é necessário definir a senha do administrador do GOsa.

Tela 9 – Criação da estrutura

As últimas telas estão relacionadas ao arquivo de configuração. Este arquivo deve ser copiado para o diretório /etc/gosa e as permissões devem ser configuradas conforme solicitado na instalação. As telas seguintes mostram a tela de login e o gerenciamento da base LDAP.

Ambiente de gerenciamento dos usuários.

Tela 10 – Ambiente do GOsa

Tela 11- Gerenciamento de contas

Pronto, você tem um poderoso gerenciador de usuário e grupos.

Servidor de OpenFire (Jabber) – Integração Perfeita com o Gosa

clodonil May 7th, 2009

Para instalar o servidor de mensagem instantânea (IM) e integrar com o LDAP é necessário os seguintes pré-requisitos estejam instalados.

Pré-requisitos:

A seguir a figura 1 mostra uma tela do GOsa com a base de usuário cadastrado. As informações que o jabber utiliza são os campos uid,password,cn,mail,displayName. Esses campos são cadastrados automaticamente quando um usuário é criado pelo GOsa. Os outros serviços cadastrados para o usuário, tais como e-mail, samba não interferem no jabber. 

Figura 1 – Tela do Gosa

O Jabber é um protocolo para mensagem instantânea (IM) que pode ser implementado em uma rede. Muitas empresas necessitam de um mecanismo de comunicação interna através de software de mensagem instantânea, mas não quer utilizar os softwares disponibilizados na Internet como ICQ, MSM, por questão de produtividade, para estes casos existe o jabber. Existe na Internet vários clientes que suportam este protocolo, neste material vamos utilizar o Gajim.

1.     1. OpenFire 

OpenFire é um servidor de mensagem instantânea que implementa o protocolo Jabber. A grande vantagem do OpenFire são os recursos de gerenciamento de conexões e os vários plugins. Também é possível disponibilizar áudio conferencia.

Antes de instalar o OpenFile é necessário instalar as dependência do Java. Os códigos seguintes mostram como fazer isso.

# apt-get install sun-java5-jre
# apt-get install sun-java6-jre

Com a dependência do Java instalada, vamos instalar o OpenFire. Para isso faça download do pacote no site www.igniterealtime.org. Neste documento vamos utilizar a versão para debian e ubuntu.

# dpkg -i openfire_3.6.4_all.deb

Após a instalação, o servidor do OpenFire é iniciado automaticamente na porta 9090 e toda a configuração e feita via web. Portanto acesse o servidor por um browser na porta 9090. 

http://ip_do_servidor:9090.

A primeira tela é para definir a linguagem que será utilizada para a instalação.

Tela 01 – Definição da linguagem

A tela 02 define o domínio do openfire e as porta de comunicação do portal.

Tela02 – Definição do núcleo

Na próxima tema é para definir o banco de dados que será utilizado para o openfire. Podemos utilizar o banco de dados interno do openfire.

Tela03 – banco de dados

Na tela seguinte definimos o tipo de conexão que vamos utilizar para o banco de usuários. Escolha o LDAP.

Tela04 – configuração do perfil

Na tela05, vamos definir a conexão com o servidor LDAP. Defina o tipo do servidor, como sendo o OpenLDAP, coloque o campo host, porta, o base dn, como sendo o seu domínio LDAP. Defina também o rootdn e o rootpw.

Tela 05 – Defina a conexão com o servidor LDAP

Na mesma tela é possível testar a conexão do servidor LDAP. Como mostra a tela 06

Tela 06 – Teste de conexão com o servidor LDAP.

Na tela 07, definirmos os campos que o openfire vai buscar no LDAP. Deixe padrão.

Tela 07 – Campos do ldap

Na tela seguinte, definimos os campos do LDAP para o openfire identificar os grupos. Perceba que no campo especificações avançadas, colocamos como filtro o (objectClass=posixGroup). Assim o openfire vai identificar todos os grupos corretamente.

Tela 08 – Openfire e o grupo do LDAP

Na última tela antes de entrar no sistema, é necessário cadastrar um usuário que será o administrador do openfire. Podemos utilizar o admin que é o administrador do GOsa.

Tela 09 – Definição da administração do openfire.

Ao entrar no OpenFile é possível ver a lista de usuário que deve ser a mesma da base LDAP, como mostra a tela 10.

Tela 10 – Lista de usuários

Outro recurso interessante são as estatísticas de conexões que a ferramenta oferece como mostra a tela 11.

Tela 11  – Estatística

2.       Clientes IM:

Tela 11 – Cliente Gajim no XP

Tela 12 – Gajim no Windows 7