SlideShare una empresa de Scribd logo
1 de 46
Descargar para leer sin conexión
Integrando FreeBSD com
Active Directory e OpenLDAP
O que será mostrado nestes
60 minutos?
• 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?
O que é LDAP?
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.
O serviço de diretório
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.
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.
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).
A implementação do
Active Directory
Active Directory
O porquê da integração
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
O que é SFU?
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.
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:

        Bash
        VI
        AWK
        Perl
        Python
        GCC
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.
Instalação do SFU (Services for Unix)




Os arquivos de configuração
Instalação do SFU (Services for Unix)




Os arquivos de configuração
Instalação do SFU (Services for Unix)




Os arquivos de configuração
Instalação do SFU (Services for Unix)




Os arquivos de configuração
Instalação do SFU (Services for Unix)




Os arquivos de configuração
Instalação do SFU (Services for Unix)




Os arquivos de configuração
Instalação do SFU (Services for Unix)




Os arquivos de configuração
Instalação do SFU (Services for Unix)




Os arquivos de configuração
Instalação do SFU (Services for Unix)




Os arquivos de configuração
Instalação do SFU (Services for Unix)




Os arquivos de configuração
O projeto pam_nsswitch
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.
O projeto pam_ldap
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.
O segredo da integração
Mapeamento de Objetos




      Object Class (posixAccount)   User


                uid

       uidNumber msSFU30Name


  msSFU30UidNumber
Os arquivos de configuração
/usr/local/etc/ldap.conf


uri ldap://w3k.dominio.com.br/                     Objetos OpenLDAP Unix
base dc=dominio,dc=com,dc=br                       Objetos Active Directory Microsoft®
ldap_version 3
binddn administrator@dominio.com.br
bindpw SenhadoUsuarioAdministrator
scope sub
pam_login_attribute msSFU30Name
pam_password ad
nss_base_passwd cn=users,dc=dominio,dc=com,dc=br?one
nss_base_group cn=users,dc=dominio,dc=com,dc=br?one
nss_map_objectclass posixAccount User
nss_map_attribute uid msSFU30Name
nss_map_attribute uidNumber msSFU30UidNumber
nss_map_attribute gidNumber msSFU30GidNumber
nss_map_attribute loginShell msSFU30LoginShell
nss_map_attribute gecos name
nss_map_attribute userPassword msSFU30Password
nss_map_attribute homeDirectory msSFU30HomeDirectory
nss_map_objectclass posixGroup Group
nss_map_attribute uniqueMember posixMember
nss_map_attribute cn sAMAccountName
/etc/nsswitch.conf



passwd: files ldap
group: files ldap




                     Os arquivos de configuração
/etc/pam.d ; sshd, imap, ftpd e outros




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




                        Os arquivos de configuração
O que é possivel de fazer?
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#)
Projeto de compatibilidade
com o Active Directory
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.
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
O que falta ainda?
OpenLDAP
Objetivos a serem alcançados
usando 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
Duvidas?
Informações?

www.tompast.org
rafael.sales@lycos.de
team@tompast.org

Más contenido relacionado

La actualidad más candente

Improving Apache Spark by Taking Advantage of Disaggregated Architecture
Improving Apache Spark by Taking Advantage of Disaggregated ArchitectureImproving Apache Spark by Taking Advantage of Disaggregated Architecture
Improving Apache Spark by Taking Advantage of Disaggregated ArchitectureDatabricks
 
Oracle para Desenvolvedores - recursos e técnicas - visões gerais (Uninove 2016)
Oracle para Desenvolvedores - recursos e técnicas - visões gerais (Uninove 2016)Oracle para Desenvolvedores - recursos e técnicas - visões gerais (Uninove 2016)
Oracle para Desenvolvedores - recursos e técnicas - visões gerais (Uninove 2016)Andre Santos
 
معمارية المعلومات_ تطبيقات ونماذج
معمارية المعلومات_ تطبيقات ونماذجمعمارية المعلومات_ تطبيقات ونماذج
معمارية المعلومات_ تطبيقات ونماذجemad Saleh
 
