Howto – Integrar autenticação de contas e serviços ao ADS do windows 2003 Server

Bem, depois de testar diversos tutoriais por ai, e quebrar a cabeça, coloco a disposição da comunidade esta receita de bolo, de como permitir a utilização dos serviços instalados em um servidor Linux Red Hat Enterprise 4, através da autenticação de contas da base do Active Directory do Windows 2003 Server, utilizando os serviços de kerberos.

Objetivo Principal
Permitir a utilização dos serviços instalados servidor Linux Red Hat Enterprise Versão 4, através da autenticação de contas da base do AD do Windows 2003 Server, utilizando os serviços de kerberos.

1. Procedimentos:

Características da máquina:

Servidor DELL Power Edge 1.800, dual Xeon 2.8Mhz, RAM 2GB, 2 Satas 72GB

Sistema Operacional
Red Hat Enterprise ES versão 4, atualizado em 12/02/2007.

Pacotes Kerberos
krb5-auth-dialog-0.2-1
krb5-workstation-1.3.4-33
krb5-devel-1.3.4-33
krb5-libs-1.3.4-33

Pacotes PAM
pam_passwdqc-0.7.5-2
pam-devel-0.77-66.17
pam-0.77-66.17
pam_smb-1.1.7-5
pam_ccreds-1-3

Pacotes Samba
system-config-samba-1.2.21-1
samba-3.0.10-1.4E.9
samba-common-3.0.10-1.4E.9
samba-client-3.0.10-1.4E.9

2.Validação da configuração (parâmetros básicos)
auth sufficient /lib/security/$ISA/pam_unix.so likeauth nullok
auth sufficient /lib/security/$ISA/pam_krb5.so use_first_pass
auth sufficient /lib/security/$ISA/pam_smb_auth.so use_first_pass nolocal
auth sufficient /lib/security/$ISA/pam_winbind.so use_first_pass
auth required /lib/security/$ISA/pam_deny.so

