Você está na página 1de 25

ACTIVE DIRECTORY: uma implementação prática

envolvendo Samba 4
Joélson E. de Almeida, Alexssandro C. Antunes, Msc, Jéferson M. de Limas, Msc

Instituto Federal De Educação, Ciência e Tecnologia Catarinense – Campus Sombrio


(IFC) Rua Francisco Caetano Lummertz, 818 – B. Januária – 88960-00 – Sombrio/SC
joelson84@hotmail.com.br, {alexssandro.antunes,jeferson}@ifc-
sombrio.edu.br

Abstract. This article describes the installation of a Directory Service (Active


Directory), using a network service called Samba 4. Samba is free software
which can be used in different environments of Microsoft Windows, for
example, Linux systems. Since this is a free tool, after 10 years of development
lies in its stable version. Thus, exploring its features and checking their
behavior as Active Directory Domain Controller. The version of Samba 4,
while maintaining compatibility with previous versions, have the directory
service, Based on the LDAP protocol (Lightweight Directory Access
Protocol), which in Portuguese means lightweight directory access protocol,
being the primary protocol for the development of the Active Directory. The
tests performed were all simulated in a virtual environment. Was added
Microsoft Windows clients to Samba 4, also control the Internet, integrating a
Squid Proxy server to Active Directory. Samba version 4 showed flexibility as
well as stability with respect to Active Directory. This solution Directory
Service can be implemented in small and medium-sized enterprises, because it
is a free tool. Thereby generating cost savings with respect to licenses to use
software and operating system, thus influencing the economy as a whole with
regard to solutions in Information Technology.

Resumo. Este artigo descreve a instalação de um Serviço de Diretório (Active


Directory), utilizando-se de um serviço de rede chamado Samba 4. O Samba é
software livre que pode ser utilizado em ambientes diferentes do Microsoft
Windows, por exemplo, em sistemas Linux. Tratando-se de uma ferramenta
grátis, após 10 anos de desenvolvimento encontra-se em sua versão estável.
Desta forma, explorando suas funcionalidades e verificando o seu
comportamento como Controlador de Domínio do Active Directory. A versão
4 do Samba, além de manter a compatibilidade com as versões anteriores,
possui o Serviço de Diretório. Tendo como base o protocolo LDAP
(Lightweight Directory Access Protocol), que em português significa
protocolo leve de acesso a diretórios, sendo o principal protocolo para o
desenvolvimento do Active Directory. Os testes realizados foram todos
simulados em um ambiente virtual. Foi adicionado clientes Microsoft
Windows ao Samba 4, também controle de Internet, integrando um servidor
Proxy Squid ao Active Directory. O Samba versão 4 apresentou flexibilidade
bem como estabilidade, no que diz respeito ao Active Directory. Esta solução
de Serviço de Diretório, pode ser implementada em empresas de pequeno e
médio porte, por tratar-se de uma ferramenta livre. Com isso gerando
redução de custos, com relação a licenças de uso de software e Sistema
Operacional, assim, influenciando na economia como um todo no que diz
respeito a soluções em Tecnologia da Informação.

1. Introdução
Atualmente na área da Tecnologia da Informação (TI), o Active Directory (AD)
desempenha um papel central para a TI. Seu propósito principal é o de fornecer um
local de armazenamento centralizado para contas de usuário, adesões de grupos e
configurações de softwares. Além disso, disponibiliza autenticação de usuário, acesso a
objetos como: impressoras e arquivos, que ficam armazenados em seus diretórios com
seus devidos atributos.
AD é um Serviço de Diretório desenvolvido pela empresa Microsoft, sendo,
portanto um software proprietário. Utilizado em seus Sistemas Operacionais de Redes,
está presente desde a versão Windows Server 2000 até a versão atual Windows Server
2012. O AD foi implementado através do protocolo LDAP, principal protocolo utilizado
para acesso rápido às informações de diretórios.
A ferramenta da Microsoft AD é um software pago que gera custos para as
empresas. Além do AD, é necessário o uso de um sistema operacional Windows Server,
gerando um custo adicional em relação à licença do sistema operacional. Mais outro
agravante em relação a custos são as licenças cals (Licença de Acesso Cliente), ou seja,
permite o direito de acessar computadores na rede, serviços e tecnologias
disponibilizadas em sistemas operacionais instaladas em servidores. Utilizadas por
máquinas clientes ou por usuários.
O Samba pode ser executado em uma plataforma diferente do Microsoft
Windows, por ser um software livre, por exemplo, UNIX, Linux, IBM System 390,
OpenVMS e outros sistemas operacionais. Samba utiliza o protocolo TCP/IP, que é
instalado no servidor host. Quando configurado corretamente, ele permite o
compartilhamento de arquivos e impressoras entre máquinas Windows e Linux de
forma transparente. (SAMBA.ORG-1, 2013).
Neste artigo, aplica-se o Serviço de Diretório (AD) utilizando Samba versão 4, e
assim, integrando clientes Microsoft, além de outros serviços de rede local, como
compartilhamento de arquivos e controle de acesso a Internet, através do servidor Proxy
Squid.
Considerando ser livre de custos de licenças referente a sistema operacional e
licenças cals, o Samba 4, pode ser uma alternativa para empresas que necessitam de um
AD. Uma das suas vantagens é a facilidade para o usuário final, autenticando uma única
vez no AD. Com esta autenticação, o usuário vai dispor dos serviços de rede local, bem
como serviços de rede de longa distância, não sendo necessário autenticar a cada serviço
requisitado com um login e senha diferente para os mesmos. Desta forma o usuário vai
poder autenticar nos serviços que estão integrados junto ao AD com a sua conta local.
2. Objetivos Geral e Específico
2.1. Geral
Implementar um Serviço de Diretório (Active Directory Domain Controller –
AD DC) utilizando software livre.

2.2. Específicos
Realizar o referencial teórico sobre Active Directory;
Selecionar as ferramentas de código aberto disponíveis para implantação de um
servidor Samba 4 Active Directory;
Demonstrar as ferramentas em um cenário virtual;
Integrar o Active Directory com serviço de rede local;
Validar a implementação do ambiente proposto.