Server virtualization by VMWare
Server virtualization by VMWareServer virtualization by VMWare
Server virtualization by VMWaresgurnam73
 
RedHat Linux
RedHat LinuxRedHat Linux
RedHat LinuxApo
 
Networking in linux
Networking in linuxNetworking in linux
Networking in linuxVarnnit Jain
 
Greenplum Database Overview
Greenplum Database Overview Greenplum Database Overview
Greenplum Database Overview EMC
 
Course 102: Lecture 5: File Handling Internals
Course 102: Lecture 5: File Handling Internals Course 102: Lecture 5: File Handling Internals
Course 102: Lecture 5: File Handling Internals Ahmed El-Arabawy
 
How Pulsar Stores Your Data - Pulsar Summit NA 2021
How Pulsar Stores Your Data - Pulsar Summit NA 2021How Pulsar Stores Your Data - Pulsar Summit NA 2021
How Pulsar Stores Your Data - Pulsar Summit NA 2021StreamNative
 
Microsoft Azure Tutorial For Beginners | Microsoft Azure Training | Edureka
Microsoft Azure Tutorial For Beginners | Microsoft Azure Training | EdurekaMicrosoft Azure Tutorial For Beginners | Microsoft Azure Training | Edureka
Microsoft Azure Tutorial For Beginners | Microsoft Azure Training | EdurekaEdureka!
 
Course 102: Lecture 2: Unwrapping Linux
Course 102: Lecture 2: Unwrapping Linux Course 102: Lecture 2: Unwrapping Linux
Course 102: Lecture 2: Unwrapping Linux Ahmed El-Arabawy
 
Windows Server 2012 Managing Active Directory Domain
Windows Server 2012 Managing  Active Directory DomainWindows Server 2012 Managing  Active Directory Domain
Windows Server 2012 Managing Active Directory DomainNapoleon NV
 
ELK: Moose-ively scaling your log system
ELK: Moose-ively scaling your log systemELK: Moose-ively scaling your log system
ELK: Moose-ively scaling your log systemAvleen Vig
 
Domain name server
Domain name serverDomain name server
Domain name serverMobile88
 

La actualidad más candente (20)

Windows Server 2019 -InspireTech 2019
Windows Server 2019 -InspireTech 2019Windows Server 2019 -InspireTech 2019
Windows Server 2019 -InspireTech 2019
 
Improving Apache Spark by Taking Advantage of Disaggregated Architecture
Improving Apache Spark by Taking Advantage of Disaggregated ArchitectureImproving Apache Spark by Taking Advantage of Disaggregated Architecture
Improving Apache Spark by Taking Advantage of Disaggregated Architecture
 
Oracle para Desenvolvedores - recursos e técnicas - visões gerais (Uninove 2016)
Oracle para Desenvolvedores - recursos e técnicas - visões gerais (Uninove 2016)Oracle para Desenvolvedores - recursos e técnicas - visões gerais (Uninove 2016)
Oracle para Desenvolvedores - recursos e técnicas - visões gerais (Uninove 2016)
 
معمارية المعلومات_ تطبيقات ونماذج
معمارية المعلومات_ تطبيقات ونماذجمعمارية المعلومات_ تطبيقات ونماذج
معمارية المعلومات_ تطبيقات ونماذج
 
Server virtualization by VMWare
Server virtualization by VMWareServer virtualization by VMWare
Server virtualization by VMWare
 
06 - Servidor Apache
06 - Servidor Apache06 - Servidor Apache
06 - Servidor Apache
 
Ch03 system administration
Ch03 system administration Ch03 system administration
Ch03 system administration
 
RedHat Linux
RedHat LinuxRedHat Linux
RedHat Linux
 
Networking in linux
Networking in linuxNetworking in linux
Networking in linux
 
Greenplum Database Overview
Greenplum Database Overview Greenplum Database Overview
Greenplum Database Overview
 
Abap 7.40
Abap 7.40Abap 7.40
Abap 7.40
 