account required /lib/security/$ISA/pam_unix.so broken_shadow
account sufficient /lib/security/$ISA/pam_succeed_if.so uid < 100 quiet account [default=bad success=ok user_unknown=ignore] /lib/security/$ISA/pam_krb5.so account [default=bad success=ok user_unknown=ignore] /lib/security/$ISA/pam_winbind.so account required /lib/security/$ISA/pam_permit.so password requisite /lib/security/$ISA/pam_cracklib.so retry=3 password sufficient /lib/security/$ISA/pam_unix.so nullok use_authtok md5 shadow password sufficient /lib/security/$ISA/pam_krb5.so use_authtok password sufficient /lib/security/$ISA/pam_winbind.so use_authtok password required /lib/security/$ISA/pam_deny.so session required /lib/security/$ISA/pam_limits.so session required /lib/security/$ISA/pam_unix.so session optional /lib/security/$ISA/pam_krb5.so 3.Validar configuração e funcionamento do serviço kerberos # klist mostra ticket obtido do servidor e sua validade # wbinfo -u mostra lista de usuários do domínio # wbinfo -g mostra lista de grupos do domínio # getent passwd mostra perfil dos usuários e grupos do domínio Validar configuração e funcionamento do serviço samba # testparm valida os parâmetros de configuração do serviço # service samba restart && service winbind restart reiniciar serviços samba e winbind 4.Configurar serviço kerberos Editar arquivo /etc/krb5.conf e inserir as linhas de identificação do domínio [logging] default = FILE:/var/log/krb5libs.log kdc = FILE:/var/log/krb5kdc.log admin_server = FILE:/var/log/kadmind.log [libdefaults] ticket_lifetime = 24000 default_realm = MEU-DOMINIO.EM.MAIUSCULO dns_lookup_realm = false dns_lookup_kdc = false [realms] MEU-DOMINIO.EM.MAIUSCULO = { kdc = servidor.MEU-DOMINIO.EM.MAIUSCULO:88 kdc = servidor01.MEU-DOMINIO.EM.MAIUSCULO:88 kdc = servidor02.MEU-DOMINIO.EM.MAIUSCULO:88 admin_server = servidor.MEU-DOMINIO.EM.MAIUSCULO:749 default_domain = MEU-DOMINIO.EM.MAIUSCULO } NOME_DO_GRUPO_WINDOWS = { kdc = servidor kdc = servidor01 kdc = servidor02 } [domain_realm] .MEU-DOMINIO.EM.MAIUSCULO = MEU-DOMINIO.EM.MAIUSCULO MEU-DOMINIO.EM.MAIUSCULO = MEU-DOMINIO.EM.MAIUSCULO [kdc] profile = /var/kerberos/krb5kdc/kdc.conf [appdefaults] pam = { debug = false ticket_lifetime = 36000 renew_lifetime = 36000 forwardable = true krb4_convert = false } 5. Configurar Serviços Samba Editar arquivo /etc/samba/smb.conf e inserir as linhas de identificação do domínio [global] workgroup = nome_do_grupo_windows server string = Descrição do servidor ou estação netbios name = nome_da_maquina printcap name = /etc/printcap load printers = yes printing = cups cups options = raw log file = /var/log/samba/%m.log max log size = 50 security = ads password server = servidor.MEU-DOMINIO.EM.MAIUSCULO servidor01.MEU-DOMINIO.EM.MAIUSCULO servidor02.MEU-DOMINIO.EM.MAIUSCULO realm = MEU-DOMINIO.EM.MAIUSCULO winbind use default domain = yes encrypt passwords = yes socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192 client use spnego = yes local master = no template homedir = /home/%U template shell = /bin/bash dns proxy = no preserve case = yes short preserve case = no default case = lower #== Share Definitions ============================== idmap uid = 16777216-33554431 idmap gid = 16777216-33554431 6.Incluir máquina no domínio do Server 2003 Editar arquivo /etc/resolvl.conf e inserir as linhas de identificação do domínio search MEU-DOMINIO.EM.MAIUSCULO nameserver 10.32.10.9 nameserver 10.32.11.3 nameserver 10.34.1.1 Obter o ticket do usuário suporte a partir do domínio # kinit -V administrador@MEU-DOMINIO.EM.MAIUSCULO Adicionar a máquina ao domínio # net ads join 7.Configurar módulos PAM Editar arquivo /etc/pam.d/system-auth e inserir a linha que permite criar o diretório base do usuário quando ele não existir session optional: /lib/security/$ISA/pam_mkhomedir.so skel=/etc/skel/ umask=0002 8.Configurar sistema para buscar contas de autenticação em outro servidor Inserir parâmetros de autenticação das contas apontando para o domínio system-config-authentication User Information [*] Use winbind Authentication [*] Use winbind Authentication 9.Resolvendo Problemas caso já tenha efetuado configurações no Samba e tentado inserir a máquina sem sucesso Refazer o processo de ingresso no domínio # kdestroy - Apaga o ticket kerberos # cd /var/cache/samba # find . -iname "*.tdb" - busca os arquivos de base da chave para o samba # find . -iname "*.tdb" -exec rm -f {} \; - apaga os arquivos base da chave # rm -rf /var/cache/samba/browse.dat - apaga os arquivos base da chave 10.Base de pesquisa na base de conhecimento da Red Hat I can not join a Windows 2003 Active Directory Domain and/or access shares, what can I check for? http://kbase.redhat.com/faq/FAQ_71_2343.shtm How do I join a Windows 2000/2003 Active Directory domain from Linux? http://kbase.redhat.com/faq/FAQ_71_2337.shtm What steps do I need to follow to join a Red Hat Enterprise Linux 3 or 4 Samba server to an Active Directory domain in security = ADS mode? http://kbase.redhat.com/faq/FAQ_45_5787.shtm Mais informações no endereço: http://kbase.redhat.com/faq/

Leave a Reply

Your email address will not be published. Required fields are marked *