3. Fundamentação Teórica
A fundamentação teórica é a base para que possa chegar ao conhecimento do assunto
proposto, descrevendo um pouco sobre o papel de cada ferramenta, para posteriormente
colocar em prática a ideia sugerida no artigo.

3.1. Active Directory


Segundo Stanek (2009), o AD é um Serviço de Diretório que gerencia de forma eficaz
os recursos da rede, armazenando informações generalizadas sobre todos os recursos
disponíveis. Facilitando a pesquisa e a autenticação, um Serviço de Diretório pode
armazenar informações de forma organizadas, para que assim facilite a recuperação das
mesmas.
Serviços de Diretório estão disponíveis no mercado através de alguns softwares
proprietários, a partir de um número de fornecedores. Em sua forma mais básica,
consiste em pesquisas de chave e valor em informações estruturadas. Estas informações
são organizadas em uma hierarquia. (BARTLETT, 2005).
AD integra um conjunto de protocolos modernos de autenticação para redes de
computadores. Além de manter todos os protocolos antigos como o NT4 Serviço de
Diretório NT. (METZMACHER, 2007).
O Serviço de Diretório emprega vários protocolos para seu funcionamento,
conforme Stanek (2009, p.1027), “o protocolo principal para acesso ao Active Directory
é o LDAP (Lightweight Directory Access Protocol), um protocolo padrão do setor para
acesso a diretórios administrados através do TCP/IP”.

3.2. Protocolos Envolvidos


Protocolos de redes são regras usadas para que haja a comunicação de dados entre
computadores. Eles fazem com que dois ou mais computadores possam trocar
mensagens entre si. (COMER, 2007).
Os protocolos envolvidos para implementação do Samba 4 AD são: DNS,
LDAP, KERBEROS, NTP, SMB/CIFS, DHCP.
3.2.1. DNS
Segundo Tanenbaum e Wetherall (2011), em uma rede de computadores a comunicação
entre as máquinas é feita através do endereçamento IP. Alguns programas que
empregam o endereço IP (Internet Protocol) podem ser concebidos por páginas de
internet, correios eletrônicos, serviços de rede local, entre outros serviços. Por existirem
inúmeras combinações de endereços IPs, torna-se impossível para as pessoas gravarem
os mesmos. Surgiu assim a necessidade do desenvolvimento de um mecanismo para
converter os IPs em nome e vice-versa. Para facilitar criou-se o DNS (Domain Name
System).
Conforme Kurose e Ross (2010) há duas maneiras de identificar um dispositivo:
através de seu nome na rede e por seu endereço IP. Para as pessoas, a forma mais fácil
de identificar um computador ou um site na internet é lembrando seu nome, já para um
dispositivo de rede, como um roteador é o endereço IP. Para que isso aconteça, utiliza-
se um Serviço de Diretório como o DNS, para fazer a tradução dos nomes em endereços
IP.
Para gerenciamento de um AD, é necessário a utilização de um serviço DNS. O
AD pode trabalhar com qualquer servidor DNS que tenha suporte a atualizações
dinâmicas e registros SRV (Service Location). Alguns servidores DNS a utilizar-se em
Serviços de Diretório são: BIND (Barkeley Internet Name Domain), OpenDNS,
Microsoft Windows DNS. O próprio Samba 4 possui um servidor de DNS interno.

3.2.2. LDAP
LDAP (Lightweight Directory Access Protocol ou Protocolo Leve de Acesso a
Diretório), é um protocolo de acesso rápido a Serviços de Diretório baseado nos padrões
X.500. Suas especificações e definições são descritas nos RFC’s 2251/2256. Também
existem outros RFC’s que tratam do assunto.
O Serviço de Diretório foi desenvolvido com base no “LDAP é um protocolo
que define o acesso aos serviços de diretórios, onde diretória é uma estrutura de
armazenamento organizada de forma hierárquica, que facilita o armazenamento e busca
de informações.” (RIBEIRO JUNIOR, 2008, p. 1).
Conforme Trigo (2007), o LDAP é um protocolo cliente/servidor que
disponibiliza informações contidas em um diretório. O mesmo permite a navegação,
leitura, armazenamento, pesquisar informações e também realiza determinadas tarefas
de gerenciamento em um Serviço de Diretório. É considerado um banco de dados que
aperfeiçoa a leitura, navegação e pesquisas de dados.
O protocolo LDAP é utilizado para organizar as informações, visando facilidade
e agilidade na recuperação. Estas informações são armazenadas em um banco de dados.
Não é especificado qual banco de dados em particular as informações serão guardadas.
Sua organização é feita de forma hierárquica onde, a partir da raiz é possível chegar até
aos recursos, que podem ser computadores, servidores, usuários, etc. Assim, o LDAP é
considerado um protocolo essencial para o Serviço de Diretório.