Course 102: Lecture 5: File Handling Internals
Course 102: Lecture 5: File Handling Internals Course 102: Lecture 5: File Handling Internals
Course 102: Lecture 5: File Handling Internals
 
How Pulsar Stores Your Data - Pulsar Summit NA 2021
How Pulsar Stores Your Data - Pulsar Summit NA 2021How Pulsar Stores Your Data - Pulsar Summit NA 2021
How Pulsar Stores Your Data - Pulsar Summit NA 2021
 
Elasticsearch
ElasticsearchElasticsearch
Elasticsearch
 
Microsoft Azure Tutorial For Beginners | Microsoft Azure Training | Edureka
Microsoft Azure Tutorial For Beginners | Microsoft Azure Training | EdurekaMicrosoft Azure Tutorial For Beginners | Microsoft Azure Training | Edureka
Microsoft Azure Tutorial For Beginners | Microsoft Azure Training | Edureka
 
Course 102: Lecture 2: Unwrapping Linux
Course 102: Lecture 2: Unwrapping Linux Course 102: Lecture 2: Unwrapping Linux
Course 102: Lecture 2: Unwrapping Linux
 
Windows Server 2012 Managing Active Directory Domain
Windows Server 2012 Managing  Active Directory DomainWindows Server 2012 Managing  Active Directory Domain
Windows Server 2012 Managing Active Directory Domain
 
ELK: Moose-ively scaling your log system
ELK: Moose-ively scaling your log systemELK: Moose-ively scaling your log system
ELK: Moose-ively scaling your log system
 
Domain name server
Domain name serverDomain name server
Domain name server
 
Linux basic commands
Linux basic commandsLinux basic commands
Linux basic commands
 

Similar a Integrando FreeBSD com AD e LDAP

Integrado Linux y Active Directory
Integrado Linux y Active DirectoryIntegrado Linux y Active Directory
Integrado Linux y Active Directoryjdavalos
 
Uma visão geral do OpenLDAP e Active Directory
Uma visão geral do OpenLDAP e Active DirectoryUma visão geral do OpenLDAP e Active Directory
Uma visão geral do OpenLDAP e Active Directoryelliando dias
 
Funcionalidades Windows Server 2008 R2
Funcionalidades Windows Server 2008 R2Funcionalidades Windows Server 2008 R2
Funcionalidades Windows Server 2008 R2Rafael Cardoso
 
Apres tec. 1ª estrela 40 pág
Apres tec. 1ª estrela   40 págApres tec. 1ª estrela   40 pág
Apres tec. 1ª estrela 40 págOi S.A
 
Infra de provedores de serviço com software livre
Infra de provedores de serviço com software livreInfra de provedores de serviço com software livre
Infra de provedores de serviço com software livreIsaque Profeta
 
Controlador de Domínio Open Source
Controlador de Domínio Open SourceControlador de Domínio Open Source
Controlador de Domínio Open SourceRicardo Pinheiro
 
Modulo 4 active directory e dns
Modulo 4   active directory e dnsModulo 4   active directory e dns
Modulo 4 active directory e dnsOi S.A
 
Aula03 - protocolo ldap
Aula03 -  protocolo ldapAula03 -  protocolo ldap
Aula03 - protocolo ldapCarlos Veiga
 
Sistemas operacionais arquitetura proprietários ui
Sistemas operacionais arquitetura proprietários uiSistemas operacionais arquitetura proprietários ui
Sistemas operacionais arquitetura proprietários uiJoão Freire Abramowicz
 
Guia de configuração de um servidor linux para utilização em uma pequena empresa
Guia de configuração de um servidor linux para utilização em uma pequena empresaGuia de configuração de um servidor linux para utilização em uma pequena empresa
Guia de configuração de um servidor linux para utilização em uma pequena empresaSoftD Abreu
 
Dns Dhcp Proxy Server1
Dns Dhcp Proxy Server1Dns Dhcp Proxy Server1
Dns Dhcp Proxy Server1Licínio Rocha
 
