Autenticação de servidores CentOS/Red Hat 6 em Windows 2008

Este artigo foi criado para demonstrar o processo de autenticação de servidores CentOS e Red Hat 6 no Windows 2008, utilizando-se dos recursos de LDAP e Kerberos, e o recurso de NSLCD nos clientes (ao invés do SSSD).

[ Hits: 48.357 ]

Por: Ricardo Katz em 13/08/2012


Configuração do S.O.



Assumindo que sua instalação do sistema operacional já esteja feita (eu utilizei o CentOS neste artigo), os seguintes passos devem ser feitos:

Atualização do sistema operacional

Tal como no ambiente Windows, esse não é um pré-requisito, mas altamente recomendável para garantirmos a estabilidade da autenticação.

Configuração de DNS e NTP

O nosso cliente deve 'conhecer' o domínio que será utilizado, para o seu correto funcionamento. Assim, no arquivo /etc/resolv.conf, o IP dos Domain Controllers do ambiente, deverão ser utilizados conforme abaixo:

nameserver 192.168.5.151


Testar o funcionamento, efetuando um nslookup (ou ping, mesmo) para o nome SPRINGFIELD.CORP (Domínio) e HOMER.SPRINGFIELD.CORP (Domain Controller) e verificar o correto funcionamento.

Também, o horário do cliente deverá estar sincronizado com o do restante do domínio. Assim, os pacotes do NTP deverão ser instalados:

# yum install ntp ntpdate

Após a instalação dos pacotes de NTP, uma primeira sincronização deverá ser efetuada com o comando ntpdate:

# ntpdate springfield.corp

Feita a primeira sincronização do horário, o arquivo /etc/ntp.conf deve ser editado, removendo-se todas as linhas 'server' e adicionando apenas a seguinte:

server springfield.corp


Após isso, adicionar o serviço de NTP à inicialização do ambiente, e iniciar o serviço. Então, verificar o funcionamento:

# chkconfig ntpd on
# /etc/init.d/ntpd on
# ntpq -c pe


 remote             refid        st t  when poll reach  delay   offset   jitter
==============================================================================
192.168.5.151   200.160.7.186   2  u   12   64   377    0.762  449.851  17.746


Instalação dos pacotes de autenticação e Kerberos

Em uma instalação padrão os pacotes necessários para autenticação não vem instalados por padrão. Assim, devemos instalar os pacotes necessários, conforme abaixo:

# yum install nss-pam-ldapd krb5-workstation pam_krb5 nscd openldap-clients

Verificação de conta de serviço

Para garantirmos o correto funcionamento, a conta de serviço criada na configuração do Windows 2008 (AuthLinux) deverá ser testada. Podemos testar essa conta com o seguinte comando (será solicitada a senha da conta):

# ldapsearch -v -x -H "ldap://springfield.corp" -D "cn=AuthLinux,cn=Users,dc=Springfield,dc=corp" -b "dc=Springfield,dc=corp" -s sub -W

Caso o comando não retorne nenhum erro (mas uma saída LDIF), a conta de serviço está funcionando corretamente. Caso contrário, deverá ser verificado se os dados utilizados para autenticação (cn, senha) estão corretos.

Página anterior     Próxima página

Páginas do artigo
   1. Introdução - Pré-requisitos
   2. Configuração do S.O.
   3. Autenticação LDAP
   4. Habilitação de SSL (LDAPs)
Outros artigos deste autor

Criação de um repositório (mrepo) - Red Hat e CentOS 5 (com atualização na RHN para RedHat)

Leitura recomendada

Framework OSSIM - Open Source Security Information Management

Defesa pessoal com o GPG, Nautilus Scripts, partições encriptadas e leves doses de paranoia

Recuperação do arquivo sudoers - comandos su e sudo não funcionam mais [Resolvido]

Rainbow Crack e Rainbow Tables

Hardening em sistemas operacionais Linux (Completo)

  
Comentários
[1] Comentário enviado por removido em 13/08/2012 - 19:17h

Muito bom o artigo !

[2] Comentário enviado por Tiago_Rc2 em 13/08/2012 - 20:29h

rikatz, boa noite.

Primeiramente parabéns pelo excelente artigo. Sou um iniciante do mundo Linux, e estou tentando enteder como funciona de fato uma estrutura Linux dentro de um dominio AD.

Me tire só umas dúvidas:

Caso eu queria colocar um Centos como servidor de arquivos, você acha isso uma boa prática?

E outra, as permissões a usuários ou grupos, posse fazer isso pelo Centos? é possível?


Grato!

[3] Comentário enviado por Leosousa84 em 14/08/2012 - 08:54h


Tiago,

Seria uma boa prática sim, mais esse servidor terá que ter o samba e o winbind configurado e as permissões serão dadas por acl.


[2] Comentário enviado por Tiago_Rc2 em 13/08/2012 - 20:29h:

rikatz, boa noite.

Primeiramente parabéns pelo excelente artigo. Sou um iniciante do mundo Linux, e estou tentando enteder como funciona de fato uma estrutura Linux dentro de um dominio AD.

Me tire só umas dúvidas:


Caso eu queria colocar um Centos como servidor de arquivos, você acha isso uma boa prática?

E outra, as permissões a usuários ou grupos, posse fazer isso pelo Centos? é possível?


Grato!



[4] Comentário enviado por amandahla em 14/08/2012 - 10:24h

Excelente artigo!

[5] Comentário enviado por rikatz em 14/08/2012 - 21:45h

Thiago,

Primeiramente, bem vindo ao mundo Linux ;)

Colocar um CentOS como servidor de arquivos é relativo. Servidor de arquivos para clientes Windows? Para clientes Linux? Servidor FTP? :)