3.2.3. Kerberos
Conforme Calôr Filho (2013), o Kerberos é um protocolo que prevê forte autenticação
entre aplicações cliente/servidor. Utiliza-se de criptografia de chave simétrica no qual
servidores fornecem acesso aos serviços solicitados pelos clientes, caso comprovem sua
autenticidade.
O Kerberos foi desenvolvido como parte do Projeto Athena, do MIT
(Massachussets Institute of Technology) e seu nome vêm da mitologia. Para os gregos é
um cão com três cabeças que tem por missão proteger a entrada de Hades, o Deus do
mundo inferior, soberano dos mortos. O Kerberos é utilizado nas redes de computadores
para evitar que algum software malicioso libere acesso para fora da rede, deixando a
rede, computadores servidores e demais hosts desprotegidos. Ele permite comunicações
individuais seguras e identificadas em uma rede insegura, proporcionando autenticação
para aplicações cliente/servidor através do uso de criptografia de chave secreta, de
modo que um cliente prove sua identidade a um servidor e vice-versa. (STEINER,
NEUMAN, SCHILLER, 1988).
O Kerberos não faz a autenticação do próprio host no servidor, e sim, da
aplicação que oferece o serviço. O esquema para autenticar é feito através de tickets,
que servem para comprovar a autenticidade de um usuário, e assim, garantindo o acesso
aos serviços e aplicações. (KERBEROS V5, 2013).
Quando um cliente faz a requisição com um ticket para o KDC (Centro de
Distribuição de Chaves), é então criado um TGT (bilhete de concessão de bilhete) para
o cliente, que é criptografado utilizando a senha secreta do usuário. Após isso, o KDC
retorna o TGT para o cliente, que por sua vez, recebe e descriptografa com sua senha,
garantindo a sua identidade. (CALÔR FILHO, 2013).
Conforme descrito por Tanenbaum (2003), o protocolo Kerberos é utilizado em
vários sistemas operacionais, inclusive nos sistemas Microsoft Windows. Para que sua
utilização seja bem sucedida, devem-se manter os relógios sincronizados para que não
ocorra falha na hora da autenticação. Ele permite que seus bilhetes sejam renovados e
também que os mesmos tenham um tempo de duração maior.
Cada domínio administrativo tem seu próprio banco de dados Kerberos, que
contém informações sobre os usuários e serviços para um determinado site ou
domínio. Este domínio administrativo é chamado de realm (reino). Sendo que cada
realm tem seu servidor de autenticação e uma política de segurança, que permite que
uma organização defina diferentes níveis de segurança. A divisão dos reinos também
pode ser hierárquica, permitindo assim que cada área da organização possua um reino
local vinculado ao reino central. (CALÔR FILHO, 2013).

3.2.4. NTP
NTP (Network Time Protocol) é um protocolo usado para sincronizar relógios de
computadores na rede local ou na internet, a partir de uma referência padrão de tempo
aceita mundialmente, conhecida como UTC (Universal Time Coordinated). (RNP,
2000).
Para os administradores de redes, a utilização do NTP é importante, pois
possibilita a sincronização automática dos equipamentos conectados em uma rede,
assim facilitando a vida de quem a administra, desta forma, não é necessário ir de
máquina em máquina acertar o relógio local. (RNP, 2000).
3.2.5. SMB/CIFS
O protocolo SMB/CIFS (Server Message Block / Common Internet File System), é um
protocolo de redes que permite a troca de informações na rede, compartilhando arquivos
e impressoras. O CIFS é uma atualização do protocolo SMB. (HERTEL, 2003).
O termo SMB é usado para fazer referência no compartilhamento de arquivos
em si. O protocolo permite que o cliente manipule arquivos em rede, como se estivesse
utilizando localmente. O CIFS atua como cliente/servidor e requisição/resposta, o
cliente envia requisições e o servidor respondendo a cada uma das requisições enviadas.
O cliente pode fazer leitura, escrita e excluir arquivos como se estivesse na sua máquina
local. (BARREIROS, 2013).

3.2.6. DHCP
O BootP segundo Hunt (2004), é um protocolo simples, que foi a base para o
desenvolvimento do DHCP (Dynamic Host Configuration Protocol). Ele atua sobre o
protocolo UDP, utiliza as portas de comunicação 67 e 68, a mesma utilizada no
protocolo que foi sua base, só com melhorias significativas.
O DHCP foi criado para trabalhar através do TCP/IP, fornecendo todas as
configurações possíveis aos clientes. Destaca-se uma melhoria importante com o uso do
DHCP, que permite a distribuição dinamicamente de endereços IPs na rede, são
designadas em uma faixa de IPs, que são configurados em seu arquivo de configuração,
a faixa de endereços é conhecida como pool. O DHCP possibilita o aluguel de um
endereço IP para um host por um intervalo de tempo específico. Quando este tempo
acaba o host obriga-se a pedir renovação para o servidor DHCP, ou caso contrário deve
ser devolvido, para que possa ser utilizado em outro dispositivo. (HUNT, 2004).
O serviço que um servidor DHCP faz é responder aos pacotes de broadcast das
estações, ele responde enviando um pacote com um endereço IP livre, seguindo com os
demais dados da rede. O broadcast é endereçado ao endereço “255.255.255.255”, que é
retransmitindo através de um switch ou hub em todas as suas portas. (MORIMOTO,
2009).

3.3. Serviços de Rede


Uma forma de descrever o que é uma rede, esclarece quando são conectados dois ou
mais computadores, compartilhando informações entre si. Os clientes da rede são
computadores, os quais solicitam informações. Essas informações requisitadas podem
ser consideradas serviços de rede. (SCRIMGER, et al, 2002).
As redes de computadores possuem servidores, que são computadores dedicados
a exercerem determinadas tarefas, ou seja, estes servidores são designados a oferecer
serviços de rede aos clientes. Existem vários tipos de serviços de rede, alguns destes
necessitam de um servidor único para o mesmo, mais isso não quer dizer que não possa
ter um único servidor disponibilizando mais que um serviço na rede. (SCRIMGER, et
al, 2002).
Abaixo segue uma lista com alguns serviços de rede de forma simplificada.
• Serviço DHCP;
• Serviço de compartilhamento de arquivos;
• Serviço DNS;
• Serviço de Proxy
• Serviço de Web;
• Serviço de E-mail.

3.4. Samba
Como descrito anteriormente, o protocolo CIFS evolui-se do SMB passando por várias
melhorias. O Samba nada mais é do que uma implementação das mesmas funções para
sistemas do mundo UNIX. O seu desenvolvimento foi baseado no SMB, e assim, foi
evoluindo e atualizando-se, introduzindo suporte ao CIFS. Mantendo-se atualizado lado
a lado com as versões mais recentes do Windows. (MORIMOTO, 2009).
O servidor Samba possibilita o compartilhamento de arquivos e impressoras,
também atua como um PDC (Primary Domain Controller), autenticando os usuários em
redes locais. O Samba é um serviço de rede bem completo e flexível, atende muito bem
clientes Linux, quanto clientes Windows. (MORIMOTO, 2009).
Samba é composto por dois programas-chave, que são smbd e o nmbd. Suas
funções de trabalho são a implementação dos quatro serviços básicos CIFS, que são:
serviços de arquivo e impressão, autorização e autenticação, resolução de nomes e por
último, anúncio de serviço de navegação. (SAMBA.ORG-2, 2013).
Os serviços de arquivo e impressão são o carro chefe da suíte CIFS. Estes são
fornecidos pelo smbd, o SMB Daemon. Smbd também lida com o modo de autenticação
e autorização. Já as outras duas peças CIFS, resolução de nomes e de navegação, são
tratados pelo nmbd. Estes dois serviços envolvem basicamente a gestão e distribuição
de listas de nomes NetBIOS. A resolução de nomes assume duas formas: de broadcast e
ponto-a-ponto. A máquina pode utilizar qualquer um ou ambos estes métodos,
dependendo da sua configuração. (SAMBA.ORG-2, 2013).

3.5. Samba 4
O samba 4 AD é a evolução de suas versões anteriores. Com o passar de um trabalho de
dez anos, a equipe do Samba incluí-o junto com sua suíte de servidor de arquivos,
impressão e autenticação para cliente do Microsoft Windows. A primeira
implementação de software livre de protocolos do AD da Microsoft. É compatível para
todas as versões de clientes Microsoft Windows atualmente suportada. (SAMBA.ORG-
3, 2013).
O Samba é mantido por uma equipe, um grupo mundial de colaboradores,
profissionais de informática, que trabalham juntos através da internet, produzindo os
serviços que englobam todo o Samba. Mantendo constantemente atualizado os seus
repositórios. (SAMBA.ORG-4, 2013).
O serviço AD é bem utilizado em ambientes de TI corporativo, ele é o coração
para implementações de Serviço de Diretório. O Samba 4 continua a fornecer todas suas
funções das versões anteriores, para que elas funcionem, deve ser adicionado em seu
arquivo de configuração, smb.conf, os parâmetros para elas entrarem em vigor. O
servidor Samba 4 apresenta eficiência e flexibilidade, com sua interface de programação
Python e um kit de ferramentas de administração que ajuda o pessoal de TI nas
implementações corporativas. (SAMBA.ORG-3, 2013).
O Samba 4 AD, foi desenvolvido com o apoio da Microsoft, que disponibilizou
publicando a documentação oficial do protocolo. A equipe Samba, tendo em mãos o
material disponibilizado sobre AD da Microsoft, fez do Samba 4 uma ferramenta
interoperacional. A Microsoft está envolvida em apoiar a interoperabilidade entre as
plataformas. (SAMBA.ORG-3, 2013).
Samba 4.0 permite a comunicação usando os protocolos SMB1, SMB2 e SMB3.
Inclui servidor de diretório LDAP, servidor de autenticação Kerberos, servidor DNS
dinâmico seguro, servidor SMB/CIFS e implementações para todo procedimento
remoto necessário. Também oferece tudo que é imprescindível para servir como um
Active Directory Domain Controller. (SCHNEIDER, 2012).
Além dos serviços citados acima, o Samba 4 AD oferece outros recursos como:
Diretiva de Grupo, Perfis Móveis, ferramentas de administração do Windows e integra-
se com o Microsoft Exchange e serviços compatíveis com software livre como
OpenChange. Também pode ser associado a um domínio existente do AD da Microsoft,
da mesma forma, um serviço de AD da Microsoft pode estar associado como membro
de um Samba 4 AD. O que mostra uma verdadeira interoperabilidade entre Microsoft e
Samba. (SAMBA.ORG-3, 2013).
Samba 4 AD também vem com uma melhoria do winbind, que é um daemon que
permite servidores de arquivos Linux, integrarem-se facilmente em serviços do AD,
sendo compatível tanto com Microsoft AD e Samba 4 AD. (SAMBA.ORG-3, 2013).
O Samba 4 possibilita a integração de outros serviços de rede junto ao AD,
como: E-mail, Web, Proxy, entre outros. Desta forma, centralizando vários serviços, e
assim, facilitando na hora da manutenção.

4. Materiais e Métodos
A metodologia científica segundo Gil (2010) baseia-se em vários tipos de pesquisas,
que são pontos cruciais para a elaboração de trabalhos científicos. Conforme Gil (2010,
p. 1) a pesquisa pode ser definida “como o procedimento racional e sistemático que tem
como objetivo proporcionar respostas aos problemas que são propostos”. A pesquisa em
si, busca obter o conhecimento sobre um determinado assunto. Eleva várias técnicas de
investigação para colher dados válidos de fontes seguras para a elaboração de trabalhos.

4.1. Métodos
Elaborou-se este artigo através de estudos bibliográficos. Conforme descrito por
Marconi e Lakatos (2012), a pesquisa bibliográfica são fontes de outros autores que já
foram publicadas em relação ao tema sobre o qual realiza-se a pesquisa. Essas
publicações são encontradas de várias formas como, em jornais, livros, artigos,
monografias, materiais disponibilizados pela internet, entre outros. Isso possibilita o
pesquisador a obter contato direto com todas essas opções, para fins de coletar
informações para poder transcrever seu trabalho.
O embasamento teórico de pesquisa deste artigo teve sua referência baseada em
livros, artigos e sites. Desta forma coletando informações importantes para servir como
fundamentação teórica para o artigo.
4.2. Materiais
O ambiente utilizado para fins de estudos e práticas deste artigo é baseado em um
ambiente virtual. Utilizou-se software Oracle VM VirtualBox – versão 4.3.2, que é uma
ferramenta grátis que possibilita a simulação de computadores reais em máquinas
virtuais. O Quadro 1 específica a lista com os Sistemas Operacionais e suas respectivas
funções.
Quadro 1. Sistemas Operacionais Utilizados.

Sistemas Operacionais Utilizações


Linux Debian 7 Wheezy x64 Servidor Samba 4 AD
Linux Ubuntu Server 12.04.3 LTS x64 Servidor Internet, DHCP e Proxy Squid
Linux Ubuntu Desktop 12.04.3 LTS x64 Cliente do AD
Windows 8 Pro x64 Cliente do AD
Máquina utilizada para gerenciar o Samba
Windows 7 Pro x64
4 AD e também é cliente do AD

