SlideShare ist ein Scribd-Unternehmen logo
1 von 46
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Was ist angesagt?

Monitoramento rede
Monitoramento redeMonitoramento rede
Monitoramento redeAndré Déo
 
Prometheus入門から運用まで徹底解説
Prometheus入門から運用まで徹底解説Prometheus入門から運用まで徹底解説
Prometheus入門から運用まで徹底解説貴仁 大和屋
 
Infrastructure-as-Code with Pulumi - Better than all the others (like Ansible)?
Infrastructure-as-Code with Pulumi- Better than all the others (like Ansible)?Infrastructure-as-Code with Pulumi- Better than all the others (like Ansible)?
Infrastructure-as-Code with Pulumi - Better than all the others (like Ansible)?Jonas Hecht
 
「これからはじめるNGINX技術解説~基本編」セミナー (NGINX Back to Basic in JP)
「これからはじめるNGINX技術解説~基本編」セミナー (NGINX Back to Basic in JP)「これからはじめるNGINX技術解説~基本編」セミナー (NGINX Back to Basic in JP)
「これからはじめるNGINX技術解説~基本編」セミナー (NGINX Back to Basic in JP)NGINX, Inc.
 
VirtualBox と Rocky Linux 8 で始める Pacemaker ~ VirtualBox でも STONITH 機能が試せる! Vi...
VirtualBox と Rocky Linux 8 で始める Pacemaker  ~ VirtualBox でも STONITH 機能が試せる! Vi...VirtualBox と Rocky Linux 8 で始める Pacemaker  ~ VirtualBox でも STONITH 機能が試せる! Vi...
VirtualBox と Rocky Linux 8 で始める Pacemaker ~ VirtualBox でも STONITH 機能が試せる! Vi...ksk_ha
 
PG-Strom - GPGPU meets PostgreSQL, PGcon2015
PG-Strom - GPGPU meets PostgreSQL, PGcon2015PG-Strom - GPGPU meets PostgreSQL, PGcon2015
PG-Strom - GPGPU meets PostgreSQL, PGcon2015Kohei KaiGai
 
OpenStackで始めるクラウド環境構築入門
OpenStackで始めるクラウド環境構築入門OpenStackで始めるクラウド環境構築入門
OpenStackで始めるクラウド環境構築入門VirtualTech Japan Inc.
 
CVS - Slides Parte 1 - Introdução
CVS - Slides Parte 1 - IntroduçãoCVS - Slides Parte 1 - Introdução
CVS - Slides Parte 1 - IntroduçãoMarden Neubert
 
200.마이크로서비스에 적합한 오픈소스 WAS는 무엇?
200.마이크로서비스에 적합한 오픈소스 WAS는 무엇?200.마이크로서비스에 적합한 오픈소스 WAS는 무엇?
200.마이크로서비스에 적합한 오픈소스 WAS는 무엇?Opennaru, inc.
 
Lxc で始めるケチケチ仮想化生活?!
Lxc で始めるケチケチ仮想化生活?!Lxc で始めるケチケチ仮想化生活?!
Lxc で始めるケチケチ仮想化生活?!Etsuji Nakai
 
今さら聞けない!Windows server 2012 r2 hyper v入門
今さら聞けない!Windows server 2012 r2 hyper v入門今さら聞けない!Windows server 2012 r2 hyper v入門
今さら聞けない!Windows server 2012 r2 hyper v入門Trainocate Japan, Ltd.
 
Basic of virtual memory of Linux
Basic of virtual memory of LinuxBasic of virtual memory of Linux
Basic of virtual memory of LinuxTetsuyuki Kobayashi
 
Installing and Configuring NGINX Open Source
Installing and Configuring NGINX Open SourceInstalling and Configuring NGINX Open Source
Installing and Configuring NGINX Open SourceNGINX, Inc.
 
Hyper-V を Windows PowerShell から管理する
Hyper-V を Windows PowerShell から管理するHyper-V を Windows PowerShell から管理する
Hyper-V を Windows PowerShell から管理するjunichi anno
 
コンテナは次世代サービスの主流になるか?
コンテナは次世代サービスの主流になるか?コンテナは次世代サービスの主流になるか?
コンテナは次世代サービスの主流になるか?SAKURA Internet Inc.
 
試して覚えるPacemaker入門 『リソース設定編』
試して覚えるPacemaker入門 『リソース設定編』試して覚えるPacemaker入門 『リソース設定編』
試して覚えるPacemaker入門 『リソース設定編』健太 松浦
 
Dovecot Director 概要
Dovecot Director 概要Dovecot Director 概要
Dovecot Director 概要SATOH Fumiyasu
 

Was ist angesagt? (20)

Monitoramento rede
Monitoramento redeMonitoramento rede
Monitoramento rede
 
Prometheus入門から運用まで徹底解説
Prometheus入門から運用まで徹底解説Prometheus入門から運用まで徹底解説
Prometheus入門から運用まで徹底解説
 