As permissões de usuários e grupos funcionam sim, mesmo com a autenticação via AD / LDAP. O que acontece na prática é que o Windows 2008 + atributos extendidos do AD acabam dando um 'UID / GID' para os usuários e grupos unico, e uma vez que esses identificadores são dados aos usuários, podem ser utilizados internamente no servidor para permissionamento :)

Espero ter mais tirado dúvidas que gerado elas ;)




[3] Comentário enviado por Leosousa84 em 14/08/2012 - 08:54h:


Tiago,

Seria uma boa prática sim, mais esse servidor terá que ter o samba e o winbind configurado e as permissões serão dadas por acl.


[2] Comentário enviado por Tiago_Rc2 em 13/08/2012 - 20:29h:

rikatz, boa noite.

Primeiramente parabéns pelo excelente artigo. Sou um iniciante do mundo Linux, e estou tentando enteder como funciona de fato uma estrutura Linux dentro de um dominio AD.

Me tire só umas dúvidas:


Caso eu queria colocar um Centos como servidor de arquivos, você acha isso uma boa prática?

E outra, as permissões a usuários ou grupos, posse fazer isso pelo Centos? é possível?


Grato!




[6] Comentário enviado por rikatz em 14/08/2012 - 21:45h

Obrigado! :)


[4] Comentário enviado por amandahla em 14/08/2012 - 10:24h:

Excelente artigo!



[7] Comentário enviado por rikatz em 14/08/2012 - 21:46h

Obrigado!


[1] Comentário enviado por Thalysson S em 13/08/2012 - 19:17h:

Muito bom o artigo !



[8] Comentário enviado por andrefreire em 15/08/2012 - 13:32h

Boa tarde !

Parabéns pelo artigo.

Nesse tipo de solução o host Linux não ingressa no domínio Windows em vez disso usa uma conta de serviço para fazer as consultas.

Essa solução poderia ser utilizada para autenticação do squid por exemplo ?

[9] Comentário enviado por rikatz em 15/08/2012 - 14:44h

Boa tarde:

Obrigado!

Então, exatamente, eu não queria que a máquina ingressasse no domínio, isso depende da abertura de muitas portas, etc.

Como as contas do AD ficam dentro do servidor LDAP do Windows 2008, você simplesmente autenticando o seu squid no LDAP (nem precisa do kerberos) já funciona normalmente.

Veja um exemplo:

http://wiki.squid-cache.org/ConfigExamples/Authenticate/Ldap

Se você fosse utilizar esse artigo como referência, a linha de autenticação ficaria como: 'auth_param basic program /usr/lib/squid/squid_ldap_auth -v 3 -b "dc=springfield,dc=corp" -D cn=AuthLinux,cn=Users,dc=springfield,dc=corp -w 12qw!@QW -f uid=%s springfield.corp'

Ats

[8] Comentário enviado por andrefreire em 15/08/2012 - 13:32h:

Boa tarde !

Parabéns pelo artigo.

Nesse tipo de solução o host Linux não ingressa no domínio Windows em vez disso usa uma conta de serviço para fazer as consultas.

Essa solução poderia ser utilizada para autenticação do squid por exemplo ?


[10] Comentário enviado por fabiocruz27 em 28/09/2012 - 11:44h

Prezado, rikatz


Primeiro parabéns pelo artigo ficou otimo.

Só me tira uma duvida para eu utilizar os usuarios e grupos do ad, eu preciso sempre configurar o NIS Domain , para o linux entender que os usuarios e os grupos fazem parte dele.

Obrigado

[11] Comentário enviado por removido em 15/10/2012 - 13:37h

Amigo gostei do artigo...

Tenho uma pergunta: Usando o método explicado aqui pode ingressar uma máquina com o GNU/Linux instalado no domínio do active directory ?

será necessário algo mais ?

[12] Comentário enviado por digaovaa em 05/09/2013 - 15:45h

Boa tarde, excelente artigo, funcionou perfeitamente. Única coisa que não está funcionando é quando entro a primeira vez com o usuário, ele não cria o diretório /home/usuario.. se eu entrar pelo shell, ele cria e assim quando logar no gnome, ele vai criar as outras pastas (Documents, Downloads,etc). sabe dizer o que pode ser?

obrigado e um abraço

[13] Comentário enviado por ddias em 10/09/2013 - 15:02h

Parabens, excelente artigo! Apenas estou com uma dúvida, onde posso realizar o download do Unix Integration Tools?

Obg.!

[14] Comentário enviado por ddias em 10/09/2013 - 16:48h

Parabens, excelente artigo! Apenas estou com uma dúvida, onde posso realizar o download do Unix Integration Tools para Windows Server R2 x64

Obg.!

[15] Comentário enviado por rikatz em 10/09/2013 - 16:53h

Olá,

Na verdade o Integration Tools você instala como 'Role' (ou Feature, não lembro) do Windows direto no servidor que vai ser o AD




[13] Comentário enviado por ddias em 10/09/2013 - 15:02h:

Parabens, excelente artigo! Apenas estou com uma dúvida, onde posso realizar o download do Unix Integration Tools?

Obg.!



[16] Comentário enviado por marcelo.cheveau em 28/11/2013 - 09:49h

Gostaria de saber como faço para configurar no Linux um meio em que alguns usuários acessam a internet e todas as pastas e outros não acessam a internet e acessam algumas pastas e os que não estão cadastrados não acessam nada?

[17] Comentário enviado por Virgil_Dantas em 27/07/2015 - 10:11h

bom dia, porque utilizar NSLCD nos clientes ao invés do SSSD??


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts