sábado, 17 de janeiro de 2015

Instalando e Configurando Samba 4 Active Directory com Ubuntu Server 14.10


Escrito por Francies Silva de Lima.


Olá para todos.

Conforme o prometido, vou apresentar uma forma simplificada de ativar um Active Directory no Linux utilizando o Samba 4.
Vou utilizar a versão mais atual do Ubuntu Server, o 14.10, em forma de VM utilizando o VirtualBox com as seguintes configurações.
  • Um núcleo do processador core 2 quad de 2.8 Ghz;
  • 512 MB de RAM e 32 MB de video;
  • HD de 10,5 GB de tamanho fixo, sendo que 512 MB será utilizado como Swap.



Não vou mostrar como instalar o sistema, apenas a configuração básica para ativar o AD. Recomendo apenas que após a instalação, aplique o apt-get dist-upgrade para atualizar todo o sistema, reinicie e vamos para a primeira etapa que será a preparação do sistema antes de ativar o serviço.


 

Preparando o Servidor



Iniciamos a preparação do servidor setando manualmente as configurações de rede. O edite o arquivo de configuração das interfaces de rede.

# vim /etc/network/interfaces

Coloquei a rede da VM em modo bridge e agora vou setar um IP fixo nela. Veja o exemplo abaixo.




Agora vamos alterar o arquivo de resolução de nomes /etc/resolv.conf. Se ele não estiver configurado corretamente, o DNS interno não vai funcionar e nem vai ser possível acessar a internet para atualizar e instalar os pacotes.

O arquivo é gerado automaticamente pelo sistema quando recebemos o endereço IP via DHCP. Não adianta alterá-lo, pois ele sempre é apagado e um novo é gerado.
Faça o seguinte, apague o arquivo /etc/resolv.conf e crie um novo usando o editor de texto. Vou configurá-lo adicionando o endereço do servidor Samba e o endereço do DNS para acesso à internet.

# rm /etc/resolv.conf
# vim /etc/resolv.conf

Segue abaixo o modelo do meu arquivo.




Salve e vamos inserir o atributo somente leitura para que o sistema não reescreva o arquivo. É uma espécie de trava mas que pode ser desativada para futuras alterações.

# chattr +i /etc/resolv.conf

Para destravar o arquivo, basta repetir o comando alterando o sinal de + para -.


O passo seguinte será alterar os arquivos de hosts que são: /etc/hosts e /etc/hostname.

No arquivo /etc/hosts, o servidor estará com o ip de lookback e o nome que foi setado na instalação. Será preciso alterá-lo substituindo o endereço IP 127.0.1.1 pelo endereço que foi setado na configuração anterior. O nome do host receberá o sufixo de DNS local. Veja o exemplo abaixo.

# vim /etc/hosts




No arquivo /etc/hostname será adicionado o sufixo de DNS ao nome do host.

# vim /etc/hostname




Com isso, finalizamos a primeira etapa. Reinicie o sistema para que as alterações surtam efeito.


 

Instalando os pacotes



Agora vamos instalar os pacotes do servidor samba.

# apt-get update
# apt-get install samba smbclient heimdal-clients




O pacote heimdal-clients é usado para autenticação Kerberos. Vamos configurar os parâmetros do Kerberos a seguir.

  • Na primeira tela vamos digital em caixa alta o nome do domínio local.
  • Na segunda tela ele pede o nome dos controladores de domínio. No caso, como estamos usando apenas um servidor, digite apenas o nome dele em caixa baixa.
  • Na terceira tela, ele pede o nome do servidor que vai armazenar as senhas dos usuários do domínio, do PDC.












 

Ativando o serviço de AD/DC



Concluída a instalação, vamos ativar o AD. Mas antes disso, renomeie o arquivo /etc/samba/smb.conf para /etc/samba/smb.conf.original. Com isso, será criado um novo arquivo de configuração e o Samba não acusará erro após o preenchimento dos parâmetros no wizard.

Digite o seguinte comando para ativar o wizard do Samba:

# samba-tool domain provision --use-rfc2307 --interactive

Realm: FGRE.LOCAL (Nome do Domínio)
Domain: FGRE (Nome Wins)

Server role: dc (Modo de operação. A opção dc significa Domain Controller.)
DNS Backend: SAMBA_INTERNAL (Será usado o servidor DNS embutido no Samba. Mas ele aceita o BIND como opção.)

DNS Forwarder: IP do DNS Externo para acesso à internet
Password: Senha do usuário Administrator do AD.


Mostrando a mensagem parecida com a imagem abaixo, quer dizer que a configuração foi realizada com sucesso.




Caso apresente erro, renomeie o arquivo /etc/samba/smb.conf e tente novamente.


A dica abaixo achei num outro tutorial. Achei interessante e adicionei na configuração.

Vamos ajustar o arquivo /etc/security/limits.conf para não ficar mostrando erro no Samba. Adicione no final do arquivo as quatro linhas a seguir:




Reinicie o servidor para que as novas configurações surtam efeito e para continuarmos o processo de configuração do AD.



 

Testando as configurações



Vamos testar a conexão com o Samba usando o cliente SMBClient.

# smbclient -L localhost -U%




# smbclient //localhost/netlogon -Uadministrator%´P@ssw0rd´ -c ´ls´






Testando as configurações de DNS



# nslookup fgre.local




# host -t SRV _ldap._tcp.fgre.lpcal
# host -t SRV _kerberos._udp.fgre.local
# host -t A adfsl.fgre.local





