Mudanças entre as edições de "Implantação de um controle centralizado de usuários utilizando o protocolo LDAP"

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar
Linha 73: Linha 73:
  
 
$ apt-get install libpam-ldap
 
$ apt-get install libpam-ldap
 +
 
$ apt-get install nscd
 
$ apt-get install nscd
 +
 
$ vi /etc/nsswitch.conf  
 
$ vi /etc/nsswitch.conf  
 
passwd:        files ldap
 
passwd:        files ldap
Linha 80: Linha 82:
  
 
$ service nscd restart
 
$ service nscd restart
 +
 
$ vi /etc/ldap.conf  
 
$ vi /etc/ldap.conf  
 
auth    sufficient      pam_ldap.so
 
auth    sufficient      pam_ldap.so
Linha 86: Linha 89:
  
 
$ chmod 600 /etc/ldap.conf
 
$ chmod 600 /etc/ldap.conf
 +
 
$ vi /etc/pam.d/sshd
 
$ vi /etc/pam.d/sshd
 +
 
$ vi /etc/pam.d/common-session
 
$ vi /etc/pam.d/common-session
 +
 
session    required      pam_mkhomedir.so skel=/etc/skel umask=0022
 
session    required      pam_mkhomedir.so skel=/etc/skel umask=0022
  
Linha 94: Linha 100:
  
 
$  vi /etc/ssh/sshd_config
 
$  vi /etc/ssh/sshd_config
 +
 
$ service ssh restart
 
$ service ssh restart
  
 +
'''Pronto! Agora é so fazer o Login (com o usuário.ldif que foi adicionado a base) no servidor LDAP, porém, estamos utilizando um cliente na mesma máquina do servidor.'''
  
 
Para verificar os erros de autenticação no servidor
 
Para verificar os erros de autenticação no servidor

Edição das 14h34min de 17 de setembro de 2016

Introdução

O uso e aplicação de tecnologias vêm desenvolvendo um papel importante dentro das empresas, interconectando sistemas em rede com o objetivo de oferecer uma melhor experiência e serviços aos seus clientes. As tendências para integrar as informações e os dados, assim como: login, senha, permissionamento, nome, e-mail, aplicações disponíveis, surgem como uma forma de minimizar transtornos dentro dos ambientes corporativos. Soluções para prover a diminuição dos gastos utilizando serviços de código aberto (open source) ganham espaço no mercado e são explorados por profissionais da área. O protocolo que será discutido e implementado durante este projeto está em destaque quando o assunto é a utilização do serviço de diretório para o gerenciamento de infraestruturas de redes. Segundo o Redbook da IBM - Understanding LDAP Design and Implementation (pg3),  “para aumentar a funcionalidade e o uso, e permitir um custo benefício para administrar aplicações distribuídas, informações sobre os serviços, fontes, usuários, e outros objetos acessíveis vindo das aplicações, precisam ser organizadas de uma maneira limpa e consistente.” Envolvendo estas necessidades, foi desenvolvido o protocolo que será abordado neste documento.

A integração de uma ferramenta opensource, para o gerenciamento centralizado dos dados (atributos do usuário citados anteriormente) utilizando o protocolo LDAP, surge a partir de uma necessidade corporativa, onde se faz necessário integrar as informações (credenciais e atributos) dos usuários, fazendo com que os dados fiquem centralizados em um único servidor base. Segundo o livro da IBM (pg 3-4), “LDAP tem ganhado uma ampla aceitação como um método de acesso a diretórios da internet e também se tornando uma ferramenta estratégica dentro das intranets corporativas. E apoiada por um número crescente de fornecedores de softwares e está sendo incorporado a um número crescente de aplicações.” Tendo em vista esta oportunidade, se fortaleceu a proposta do projeto, implementando o gerenciamento utilizando do protocolo.


Resumo

Este texto foi escrito com o objetivo de cumprir as atividades exigidas para formatura no Curso Superior de Tecnologia em Telecomunicações do Instituto Federal de Santa Catarina. A metodologia utilizada se caracteriza através da apresentação de um protocolo padrão de comunicação que utiliza um serviço de diretório, através de uma abordagem teórica e técnica. A abordagem principal se dará sobre soluções open-source, discorrendo sobre o protocolo LDAP. Os conceitos teóricos apresentados nos primeiros capítulos é de extrema importância para se criar uma base de entendimento inicial sobre o assunto, para posteriormente implementar e criar o ambiente de estudo e análise. O presente trabalho portanto, pretende com a utilização do protocolo LDAP, implementar um gerenciamento centralizado de usuários, integrando aplicações da infraestrutura de rede em uma base de dados, mantendo a informação em um único repositório.

Palavras-chave: LDAP, OpenLDAP, centralização de usuários.

Objetivos

Fazer integração do servidor de diretório LDAP em um conjunto de aplicações diversas, tais como servidores web (nginx e/ou apache), SSH, serviço de e-mail corporativo Zimbra e as plataformas cPanel e WHMCS que fazem o gerenciamento de servidores de hospedagem de web sites. Portanto, as informações (credenciais e atributos) dos usuários serão centralizadas em um sistema de diretório único, facilitando o acesso aos dados e reduzindo custos de gerenciamento e manutenção.


Atual Condição

Subindo o servidor para implementação do Openldap e phpmyadmin, e começando a integrar com as aplicações de estudo.

Primeiras configurações no Servidor LDAP

Servidor está localizando na AWS Para se fazer login no servidor, estou usando uma chave privada:

ssh -i "murielLDAP.pem" ubuntu@52.67.59.32

Primeiros passos no servidor: apt-get install slapd (instalando o OpenLdap) apt-get install ldap-utils (instalando as biblitecas necessárias) apt-get install phpldapadmin (instalando phpldap admin)

Acesso via brownser a estrutura do servidor LDAP: http://52.67.59.32/phpldapadmin


Servidor configurado, foi configurado um cliente no mesmo servidor, seguindo estas configurações:

Para adicionar uma entrada ldif a base LDAP do servidor:

ldapadd -x -W -D "cn=admin,dc=serverdo,dc=in" -f usuario.ldif

cn = admin = common name admin (para adicionar a base) dc =serverdo, dc=in = este é o nome da base(dominio) LDAP criada no servidor, portando os grupos e usuários devem ser criados nesta base.

O usuário.ldif possui as configurações que seguem:

dn: uid=luciano,ou=usuarios,dc=serverdo,dc=in
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: shadowAccount
uid: luciano
sn: barreto
givenName: Luciano
cn: Luciano Barreto
displayName: Luciano Barreto
uidNumber: 2001
gidNumber: 100
userPassword: xxxxxxxx
loginShell: /bin/bash
homeDirectory: /home/lucianoldap

Esta foi uma entrada de exemplo adicionada a base LDAP.


$ slapcat (mostra a àrvode de diretórios DIT) $ service sladp status (verificar se esta rodando o serviço)


Instalando um cliente para acessar ssh o servidor

$ apt-get install libpam-ldap

$ apt-get install nscd

$ vi /etc/nsswitch.conf passwd: files ldap group: files ldap


$ service nscd restart

$ vi /etc/ldap.conf auth sufficient pam_ldap.so account sufficient pam_permit.so


$ chmod 600 /etc/ldap.conf

$ vi /etc/pam.d/sshd

$ vi /etc/pam.d/common-session

session required pam_mkhomedir.so skel=/etc/skel umask=0022

$ vi /etc/pam.d/common-password password required pam_deny.so

$ vi /etc/ssh/sshd_config

$ service ssh restart

Pronto! Agora é so fazer o Login (com o usuário.ldif que foi adicionado a base) no servidor LDAP, porém, estamos utilizando um cliente na mesma máquina do servidor.

Para verificar os erros de autenticação no servidor $vi /var/log/auth.log

Referência Bibliográficas

MENEGUITE, R.L. LDAP – Autenticação Centralizada.} Dissertação - Faculdades Unificadas Doctum de Cataguases, MG - Brasil, 2009.

DONLEY, C. LDAP Programming, Management and Integration. 74. ed. Greenwich - Ct: Manning, 2003. 352 p.

WAN, Xin; SCHULZRINNE, Henning; KANDLUR, Dilip; Verma, D. Measurement and Analysis of LDAP Performance. [s. L.]: Ieee/acm Transactions On Networking, 2008. 12 p.

YEGULALP, Serdar (Ed.). Nginx passes Apache as Web server of choice among top sites: Biggest slice of the top 1,000 websites now uses Nginx over Apache's or Microsoft's Web servers, says W3Techs survey -- but Apache is still tops overall. 2014. Disponível em: <http://www.infoworld.com/article/2608377/open-source-software/nginx-passes-apache-as-web-server-of-choice-among-top-sites.html>. Acesso em: 08 julho 2016.

BUTCHER, Matt. Mastering OpenLDAP: Configuring, Securing, and Integrating Directory Services. Birmingham - Mumbai: Packt, 2007. 482 p.

TUTTLE, Steven; EHLENBERGER, Ami; GORTHI, Ramakrishna; LEISERSON, Jay; MACBETH, Richard; OWEN, Nathan; RANAHANDOLA, Sunil; STORRS, Michael; YANG, Chunhui. Understanding LDAP: Design and Implementation. 2. ed. [s. L.]: Ibm Tivoli Directory Server, 2004. 774 p.

MACHADO, Erich Soares; MORI JUNIOR, Flavio da Silva.Autenticação Integrada Baseada em Serviço de Diretório LDAP. 2006. 84 f. Monografia - Curso de Ciência da Computação, Ime, Universidade de São Paulo, São Paulo, 2006.

EVARISTO, Lincon Ruam Angioletti. Integrando a base de usuários LDAP com serviços de e-mail, proxy web e ssh. 2002. 51 f. Tese (Doutorado) - Curso de Sistemas de Informação, Instituto Superior Tupy, Joinville, 2008.

TRIGO, Clodonil Honório. OpenLdap: Uma Abordagem Integrada São Paulo: Novatec, 2007. 240 p.

SARI, Riri Fitri; HIDAYAT, Syarif. Integrating Web Server Applications With LDAP Authentication: Case Study on Human Resources Information System of Ul. Kampus Baru, Indonesia: Electrical Engineering Department, Faculty Of Engineering University Of Indonesia,. 6 p.

CHAVES, Tiago Rodrigues. Autenticação IEEE 802.1X baseada no protocolo RADIUS e serviço de diretório LDAP aplicado a rede GIGAUFOPNET. 2010. 110 f. Monografia - Curso de Ciência da Computação, Instituto de Ciências Exatas, Universidade Federal de Ouro Preto, Ouro Preto, 2010.

INÁCIO JÚNIOR, Jorgeley. Redes Linux: Comandos gerais e Servidores de redes.Foca Linux, 2004. 41 p.