O Quadro 2 a seguir detalha quais serviços de rede Linux que foram utilizados
para a aplicação prática do artigo bem como as versões que foram utilizadas.

Quadro 2. Serviços Linux Utilizados.

Serviços Versões
Isc-dhcp-server 4.1
Squid cache 3.3.10
Iptables 1.4.12
Samba 4 4.1.0

4.3. Modelo Proposto


A implementação deste artigo será realizada em um ambiente virtual de testes,
posteriormente podendo ser aplicada em empresas, que carecem de um Serviço de
Diretório, disponível para sua rede local, com a vantagem de ser implementado em
software livre. Na Figura 1, será mostrado o modelo proposto para implementar uma
rede local com Samba 4.
Figura 1. Implementação Samba 4.

4.4. Instalações

4.4.1. Requisitos
Antes de iniciar-se o processo de instalação, deve-se primeiro verificar os requisitos
necessários para a implementação de um servidor Samba 4 AD. Seguindo a parte
documentada do projeto Samba, instalando os pacotes, bibliotecas e preparando o
sistema de arquivos, onde é necessário para que sua compilação seja feita com sucesso.
Precisa-se também parar ou remover qualquer outra versão do samba anterior na
máquina em que será instalado o Samba 4 AD, evitando assim conflitos de
configurações mais tarde.
O primeiro passo é instalar todas as bibliotecas e programas recomendados
conforme os requisitos. Para distribuições Debian ou Ubuntu, devem-se instalar as
seguintes bibliotecas com o seguinte comando, conforme mostra a Figura 2.
(SAMBA.ORG-5, 2013).

Figura 2. Dependências para Samba 4.

Para usar os recursos avançados do Samba 4, precisa-se que o sistema de


arquivos tenha suporte a permissões adicionais como: xattr e acl, tanto para o usuário,
como também ao sistema de arquivos. Se o sistema de arquivos que estiver sendo usado
for do tipo ext3 ou ext4 precisa-se incluir essas opções no arquivo de configuração
/etc/fstab, conforme o exemplo abaixo:
“/dev/hda3 /home ext3 user_xattr,acl,barrier=1 1 1”

4.4.2. Download e Instalação


Para fazer download da última versão do Samba 4 basta acessar a página principal do
site do projeto samba.org como mostra a Figura 3.
Figura 3. Download do Samba 4.

Após o término do download, entre no local onde foi salvo o Samba 4, para dar
início ao processo de compilação e instalação. Descompacte o arquivo, após ser
extraído, acesse a pasta que contém todos os arquivos necessários para a instalação.
Lembrando que para instalar, o usuário tem que ter permissão do root. O processo de
instalação é manual, o samba por padrão será instalado em /usr/local/samba podendo
também ser direcionado a outro local no momento de sua configuração.
(SAMBA.ORG-6, 2013).
Os comandos e outros detalhes sobre a instalação encontram-se na página
oficial do projeto “samba.org”. Primeiro comando “./configure” a ser digitado no Shell
que vai fazer a configuração de todos os pacotes do Samba 4, o segundo comando a ser
digitado é “make” que compila todo o projeto gerando os binários para a instalação e
por último o comando “make install” que fará a instalação. (SAMBA.ORG-6, 2013).

4.4.3. Configurações
Para o funcionamento correto do Samba 4 AD é preciso alguns ajustes para não
acontecer erros. Necessita-se fazer uma alteração no arquivo hosts do Linux que fica
localizado em /etc/hosts. Conforme mostra a Figura 4.
Figura 4. Arquivo hosts.

A terceira e quarta linha do arquivo visto na Figura 4, devem ser acrescentadas.


A terceira linha corresponde ao endereço IP do servidor Samba 4, seguido do nome do
hostname e o domínio utilizado no Samba 4 AD.
O próximo passo é a configuração do arquivo resolv.conf, que tem a função
configurar a resolução de nomes para a máquina local. Este arquivo fica localizado
dentro do diretório /etc, como ilustrado na Figura 5.

Figura 5. Arquivo resolv.conf.

Seguindo o processo de configuração, deve-se acrescentar a seguinte linha que


encontra-se destacada na Figura 6, no arquivo “.bashrc” que fica dentro de
/root/.bashrc, facilitando desta forma o trabalho com o Samba para o administrador da
rede.

Figura 6. Arquivo .bashrc.

O AD requer uma sincronização de tempo exato entre os clientes e o controlador


de domínio (DC). Recomenda-se a instalação do NTP para gerenciar a sincronização
entre ambos. (SAMBA.ORG-7, 2013).
4.4.4. Provisionamento
Para efeitos de teste, adotaram-se as seguintes configurações para o Samba 4:
• Hostname do Servidor: debianad;
• DNS Domain Name: srvad.com;
• NT4 Domain Name: srvad;
• Endereço IP: 192.168.0.253;
• Função do Servidor: DC.
O provisionamento cria um banco de dados, que é usado quando se está
configurando o Samba 4 pela primeira vez, em seu próprio domínio. Para poder
inicializar o domínio, deve-se estar com privilégios de usuário root. O seguinte
comando: “samba-tool domain provision --use-rfc2307 --interactive”, é usado para criar
o AD de forma interativa como mostra a Figura 7. (SAMBA.ORG-7, 2013).

Figura 7. Provisionamento do AD.

A Figura 8 mostra o final do comando disparado mostrado anteriormente na


Figura 7, com os detalhes finais sobre Active Directory Domain Controller.

Figura 8. Detalhes do provisionamento.

Uma configuração de DNS de trabalho é essencial para o funcionamento correto