Copiar o arquivo de configuração do Kerberos para a pasta /etc e editá-lo.

# cp /usr/share/samba/setup/krb5.conf /etc
# vim /etc/krb5.conf





Testando o Kerberos




Criando o token Kerberos, ou ticket como alguns costumam chamar.






# klist




Testando a autenticação no Samba utilizando o token do Kerberos.

# smbclient -k //adfsl.fgre.local/netlogon -c ´ls´






Instalando o Servidor NTP



Para manter o sincronismo de horário das estações com o AD, vamos instalar um servidor NTP.

# apt-get install ntp -y

Renomeie o arquivo /etc/ntp.conf e crie um novo arquivo com as configurações abaixo.


server 127.127.1.0
fudge 127.127.1.0 stratum 10
server a.ntp.br iburst prefer
server 0.pool.ntp.org iburst prefer
server 1.pool.ntp.org iburst prefer
driftfile /var/lib/ntp/ntp.drift
logfile /var/log/ntp
ntpsigndsocket /var/lib/ntp_signd/
restrict 127.0.0.1
restrict a.ntp.br mask 255.255.255.255 nomodify notrap nopeer noquery
restrict 0.pool.ntp.br mask 255.255.255.255 nomodify notrap nopeer noquery
restrict 1.pool.ntp.br mask 255.255.255.255 nomodify notrap nopeer noquery


Crie a pasta ntp_signd dentro de /var/lib/
Dê permissão para o grupo ntp acessar a pasta ntp_signd

# chgrp ntp /var/lib/ntp_signd/

Reinicie o serviço do ntp e rode o seguinte comando para testar o servidor.

# ntpq -p 127.0.0.1




Configurações Adicionais


Removendo a complexidade das senhas
# samba-tool domain passwordsettings set --complexity=off

Removendo tempo de expiração da senha do usuário administrator. Pode ser usado com outros usuários.
# samba-tool user setexpiry administrator --noexpiry



Aumentando nível funcional do Domínio

Por padrão, o nível funcional do domínio está setado como Windows Server 2003. Mas pode-se alterá-lo para Windows Server 2008 R2. Assim, sistemas como Windows 7, 8 e 8.1, Windows Server 2008, 2008 R2, 2012 e 2012 R2 podem ser ingressados no domínio sem problemas.


# samba-tool domain level raise --domain-level=´2008_R2´




Ingressando estações no Domínio



Mas para fazer o ingresso de uma estação, deve-se antes alterar as configurações do cliente de DNS. É possível alterar a configuração de duas formas.
Alterar manualmente as configurações de DNS ou adicioná-las no script do servidor DHCP para que ele entregue diretamente as novas configurações de DNS para todas as estações.





Fiz um teste de ingresso com uma VM com Windows Server 2012 R2.



Ingresso de uma estação com Windows 8.1.




Instalando o AdminPack ou Ferramentas de Administração Remota de Servidores (RSAT)


Não é possível usar um sistema Windows Server para administrar o Samba 4. A própria Wiki do Samba orienta a utilizar um sistema cliente esta tarefa. Assim, quem tem experiência em administrar um AD Windows Server não terá dificuldades para realizar as tarefas comuns.


Segue os links para download dos adminPacks conforme o sistema cliente em uso.



Após a instalação dos pacotes, ative os recursos pelo painel de controle.




Não esqueça de ativar os recursos avançados do ADUC.




Referência:



Agradecimentos e Considerações Finais.



Espero que este material ajude aqueles que estão em dificuldades com o Samba 4. Quando iniciei minhas pesquisas e laboratórios, apenas imaginei uma solução alternativa ao Windows Server para centralizar serviços de diretório para micros e pequenas empresas que estavam em dificuldades com licenciamento ou estavam usando sistemas pirateados, seja implantado pela equipe de TI mal preparada do local, seja por profissionais autônomos sem ética que não se importavam com os efeitos nocivos da pirataria, e que corriam risco de multas, prejudicando seus negócios que estavam em fase de implantação.

Usei esta minha pesquisa para obter o diploma do curso de redes de computadores pelo CETAM, somando mais duas soluções livres e formaram uma solução integrada para pequenas empresas. São elas:
  • Samba 4 como Active Directory;
  • FreeNAS como servidor de arquivos multiplataforma;
  • Endian Firewall como solução UTM (Firewall, Proxy, Filtro de Conteúdo, integração com o AD para gestão de acesso dos usuários).

Este projeto tem o intuito de fornecer alternativas para micro e pequenas empresas que estão na ilegalidade por não conhecer alternativas aos softwares proprietários utilizados pelo mercado.

Agradeço aos meus amigos que me apoiaram e me incentivaram a escrever este material. Principalmente aos meus amigos Rajiv Sousa e Gilberto Alves que junto comigo formaram uma equipe para conclusão deste projeto final de curso e ao meu amigo Emerson Sales com seus questionamentos que sempre me instigaram a ir mais a fundo no assunto.

Agradeço aos meus professores Rômulos Machado, Jardel Pereira, Rogerio Souza, Daniel  Maciel e Jackson Braga que me incentivaram e me apoiaram para desenvolver esta parte do projeto.


Muito Obrigado por ler até aqui. Não esqueça de clicar no botão "g+1" no final da postagem para que outras pessoas também encontrem com mais facilidade esta publicação.


Nenhum comentário:

Postar um comentário