Alfresco ECM e Gestão Eletrônica de Documentos Open Source
Alfresco ECM e Gestão Eletrônica de Documentos Open SourceAlfresco ECM e Gestão Eletrônica de Documentos Open Source
Alfresco ECM e Gestão Eletrônica de Documentos Open SourceAmbiente Livre
 
Lista de abreviações 3
Lista de abreviações 3Lista de abreviações 3
Lista de abreviações 3diogolevel3
 
Pense Aberto, Pense Linux
Pense Aberto, Pense LinuxPense Aberto, Pense Linux
Pense Aberto, Pense Linuxaviram
 

Similar a Integrando FreeBSD com AD e LDAP (20)

Integrado Linux y Active Directory
Integrado Linux y Active DirectoryIntegrado Linux y Active Directory
Integrado Linux y Active Directory
 
Uma visão geral do OpenLDAP e Active Directory
Uma visão geral do OpenLDAP e Active DirectoryUma visão geral do OpenLDAP e Active Directory
Uma visão geral do OpenLDAP e Active Directory
 
LDAP
LDAPLDAP
LDAP
 
OpenLDAP: Porque utilizá-lo
OpenLDAP: Porque utilizá-loOpenLDAP: Porque utilizá-lo
OpenLDAP: Porque utilizá-lo
 
Funcionalidades Windows Server 2008 R2
Funcionalidades Windows Server 2008 R2Funcionalidades Windows Server 2008 R2
Funcionalidades Windows Server 2008 R2
 
Apres tec. 1ª estrela 40 pág
Apres tec. 1ª estrela   40 págApres tec. 1ª estrela   40 pág
Apres tec. 1ª estrela 40 pág
 
Apache
ApacheApache
Apache
 
Infra de provedores de serviço com software livre
Infra de provedores de serviço com software livreInfra de provedores de serviço com software livre
Infra de provedores de serviço com software livre
 
Controlador de Domínio Open Source
Controlador de Domínio Open SourceControlador de Domínio Open Source
Controlador de Domínio Open Source
 
Modulo 4 active directory e dns
Modulo 4   active directory e dnsModulo 4   active directory e dns
Modulo 4 active directory e dns
 
Aula03 - protocolo ldap
Aula03 -  protocolo ldapAula03 -  protocolo ldap
Aula03 - protocolo ldap
 
Sistemas operacionais arquitetura proprietários ui
Sistemas operacionais arquitetura proprietários uiSistemas operacionais arquitetura proprietários ui
Sistemas operacionais arquitetura proprietários ui
 
Guia de configuração de um servidor linux para utilização em uma pequena empresa
Guia de configuração de um servidor linux para utilização em uma pequena empresaGuia de configuração de um servidor linux para utilização em uma pequena empresa
Guia de configuração de um servidor linux para utilização em uma pequena empresa
 
Web Sphere
Web SphereWeb Sphere
Web Sphere
 
Windows Aazure
Windows AazureWindows Aazure
Windows Aazure
 
Dns Dhcp Proxy Server1
Dns Dhcp Proxy Server1Dns Dhcp Proxy Server1
Dns Dhcp Proxy Server1
 
A Linguagem Php
A Linguagem PhpA Linguagem Php
A Linguagem Php
 
Alfresco ECM e Gestão Eletrônica de Documentos Open Source
Alfresco ECM e Gestão Eletrônica de Documentos Open SourceAlfresco ECM e Gestão Eletrônica de Documentos Open Source
Alfresco ECM e Gestão Eletrônica de Documentos Open Source
 
Lista de abreviações 3
Lista de abreviações 3Lista de abreviações 3
Lista de abreviações 3
 
Pense Aberto, Pense Linux
Pense Aberto, Pense LinuxPense Aberto, Pense Linux
Pense Aberto, Pense Linux
 

Más de elliando dias

Clojurescript slides
Clojurescript slidesClojurescript slides
Clojurescript slideselliando dias
 
