46
Integrando FreeBSD com Active Directory e OpenLDAP

Integrando FreeBSD com Active Directory e OpenLDAP

Embed Size (px)

Citation preview

Page 1: Integrando FreeBSD com Active Directory e OpenLDAP

Integrando FreeBSD com Active Directory e OpenLDAP

Page 2: Integrando FreeBSD com Active Directory e OpenLDAP

O que será mostrado nestes 60 minutos?

Page 3: Integrando FreeBSD com Active Directory e OpenLDAP

• O que é LDAP?• O serviço de diretório OpenLDAP• A implementação do Active Directory• O porquê da integração• O que é o SFU?• O projeto nss_ldap• O projeto pam_ldap• O segredo da integração• Os arquivos de configuração• Projeto de compatibilidade com o Active Directory• O que falta ainda?

Page 4: Integrando FreeBSD com Active Directory e OpenLDAP

O que é LDAP?

Page 5: Integrando FreeBSD com Active Directory e OpenLDAP

LDAP (Lightweight Directory Access Protocol) é um protocolo (executado sobre o TCP/IP) cliente-servidor, utilizado para acessar um serviço de Diretório. Ele foi inicialmente usado como uma interface para o X.500, mas também pode ser utilizado com autonomia e em outros tipos de servidores de Diretório.

Atualmente vem se tornando um padrão, diversos programas já possuem suporte a LDAP. Livros de endereços, autenticação, armazenamento de certificados digitais (S/MIME) e de chaves públicas (PGP), são alguns dos exemplos onde o LDAP já é amplamente utilizado.

Page 6: Integrando FreeBSD com Active Directory e OpenLDAP

O serviço de diretórioOpenLDAP

Page 7: Integrando FreeBSD com Active Directory e OpenLDAP

Um Diretório é como um banco de dados, mas tende a conter mais informações descritivas, baseadas em atributo, e é organizado em forma de árvore, não de tabela.

A informação em um Diretório é geralmente mais lida do que escrita. Como conseqüência, Diretórios normalmente não são usados para implementar transações complexas, ou esquemas de consultas regulares em bancos de dados, transações estas que são usadas para fazer um grande volume de atualizações complexas.

Atualizações em Diretórios são tipicamente simples ou nem são feitas.

Page 8: Integrando FreeBSD com Active Directory e OpenLDAP

Diretórios são preparados para dar resposta rápida a um grande volume de consultas ou operações de busca.

Eles também podem ter a habilidade de replicar informações extensamente; isto é usado para acrescentar disponibilidade e confiabilidade, enquanto reduzem o tempo de resposta.

Page 9: Integrando FreeBSD com Active Directory e OpenLDAP

Existem várias maneiras diferentes para disponibilizar um serviço de Diretório. Métodos diferentes permitem que diferentes tipos de informações possam ser armazenadas no Diretório, colocando requerimentos diferentes, sobre como aquela informação poderá ser referenciada, requisitada e atualizada, como ela é protegida de acessos não autorizados, etc..

Alguns serviços de Diretório são locais, fornecendo o serviço para um contexto restrito (ex., o serviço finger em uma máquina isolada). Outros serviços são globais, fornecendo o serviço para um contexto muito maior (por exemplo, a própria Internet).

Page 10: Integrando FreeBSD com Active Directory e OpenLDAP

A implementação doActive Directory

Page 11: Integrando FreeBSD com Active Directory e OpenLDAP

Active Directory

Page 12: Integrando FreeBSD com Active Directory e OpenLDAP

O porquê da integração

Page 13: Integrando FreeBSD com Active Directory e OpenLDAP

Autenticação integrada entre serviços

Migrações seletivas

Serviços de alta disponibilidade

Migrações de usuários / objetos entre ambientes

Suporte a NIS / NFS entre ambientes

Page 14: Integrando FreeBSD com Active Directory e OpenLDAP

O que é SFU?

Page 15: Integrando FreeBSD com Active Directory e OpenLDAP

Desde sua introdução em 1999, o Services for UNIX (SFU) iniciaram um papel principal para quem tentava fazer redes Windows e UNIX coexistir pacificamente. A versão inicial trouxe junto diversos produtos diferentes em um pacote totalmente acoplado.

A versão 2.0 do SFU se estendeu e melhorou substancialmente o suporte do Network File System (NFS), adicionando autenticação e a integração com Windows, ao fornecer um produto mais inteiramente integrado.

Page 16: Integrando FreeBSD com Active Directory e OpenLDAP

Com a liberação da versão 3,0 em maio, 2002, Microsoft substituiu a camada de emulação precedentes da tecnologia Interix. Interix é um subsistema completo para executar nativamente programas UNIX em ambientes Microsoft Windows Server™ 2003, Windows XP Professional, e Windows 2000.

O interix inclui um completo pacotes de softwares UNIX, como:

BashVIAWKPerlPythonGCC

Page 17: Integrando FreeBSD com Active Directory e OpenLDAP

Com versão 3.5 do SFU, a Microsoft melhorou o Interix SDK para suportar aplicações nativas e APIs para melhorar o suporte para a internacionalização.

A sustentação ao NFS foi estendida também para melhorar a autenticação em ambientes comDirectory® e usuários nativos do Windows 2003.

Além disso houve muitas melhorias substanciais no desempenho no NFS e em componentes NIS do SFU.

Microsoft projetou SFU 3.5 para trabalhar com uma grande escala larga plataformas UNIX-Like como, BSD/Linux/Solaris usando protocolos padronizados como LDAP, NIS, NFS.

Page 18: Integrando FreeBSD com Active Directory e OpenLDAP

Os arquivos de configuração

Instalação do SFU (Services for Unix)

Page 19: Integrando FreeBSD com Active Directory e OpenLDAP

Os arquivos de configuração

Instalação do SFU (Services for Unix)

Page 20: Integrando FreeBSD com Active Directory e OpenLDAP

Os arquivos de configuração

Instalação do SFU (Services for Unix)

Page 21: Integrando FreeBSD com Active Directory e OpenLDAP

Os arquivos de configuração

Instalação do SFU (Services for Unix)

Page 22: Integrando FreeBSD com Active Directory e OpenLDAP

Os arquivos de configuração

Instalação do SFU (Services for Unix)

Page 23: Integrando FreeBSD com Active Directory e OpenLDAP

Os arquivos de configuração

Instalação do SFU (Services for Unix)

Page 24: Integrando FreeBSD com Active Directory e OpenLDAP

Os arquivos de configuração

Instalação do SFU (Services for Unix)

Page 25: Integrando FreeBSD com Active Directory e OpenLDAP

Os arquivos de configuração

Instalação do SFU (Services for Unix)

Page 26: Integrando FreeBSD com Active Directory e OpenLDAP

Os arquivos de configuração

Instalação do SFU (Services for Unix)

Page 27: Integrando FreeBSD com Active Directory e OpenLDAP

Os arquivos de configuração

Instalação do SFU (Services for Unix)

Page 28: Integrando FreeBSD com Active Directory e OpenLDAP

O projeto pam_nsswitch

Page 29: Integrando FreeBSD com Active Directory e OpenLDAP

A definição das entidades definida na RFC 2307 é executada geralmente por um conjunto de chamadas da biblioteca C do UNIX (tais como o getpwnam() para retornar os atributos de um usuário).

O módulo do nss_ldap fornece os meios para ambientes Unix se integrarem a serviços de diretório OpenLDAP, buscando informações como hosts, usuários, senhas ou qualquer informação contida no serviço de diretório. O módulo é a execução da referência da RFC 2307.

Page 30: Integrando FreeBSD com Active Directory e OpenLDAP

O projeto pam_ldap

