Disponibilização do Serviço de Diretório (LDAP - ccuec

Propaganda
Disponibilização do
Serviço de Diretório (LDAP)
para autenticação de
usuários da comunidade
UNICAMP
Serviço de Diretório (LDAP)
O que é Serviço de Diretório ?
Um serviço de diretório é um software que
armazena e organiza informações de um grupo de
usuários e que permite aos administradores
gerenciar o acesso destes a sistemas e recursos
computacionais.
Referência: http://www.4linux.com.br/que-ldap-que-sao-servicos-diretorios.html
Serviço de Diretório (LDAP)
O que é LDAP ?
( LDAP - Lightweight Directory Access Protocol )
É um protocolo de aplicação utilizado para acesso e
manutenção de um diretório de informações em
uma rede IP
O protocolo é definido pela RFC 2251.
Serviço de Diretório (LDAP)
Motivação
➲
➲
➲
➲
os usuários memorizavam vários usernames e
senhas
troca de senhas era uma atividade complexa
grande variedade de mecanismos de controle de
acesso
diferentes sistemas de gerenciamento de
controle de acesso
Serviço de Diretório (LDAP)
Serviço de Diretório (LDAP)
Abrangência
O Serviço de Diretório provê autenticação centralizada
para aplicativos conectados a rede da Universidade,
demonstrando ser uma solução estratégica para um
ambiente complexo e diversificado.
Serviço de Diretório (LDAP)
Benefícios Alcançados
➲
Autenticação para:
– softwares de apoio ao ensino
– redes sem fio (corporativas, departamentais e
Eduroam)
– serviços de internet e intranets
– alguns sistemas de informação
➲
Infraestrutura para o ambiente de e-mail de
alunos e CCUEC
Serviço de Diretório (LDAP)
Aplicativos conectados ao DS
Exemplos:
OPENMEETINGS
WEBCALENDAR
MOODLE
WIRELESS
Programas (Java, PHP, etc)
SERVIDOR LINUX
Serviço de Diretório (LDAP)
Exemplo de programa em PHP
<?php
// using ldap bind
$ldaprdn = 'uid=usuario,ou=people,dc=unicamp,dc=br';
$ldappass = 'senha_do_usuario'; // associated password
// ldap rdn
// connect to ldap server
$ldapconn = ldap_connect("ldaps://ldap1.unicamp.br ldaps://ldap2.unicamp.br")
or die("Could not connect to LDAP server.");
if ($ldapconn) {
// binding to ldap server
$ldapbind = ldap_bind($ldapconn, $ldaprdn, $ldappass);
// verify binding
if ($ldapbind) {
echo "LDAP bind successful...";
} else {
echo "LDAP bind failed...";
}
}
?>
Serviço de Diretório (LDAP)
Exemplo de programa em JAVA
/**
* Obtém órgãos do usuário do Diretório Ldap dado o uid do mesmo.
* @param conLdap Connection
* @param uid para a consulta ao Ldap
* @return java.util.Vector
*/
public void mtObtemOrgaosLdapDadoUidBD(LDAPConnection conLdap, String uid, java.util.Vector vetorOrgao) throws Exception {
List siglas = new ArrayList();
List codigosLotacao = new ArrayList();
Search search = new Search();
LDAPEntry ldapEntry = search.forUser(conLdap, "uid", uid);
// Get the attributes of the entry
LDAPAttributeSet attributesSet = ldapEntry.getAttributeSet();
Iterator enumAttrs = attributesSet.iterator();
// Loop on attributes
while (enumAttrs.hasNext()) {
LDAPAttribute attribute = (LDAPAttribute) enumAttrs.next();
// get attribute name
String key = attribute.getName();
if(key.equals("ou") || key.equals("departmentNumber")) {
// get attribute value
Enumeration enumVals = attribute.getStringValues();
while (enumVals.hasMoreElements()) {
String value = (String) enumVals.nextElement();
if(key.equals("ou")) {
siglas.add(value);
}
if(key.equals("departmentNumber")) {
codigosLotacao.add(value);
}
}
}
}
Serviço de Diretório (LDAP)
Resultados
➲
➲
➲
➲
Acesso para as unidades da identidade digital
corporativa de alunos, docentes e funcionários
O usuário só precisa lembrar de um único par de
usuário e senha
Segurança reforçada (SHA-2).
Facilita o uso de senhas “fortes” e possibilita
alterá-las com mais frequência.
Serviço de Diretório (LDAP)
Resultados - Dados armazenados
Vínculo
/ Ano
2009
(Projeto Piloto)
2010
2011
(implantação)
2012
(até 14/Maio)
TOTAL
ALUNOS
31.964
16.610
13.795
5.535
67.904
UNICAMP
3.267
689
4.008
503
8.467
FUNCAMP
143
656
701
99
1.599
TOTAL
35.374
17.955
18.504
6.137
77.970
Serviço de Diretório (LDAP)
Resultados – Clientes
Unidade/Órgão
Aplicativo/Finalidade
Biblioteca Central Gerenciamento de periódicos
Wireless
Intranet
Sistemas de Ficha catalografica
Atendimento de solicitação de documento
Webcalendar
WebRT
Mail
Openmeetings
Wireless
CCUEC
VPN
Eduroam
Intranet
Dacger
Media Wiki
Nagios
Subversion
Sistema de Controle Almoxarifado
Sistema de Empréstimo
CEB
Wireless
CEL
Sistema baseado Saki (legado)
Ciclo Básico
Autenticação do laboratório – 190 máquinas
Cadastro de excursão (PHP)
Autocadastro de aluno
IB
EUA (formulário para comissão de ética)
FCA
Radius/Proxy Wifi
Radius Wifi Externo
Moodle
GGTE
Sici (Sist. Central de Informação do INOVA)
INOVA
Público Alvo
Toda Comunidade Unicamp
Comunidade BC
Comunidade BC
Toda Comunidade Unicamp
Toda Comunidade Unicamp
Comunidade do CCUEC
Comunidade do CCUEC
Comunidade do CCUEC e Alunos
Docentes da Unicamp
Toda Comunidade Unicamp
Toda Comunidade Unicamp
Toda Comunidade Unicamp
Comunidade do CCUEC
Aluno da Unicamp
Toda Comunidade Unicamp
Comunidade do CCUEC
Comunidade do CCUEC
Comunidade do CCUEC
Comunidade do CCUEC
Toda Comunidade do CEB
Alunos da Unicamp
Alunos e Docentes da Unicamp
Comunidade do IB
Alunos da Unicamp
Comunidade do IB
Comunidade da FCA
Comunidade da FCA
Toda Comunidade Unicamp
Comunidade do Inova
Serviço de Diretório (LDAP)
Arquitetura do Serviço de Diretório
REDE PROTEGIDA
Balanceamento
de
Carga
MASTER (write/read)
REPLICA
REPLICA
REDE CORPORATIVA
Slave (read/only)
Slave (read/only)
Serviço de Diretório (LDAP)
Exemplo
ldapsearch -x -H ldaps://ldap.unicamp.br -b "dc=unicamp,dc=br" uid=teste
dn: uid=teste,ou=people,dc=unicamp,dc=br
o: UNICAMP
sn: teste
ou: cc
cn: TESTE
employeeNumber: 999999
employeeType: CLT
uid: teste
loginShell: /sbin/nologin
mail: [email protected]
uidNumber: 1000
givenName: TESTE
gecos: TESTE
homeDirectory: /
gidNumber: 1000
preferredLanguage: pt-br
departmentNumber: 9.9.9.0.0.0.0
radiusSimultaneousUse: 1
eduPersonPrimaryAffiliation: staff
eduPersonPrincipalName: [email protected]
eduPersonAffiliation: staff
uecEmailID: teste
uecTipoUID: Normal
dialupAccess: 1
shadowLastChange: 15574
ShadowExpire: 15574
shadowFlag: 1
userPassword: SENHA
uecEmailStatus: active
Serviço de Diretório (LDAP)
Uso do Serviço de Diretório
Serviço de Diretório (LDAP)
Futuro
➲
➲
➲
➲
Expansão do serviço na universidade
Integração na Comunidade Acadêmica Federada
(CAFe) que é uma federação de identidade que reúne
instituições de ensino e pesquisa brasileiras
Infraestrutura para o ambiente de e-mail do domínio
@unicamp.br
Autenticação do software de gestão de documentos
digitais da DAC
Serviço de Diretório (LDAP)
Conclusão
A nova infraestrutura utilizando serviço de
diretório permite conectar uma vasta gama de
aplicações com facilidade, evitando duplicação
de esforços na autenticação e manutenção de
dados de identidade digital da comunidade
UNICAMP.
Serviço de Diretório (LDAP)
Equipe do Projeto
(CCUEC - “core team”)
➲
➲
➲
Denise Guanaes Cosso
– Contato: [email protected]
Marcos Aguinaldo Forquesato
– Contato: [email protected]
Newton Pereira Amusquivar
– Contato: [email protected]
Informações: http://www.ccuec.unicamp.br/ccuec/diretorio_autenticacao
Obrigado !!
Download