Integração Server Linux com Active Directory
Este documento é dirigido ao pessoal da área de TI, especialmente aos administradores de redes, sistemas e/ou segurança, que são os responsáveis pelo planejamento, implementação ou operação de redes e sistemas. Também podem se beneficiar da sua leitura gerentes com conhecimento técnico de redes ou até mesmo pessoas leigas.
INSTALAÇÃO DE PACOTES NECESSÁRIOS
Pacote de suporte que faz a integração do Linux com o Active Directory:
# yum install adcli.x86_64 -y
Pacote de suporte ao compartilhamento interplataforma com Windows, OS X e outro sistemas Unix:
# yum install samba-common -y
Pacote de bibliotecas do PAM:
# yum install oddjob-mkhomedir -y
Pacote de bibliotecas do PAM:
# yum install oddjob -y
Pacote de suporte ao compartilhamento interplataforma com Windows, OS X e outro sistemas Unix:
# yum install samba-winbind-clients -y
Pacote de suporte ao compartilhamento interplataforma com Windows, OS X e outro sistemas Unix:
# yum install samba-winbind -y
Pacote de suporte que faz a integração do Linux com o Active Directory:
# yum install sssd -y
CONFIGURAR DNS
Configurar o arquivo resolv.conf para resolver o DNS, digite:
# vi /etc/resolv.conf
Dentro do arquivo insira as seguintes informações:
search meudominio
nameserver 192.168.0.1
MUDAR PROVEDOR DE AUTENTICAÇÃO
Vamos definir em qual Domain Controller ele irá se autenticar, no caso será o "MEUDOMINIO", na linha de comando digite:
# authconfig
--enablekrb5
--krb5kdc=meudominio
--krb5adminserver=meudominio
--krb5realm=MEUDOMINIO
--enablesssd
--enablesssdauth
--update
Após executar o comando acima, validar se o servidor está reconhecendo o AD, digite:
# adcli info meudominio
INTEGRAR MÁQUINA NO ACTIVE DIRECTORY
Após configurado o servidor de autenticação que o ADCLI irá buscar, deve-se ingressar a máquina no domínio com um usuário administrador da rede.
Digite o comando abaixo:
# adcli join meudominio -U administrador_de_dominio
Digite a senha do usuário e a máquina entrará no domínio.
Um objeto será adicionado no Active Directory.
CRIAR ARQUIVO DE CONFIGURAÇÃO SSSD
Após a máquina estar configurada e dentro do domínio, criar arquivo sssd (Sistema de Segurança Seviços Daemon).
Ele fornece uma interface NSS e PAM em direção ao sistema e um sistema de back-end pluggable para se conectar a fontes múltiplas contas diferentes. É também a base para a prestação de serviços de auditoria cliente e políticas para projetos como FreeIPA.
Na linha de comando digite:
# vi /etc/sssd/sssd.conf
Adicionar o conteúdo abaixo no arquivo:
[sssd]
domains = meudominio
config_file_version = 2
services = nss, pam
[domain/meudominio]
ad_domain = meudominio
krb5_realm = MEUDOMINIO
realmd_tags = manages-system joined-with-samba
cache_credentials = True
id_provider = ad
krb5_store_password_if_offline = True
default_shell = /bin/bash
ldap_id_mapping = True
use_fully_qualified_names = False
fallback_homedir = /home/%d/%u
access_provider = ad
Salve e feche o arquivo.
Dê permissão 600 para o arquivo que acabou de ser criado:
# chmod 600 /etc/sssd/sssd.conf
ALTERANDO ARQUIVO DE AUTENTICAÇÃO PAM
Editar o arquivo /etc/pam.d/system-auth, este arquivo controla os serviços que fazem a autenticação:
# vi /etc/pam.d/system-auth
Acrescentar a linha abaixo no final do arquivo e salvá-lo.
session optional pam_mkhomedir.so skel=/etc/skel umask=077
INICIAR E HABILITAR AUTOMATICAMENTE SERVIÇO SSSD
Inicie o serviço SSSD:
# /etc/rc.d/init.d/sssd start
Ou
# service sssd start
Agora habilite o serviço SSSD na máquina, digite:
# chkconfig sssd on
INICIAR E HABILITAR AUTOMATICAMENTE SERVIÇO WINBIND
Iniciar o serviço do Winbind, digite:
# /etc/rc.d/init.d/winbind start
Ou
# service winbind start
Agora habilite o serviço Winbind na máquina, digite:
# chkconfig winbind on
VALIDAR ACESSO COM USUÁRIO DO AD
Para validar se o Linux está trazendo as informações do AD como os grupos em que o usuário faz parte, digite o comando abaixo:
# id nome_do_usuario
Veja se é possível logar com o usuário de rede no servidor Linux, ele irá criar automaticamente um diretório com o nome do domínio e seu nome de usuário, digite:
# su - nome_do_usuário
ALTERAR PERMISSÕES PARA ELEVAÇÃO DE PRIVILÉGIOS
Após fazer as configurações para que a máquina ingresse no domínio Windows, deve-se habilitar somente um grupo específico para acessar essas máquinas, foi criado no Active Directory um grupo chamado "LinuxAdmins" e adicionado os usuários que irão ter permissão para acessar via SSH.
Acessar o arquivo de configuração do SSH:
# vi /etc/ssh/sshd_config
Acrescentar a seguinte linha para permitir que somente os usuários do grupo LinuxAdmins acessem o servidor via SSH, dentro do arquivo digite:
AllowGroups linuxadmins
Para permitir que os usuários do grupo "LinuxAdmins" possam usar o sudo, edite o arquivo sudoers:
# vi /etc/sudoers
Ou digite:
# visudo
Acrescentar a linha abaixo:
%linuxadmins ALL=(ALL) ALL
Agora a autenticação está centralizada.
TROUBLESHOOOTING
Um dos primeiros problemas que pode ocorrer é na hora de mudar o provedor de autenticação, ele gera um erro no módulo "pam_krb5.so" uma das bibliotecas de autenticação de validação de senhas do Linux em outros sistemas.
O pacote pode estar corrompido e assim não será possível fazer o ingresso ao domínio.
Para corrigir esse problema precisamos instalar o pacote pam_krb5.x86_64 9 (para Linux 64 bits), com isso ele corrigirá outros problemas de autenticação que possa ter eventualmente caso o problema anterior não aconteça.
Para instalar o pacote digite:
# yum install pam_krb5.x86_64 -y
Após a instalação executar novamente o "authconfig" no passo "MUDAR PROVEDOR DE AUTENTICAÇÃO".
Um outro problema que pode acontecer após ingressar a máquina no domínio é um erro de autenticação ao tentar logar remotamente no servidor com o usuário da rede, impedindo que o mesmo se autentique.
Isso ocorre porque o pacote pam_krb5.so está corrompido ou com algum problema, para corrigir instalar o pacote pam_krb5.x86_64.
# yum install pam_krb5.x86_64 -y
INSTALAÇÃO DE PACOTES NECESSÁRIOS
Pacote de suporte que faz a integração do Linux com o Active Directory:
# yum install adcli.x86_64 -y
Pacote de suporte ao compartilhamento interplataforma com Windows, OS X e outro sistemas Unix:
# yum install samba-common -y
Pacote de bibliotecas do PAM:
# yum install oddjob-mkhomedir -y
Pacote de bibliotecas do PAM:
# yum install oddjob -y
Pacote de suporte ao compartilhamento interplataforma com Windows, OS X e outro sistemas Unix:
# yum install samba-winbind-clients -y
Pacote de suporte ao compartilhamento interplataforma com Windows, OS X e outro sistemas Unix:
# yum install samba-winbind -y
Pacote de suporte que faz a integração do Linux com o Active Directory:
# yum install sssd -y
CONFIGURAR DNS
Configurar o arquivo resolv.conf para resolver o DNS, digite:
# vi /etc/resolv.conf
Dentro do arquivo insira as seguintes informações:
search meudominio
nameserver 192.168.0.1
MUDAR PROVEDOR DE AUTENTICAÇÃO
Vamos definir em qual Domain Controller ele irá se autenticar, no caso será o "MEUDOMINIO", na linha de comando digite:
# authconfig
--enablekrb5
--krb5kdc=meudominio
--krb5adminserver=meudominio
--krb5realm=MEUDOMINIO
--enablesssd
--enablesssdauth
--update
Após executar o comando acima, validar se o servidor está reconhecendo o AD, digite:
# adcli info meudominio
INTEGRAR MÁQUINA NO ACTIVE DIRECTORY
Após configurado o servidor de autenticação que o ADCLI irá buscar, deve-se ingressar a máquina no domínio com um usuário administrador da rede.
Digite o comando abaixo:
# adcli join meudominio -U administrador_de_dominio
Digite a senha do usuário e a máquina entrará no domínio.
Um objeto será adicionado no Active Directory.
CRIAR ARQUIVO DE CONFIGURAÇÃO SSSD
Após a máquina estar configurada e dentro do domínio, criar arquivo sssd (Sistema de Segurança Seviços Daemon).
Ele fornece uma interface NSS e PAM em direção ao sistema e um sistema de back-end pluggable para se conectar a fontes múltiplas contas diferentes. É também a base para a prestação de serviços de auditoria cliente e políticas para projetos como FreeIPA.
Na linha de comando digite:
# vi /etc/sssd/sssd.conf
Adicionar o conteúdo abaixo no arquivo:
[sssd]
domains = meudominio
config_file_version = 2
services = nss, pam
[domain/meudominio]
ad_domain = meudominio
krb5_realm = MEUDOMINIO
realmd_tags = manages-system joined-with-samba
cache_credentials = True
id_provider = ad
krb5_store_password_if_offline = True
default_shell = /bin/bash
ldap_id_mapping = True
use_fully_qualified_names = False
fallback_homedir = /home/%d/%u
access_provider = ad
Salve e feche o arquivo.
Dê permissão 600 para o arquivo que acabou de ser criado:
# chmod 600 /etc/sssd/sssd.conf
ALTERANDO ARQUIVO DE AUTENTICAÇÃO PAM
Editar o arquivo /etc/pam.d/system-auth, este arquivo controla os serviços que fazem a autenticação:
# vi /etc/pam.d/system-auth
Acrescentar a linha abaixo no final do arquivo e salvá-lo.
session optional pam_mkhomedir.so skel=/etc/skel umask=077
INICIAR E HABILITAR AUTOMATICAMENTE SERVIÇO SSSD
Inicie o serviço SSSD:
# /etc/rc.d/init.d/sssd start
Ou
# service sssd start
Agora habilite o serviço SSSD na máquina, digite:
# chkconfig sssd on
INICIAR E HABILITAR AUTOMATICAMENTE SERVIÇO WINBIND
Iniciar o serviço do Winbind, digite:
# /etc/rc.d/init.d/winbind start
Ou
# service winbind start
Agora habilite o serviço Winbind na máquina, digite:
# chkconfig winbind on
VALIDAR ACESSO COM USUÁRIO DO AD
Para validar se o Linux está trazendo as informações do AD como os grupos em que o usuário faz parte, digite o comando abaixo:
# id nome_do_usuario
Veja se é possível logar com o usuário de rede no servidor Linux, ele irá criar automaticamente um diretório com o nome do domínio e seu nome de usuário, digite:
# su - nome_do_usuário
ALTERAR PERMISSÕES PARA ELEVAÇÃO DE PRIVILÉGIOS
Após fazer as configurações para que a máquina ingresse no domínio Windows, deve-se habilitar somente um grupo específico para acessar essas máquinas, foi criado no Active Directory um grupo chamado "LinuxAdmins" e adicionado os usuários que irão ter permissão para acessar via SSH.
Acessar o arquivo de configuração do SSH:
# vi /etc/ssh/sshd_config
Acrescentar a seguinte linha para permitir que somente os usuários do grupo LinuxAdmins acessem o servidor via SSH, dentro do arquivo digite:
AllowGroups linuxadmins
Para permitir que os usuários do grupo "LinuxAdmins" possam usar o sudo, edite o arquivo sudoers:
# vi /etc/sudoers
Ou digite:
# visudo
Acrescentar a linha abaixo:
%linuxadmins ALL=(ALL) ALL
Agora a autenticação está centralizada.
TROUBLESHOOOTING
Um dos primeiros problemas que pode ocorrer é na hora de mudar o provedor de autenticação, ele gera um erro no módulo "pam_krb5.so" uma das bibliotecas de autenticação de validação de senhas do Linux em outros sistemas.
O pacote pode estar corrompido e assim não será possível fazer o ingresso ao domínio.
Para corrigir esse problema precisamos instalar o pacote pam_krb5.x86_64 9 (para Linux 64 bits), com isso ele corrigirá outros problemas de autenticação que possa ter eventualmente caso o problema anterior não aconteça.
Para instalar o pacote digite:
# yum install pam_krb5.x86_64 -y
Após a instalação executar novamente o "authconfig" no passo "MUDAR PROVEDOR DE AUTENTICAÇÃO".
Um outro problema que pode acontecer após ingressar a máquina no domínio é um erro de autenticação ao tentar logar remotamente no servidor com o usuário da rede, impedindo que o mesmo se autentique.
Isso ocorre porque o pacote pam_krb5.so está corrompido ou com algum problema, para corrigir instalar o pacote pam_krb5.x86_64.
# yum install pam_krb5.x86_64 -y
Comentários
Postar um comentário