Page 31: Integrando FreeBSD com Active Directory e OpenLDAP

O módulo do pam_ldap fornece meios para o FreeBSD faça autenticação, mudança de senhas e usuários em serviços de diretórios LDAP.

Page 32: Integrando FreeBSD com Active Directory e OpenLDAP

O segredo da integração

Page 33: Integrando FreeBSD com Active Directory e OpenLDAP

Mapeamento de Objetos

Object Class (posixAccount) User

uid

msSFU30NameuidNumber

msSFU30UidNumber

Page 34: Integrando FreeBSD com Active Directory e OpenLDAP

Os arquivos de configuração

Page 35: Integrando FreeBSD com Active Directory e OpenLDAP

uri ldap://w3k.dominio.com.br/base dc=dominio,dc=com,dc=brldap_version 3binddn [email protected] SenhadoUsuarioAdministratorscope subpam_login_attribute msSFU30Namepam_password adnss_base_passwd cn=users,dc=dominio,dc=com,dc=br?onenss_base_group cn=users,dc=dominio,dc=com,dc=br?onenss_map_objectclass posixAccount Usernss_map_attribute uid msSFU30Namenss_map_attribute uidNumber msSFU30UidNumbernss_map_attribute gidNumber msSFU30GidNumbernss_map_attribute loginShell msSFU30LoginShellnss_map_attribute gecos namenss_map_attribute userPassword msSFU30Passwordnss_map_attribute homeDirectory msSFU30HomeDirectorynss_map_objectclass posixGroup Groupnss_map_attribute uniqueMember posixMembernss_map_attribute cn sAMAccountName

/usr/local/etc/ldap.conf

Objetos OpenLDAP UnixObjetos Active Directory Microsoft®

Page 36: Integrando FreeBSD com Active Directory e OpenLDAP

Os arquivos de configuração

passwd: files ldapgroup: files ldap

/etc/nsswitch.conf

Page 37: Integrando FreeBSD com Active Directory e OpenLDAP

Os arquivos de configuração

auth sufficient /usr/local/lib/pam_ldap.so

/etc/pam.d ; sshd, imap, ftpd e outros

Page 38: Integrando FreeBSD com Active Directory e OpenLDAP

O que é possivel de fazer?

Page 39: Integrando FreeBSD com Active Directory e OpenLDAP

Integração de serviços:

• VPN PPTP• VPN Ipsec + Radius• Mailservers (Postfix/Sedmail/Qmail)• Autenticação de Gateways PF+AUTHPF• Squid• Samba 3• Asterisk (VoIP)• Aplicações WEB (php, perl,mono C#)

Page 40: Integrando FreeBSD com Active Directory e OpenLDAP

Projeto de compatibilidadecom o Active Directory

Page 41: Integrando FreeBSD com Active Directory e OpenLDAP

Projeto de compatibilidade com o Active Directory consiste básicamente em mapear funções e tecnologias utilizadas para integração de ambientes e desenvolver similares opensource.

Page 42: Integrando FreeBSD com Active Directory e OpenLDAP

Projetos em andamento:

• Schemas do Active Directory• Schemas do ISA Server• Schemas do Exchange Server• Modificação de serviços• DNS• DHCP• SAMBA• PF (Packet Filter OpenBSD)• POSTFIX• Client Multi-Plataforma .NET Mono C#• Interface Web para gerenciamento centralizado

Page 43: Integrando FreeBSD com Active Directory e OpenLDAP

O que falta ainda?

Page 44: Integrando FreeBSD com Active Directory e OpenLDAP

OpenLDAP

Page 45: Integrando FreeBSD com Active Directory e OpenLDAP

Objetivos a serem alcançadosusando tecnologias do FreeBSD:

• Integração entre cliente/FreeBSD – servidor/FreeBSD• Definição de padrão para arvóre de diretório LDAP• Login Classes (Integração com LDAP)• MAC ou Mandatory Access Control