Why you should be excited about ClojureScript
Why you should be excited about ClojureScriptWhy you should be excited about ClojureScript
Why you should be excited about ClojureScriptelliando dias
 
Functional Programming with Immutable Data Structures
Functional Programming with Immutable Data StructuresFunctional Programming with Immutable Data Structures
Functional Programming with Immutable Data Structureselliando dias
 
Nomenclatura e peças de container
Nomenclatura  e peças de containerNomenclatura  e peças de container
Nomenclatura e peças de containerelliando dias
 
Polyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better AgilityPolyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better Agilityelliando dias
 
Javascript Libraries
Javascript LibrariesJavascript Libraries
Javascript Librarieselliando dias
 
How to Make an Eight Bit Computer and Save the World!
How to Make an Eight Bit Computer and Save the World!How to Make an Eight Bit Computer and Save the World!
How to Make an Eight Bit Computer and Save the World!elliando dias
 
A Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the WebA Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the Webelliando dias
 
Introdução ao Arduino
Introdução ao ArduinoIntrodução ao Arduino
Introdução ao Arduinoelliando dias
 
Incanter Data Sorcery
Incanter Data SorceryIncanter Data Sorcery
Incanter Data Sorceryelliando dias
 
Fab.in.a.box - Fab Academy: Machine Design
Fab.in.a.box - Fab Academy: Machine DesignFab.in.a.box - Fab Academy: Machine Design
Fab.in.a.box - Fab Academy: Machine Designelliando dias
 
The Digital Revolution: Machines that makes
The Digital Revolution: Machines that makesThe Digital Revolution: Machines that makes
The Digital Revolution: Machines that makeselliando dias
 
Hadoop - Simple. Scalable.
Hadoop - Simple. Scalable.Hadoop - Simple. Scalable.
Hadoop - Simple. Scalable.elliando dias
 
Hadoop and Hive Development at Facebook
Hadoop and Hive Development at FacebookHadoop and Hive Development at Facebook
Hadoop and Hive Development at Facebookelliando dias
 
Multi-core Parallelization in Clojure - a Case Study
Multi-core Parallelization in Clojure - a Case StudyMulti-core Parallelization in Clojure - a Case Study
Multi-core Parallelization in Clojure - a Case Studyelliando dias
 

Más de elliando dias (20)

Clojurescript slides
Clojurescript slidesClojurescript slides
Clojurescript slides
 
Why you should be excited about ClojureScript
Why you should be excited about ClojureScriptWhy you should be excited about ClojureScript
Why you should be excited about ClojureScript
 
Functional Programming with Immutable Data Structures
Functional Programming with Immutable Data StructuresFunctional Programming with Immutable Data Structures
Functional Programming with Immutable Data Structures
 
Nomenclatura e peças de container
Nomenclatura  e peças de containerNomenclatura  e peças de container
Nomenclatura e peças de container
 
Geometria Projetiva
Geometria ProjetivaGeometria Projetiva
Geometria Projetiva
 
Polyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better AgilityPolyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better Agility
 
Javascript Libraries
Javascript LibrariesJavascript Libraries
Javascript Libraries
 
How to Make an Eight Bit Computer and Save the World!
How to Make an Eight Bit Computer and Save the World!How to Make an Eight Bit Computer and Save the World!
How to Make an Eight Bit Computer and Save the World!
 
Ragel talk
Ragel talkRagel talk
Ragel talk
 
A Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the WebA Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the Web
 
Introdução ao Arduino
Introdução ao ArduinoIntrodução ao Arduino
Introdução ao Arduino
 
Minicurso arduino
Minicurso arduinoMinicurso arduino
Minicurso arduino
 
Incanter Data Sorcery
Incanter Data SorceryIncanter Data Sorcery
Incanter Data Sorcery
 
Rango
RangoRango
Rango
 
Fab.in.a.box - Fab Academy: Machine Design
Fab.in.a.box - Fab Academy: Machine DesignFab.in.a.box - Fab Academy: Machine Design
Fab.in.a.box - Fab Academy: Machine Design
 