do Samba 4 AD. Sem as entradas DNS corretas, Kerberos não irá funcionar, o que
significa que muitas das características básicas também virão a falhar. Para o
provisionamento para fins de teste, utilizou-se o DNS interno do Samba 4 que é o
padrão, lembrando que para usar o Samba interno não deve ter mais nenhum outro
programa de gerenciamento de DNS em uso. (SAMBA.ORG-7, 2013).
Após o processo estar quase completo, deve-se mover ou apagar o arquivo
krb5.conf que encontra-se no diretório “/etc”, criado no momento da instalação das
dependências do Samba 4 AD. Depois basta copiar o arquivo, que foi criado junto ao
provisionamento do Domínio do Samba 4 AD, que é o arquivo de configuração do
Kerberos. Encontra-se no diretório “/usr/local/samba/private/” com o nome krb5.conf.
conforme mostra a Figura 9. (SAMBA.ORG-7, 2013).

Figura 9. Arquivo do kerberos.

Para finalizar, deve-se adicionar a linha “/usr/local/samba/sbin/samba” ao


arquivo “/etc/rc.local”, desta forma quando o sistema operacional for reiniciado ou
ligado, o serviço do Samba 4 AD inicializará sem a intervenção do usuário
(administrador).

4.5. Ingressando Clientes ao Samba 4 AD


O AD é um serviço de rede, que permite ao administrador gerenciar de forma
centralizada toda sua rede. Para permitir que clientes ingressem em um Samba 4 AD ou
até mesmo em um Microsoft AD, é preciso associar o computador cliente a algumas
configurações primárias, que são: configurar o DNS para responder ao Servidor AD,
verificar-se a data, hora e fuso horário estão sincronizados com AD e por último juntar-
se ao domínio. (SAMBA.ORG-8, 2013).
Clientes Linux também podem fazer parte do AD Samba 4, só que o processo
para ingressar máquinas Linux ao AD é mais complexo. No decorrer deste artigo,
ingressaram-se clientes Linux ao AD para fins de testes, porém este processo não será
detalhado neste artigo.
Ingressando cliente Windows 8 ao domínio:
1. Entre nas propriedades de meu computador;
2. Encontre a opção com o dizer (Nome do computador, domínio e configurações de
grupo de trabalho) e clique em alterar configurações;
3. Na guia nome do computador clique em alterar;
4. Na opção membro de, marque a opção Domínio e digite o domínio do AD, exemplo
“SRVAD.COM” em caixa alta e clique em OK;
5. Encontrando o AD vai aparecer uma tela pedindo login e senha, para ingressar
informe o usuário administrador do AD e sua senha e aperte o botão OK;
6. Irá aparecer uma mensagem de boas vindas ao domínio, em seguida será solicitado
para reiniciar o sistema.
Após o sistema ser reiniciado, basta fazer o login do domínio com seu usuário do
AD. A Figura 10 ilustra como ingressar um cliente Windows 8 ao AD.

Figura 10. Cliente Windows 8.

4.6. Gerenciando Samba 4 AD


A gestão do Samba 4 AD, pode ser feita através das ferramentas administrativas remota
do Windows, sendo disponibilizadas de forma gratuita no site da Microsoft. Para fazer a
gerência do Samba 4 AD, a máquina a qual vai ser utilizada, tem que estar ingressada ao
mesmo, e com direitos administrativos, então deve-se baixar e instalar as ferramentas
administrativas referentes à versão do Sistema Operacional. (SAMBA.ORG-9, 2013).
O Samba 4 também possibilita a gerência por meio de sua ferramenta de gestão
samba-tool, que disponibiliza vários recursos, como adicionar e remover usuários, criar
e gerenciar grupos, fazer a gerência do DNS, entre outros.

4.7. Outros Serviços


Utilizaram-se outros serviços de rede local para o desenvolvimento deste artigo, sendo
eles: DHCP, Iptables e Proxy Squid Cache, instalados na máquina com Sistema
Operacional Ubuntu Server. Não será descrito o processo de instalação e configuração,
pois eles não são o foco deste artigo. Será exposta somente uma cópia dos arquivos de
configuração de cada serviço.

DHCP - /etc/dhcp/dhcpd.conf
Quadro 3. Configuração DHCP
ddns-update-style none;
default-lease-time 600;
max-lease-time 7200;
authoritative;
subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.10 192.168.0.30;
option routers 192.168.0.254;
option domain-name-servers 192.168.0.253,192.168.0.254;
option broadcast-address 192.168.0.255;
option domain-name "srvad.com";
}

host AD {
hardware ethernet 08:00:27:92:06:18;
fixed-address 192.168.0.253;
}

Squid Cache - /usr/local/squid/etc/squid.conf


Quadro 4. Configuração Squid.
#
# Recommended minimum configuration:
#
visible_hostname servidor1.srvad.com
cache_effective_user squid
cache_effective_group squid

# Example rule allowing access from your local networks.


# Adapt to list your (internal) IP networks from where browsing
# should be allowed
acl localnet src 10.0.0.0/8 # RFC1918 possible internal network
acl localnet src 172.16.0.0/12# RFC1918 possible internal network
acl localnet src 192.168.0.0/16 # RFC1918 possible internal network
acl localnet src fc00::/7 # RFC 4193 local private network range
acl localnet src fe80::/10 # RFC 4291 link-local (directly plugged) machines
acl SSL_ports port 443
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT

####Fora do Cache
acl NOCACHE url_regex -i "/usr/local/squid/etc/outcache"
no_cache deny NOCACHE

###################################################
# autenticacao no AD
###################################################

auth_param ntlm program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp


auth_param ntlm children 30
auth_param basic program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-basic
auth_param basic children 5
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours

##### Faz a verificação por grupos no AD #####


external_acl_type grupo_ad %LOGIN /usr/local/squid/libexec/ext_wbinfo_group_acl

###GRUPOS####
acl grp-diretores external grupo_ad diretores
acl grp-funcionarios external grupo_ad funcionarios
acl grp-estagiarios external grupo_ad estagiarios

### sites que estao liberados ###


acl sites_liberados url_regex -i "/usr/local/squid/etc/sites_liberados"

### fechar facebook ###


acl face dstdomain .facebook.com
acl face dstdomain .facebook.com.br
acl face dstdomain www.facebook.com
acl face dstdomain www.facebook.com.br
acl web src "/usr/local/squid/etc/ips_liberados"

http_access allow web


