Fernando Cima Consultor de Segurana Microsoft Guia de Servios
de Segurana e Diretrio Windows para Unix
Slide 2
Objetivos Entender os componentes do Unix que suportam a
integrao com Active DirectoryEntender os componentes do Unix que
suportam a integrao com Active Directory Mostrar as formas de
integrar Unix ao AD e como decidir que caminho o mais adequado para
o ambienteMostrar as formas de integrar Unix ao AD e como decidir
que caminho o mais adequado para o ambiente Apresentar o Guia de
Segurana e Servios de Diretrio Windows para UnixApresentar o Guia
de Segurana e Servios de Diretrio Windows para Unix
Slide 3
A Viso Cada usurio tem somente uma identidade e uma senha para
usar todos os servios de TI, e ele somente se autentica uma vezCada
usurio tem somente uma identidade e uma senha para usar todos os
servios de TI, e ele somente se autentica uma vez Toda informao de
segurana do usurio armazenado em um nico localToda informao de
segurana do usurio armazenado em um nico local Vrios projetos ao
longo de vrios anos podem ser necessrios para transformar essa viso
em realidade. Na verdade, possvel que nenhum caminho para essa viso
exista nesse momento. Mas isso no torna a viso invlida ou
inatingvel algum dia.Vrios projetos ao longo de vrios anos podem
ser necessrios para transformar essa viso em realidade. Na verdade,
possvel que nenhum caminho para essa viso exista nesse momento. Mas
isso no torna a viso invlida ou inatingvel algum dia.
Slide 4
Abordagens para o Problema Convergir em um nico
diretrioConvergir em um nico diretrio Uma identidade, uma senha, em
um nico local Requer suporte a padres de mercado Uso do Windows
requer Active Directory Confiana entre diretrios existentesConfiana
entre diretrios existentes Somente Kerberos v5 suportado No mais em
um nico local, mas perto Sincronizar, interoperarSincronizar,
interoperar Uma senha, mas no uma identidade Significativamente
mais complexo
Slide 5
Cinco Solues Vlidas 1.AD/Kerberos somente para autenticao
2.AD/Kerberos para autenticao e autorizao 3.AD/LDAP somente para
autenticao 4.AD/LDAP para autenticao e autorizao 5.Relao de
confiana Kerberos entre AD e Unix somente para autenticao Ns
recomendados a Soluo 2 como a melhor abordagem de arquiteturaNs
recomendados a Soluo 2 como a melhor abordagem de arquitetura
Slide 6
Confiana entre Estruturas Existentes Soluo 5Soluo 5 Prereq:
Organizao j usa Kerberos em UnixPrereq: Organizao j usa Kerberos em
Unix Geralmente em um nico realm Arquitetura de domnios no
complexaArquitetura de domnios no complexa UNIX Kerberos suporta
relaes de confiana com domnios de dentro da floresta Confiana entre
florestas no estvel necessrio ter AD/ADAM para autorizao dos
usurios de Unix necessrio ter AD/ADAM para autorizao dos usurios de
Unix
Slide 7
Porque Integrar Somente Autenticao? Solues 1 e 3Solues 1 e 3
Aumenta nvel de confiana da infraestruturaAumenta nvel de confiana
da infraestrutura Existe j uma soluo robusta de autorizaoExiste j
uma soluo robusta de autorizao Metade da soluo completaMetade da
soluo completa Reduz o nmero de identidades Mantm o mesmo nmero de
locais de autorizao Resolve o problema do desprovisionamentoResolve
o problema do desprovisionamento
Slide 8
Por que Autenticao LDAP? Vrias plataformas importantes no
suportam KerberosVrias plataformas importantes no suportam Kerberos
A maior parte dos sistemas operacionais suportam Kerberos 5 Algumas
aplicaes, em especial aplicaes web, no suportam
Slide 9
O que h de Errado com o LDAP? No projetado como sendo um
protocolo de autenticaoNo projetado como sendo um protocolo de
autenticao Requer configuraes extras para impedir senhas em claro
na rede e ataques de man in the middle (SSL/TLS) Limitaes de
performance e escabilidadeLimitaes de performance e escabilidade
Autenticao requer bind LDAP nica prova de identidade uma conexo ao
servidor No existe transitividade da identidade
Slide 10
Melhor Prtica Soluo 2Soluo 2 Autenticao Kerberos Autorizao via
LDAP Consolidao de diretrio, provisionamento e deprovisionamento
simplificado, senha nica, poltica comumConsolidao de diretrio,
provisionamento e deprovisionamento simplificado, senha nica,
poltica comum Usa os protocolos e servios como eles foram
projetadosUsa os protocolos e servios como eles foram
projetados
Slide 11
Seqncia de Logon Unix login obtm usurio e senhalogin obtm
usurio e senha login chama PAM para autenticar usuriologin chama
PAM para autenticar usurio PAM usa vrios mdulos para tentar a
autenticao login chama getpwnam() para obter dados de autorizao dos
usurioslogin chama getpwnam() para obter dados de autorizao dos
usurios getpwnam() por sua vez chama o NSS NSS usa vrios mdulos
para tentar obter a informao pedida login usa dados de autorizao
para criar o processo inicial (shell)login usa dados de autorizao
para criar o processo inicial (shell)
Slide 12
Kerberos para Autenticao Linux Windows GINA (login) Kerberos
(MIT de-facto) Cache de credencial (ticket) Cache de credencial
(ticket) GSSAPI SSPI Aplicao RFC 1510 Kerberos V5 AS -
Authentication Service TGS - Ticket Granting Service MIT de-facto
CPW - Change password service Servio principal key table Servio
default principal key table LSA kinit klist kdestroy kpasswd (MIT
de-facto) Login pam_krb5 KRB
Slide 13
Linux LDAP para Autenticao LDAP OpenLDAP... LDAP (V3) - RFC
2251 LDAP API - RFC 1831 LDAP search - RFC 2254 protocolo de mudana
de senha do AD login pam_ldap LDAP API Aplicao Conta do usurio
Senha Em claro ou SSLEm claro ou SSL
Slide 14
Autorizao Integrada Schema RFC 2307 ou SFU 3.0 para armazenar
as informaes de autorizao UnixSchema RFC 2307 ou SFU 3.0 para
armazenar as informaes de autorizao Unix SFU 3.0 somente como
legado Windows Server 2003 R2 inclui 2307 Pequenas diferenas em
relao RFC; detalhes no Guia Alguma poltica de grupo so
aplicadasAlguma poltica de grupo so aplicadas Ferramentas Unix no
se preocupam com isso
Slide 15
Linux Windows LDAP ADSI Active Directory Services Interface
LDAP LDAP API nscd cache daemon LDAP (V3) - RFC 2251 LDAP API - RFC
1831 LDAP search - RFC 2254 login getpwnam Aplicao LDAP API Aplicao
Conta do Usurio UID GID Diretrio home Grupos nss_ldap Conta do
Usurio Grupos Telefone E-mail Em claro, SSL ou SASLEm claro, SSL ou
SASL
Slide 16
Selecionando Componentes Unix para Soluo 2 KerberosKerberos MIT
v 1.3.7 ou superior Heimdal Solues proprietrias LDAPLDAP OpenLDAP
2.2 PADL nss_ldap
Slide 17
Configurao do Kerberos Passo 1:Criar conta dos usurios Unix no
Active DirectoryPasso 1:Criar conta dos usurios Unix no Active
Directory Step 2:Criar contas de computador para os sistemas Unix
no Active DirectoryStep 2:Criar contas de computador para os
sistemas Unix no Active Directory Step 3:Criar arquivos keytab para
os sistemas UnixStep 3:Criar arquivos keytab para os sistemas Unix
Step 4:Transferir e instalar o aquivo keytab no sistema UnixStep
4:Transferir e instalar o aquivo keytab no sistema Unix Step
5:Configurar o arquivo pam.confStep 5:Configurar o arquivo pam.conf
Step 6:Configurar o arquivo krb5.confStep 6:Configurar o arquivo
krb5.conf
Funcionou Targeting domain controller:
msftaddemo.sub.microsoftdemo.com Successfully mapped
host/linuxbox.sub.microsoftdemo.com to linuxbox. Key created.
Output keytab to linuxbox.keytab: Keytab version: 0x502 keysize 79
host/ [email protected] ptype 1
(KRB5_NT_PRINCIPAL) vno 3 etype 0x3 (DES-CBC-MD5) keylength 8
(0x0e9bd5da314f5bad) Account linuxbox has been set for DES-only
encryption.
Slide 20
Usando o Arquivo keytab Transfira o aquivo keytab do DC para o
sistema UnixTransfira o aquivo keytab do DC para o sistema Unix
Midia removvel Use PuTTY para se conectar via SSH Use ktutil para
importar o arquivoUse ktutil para importar o arquivo No prompt
ktutil: digite rkt linuxbox.keytabNo prompt ktutil: digite rkt
linuxbox.keytab No prompt ktutil: digite wkt
/etc/krb5/krb5.keytabNo prompt ktutil: digite wkt
/etc/krb5/krb5.keytab
Slide 21
Configure o Arquivo pam.conf # Greatly simplified Kerberos
Setup # # Authentication for logon # other auth sufficient
pam_krb5.so other auth sufficient pam_unix.so use_first_pass # #
Password change mechanism # other password optional pam_krb5.so
try_first_pass other password required pam_unix.so # # There are
others as well #
Configurao LDAP Passo 1: Estenda o schema do AD schema para
armazenar informao de autorizao do UnixPasso 1: Estenda o schema do
AD schema para armazenar informao de autorizao do Unix Passo 2:
Provisione usurios e grupos para o UnixPasso 2: Provisione usurios
e grupos para o Unix Passo 3: Configure o cliente ldap Unix para se
conectar ao ADPasso 3: Configure o cliente ldap Unix para se
conectar ao AD Passo 4: Configure nss_ldap para usar os atributos
desejados no ADPasso 4: Configure nss_ldap para usar os atributos
desejados no AD
Slide 24
Configure o Arquivo ldap.conf # Point at DC# Point at DC
urildap://msftaddemo.sub.microsoftdemo.comurildap://msftaddemo.sub.microsoftdemo.com
#urildaps://msftaddemo.sub.microsoftdemo.com#urildaps://msftaddemo.sub.microsoftdemo.com
# Distinguished name and password to bind with# Distinguished name
and password to bind with
binddncn=proxyuser,cn=Users,dc=sub,dc=microsoftdemo,dc=combinddncn=proxyuser,cn=Users,dc=sub,dc=microsoftdemo,dc=com
bindpwPassword1bindpwPassword1 rootbinddn
cn=proxyadmin,cn=Users,dc=sub,dc=microsoftdemo,dc=comrootbinddn
cn=proxyadmin,cn=Users,dc=sub,dc=microsoftdemo,dc=com # Locate base
for searches# Locate base for searches nss_base_passwd
ou=Unixusers,dc=sub,dc=microsoftdemo,dc=com?subnss_base_passwd
ou=Unixusers,dc=sub,dc=microsoftdemo,dc=com?sub nss_base_shadow
ou=Unixusers,dc=sub,dc=microsoftdemo,dc=com?subnss_base_shadow
ou=Unixusers,dc=sub,dc=microsoftdemo,dc=com?sub nss_base_group
ou=Unixgroups,dc=sub,dc=microsoftdemo,dc=com?subnss_base_group
ou=Unixgroups,dc=sub,dc=microsoftdemo,dc=com?sub # Map classes (SFU
3.0 schema)# Map classes (SFU 3.0 schema) nss_map_objectclass
posixAccount Usernss_map_objectclass posixAccount User
nss_map_objectclass shadowAccount Usernss_map_objectclass
shadowAccount User nss_map_objectclass posixGroup
Groupnss_map_objectclass posixGroup Group
Slide 25
Configure o Arquivo ldap.conf (continuao) # Map relevant
attributes for authorization using SFU 3.0 schema# Map relevant
attributes for authorization using SFU 3.0 schema nss_map_attribute
uid sAMAccountNamenss_map_attribute uid sAMAccountName
nss_map_attribute uidNumber msSFU30UidNumbernss_map_attribute
uidNumber msSFU30UidNumber nss_map_attribute gidNumber
msSFU30GidNumbernss_map_attribute gidNumber msSFU30GidNumber
nss_map_attribute loginShell msSFU30LoginShellnss_map_attribute
loginShell msSFU30LoginShell nss_map_attribute uniqueMember
msSFUposixMemberfnss_map_attribute uniqueMember msSFUposixMemberf
nss_map_attribute homeDirectory msSFUHomeDirectorynss_map_attribute
homeDirectory msSFUHomeDirectory nss_map_attribute memberUid
msSFUMemberUidnss_map_attribute memberUid msSFUMemberUid # Most
stock ldap.conf files have these entries, and entries for RFC2307#
Most stock ldap.conf files have these entries, and entries for
RFC2307
Slide 26
Configure o Arquivo nsswitch.conf # Set search order for
authorization data# Set search order for authorization data passwd:
files ldap [TRYAGAIN=continue]passwd: files ldap
[TRYAGAIN=continue] group: files ldap [TRYAGAIN=continue]group:
files ldap [TRYAGAIN=continue]
Slide 27
Soluo Comercial Vintela Authentication Services Informao de
autorizao Unix armazenado usando RC 2307 (compatvel com 2003
R2)Informao de autorizao Unix armazenado usando RC 2307 (compatvel
com 2003 R2) Trata UIDs e GIDs no-nicosTrata UIDs e GIDs no-nicos
Mdulos PAM e NSS com cache para AIX, HP-UX, Solaris, RedHat,
SuSeMdulos PAM e NSS com cache para AIX, HP-UX, Solaris, RedHat,
SuSe Comunicao LDAP autenticada via Kerberos (SASL)Comunicao LDAP
autenticada via Kerberos (SASL) Snap-in MMC para gernciaSnap-in MMC
para gerncia Vrias GPOs suportadasVrias GPOs suportadas
http://www.vintela.comhttp://www.vintela.com
Slide 28
Soluo Comercial: Centrify DirectControl Informao de autorizao
Unix usando atributos existentes ou RFC 2307Informao de autorizao
Unix usando atributos existentes ou RFC 2307 Trata UIDs e GIDs
no-nicosTrata UIDs e GIDs no-nicos Mdulos PAM e NSS com cache para
AIX, HP-UX, Solaris, RedHat, SuSe, Debian, MacOS X 10.4Mdulos PAM e
NSS com cache para AIX, HP-UX, Solaris, RedHat, SuSe, Debian, MacOS
X 10.4 Comunicao LDAP autenticada via Kerberos (SASL)Comunicao LDAP
autenticada via Kerberos (SASL) Snap-in MMC para gernciaSnap-in MMC
para gerncia Vrias GPOs suportadasVrias GPOs suportadas
http://www.centrify.comhttp://www.centrify.com
Slide 29
Soluo Open Source Informao de autorizao Unix armazenada usando
schema SFU 3.0 ou RFC 2307Informao de autorizao Unix armazenada
usando schema SFU 3.0 ou RFC 2307 No trata UIDs e GIDs no-nicosNo
trata UIDs e GIDs no-nicos Suporte de cache limitado para
NSSSuporte de cache limitado para NSS No existe cache offline para
o TGT No existe cache persistente para informao de autorizao Maior
carga nos DCs e na rede Algumas implementaes do pam_krb5 suportam
SASLAlgumas implementaes do pam_krb5 suportam SASL Sem snap-in de
gernciaSem snap-in de gerncia Sem suporte a GPOsSem suporte a
GPOs
Slide 30
Mudanas para Soluo 4 Obtenha o pam_ldap via PADLObtenha o
pam_ldap via PADL Configure o pam.conf para usar pam_ldap ao invs
de pam_krb5Configure o pam.conf para usar pam_ldap ao invs de
pam_krb5 pam_ldap necessita das informaes do ldap.confpam_ldap
necessita das informaes do ldap.conf pam_login_attribute
sAMAccountName pam_filter objectclass=User pam_password ad Habilite
SSL/TLS para evitar senhas em claro na consulta LDAPHabilite
SSL/TLS para evitar senhas em claro na consulta LDAP
Slide 31
Guia dos Servios de Diretrio e Segurana Windows para Unix
Documentao passo a passo para a integrao da autenticao e autorizao
entre ambientes Unix e Active DirectoryDocumentao passo a passo
para a integrao da autenticao e autorizao entre ambientes Unix e
Active Directory Organizado em quatro volumes:Organizado em quatro
volumes: Volume 1 Descreve as tecnologias de autenticao e autorizao
existentes e ajuda a escolher a mais apropriada entre as cinco
solues existentes Volume 2 Solues usando autenticao Kerberos
(solues 1 e 2) Volume 3 Solues usando autenticao LDAP (solues 3 e
4) Volume 4 Relao de confiana entre AD e Kerberos Unix (soluo
5)
Slide 32
Recursos Guia de Servios de Segurana e Diretrio Windows para
UnixGuia de Servios de Segurana e Diretrio Windows para Unix
http://go.microsoft.com/?linkid=5118169
http://go.microsoft.com/?linkid=5118169 Porta 25Porta 25
http://porta25.technetbrasil.com.br
http://porta25.technetbrasil.com.br
Slide 33
2006 Microsoft Corporation. Todos os direitos reservados. O
propsito desta apresentao apenas informativa. Microsoft no faz
nenhuma garantia expressa ou implcita nesta apresentao. Seu
potencial. Nossa inspirao. MR