Faculdade de Tecnologia Senai de Desenvolvimento Gerencial SENAI - Departamento Regional de Goiás 2 o Período - Redes de Computadores
Sumário 1 Introdução ao LDAP 2 3 4
Introdução ao LDAP Estruturas de Diretórios Esquema, classe de objeto e atributo Dados do diretório LDAP Lightweight Directory Access Protocol; O que é diretório? Local para direções. Como assim direções? (en:directions; es:direcciónes;pt:endereços). Centraliza hierarquicamente, dados de interesse comum. X.500 (DAP), padrão CCITT(ITU-T)/OSI de 1988; RFC 1487 especifica o LDAP em 1993; Versão 3 (1997-RFC2251;2006-RFC4511); Otimizado para consultas; ;
Estruturas de Diretórios Estruturas de Diretórios Esquema, classe de objeto e atributo Dados do diretório LDAP Formas de construção de DIT (Directory Information Tree); dc=com Organização o=fatesg Organização dc=fatesg Unidade Organizacional ou=usuarios ou=grupos Unidade Organizacional ou=usuarios ou=grupos Usuário uid=mauricio Usuário uid=mauricio dn: uid=mauricio, ou=usuarios, o=fatesg dn: uid=mauricio, ou=usuarios, dc=fatesg, dc=com
Estruturas de Diretórios Esquema, classe de objeto e atributo Dados do diretório LDAP Esquema, classe de objeto e atributo Esquema (Schema): define as classes de objetos e tipos de atributos que podem existir no diretório, bem como as condições para uso dos mesmos; Classe de objeto (objectclass): pode ser estrutural, auxiliar ou abstrata. Uma entrada no diretório pertence a 1 classe estrutural, sendo possível também associar classes auxiliares a esta entrada; Atributo: deve compor 1 ou mais classes de objeto da entrada para ser nela utilizável;
Estruturas de Diretórios Esquema, classe de objeto e atributo Dados do diretório LDAP Dados do diretório LDAP Entrada: denominação do objeto armazenado em um diretório LDAP, cada entrada possui um identificador único, o DN (Distinguished Name) LDIF: LDAP Data Interchange Format dn: <identificador único> <atributo>: <valor> <atributo>:: <valor em base64> <atributo>:< <URL>...
Instalação do OpenLDAP Configuração do OpenLDAP Instalação do OpenLDAP Nossa DIT seguirá o estilo DNS com sufixo "dc=fatesg,dc=com", por isso, antes da instalação é recomendável verificar o conteúdo do arquivo /etc/hosts 127.0.0.1 servidor.fatesg.com servidor O nome do servidor pode ser diferente; Como root instale os pacotes necessários: # apt-get install slapd ldap-utils Senha de administração do LDAP senha
Instalação do OpenLDAP Configuração do OpenLDAP Instalação do OpenLDAP Verifique a instalação executando: # ldapsearch -x -LLL -H ldap:/// -b dc=fatesg,dc=com dn A saída esperada é: dn: dc=fatesg,dc=com dn: cn=admin,dc=fatesg,dc=com
Instalação do OpenLDAP Configuração do OpenLDAP Configuração do OpenLDAP Para adicionar o conteúdo inicial a nossa base no OpenLDAP adicione no arquivo baseinicial.ldif o conteúdo a seguir: dn: ou=usuarios,dc=fatesg,dc=com objectclass: organizationalunit ou: usuarios dn: ou=grupos,dc=fatesg,dc=com objectclass: organizationalunit ou: grupos dn: cn=alunos,ou=grupos,dc=fatesg,dc=com objectclass: posixgroup cn: alunos gidnumber: 5000
Instalação do OpenLDAP Configuração do OpenLDAP Configuração do OpenLDAP Insira o conteúdo executando: # ldapadd -x -D cn=admin,dc=fatesg,dc=com -W -f baseinicial.ldif Verifique a base inicial executando: # ldapsearch -x -LLL -b dc=fatesg,dc=com cn=alunos gidnumber A saída esperada é: dn: cn=alunos,ou=grupos,dc=fatesg,dc=com gidnumber: 5000
Via linha de comando Via interface web Via linha de comando ldapscripts # apt-get install ldapscripts # cd /etc/ldapscripts # echo -n senha > ldapscripts.passwd # vim ldapscripts.conf SERVER="ldap://localhost" SUFFIX="dc=fatesg,dc=com" GSUFFIX="ou=grupos" USUFFIX="ou=usuarios" BINDDN="cn=admin,dc=fatesg,dc=com" BINDPWDFILE="/etc/ldapscripts/ldapscripts.passwd"
Via linha de comando Via interface web Via linha de comando ldapscripts # dpkg -L ldapscripts grep bin # lsldap -g # ldapadduser usuario1 alunos # ldapsetpasswd usuario1 # ldapaddgroup professores # ldapaddusertogroup usuario1 professores # ldapid usuario1 # ldapdeleteuserfromgroup usuario1 professores # ldapid usuario1
Via linha de comando Via interface web Via interface web phpldapadmin apt-get install phpldapadmin # cd /etc/phpldapadmin # vim config.php $servers->setvalue( server, name, LDAP ) $servers->setvalue( server, base,array( $servers->setvalue( login, bind_id, cn=admin,dc=fatesg,dc=com )
Linux PAM SQUID
Linux PAM Introdução ao LDAP Linux PAM SQUID PAM: Pluggable Authentication Modules NSS: Name Service Switch Extensões para integração com LDAP: # apt-get install libpam-ldap libnss-ldap # cd /etc/pam.d # vim -o common-account common-auth account sufficient pam_unix.so account required pam_ldap.so use_first_pass # vim /etc/nsswitch.conf passwd: compat ldap group: compat ldap shadow: compat ldap
SQUID Introdução ao LDAP Linux PAM SQUID Utilize o autenticador PAM já integrado ao LDAP, ou configure um autenticador LDAP; # cd /etc/squid3 ; vim squid.conf #====Configurando autenticador LDAP==== auth_param basic program /usr/lib/squid3/basic_ldap_auth -b ou=usuarios,dc=fatesg,dc=com -u uid -h 127.0.0.1 -p 389 auth_param basic children 20 auth_param basic realm Informe seu usuario e senha authenticate_ip_ttl 55 seconds #====Configurando consulta a grupos no LDAP==== external_acl_type grupoexterno children=20 %LOGIN /usr/lib/squid3/ext_ldap_group_acl -P -h 127.0.0.1 -p 389 -b ou=grupos,dc=fatesg,dc=com -f "(&(cn=%g) (memberuid=%u))" -B ou=usuarios,dc=fatesg,dc=com #====Falta somente criar as ACLs==== acl autenticadoldap proxy_auth REQUIRED acl grp_professores external grupoexterno professores