http_access allow grp-diretores
http_reply_access deny face
http_access deny CONNECT face
http_access allow grp-funcionarios !face
http_access deny grp-estagiarios !sites_liberados
http_access allow sites_liberados

#
# Recommended minimum Access Permission configuration:
#
# Deny requests to certain unsafe ports
http_access deny !Safe_ports

# Deny CONNECT to other than secure SSL ports


http_access deny CONNECT !SSL_ports
# Only allow cachemgr access from localhost
http_access allow localhost manager
http_access deny manager

# We strongly recommend the following be uncommented to protect innocent


# web applications running on the proxy server who think the only
# one who can access services on "localhost" is a local user
#http_access deny to_localhost

#
# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR
CLIENTS
#

# Example rule allowing access from your local networks.


# Adapt localnet in the ACL section to list your (internal) IP networks
# from where browsing should be allowed
# And finally deny all other access to this proxy
#http_access allow localnet
http_access allow localhost
http_access deny all

# Squid normally listens to port 3128


http_port 3128

# Uncomment and adjust the following to add a disk cache directory.


cache_dir ufs /usr/local/squid/var/cache/squid 256 16 256

# Leave coredumps in the first cache dir


coredump_dir /usr/local/squid/var/cache/squid

#
# Add any of your own refresh_pattern entries above these.
#
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern . 0 20% 4320

Iptables - /etc/init.d/firewall.sh
Quadro 5. Configuração iptables.
# Inicio
echo " Iniciando o Firewall "

#Zerando o Firewall
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X

#Carrega os modulos
modprobe iptable_nat
echo 1 > /proc/sys/net/ipv4/ip_forward
# Compartilha a conexão mascarando
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

# Nat redirecionamento de Portas


iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 443 -j REDIRECT --to-port
3128

5. Resultados
Neste artigo foram alcançados os objetivos propostos. Sendo estes, implementação de
um Serviço de Diretório envolvendo Samba 4, a integração de um serviço de rede local
ao AD, sendo que todos estes serviços são exemplos de “software livre”.
Após o processo de instalação do Samba 4 AD, também houve a necessidade de
configurar o serviço DHCP e Squid. Um detalhe a considerar, para que o serviço Proxy
funcione corretamente, é que a máquina que está instalada o Squid Cache deve estar
integrada ao AD. Desta forma, quando os usuários autenticados no AD forem utilizar a
Internet, o Squid irá interagir fazendo a verificação junto aos grupos criados no Samba 4
AD. A Figura 11 ilustra o processo quando o cliente utiliza a Internet.

Figura 11. Squid integrado ao AD.

5.1. Unidades Organizacionais


Foram criadas Unidades Organizacionais (OUs), que facilitam a organização dentro de
um domínio. Para estudos foi criada a OU de nome empresa, a partir dela, criaram-se
mais três, diretores, funcionários e estagiários.
Dentro da OU diretores criou-se um grupo com o nome de diretores, e dois
usuários que são: Huguinho e Zézinho que fazem parte deste grupo. Nas seguintes OUs
foi criado também um grupo para cada, com seus respectivos nomes, sendo que os
integrantes da OU funcionários são: Luisinho e Pedrinho e os integrantes Boby e Alice
pertencem a OU estagiários. Conforme ilustrado na Figura 12.

Figura 12. OUs, Usuários e Grupos.

5.2. Diretivas de Grupos


Foram testadas as diretivas de grupos, e foram associadas as respectivas OUs criadas
anteriormente. Desta forma, as mesmas aplicam-se a todas as contas de usuários dentro
da OU. A Figura 13 mostra uma diretiva de grupo criada.

Figura 13. Diretiva de grupo.


Nos testes feitos com diretivas em clientes Windows, todas tiveram êxito, já as
diretivas em clientes Linux não tiveram a funcionalidade desejada, quando comparada
as máquinas Windows. Foi criada uma diretiva para inserir o endereço do Servidor
Proxy (automaticamente) no navegador (Internet Explorer), e outra para impedir que
sejam alteradas as configurações do Servidor Proxy, como por exemplo, endereço IP e
Porta do Proxy. Conforme exposta na Figura 14.

Figura 14. Funcionamento da diretiva.

5.3. Compartilhando Arquivos


Computadores conectados em redes precisam compartilhar arquivos. Como o Samba 4
manteve todas as características de suas versões anteriores, basta configurá-lo para
prover este serviço na rede.
Para fazer a configuração deste serviço, criou-se um diretório com nome
Arquivos, localizado dentro do diretório /home. Depois desta etapa, basta somente
adicionar uma configuração simples no arquivo do Samba 4, smb.conf, localizado em
/usr/local/samba/etc/smb.conf. Acrescentando as seguintes linhas:
[Arquivos]
path = /home/Arquivos
read only = No
Depois desta configuração, basta logar-se no domínio com o usuário
Administrador, e dar permissão de acesso total ao diretório “Arquivos”, assim ficando
disponível para todos os usuários do AD. (SAMBA.ORG-10, 2013).

6. Considerações Finais
O Samba 4 AD apresenta-se como uma ferramenta para Serviço de Diretório, encontra-
se em sua versão estável e apresenta muita flexibilidade bem como estabilidade. Além
dessas vantagens no que diz respeito ao AD, pode ser considerado concorrente direto ao
AD da Microsoft. Esta solução de Serviço de Diretório com o Samba 4, pode ser
implementada em empresas de pequeno e médio porte, por tratar-se de uma ferramenta
de código aberto. Usualmente, em ambientes coorporativos, necessitaria de tempo hábil
maior, e assim, também um estudo mais aprofundado.
Desta forma, irá gerar a redução de custos com relação a licenças de uso de
software, assim, influenciando na economia como um todo no que diz respeito a
“soluções em TI”.

6.1. Dificuldades Encontradas


No desenvolver do artigo, encontrou-se algumas dificuldades com relação a materiais
para fundamentação teórica sobre o Samba 4 AD, por tratar-se de algo novo. Não foi
encontrado nenhum livro específico sobre o mesmo, sendo que o material para
fundamentar e implementar o AD, foi basicamente encontrado no site oficial do projeto.
Outro ponto de dificuldade, foi achar documentação de fontes confiáveis para
ingressar clientes Linux ao AD, da mesma forma, interagir com Diretivas de Grupos em
clientes Linux, um recurso que o AD disponibiliza, e que é explorado pelos
administradores de redes.