Infrastructure-as-Code with Pulumi - Better than all the others (like Ansible)?
Infrastructure-as-Code with Pulumi- Better than all the others (like Ansible)?Infrastructure-as-Code with Pulumi- Better than all the others (like Ansible)?
Infrastructure-as-Code with Pulumi - Better than all the others (like Ansible)?
 
「これからはじめるNGINX技術解説~基本編」セミナー (NGINX Back to Basic in JP)
「これからはじめるNGINX技術解説~基本編」セミナー (NGINX Back to Basic in JP)「これからはじめるNGINX技術解説~基本編」セミナー (NGINX Back to Basic in JP)
「これからはじめるNGINX技術解説~基本編」セミナー (NGINX Back to Basic in JP)
 
Fundamentos de arquitetura Web
Fundamentos de arquitetura WebFundamentos de arquitetura Web
Fundamentos de arquitetura Web
 
VirtualBox と Rocky Linux 8 で始める Pacemaker ~ VirtualBox でも STONITH 機能が試せる! Vi...
VirtualBox と Rocky Linux 8 で始める Pacemaker  ~ VirtualBox でも STONITH 機能が試せる! Vi...VirtualBox と Rocky Linux 8 で始める Pacemaker  ~ VirtualBox でも STONITH 機能が試せる! Vi...
VirtualBox と Rocky Linux 8 で始める Pacemaker ~ VirtualBox でも STONITH 機能が試せる! Vi...
 
PG-Strom - GPGPU meets PostgreSQL, PGcon2015
PG-Strom - GPGPU meets PostgreSQL, PGcon2015PG-Strom - GPGPU meets PostgreSQL, PGcon2015
PG-Strom - GPGPU meets PostgreSQL, PGcon2015
 
OpenStackで始めるクラウド環境構築入門
OpenStackで始めるクラウド環境構築入門OpenStackで始めるクラウド環境構築入門
OpenStackで始めるクラウド環境構築入門
 
CVS - Slides Parte 1 - Introdução
CVS - Slides Parte 1 - IntroduçãoCVS - Slides Parte 1 - Introdução
CVS - Slides Parte 1 - Introdução
 
200.마이크로서비스에 적합한 오픈소스 WAS는 무엇?
200.마이크로서비스에 적합한 오픈소스 WAS는 무엇?200.마이크로서비스에 적합한 오픈소스 WAS는 무엇?
200.마이크로서비스에 적합한 오픈소스 WAS는 무엇?
 
Lxc で始めるケチケチ仮想化生活?!
Lxc で始めるケチケチ仮想化生活?!Lxc で始めるケチケチ仮想化生活?!
Lxc で始めるケチケチ仮想化生活?!
 
今さら聞けない!Windows server 2012 r2 hyper v入門
今さら聞けない!Windows server 2012 r2 hyper v入門今さら聞けない!Windows server 2012 r2 hyper v入門
今さら聞けない!Windows server 2012 r2 hyper v入門
 
Introdução ao HTML e CSS
Introdução ao HTML e CSSIntrodução ao HTML e CSS
Introdução ao HTML e CSS
 
Basic of virtual memory of Linux
Basic of virtual memory of LinuxBasic of virtual memory of Linux
Basic of virtual memory of Linux
 
Installing and Configuring NGINX Open Source
Installing and Configuring NGINX Open SourceInstalling and Configuring NGINX Open Source
Installing and Configuring NGINX Open Source
 
Hyper-V を Windows PowerShell から管理する
Hyper-V を Windows PowerShell から管理するHyper-V を Windows PowerShell から管理する
Hyper-V を Windows PowerShell から管理する
 
コンテナは次世代サービスの主流になるか?
コンテナは次世代サービスの主流になるか?コンテナは次世代サービスの主流になるか?
コンテナは次世代サービスの主流になるか?
 
[Japan Tech summit 2017] SEC 004
[Japan Tech summit 2017] SEC 004[Japan Tech summit 2017] SEC 004
[Japan Tech summit 2017] SEC 004
 
試して覚えるPacemaker入門 『リソース設定編』
試して覚えるPacemaker入門 『リソース設定編』試して覚えるPacemaker入門 『リソース設定編』
試して覚えるPacemaker入門 『リソース設定編』
 
Dovecot Director 概要
Dovecot Director 概要Dovecot Director 概要
Dovecot Director 概要
 

Ähnlich wie Integrando FreeBSD com Active Directory e OpenLDAP

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
 

Ähnlich wie Integrando FreeBSD com Active Directory e OpenLDAP (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
 

Mehr von 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
 

Mehr von 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
 

Kürzlich hochgeladen

ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx2m Assessoria
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx2m Assessoria
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx2m Assessoria
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploDanilo Pinotti
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsDanilo Pinotti
 
Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfSamaraLunas
 
Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuisKitota
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx2m Assessoria
 

Kürzlich hochgeladen (8)

ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdf
 
Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdf
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 

Integrando FreeBSD com Active Directory e OpenLDAP

  • 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