The Digital Revolution: Machines that makes
The Digital Revolution: Machines that makesThe Digital Revolution: Machines that makes
The Digital Revolution: Machines that makes
 
Hadoop + Clojure
Hadoop + ClojureHadoop + Clojure
Hadoop + Clojure
 
Hadoop - Simple. Scalable.
Hadoop - Simple. Scalable.Hadoop - Simple. Scalable.
Hadoop - Simple. Scalable.
 
Hadoop and Hive Development at Facebook
Hadoop and Hive Development at FacebookHadoop and Hive Development at Facebook
Hadoop and Hive Development at Facebook
 
Multi-core Parallelization in Clojure - a Case Study
Multi-core Parallelization in Clojure - a Case StudyMulti-core Parallelization in Clojure - a Case Study
Multi-core Parallelization in Clojure - a Case Study
 

Integrando FreeBSD com AD e LDAP

  • 1. Integrando FreeBSD com Active Directory e OpenLDAP
  • 2. O que será mostrado nestes 60 minutos?
  • 3. • 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?
  • 4. O que é LDAP?
  • 5. 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.
  • 6. O serviço de diretório OpenLDAP
  • 7. 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.
  • 8. 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.
  • 9. 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).
  • 12. O porquê da integração
  • 13. 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
  • 14. O que é SFU?
  • 15. 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.
  • 16. 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: Bash VI AWK Perl Python GCC
  • 17. 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.
  • 18. Instalação do SFU (Services for Unix) Os arquivos de configuração
  • 19. Instalação do SFU (Services for Unix) Os arquivos de configuração
  • 20. Instalação do SFU (Services for Unix) Os arquivos de configuração
  • 21. Instalação do SFU (Services for Unix) Os arquivos de configuração
  • 22. Instalação do SFU (Services for Unix) Os arquivos de configuração
  • 23. Instalação do SFU (Services for Unix) Os arquivos de configuração
  • 24. Instalação do SFU (Services for Unix) Os arquivos de configuração
  • 25. Instalação do SFU (Services for Unix) Os arquivos de configuração
  • 26. Instalação do SFU (Services for Unix) Os arquivos de configuração
  • 27. Instalação do SFU (Services for Unix) Os arquivos de configuração
  • 29. 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.
  • 31. 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.
  • 32. O segredo da integração
  • 33. Mapeamento de Objetos Object Class (posixAccount) User uid uidNumber msSFU30Name msSFU30UidNumber
  • 34. Os arquivos de configuração
  • 35. /usr/local/etc/ldap.conf uri ldap://w3k.dominio.com.br/ Objetos OpenLDAP Unix base dc=dominio,dc=com,dc=br Objetos Active Directory Microsoft® ldap_version 3 binddn administrator@dominio.com.br bindpw SenhadoUsuarioAdministrator scope sub pam_login_attribute msSFU30Name pam_password ad nss_base_passwd cn=users,dc=dominio,dc=com,dc=br?one nss_base_group cn=users,dc=dominio,dc=com,dc=br?one nss_map_objectclass posixAccount User nss_map_attribute uid msSFU30Name nss_map_attribute uidNumber msSFU30UidNumber nss_map_attribute gidNumber msSFU30GidNumber nss_map_attribute loginShell msSFU30LoginShell nss_map_attribute gecos name nss_map_attribute userPassword msSFU30Password nss_map_attribute homeDirectory msSFU30HomeDirectory nss_map_objectclass posixGroup Group nss_map_attribute uniqueMember posixMember nss_map_attribute cn sAMAccountName
  • 36. /etc/nsswitch.conf passwd: files ldap group: files ldap Os arquivos de configuração
  • 37. /etc/pam.d ; sshd, imap, ftpd e outros auth sufficient /usr/local/lib/pam_ldap.so Os arquivos de configuração
  • 38. O que é possivel de fazer?
  • 39. 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#)
  • 40. Projeto de compatibilidade com o Active Directory
  • 41. 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.
  • 42. 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
  • 43. O que falta ainda?
  • 45. Objetivos a serem alcançados usando 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