6.2. Trabalhos Futuros


O projeto do Samba 4 AD, está em corrente manutenção, verificando e corrigindo erros
que surgem. Como esta ferramenta é nova, ainda pode ser muito explorada por possuir
uma série de recursos que podem ser estudados em trabalhos futuros.
Sugestões para trabalhos futuros: Perfil Móvel, replicação do Servidor Samba 4
AD, explorar Diretivas de Grupos para clientes Linux e também fazer do Samba 4 um
membro de um AD da Microsoft.

Referências
BARTLETT, Andrew. (2005) “Samba 4 - Active Directory”,
http://www.samba.org/samba/news/articles/abartlet_thesis.pdf, Agosto.
BARREIROS, Caio C. (2013) “Redes de Computadores I”,
http://www.gta.ufrj.br/grad/01_2/samba/samba.htm, Novembro.
COMER, Douglas E. (2007) “Redes de computadores e internet”, 4. ed. Porto Alegre:
Bookman.
CALÔR FILHO, Marcos M. (2013) “Kerberos”,
http://www.gta.ufrj.br/grad/99_2/marcos/kerberos.htm, Novembro.
GIL, Antonio C. (2010 ) “Como elaborar projetos de pesquisa”, 5. ed. - São Paulo:
Atlas.
HERTEL, Christopher R. (2003) “Implementing CIFS”, http://www.ubiqx.org/cifs/,
Novembro.
HUNT, Craig. (2004) “Linux: servidores de rede”, Rio de Janeiro: Ciência Moderna.
KERBEROS V5. (2013) “Kerberos V5 System Administrator's Guide”,
http://web.mit.edu/~kerberos /krb5-1.10/krb5 -1.10.7 /doc/krb 5-
admin.html#Network-Services-and-Their-Client-Programs, Novembro.
KUROSE, James F., ROSS, Keith W. (2010) “Rede de computadores e a Internet: uma
abordagem top-down”, 5. ed. São Paulo: Addison Wesley.
MARCONI, Marina de A., LAKATOS, Eva M. (2012) “Técnicas de pesquisa:
planejamento e execução de pesquisas, amostragens e técnicas de pesquisa,
elaboração, análise e interpretação de dados”, 7. ed. – São Paulo: Atlas, 2012.
METZMACHER, Stefan. (2007) “Active Directory Replication”,
http://www.samba.org/~metze/presentations/2007/thesis/StefanMetzmacher_Bachelo
rthesis_ENG_Draft-9811557.pdf, Setembro.
MORIMOTO, Carlos E. (2009) “Servidores Linux, guia prático”, Porto Alegre: Sul
Editores.
RNP (2000) “Implementando o serviço NTP na sua rede local”, CAIS - Centro de
Atendimento a Incidentes de Segurança,
http://www.rnp.br/_arquivo/cais/manual_ntp_v1b.pdf, Novembro.
RIBEIRO JUNIOR, Jaime. (2008) “OpenLDAP: a chave é a centralização”,
http://www.barbacena.ifsudestemg.edu.br/system/files/ldap-1.pdf, Novembro.
SAMBA.ORG-1. (2013) “What is Samba?”,
http://www.samba.org/samba/what_is_samba.html, Setembro.
SAMBA.ORG-2. (2013) “Samba: An Introduction”,
http://www.samba.org/samba/docs/SambaIntro.html, Novembro.
SAMBA.ORG-3. (2013) “Samba Team Releases Samba 4.0”,
https://www.samba.org/samba/news/releases/4.0.0.html, Outubro.
SAMBA.ORG-4. (2013) “The Samba Team”,
http://www.samba.org/samba/team/, Setembro.
SAMBA.ORG-5. (2013) “Samba 4/OS Requirements”,
https://wiki.samba.org/index.php/Samba_4_OS_Requirements, Novembro.
SAMBA.ORG-6. (2013) “Build Samba”,
https://wiki.samba.org/index.php/Build_Samba. Setembro.
SAMBA.ORG-7. (2013) “Samba AD DC HOWTO”,
https://wiki.samba.org/index.php/Samba_AD_DC_HOWTO, Setembro.
SAMBA.ORG-8. (2013) “Configuring a windows client for AD”,
https://wiki.samba.org/ index.php/ Configuring_a _windows_client_for_AD,
Novembro.
SAMBA.ORG-9. (2013) “Samba AD management from Windows”,
https://wiki.samba.org/index.php/ Samba_AD_ management_ from_windows,
Setembro.
SAMBA.ORG-10. (2013) “Setup and configure file shares”,
https://wiki.samba.org/index.php/Setup_and_configure_file_shares, Outubro.
SCHNEIDER, Andreas. (2012) “Features/Samba4”,
https://fedoraproject.org/wiki/Features/Samba4, Novembro.
SCRIMGER, Rob, LASALLE, Paul, PARIHAR, Mridula, GUPTA, Meeta. (2002)
“TCP/IP - A Bíblia”, Rio de Janeiro: Elsevier.
STANEK, William R. (2009) “Windows Server 2008: guia completo”, Porto Alegre:
Bookman.
STEINER, Jennifer G., NEUMAN Clifford, SCHILLE Jeffrey I. (1988) “Kerberos: An
Authentication Service for Open Network Systems”,
http://www.cse.nd.edu/~dthain/courses/cse40771/fall2004/papers/kerberos.pdf,
Outubro.
TANENBAUM, Andrew S. (2003) “Redes de Computadores”, Rio de Janeiro: Elsevier.
TANENBAUM, Andrew S., WETHERALL, David. (2011) “Redes de Computadores”,
São Paulo: Pearson Prentice Hall.
TRIGO, Clodonil H. (2007) “OpenLDAP - Uma Abordagem Integrada”, São Paulo:
Novatec.

Você também pode gostar