INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO SUL DE MINAS GERAIS Fernando Rodrigues de Albuquerque *
MINICURSO
SAMBA 4: Controlador de Domínio e Servidor de Arquivos Completo, Livre e Gratuito
Muzambinho - MG Novembro de 2016
Especializado em MBA em Gestão de Tecnologia da Informação pelo Centro Universitário do Sul de Minas (UNIS-MG). Graduado em Tecnologia em Redes de Computadores pelo Centro Superior de Ensino e Pesquisa de Machado (MG), CESEP/FEM. Analista em Tecnologia da Informação, Coordenador de Operações de TIC da Reitoria do IFSULDEMINAS, servidor público efetivo desde janeiro de 2009. Email: fernando.rodrigues@ifsuldeminas.edu.br *
Índice Introdução .................................................................................................................. 1 1. O Samba 4 .............................................................................................................. 2 1.1. Funções do Samba 4 .......................... ............. .......................... ........................... .......................... ......................... ....................... .......... 2 1.2. Features do Samba 4 como DC ....................................................................... 2 1.3. Features do Samba 4 como Compartilhamento de Arquivos......................... ............ ................ ... 3 1.4. Saiba mais: ....................................................................................................... 3 2. Ambiente (Topologia) a ser estudado: ................................... ...................... .......................... ........................... .................. 3 3. Colocando em Prática ......................... ............ .......................... .......................... .......................... .......................... .......................... ............... 4 3.1. Configurando as Máquinas Virtuais .......................... ............. .......................... ........................... .......................... .............. 4 3.2. Instalando a VM com o Ubuntu Server 14.04 ................................. .................... .......................... .................. ..... 6 3.3. Instalando e Configurando o Samba 4............................................................ 10 3.4. Integrando o Windows ao Domínio ......................... ............ .......................... .......................... .......................... ............... 16 3.5. Remote Server Administration Tools (RSAT) ................................................. 19 3.6. Utilizando o RSAT .......................................................................................... 20 3.6.1 – Gerenciando Usuários ............................................................................... 21 3.6.2 – Gerenciando Políticas de Grupos .......................... ............. ........................... ........................... ...................... ......... 22 4. Conclusão ............................................................................................................ 23 Referências: ............................................................................................................. 24
Introdução No dia 11 de dezembro de 2012 foi lançado oficialmente o Samba 4, trazendo diversos aprimoramentos em relação ao seu antecessor, com diversas features que permitirão a melhoria da eficiência na administração de computadores interconectados através de redes locais. Portanto, este minicurso visa apresentar o Samba 4, considerado como um dos sistemas mais ansiosamente aguardados pela comunidade Open Source e até mesmo por profissionais de TI que não possuem muita familiaridade com sistemas GNU/Linux, pelo fato de que sua proposta é ser o First Free Software Active Directory Compatible Server (Primeiro Software Livre do Active Directory Server Compatível ) totalmente livre. Ou seja, ser o primeiro sistema totalmente compatível com Microsoft Active Directory, porém grátis e que não gera custos com licenças e CALs de acesso.
O que é o Samba? “O Samba é um "software servidor" para Linux (e outros sistemas baseados em
Unix) que permite o gerenciamento e compartilhamento de recursos em redes formadas por computadores com o Windows. Assim, é possível usar o Linux como servidor de arquivos, servidor de impressão, entre outros, como se a rede utilizasse servidores Windows (NT, 2000, XP, Server 2003).” [ 1]
1. O Samba 4 “O Samba 4 tem 22 features que enchem os olhos dos profissionais de TI, porque algumas dessas features eram apenas encontradas no mundo Windows e agora o Samba 4 oferece estas features de forma Livre totalmente grátis sem custo com licença e CALs de acesso . ” [2]
1.1. Funções do Samba 4 Neste minicurso abordaremos a duas principais funções do Samba 4, a primeira como sendo o Controlador de Domínio da Rede Local e a segunda, como Servidor de Compartilhamento de Arquivos da Rede Local. Basicamente, o Controlador de Domínio (DC, sigla em inglês), conforme descrito na Wikipédia [3] é um servidor que responde a requisições de autenticação (login, verificação de permissões etc.) dentro de um domínio Windows. Um domínio é um conceito introduzido no Windows NT em que um usuário pode ter acesso a uma série de recursos de computador com o uso de uma única combinação de nome de usuário e senha. Portanto em uma empresa, por exemplo, os funcionários possuiriam uma credencial de acesso, que de forma independente poderia se autenticar nos computadores autorizados pelo Servidor Controlador de Domínio. Já o Servidor de Compartilhamento de Arquivos, como descrito na Wikipédia [4], é um computador conectado a uma rede que tem o objetivo principal de proporcionar um local para o armazenamento compartilhado de arquivos de computadores (como documentos, arquivos de som, fotografias, filmes, imagens, bases de dados, etc) que podem ser acessados pelo trabalho que estão ligados à rede de computadores. 1.2. Features do Samba 4 como DC
Ele pode ser controlador de domínio principal Ele pode ser controlador de domínio adicional Ele pode ser um um controlador controlador de domínio gravável gravável e somente somente leitura ( RODC) Ele pode ser catálogo global Ele pode ser Schema Master, Domain Naming Master, Master, PDC Emulator, RID Master ou Infrastructure Master. Ele pode ser um servidor bridgehead Pode Trabalhar com GPO Já vem com DNS, kerberos e LDAP integrado Tem unidades organizacionais Tem lixeira de AD
2
1.3. Features do Samba 4 como Compartilhamento de Arquivos
Possível implementar Enumeração baseado em acesso (como (como no Windows) Possível implementar Triagem de Arquivos (como no Windows) Possível implementar cópia de sombra (como no Windows) Possível implementar Namespace DFS (como no Windows) Possível Implementar replicação DFS (como no Windows) Possível implementar Desduplicação (como no Windows) Possível implementar cota de discos (como (como no Windows) Possível implementar Auditoria de acesso (como no Windows) Possível Implementar perfil móvel Possível Implementar pasta Base Possível Implementar Redirecionamento de pastas Possível Trabalhar com Permissões NTFS (como no Windows)
1.4. Saiba mais: Como todo e qualquer sistema a ser implementado em um parque tecnológico, é necessário um estudo exaustivo no que se trata à qual é a melhor abordagem em se utilizar o referido sistema. Para tanto, vejo como importante se criar ambientes de testes e que simulam as características específicas das redes à que se propõem tais implementações. Mais informações e recomendações para implementação do Samba 4, sugiro acessar: https://joaolacerda209.files.wordpre https://joaolacerda209 .files.wordpress.com/2016/01/5-e ss.com/2016/01/5-ebook-samba4.pdf book-samba4.pdf
2. Ambiente (Topologia) (Topologia) a ser estudado: O ambiente proposto neste minicurso simulará uma rede de computadores com máquinas Windows (que podem ser tanto com Windows 7 e/ou Windows 10), que será demonstrado na figura a seguir:
3
3. Colocando em Prática Primeiramente precisaremos, para criar o nosso ambiente, ter instalado em nosso computador o VirtualBox, onde até a data de criação deste material está em sua versão 5.1.10. Uma vez com o VirtualBox instalado, deveremos utilizar duas máquinas virtuais, uma Windows, que simulará nossa estação de trabalho e proporcionará também a interface de administração do Domínio e também, uma Máquina Virtual com GNU/Linux, que será criada durante este minicurso, que por sua vez terá a função de ser o Servidor Samba 4.
3.1. Configurando as Máquinas Virtuais Máquina Windows: Em nosso material teremos como exemplo uma Máquina Virtual com o Sistema Operacional Windows 10, que necessariamente deverá ser nas distribuições Professional, Enterprise ou Ultimate, para que o programa de Administração Remota do Samba Samba 4 (RSAT) possa funcionar. funcionar. Máquina GNU/Linux: Utilizaremos um servidor com a Distribuição Ubuntu Server 14.04 LTS, do qual será instalado durante a apresentação deste minicurso.
1 – A primeira coisa que deveremos fazer é verificar como estão configuradas as interfaces de rede das VMs, pois a primeira interface do SAMBA 4 deverá estar em modo NAT e e a segunda em modo Rede Interna: Interface 1 do SAMBA 4 (WAN):
4
Interface 2 do Samba 4 (LAN):
Interface 1 do Windows (LAN):
Clicando com o botão direito em cima da VM e depois selecionando a opção “Configurações”.
2 – Quanto à configuração de rede que cada aluno deverá estar configurando, o objetivo é que a VM (Máquina Virtual) do Windows esteja comunicando com a VM do Samba 4 através da Rede Interna I nterna configurada. Vamos portanto à configuração de Rede das VMs:
5
Windows: IP: 192.168.0.11 Máscara de Rede: 255.255.255.0 Gateway: 192.168.0.10 DNS: 192.168.0.10 Samba 4: Interface eth0 em DHCP cliente Interface eth1: IP: 192.168.0.10 Máscara de Rede: 255.255.255.0 DNS: 192.168.0.10, 8.8.8.8, DNS da rede Local 3.2. Instalando a VM com o Ubuntu Server 14.04 Neste tópico contemplaremos a instalação da VM do Samba 4, conforme a seguir:
1 - Adicionar a ISO do ubuntu server 14.04 na unidade de disco óptico
2 - Iniciar a VM para começar a instalação: 6
3 – Selecionar o idioma e pressionar a tecla enter.
4 – Acessar – Acessar a opção “Instalar “Instalar o Ubuntu Server” 7
Seguir os demais passos que aparecerão na tela. Atentar-se para a configuração da da Rede:
5 – Selecionar a interface eth0 como primária
6 – Nomear a VM como samba4 Seguir os demais parâmetros e lembrar-se de não habilitar a criptografia da pasta pessoal.
7 – Selecionar a opção de utilizar o Particionamento Assistido Concluir o Particionamento Assistido
8
8 – Opcionalmente, para facilitar o acesso à VM poderá ser selecionada a opção de instalação do OpenSSH Server, deixar as demais opções desmarcadas.
9 – Permitir a instalação da inicialização do GRUB no disco
10 – Finalizar o processo de instalação i nstalação do Sistema Operacional Após finalizada f inalizada a instalação do Sistema Operacional a VM será reiniciada e já será possível acessá-la utilizando-se a credencial (login e senha) configurada no momento da instalação.
9
3.3. Instalando e Configurando o Samba 4 Uma vez instalado o Sistema Operacional GNU/Linux será possível iniciar com a instalação do Samba 4 propriamente, para tanto os passos a seguir serão necessários [5] - [6]:
1 – Atualizar a lista de repositórios e atualizar o sistema: $ sudo apt-get update && sudo apt-get -y upgrade 2 – Instale a dependências necessárias: $ sudo apt-get -y install build-essential libacl1-dev libattr1-dev libblkiddev libgnutls-dev libreadline-dev python-dev libpam0g-dev python-dnspython gdb pkg-config libpopt-dev libldap2-dev dnsutils libbsd-dev attr krb5-user docbook-xsl libcups2-dev acl resolvconf Caso apareça uma tela solicitando senha do Kerberos, deixa-la em branco:
3 - É importante que a hora do servidor esteja atualizada. Por isso vamos instalar o serviço ntp: $ sudo apt-get -y install ntp $ sudo /etc/init.d/ntp status * NTP server is running
4 – Agora, deverá ser configurada a partição / (ou /home) para permitir as configurações e features de acl: $ sudo nano /etc/fstab Na linha onde estiver / adicione este conteúdo após errors=remount-ro: ,user_xattr,acl,barrier Ficando conforme a seguir: /dev/mapper/samba4--vg-root /dev/mapper/samba4--v g-root / ext4 errors=remount-ro errors=remount-ro,user_xattr,acl,barrier ,user_xattr,acl,barrier 0
1
Agora remonte a partição: $ sudo mount -o remount,rw / Execute no terminal o comando mount e verifique como ficou a respectiva linha. 10
5 – Configurando a interface interna (eth1): # sudo nano /etc/network/interfaces Inserir as seguintes linhas: auto eth1 iface eth1 inet static address 192.168.0.10 netmask 255.255.255.0
$ sudo ifup eth1 $ ifconfig Aparecerão as informações referentes às interfaces lo, eth0 e eth1 eth1
6 – Para compilar o samba 4 deve-se baixá-lo através do seguinte comando: $ wget https://download.samba.o https://download.samba.org/pub/samba/stable/s rg/pub/samba/stable/samba-4.4.6.tar.gz amba-4.4.6.tar.gz 7 – Extrair o seu conteúdo com o comando: $ tar zxvf samba-4.4.6.tar.gz 8 – Acesse o diretório extraído com o comando: $ cd samba-4.4.6 9 – Execute o comando para iniciar a configuração de compilação: $ sudo ./configure Ao término será apresentada a seguinte informação: 'configure' finished successfully (56.306s)
10 – Execute os seguintes comandos para instalação: $ sudo make $ sudo make install Geralmente estes comandos demoram a serem concluídos de 7 a 12 minutos* 'build' finished successfully (10m12.171s) 'install' finished successfully (2m55.802s)
11 – Execute o comando de provisionamento do serviço: $ sudo /usr/local/samba/bin / usr/local/samba/bin/samba-tool /samba-tool domain provision O Samba irá fazer perguntas: *O padrão é o que está entre colchetes. 11
Exemplo de Provisionamento de Domínio:
Realm: meudominio.local (aperte enter como padrão) Realm: meudominio (aperte enter como padrão) Server Role (dc, member, standalone) [ dc]: (aperte enter como padrão) DNS backend (SAMBA_INTERNAL, BIND9_FLATFILE, BIND9_DLZ, NONE) [SAMBA_INTERNAL]: (aperte enter como padrão) DNS forwarder IP address (write 'none' to disable forwarding) [ x.x.x.x]: (aperte enter como padrão) Administrator password: Senha@sua (informe a senha FORTE do usuário Administrator de de domínio) Após isso verá algo parecido: parecido: A Kerberos configuration suitable for Samba 4 has been generated at /usr/local/samba/private/krb5.conf /usr/local/samba/private/krb 5.conf
Once the above files are installed, your Samba4 server will be ready to use Server Role: Hostname: NetBIOS Domain: DNS Domain: DOMAIN SID:
active directory domain controller samba4 MEUDOMINIO meudominio.local S-1-5-21-631880342-2659944935-47580341 S-1-5-21-631880342-2659 944935-475803411 1
f uncionamento e versão instalada do 12 – Execute os comandos abaixo e verifique o funcionamento samba:
$ sudo /usr/local/samba/sbin/sam /usr/local/samba/sbin/samba ba $ sudo /usr/local/samba/bin / usr/local/samba/bin/smbclient /smbclient --version 13 – O próximo comando faz uma nova verificação: $ sudo /usr/local/samba/bin/smbclient -L localhost -U% Será apresentada informações conforme abaixo: Domain=[MEUDOMINIO] Domain=[MEUDOMINIO] OS=[Windows 6.1] Server=[Samba 4.4.6] Sharename --------netlogon sysvol IPC$
Type ---Disk Disk IPC
Comment ------IPC Service (Samba 4.4.6)
Domain=[MEUDOMINIO] Domain=[MEUDOMINIO] OS=[Windows 6.1] Server=[Samba 4.4.6] Server ---------
Comment -------
Workgroup ---------
Master ------12
14 – Teste a autenticação do Administrator como o comando abaixo: $ sudo /usr/local/samba/bin/smbclient Administrator%'suaSenha@forte' -c 'ls'
//localhost/netlogon
-U
Domain=[MEUDOMINIO] OS=[Windows 6.1] Server=[Samba 4.4.6] . D 0 Wed Oct 12 15:46:57 2016 .. D 0 Wed Oct 12 15:47:05 2016 7331536 blocks of size 1024. 4942420 blocks available
15 – Configurando o DNS $ sudo nano /etc/resolvconf/resolv.conf.d/head Edite acrescentando as linhas conforme a seguir: Domain MEUDOMINIO.LOCAL nameserver 127.0.0.1 nameserver 192.168.0.10 nameserver 8.8.8.8 Nameserver dns_da_instituicao “
”
Depois, para atualizar, execute: $ sudo resolvconf -u
16 – Executando os testes de DNS: $ sudo host -t SRV _ldap._tcp.meudominio.local. _ldap._tcp.meudominio.local. _ldap._tcp.meudominio.local _ldap._tcp.meudominio.loc al has SRV record 0 100 389 samba4.meudominio.local. samba4.meudominio.local.
$ sudo host -t SRV _kerberos._udp.meudominio.local. _kerberos._udp.meudominio.local _kerberos._udp.meudominio.local samba4.meudominio.local.
has
SRV
record
0
100
88
$ sudo host -t A samba4.meudominio.local. samba4.meudominio.local samba4.meudominio.local has address x.x.x.x
17 – Configurando o Kerberos: $ sudo cp /usr/local/samba/share/setup/krb5.conf /usr/local/samba/share/setup/krb5.conf /etc/ Editar o arquivo de configuração do Kerberos:
$ sudo nano /etc/krb5.conf
13
Substituir o REALM pelo seu domínio. ${"MEUDOMINIO.LOCAL"} Vai ficar assim:
[libdefaults] default_realm = ${"MEUDOMINIO.LOCAL ${"MEUDOMINIO.LOCAL"} "} dns_lookup_realm dns_lookup_realm = false dns_lookup_kdc dns_lookup_kdc = true *Salvar e sair Testar o Kerberos com o seguinte comando:
$ sudo kinit administrator@MEUDOMIN administrator@MEUDOMINIO.LOCAL IO.LOCAL Insira sua senha do administrator, que você colocou na criação do domínio. Deverá aparecer algo assim: warning: Your password will expire in 41 days on Qua 23 Nov 2016 16:47:03 BRST
$ sudo klist Valid starting Expires Service principal 12-10-2016 16:20:04 13-10-2016 02:20:04 krbtgt/MEUDOMINIO.LOCAL@MEU krbtgt/MEUDOMINIO.LOCAL@MEUDOMINIO.LOCAL DOMINIO.LOCAL renew until 13-10-2016 16:19:59
Se houve autenticação e o ticket foi gerado, está tudo ok com o kerberos. 18 – Copiando o arquivo binário do Samba para init.d: $ sudo cp /usr/local/samba/sbin/samb /usr/local/samba/sbin/samba a /etc/init.d/samba $ sudo chmod +x /etc/init.d/samba /et c/init.d/samba $ sudo su # echo /etc/init.d/samba start >> /etc/rc.local Instalando um pacote que força a inicialização do samba e podemos escolher os níveis de execução adequados:
$ sudo apt-get -y install sysv-rc-conf $ sudo sysv-rc-conf Deixe os níveis de execução do Samba 2 3 4 5 marcados com x (você pode marcar e desmarcar com a tecla barra de espaço do teclado). 14
Vejam como fica:
Após Selecionar pressione a tecla q para salvar e sair. 19 – Configurando o compartilhamento de arquivos em rede : Para que possamos definir no arquivo de configuração do Samba 4 qual pasta compartilhada vamos ter em nosso servidor, precisamos primeiro criar esses diretórios. Primeiro criar-se-á um diretório onde irá ficar centralizado todos os demais diretórios, lembrando que podemos ter um outro disco (unidade) somente para isso:
$ sudo mkdir /home/dados Agora será criada a estrutura dos diretórios diretórios conforme a necessidade: necessidade:
$ sudo mkdir /home/dados/publica $ sudo mkdir /home/dados/ti $ sudo mkdir /home/dados/diretoria /home/dados/diretoria 20 - Alterando o arquivo de configuração do Samba: $ sudo nano /usr/local/samba/etc/smb.conf /usr/local/samba/etc/smb.conf Adicionar: [Publica] path = /home/dados/publica read only = No [TI] path =/home/dados/ti read only = No [Diretoria] path = /home/dados/diretoria read only = No 15
3.4. Integrando o Windows ao Domínio Com o Samba 4 em funcionamento o próximo passo é inserir a VM com Windows no Domínio, para tanto devemos fazer um teste simples de ping para ter certeza que as duas máquinas estão se comunicando entre si: 1 – Abra o prompt de comando no Windows e execute o comando de ping, conforme demonstrado na figura abaixo:
Uma vez que a comunicação esteja existindo a VM com o Windows deverá ser adicionada ao domínio: 2 – No Windows 10 acesse a sessão de Configurações > Sistema > Sobre e clique sobre o botão “Ingressar em um domínio”:
Insira o nome do domínio completo: Seguindo o exemplo deste material será meudomonio.local
Clique em avançar para continuar
16
Insira as credenciais do usuário Administrator (configurado anteriormente):
Clique em OK Configure sistema:
o
usuário
Administrator
como
Administrador
do
Clique em Avançar e depois reinicie o computador
17
Após o sistema ser reiniciado já será possível o login do usuário Administrator no domínio do Samba 4:
Após realizar o logon na máquina será possível visualizar as pastas de rede compartilhadas que foram anteriormente criadas:
Para abrir no Windows Explorer basta digitar o endereço de rede do servidor (\\samba4)
18
3.5. Remote Server Administration Tools (RSAT) O RSAT trata-se de um conjunto de Ferramentas de Administração de Servidor Remoto para sistemas Windows, das quais permitem que os administradores de TI gerenciem o Windows Servers (no nosso caso o Samba4) de um computador remoto que executa a versão completa do Windows (Professional, Enterprise e Ultimate).
1 – Executar o arquivo de instalação do RSAT:
2 – Reiniciar após a conclusão:
19
3.6. Utilizando o RSAT Após a reinicialização do sistema será possível acessar através do menu iniciar o RSAT, que se apresentará com o nome de aplicação “Gerenciador de Servidores”
Após abrir o RSAT, acessar a opção “Adicionar outros servidores para gerenciar”
Na janela em que se abrir clicar no botão “Localizar” e posteriormente clicar so bre a
seta para a direita quando selecionar o servidor Samba:
Clicar no botão OK
20
3.6.1 – Gerenciando Usuários Uma vez instalado o RSAT (Gerenciador de Servidores) é possível acessar o painel de configurações de usuários do domínio, para tanto basta abrir a Ferramenta Administrativa de nome “Usuários “Usuários e Computadores do Active Directory ”
Nesta janela serão apresentadas as Unidades Organizacionais (OU) do Domínio, conforme o exemplo acima foi criada uma OU chamada “MeuDominio” da qual foi subdividida em “Usuarios” e “Grupos”. Na OU “Usuarios” foram adicionados os usuários do Domínio, já a OU “Grupos” foi
criada com o objetivo de contemplar os grupos referentes aos setores do Domínio.
21
3.6.2 – Gerenciando Políticas de Grupos Para a configuração das Políticas de Acesso de Grupos (GPOs) deve-se acessar a Ferramenta “Gerenciamento “Gerenciamento de Política de Grupo”: Grupo ”:
22
4. Conclusão Este material pretendeu de maneira sucinta abordar a criação de um servidor Samba 4, como Controlador de Domínio e Servidor de Arquivos, sob a distribuição GNU/Linux Ubuntu Server (v.14.04). Sabe-se que inúmeras são as possibilidades de como fazê-lo, utilizando-se de diversas maneiras, ferramentas, tutoriais espalhados pela internet e variadas bibliografias. É importante ressaltar que todos os métodos aqui empregados foram previamente testados, com suas fontes de pesquisa devidamente expostas e refletindo as próprias experiências do autor. Espera-se que este material possa servir de norte para os assuntos aqui explanados, e também, como fonte prática de pesquisa e implementação.
23
Referências: [1] http://www.infowester.com/linuxsamba.php - Emerson Alecrim - Servidor Samba: o que é [2] http://blog.astreinamentos.com.br/2016/01/o-samba4-e-um-sistema-seguro-econfiavel.html - Alexander Silva - O samba4 é um sistema seguro e confiável? [3] https://pt.wikipedia.org/wiki/Controlador_de_dom%C3%ADnio - Wikipédia Controlador de domínio [4] https://pt.wikipedia.org/wiki/Servidor_de_arquivos - Wikipédia - Servidor de Arquivos [5] http://www.br-open.com/?p=260 - Claudio Maciel - Configurando Samba 4 como Controlador de Domínio e Servidor de Arquivos [6] https://www.vivaolinux.com.br/artigo/Samba-4-Active-Directory-Open-SourceUbuntu-14044 - Felipe Valim - Samba 4 - Active Directory Open Source - Ubuntu 14.04.4
24