Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
SUMÁRIO
Olá, estudante, bem-vindo(a) à terceira Unidade de Interação e Aprendizagem (UIA). Nesta aula realizaremos
o estudo de servidores de correio eletrônico, relembrando o conteúdo já estudado na UIA 1 sobre protocolos de
e-mail. Boa aula!
n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n
n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n
13.1. POSTFIX
Conforme estudado no item 4.4 (Aula 4, UIA 1), o serviço de e-mail baseia-se no MTA1 (Mail Transfer Agent) e
MUA2 (Mail User Agent) que, em outras palavras, podem ser respectivamente o servidor e o cliente de e-mail.
O cliente envia a mensagem ao seu servidor de e-mail, que encaminha as mensagens ao servidor de e-mail
do destino, que por sua vez entrega as mensagens ao cliente destinatário quando solicitado.
Todo sistema operacional Linux possui um MTA instalado, até para tratar as mensagens internas do
sistema. Existem várias soluções, as mais conhecidas e utilizadas são o Sendmail (instalada por padrão em
muitas distribuições Linux), Postfix, Qmail ou Exim. Cada uma delas possui vantagens e desvantagens
quando analisamos desempenho, segurança, maturidade e quantidade de usuários.
Utilizaremos o Postfix, pois é reconhecido pelo excelente desempenho, elevada segurança, maturidade e
comunidade de usuários.
Um MTA pode, dependendo de suas funcionalidades, possuir vários componentes. A Figura 1 a seguir
ilustra a arquitetura do Postfix.
1
Media Transfer Agent – servidor de correio eletrônico responsável pelo armazenamento e transmissão das mensagens do
usuário.
2
Media User Agent – cliente de correio eletrônico responsável por interagir com o servidor enviando e recebendo imagens.
Copyright © 2016 Centro Universitário IESB. Todos os direitos reservados.
ADMINISTRAÇÃO DE SERVIÇOS DA INTERNET | UIA 3 | 6
• sendmail – Emula o Sendmail que é procurado por padrão por muitas aplicações
localmente no sistema operacional;
• maildrop – Responsável pela caixa de entrada, recebendo a mensagem do
Sendmail e notificando pick-up;
• pick-up – Coleta a mensagem na caixa de entrada, verifica a integridade e
encaminha para clean-up;
• clean-up – Verifica a formatação e encaminha para a fila de entrada (incoming
queue);
• active – Mensagens prontas para envio, mas ainda não enviadas;
• incoming – Assim que a mensagem está pronta a encaminha para o qmgr;
• qmgr – Núcleo do Postfix, encaminha as mensagens para local – se destinatário for
local, ou envia para SMTP3, se destinada a outro MTA;
• local – Encaminha as mensagens no format Mbox4 ou Maildir5;
• smtp – Responsável por envio de mensagens por SMTP para outros MTA;
• pipe – Responsável por encaminhar a mensagem para outro MTA, caso o Postfix
não o seja;
• smtpd – Responsável pelo recebimento de mensagens por SMTP de outros
programas.
3
Simple Mail Transfer Protocol – Protocolo para transferência de mensagens de e-mail pela internet.
4
Forma de armazenamento de mensagens de e-mail que mantém todas as mensagens do usuário em um único arquivo.
5
Forma de armazenamento de mensagens de e-mail em que cada mensagem é mantida em um arquivo em separado e todas
são indexadas por meio de um arquivo adicional.
Copyright © 2016 Centro Universitário IESB. Todos os direitos reservados.
ADMINISTRAÇÃO DE SERVIÇOS DA INTERNET | UIA 3 | 7
13.2. PRÉ-REQUISITOS
Para as atividades desta aula é necessário a utilização do sistema operacional Ubuntu. Você
pode utilizar as duas máquinas virtuais utilizadas na aula anterior (VM1 e VM2). Certifique-
se que os endereços IP6 sejam: VM1 – 192.168.10.1 e VM2 – 192.168.10.2.
n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n
Caso seja perguntado se deseja trocar o MTA do sistema operacional pelo Postix, responda sim.
Verifique o funcionamento do serviço:
# /etc/init.d/postfix status
6
Internet Protocol – protocolo de camada de rede utilizado para identificação de um dispositivo na rede.
Copyright © 2016 Centro Universitário IESB. Todos os direitos reservados.
ADMINISTRAÇÃO DE SERVIÇOS DA INTERNET | UIA 3 | 8
# echo $hostname
# vim /etc/postfix/main.cf
myhostname = mail1.rede.teste
mydomain = rede.teste
myorigin = $mydomain
inet_interfaces = $myhostname, localhost
my_destination = $myhostname, localhost.$mydomain, $mydomain
mynetworks = 192.168.10.0/24
relay_domains = $mydomain
my_networks_style =
Configure o servidor DNS7 do domínio. Para isso inclua as entradas relativas ao servidor de e-mail (VM1) no
DNS. Verifique se as entradas A, PTR, CNAME e MX estão configuradas. Reinicie o serviço DNS em seguida.
# /etc/init.d/postfix restart.
Para um serviço já em produção é recomendável utilizar a opção reload que recarrega as novas
configurações sem interromper o serviço.
Posteriormente, na Aula 14 a seguir, por ocasião das configurações POP39 e IMAP10, você
terá oportunidade de testar o funcionamento do servidor com o cliente de e-mail.
Para isso vamos utilizar os usuários aluno2 e aluno3, criados na máquina VM1 durante as atividades do
item 10.4 (Servidor FTP11).
Conecte-se ao servidor de e-mail:
Envie um HELO:
HELO vm1.rede.teste
7
Domain Name System – protocolo para gerenciamento e resolução de nomes em redes privadas e na internet.
8
Protocolo utilizado em redes privadas e na internet para comunicação bidirecional entre dois dispositivos.
9
Protocolo de correio eletrônico no qual as mensagens são baixadas para o cliente e excluídas do servidor.
10
Internet Message Access Protocol – protocolo que permite a conexão de múltiplos clientes de e-mail a uma mesma caixa de
correio.
11
File Transfer Protocol – protocolo para transferência de arquivos em redes privadas e na internet por meio de um servidor
dedicado.
Copyright © 2016 Centro Universitário IESB. Todos os direitos reservados.
ADMINISTRAÇÃO DE SERVIÇOS DA INTERNET | UIA 3 | 9
Digite o texto da mensagem iniciando pelo comando DATA. Após digitar todo o texto, encerre a
mensagem digitando em uma linha somente um ponto “.”:
DATA
Esta é uma mensagem de teste
.
QUIT
$ mail aluno3@vm1.rede.teste
Digite o conteúdo da mensagem, encerrando-a com uma linha contendo somente um ponto “.”.
Em tty3, conectado como aluno3, acesse a caixa postal:
Verifique a existência de novas mensagens. Deve haver ao menos a mensagem enviada do aluno2.
Finalmente confira o arquivo de log em /var/log/mail.log.
Caso tenham ocorrido erros, revise as etapas realizadas nos itens 13.4 a 13.6, desta aula.
O Postfix possui vários ajustes que podem ser feitos para aumentar
ainda mais o desempenho no processamento de recebimento e
recebimento de mensagens. Tais como otimizações em consultas DNS e
na interação com outros MTAs. Confira através do link a seguir.
http://tinyurl.com/bj3ft
Termina aqui nossa primeira aula desta unidade. Introduzimos conceitos que serão importantes ao longo da
disciplina. Continue os estudos desta disciplina e até breve!
Existem duas razões pela qual você não deve implementar um servidor de e-mail corporativo com
armazenamento em formato Mbox. O primeiro limitador é que, caso o arquivo com as mensagens do
usuário seja corrompido, todas as mensagens daquele usuário estarão perdidas. O segundo limitador é
que o formato Mbox não é suportado pelo protocolo IMAP.
12
Transport Layer Security – Protocolo de criptografia que provê privacidade e integridade do conteúdo do conteúdo multimídia
entre um servidor web e seu cliente.
Copyright © 2016 Centro Universitário IESB. Todos os direitos reservados.
ADMINISTRAÇÃO DE SERVIÇOS DA INTERNET | UIA 3 | 11
Caso o servidor de e-mail possua 1.000 caixas postais, haverá 1.000 diretórios, sendo um para cada
usuário. Cada diretório de usuário contém três subdiretórios: new – para mensagens não lidas; cur – para
mensagens já lidas; tmp – para mensagens sendo processadas.
Se um dado usuário tiver 5.000 mensagens em sua caixa postal, haverá um arquivo para cada mensagem
e um arquivo de índices adicional. O que confere grande agilidade ao sistema, pois o servidor de e-mail
consulta o arquivo de índices, e em seguida busca diretamente o arquivo contendo a mensagem
desejada. Ao contrário do Mbox que teria que percorrer um arquivo gigantesco para localizar uma
mensagem específica. No item 14.2 a seguir, você implementará uma estrutura com Maildir.
A criação da estrutura de diretórios do Maildir pode ser feita de dois modos. O primeiro modo é
utilizando o /etc/skel já criando os diretórios com as permissões corretas. Assim, quando da criação dos
usuários, os diretórios necessários já seriam criados automaticamente. É o método mais recomendado. O
segundo modo é utilizando o programa Maildirmake, que acompanha o programa Courier Maildrop.
Crie a estrutura de diretórios em /etc/skel, ajustando as permissões:
# cd /etc/skel
# mkdir Maildir
# chmod 770 Maildir/
# mkdir Maildir/new
# mkdir Maildir/cur
# mkdir Maildir/tmp
# mkdir Maildir/.Trash
# mkdir Maildir/.Spam
Copyright © 2016 Centro Universitário IESB. Todos os direitos reservados.
ADMINISTRAÇÃO DE SERVIÇOS DA INTERNET | UIA 3 | 12
# mkdir Maildir/.Drafts
# chmod 700 Maildir/*
# vim /etc/postfix/main.cf
$home_mailbox = Maildir/
# vim /etc/profile
MAIL = $HOME/Maildir
A partir desse momento, os novos usuários criados já terão a estrutura de diretórios especificada.
Crie um usuário denominado aluno4, com senha aluno4, e verifique a estrutura criada.
# vim /etc/postfix/main.cf
smtpd_tls_cert_file = /etc/postfix/ssl/smtpd.crt
smtpd_tls_key_file = /etc/postfix/ssl/smtpd.key
smtpd_use_tls = yes
smtpd_tls_session_cache_database =
btree:${queue_directory}/smtpd_scache
smtp_tls_session_cache_database =
btree:${queue_directory}/smtp_scache
smtpd_sasl_local_domain =
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clientes = yes
smtpd_recipient_restrictions = permit_sasl_authenticated,
permit_mynetworks,reject_unauth_destination
smtpd_tls_auth_only = no
smtp_use_tls = yes
smtp_tls_note_starttls_offer = yes
smtp_tls_CAfile = /etc/postfix/ssl/cacert.pem
smtp_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s
tls_random_source = dev:/dev/urandom
# mkdir /etc/postfix/ssl
# cd /etc/postfix/ssl
# openssl genrsa –des3 –rand /etc/hosts –out smtpd.key 1024
# chmod 600 smtpd.key
# openssl x509 –req –days 3650 –in smtpd.csr –signkey smtpd.key –out smtpd.crt
# openssl rsa –in smtpd.key –out smtpd.key.unencrypted
# mv –f smtpd.key.unencrypted smtpd.key
# openssl req –new –x509 –extensions v3_ca –keyout cakey.pem –out cacert.pem –
days 3650
# /etc/init.d/postfix restart
Repita o teste de funcionamento do servidor de e-mail via Telnet, conforme item 13.5.
Ficou com alguma dúvida? Retorne ao conteúdo ou busque esclarecimentos no Fórum de Dúvidas. Senão,
passe para nossa aula seguinte. Até lá.
Caro(a) estudante, nesta aula você irá instalar e configurar um servidor de proxy. Assim, definiremos e
mostraremos as características desse tipo de servidor. Vamos adiante, boa aula!
Figura 4: Proxy
O objetivo pode ser tanto restringir o acesso a determinados sites na internet para adequar o tráfego às
políticas de uso da rede na empresa, quanto reduzir o volume de tráfego de links de internet através do
armazenamento temporário dos conteúdos externos mais acessados (proxy cache).
Além disso, pode atuar ainda como proxy reverso. Desse modo, ele recebe requisições da internet com
destino a servidores na intranet, atuando de modo inverso ao proxy.
O uso de proxy reverso tem sido cada vez mais importante considerando que estão sumindo as fronteiras
entre a internet e a intranet, dado que cada vez mais serviços anteriormente disponibilizados somente
internamente na empresa acabam por ser disponibilizados para os usuários acessarem de qualquer lugar.
Portanto, um cliente pode se conectar a um serviço interno de uma rede sem acessá-la diretamente.
Assim, as solicitações do cliente são recebidas pelo proxy reverso que, se autorizado, as redireciona para o
servidor desejado. Conforme ilustra a Figura 5:
Figura 5: Proxy
Muitas são as vantagens desse tipo de abordagem, entre elas: segurança – pois restringe o
acesso externo à servidores internos; cache – mantém cópia dos conteúdos estáticos das
páginas web diminuindo a carga em servidores web; compressão – comprime o conteúdo
a ser transferido ao navegador do cliente; balanceamento de carga – distribui a carga
entre dois ou mais servidores.
15.2. INTRODUÇÃO
O Squid é uma ferramenta de proxy amplamente utilizada, possuindo as
funcionalidades citadas no tópico anterior, atuando tanto como um proxy
tradicional, quanto como um proxy reverso.
Sua instalação e configuração é relativamente simples, embora haja grande quantidade de parâmetros
que podem ser ajustados em seu arquivo de configuração.
Assim como nos demais serviços que você já instalou até aqui, iremos configurar alguns dos parâmetros.
Lembrando que para colocar o serviço em produção é recomendado analisar mais detalhadamente
todos os parâmetros.
Os principais parâmetros são:
• acl – ACL (Access Control List), ou lista de controle de acesso, define o que poderá
ou não ser acessado; e
15.3. ACL
As listas de controle de acesso, denominadas de ACL (Access Control List) são
regras de acesso utilizadas pelo proxy. Nelas podem ser definidos os critérios
para controle que podem considerar parâmetros diversos tais como origem e
destino, horário ou expressões regulares.
Para a implementação de uma política de acesso será necessária uma combinação de regras. No Squid as
regras são analisadas da primeira até a última. Assim um acesso pode ser liberado assim que encontre
uma regra na qual se encaixe. Por padrão é recomendada a inclusão de uma regra de negativa geral ao
final de todas as ACL.
Ao criar as regras procure ser claro e objetivo, inclusive documentando-as através de comentários no
próprio arquivo de configuração.
Uma ACL é composta de duas partes: uma diretiva especificando o tipo de controle e outra com a regra de
acesso. O tipo de controle pode ser baseado no endereço de origem ou destino, no domínio de origem ou de
destino. Já a regra de acesso especifica o tipo de controle, podendo ser por protocolo, porta, método de
acesso (GET13 ou POST14), tipo de navegador, horário, conteúdo MIME15 e limite de conexões.
Assim uma regra que permita o acesso HTTP16 aos dispositivos da rede 192.168.10.0/255.255.255.0, seria:
Enquanto que uma regra que bloqueie o acesso a arquivos MP3 seria:
15.4. PRÉ-REQUISITOS
Para as atividades desta aula é necessário a utilização do sistema operacional Ubuntu. Você
pode utilizar as duas máquinas virtuais utilizadas na aula anterior (VM1 e VM2).
A máquina virtual VM1 deve possuir duas interfaces de rede, sendo uma
delas com IP 192.168.10.1 e a outra interface com acesso à Internet.
A máquina virtual VM2 deve possuir interface gráfica, uma interface de
rede com IP 192.168.10.2 e o gateway dessa máquina deve ser o IP
192.168.10.1.
n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n
n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n
13
Método do protocolo HTTP utilizado para obter dados a partir de um recurso específico por meio de pares de objeto-valor em
uma requisição HTTP.
14
Método do protocolo HTTP para manipulação de requisições na qual os dados estão inseridos na mensagem de solicitação.
15
Multipurpose Internet Mail Extensions – é uma extensão de protocolo originalmente de e-mail, e depois adotada em servidores
web na transmissão de diferentes tipos de dados, tais como áudio, vídeo, executáveis etc.
16
Hypertext Transfer Protocol – protocolo para transferência de hipertexto utilizado em sistemas web.
Copyright © 2016 Centro Universitário IESB. Todos os direitos reservados.
ADMINISTRAÇÃO DE SERVIÇOS DA INTERNET | UIA 3 | 18
# cd /tmp
# wget http://www.squid-cache.org/Versions/v3/3.5/squid-3.5.13.tar.gz
# tar –xzvf squid-3.5.13.tar.gz
# groupadd squid
# useradd –g squid –s /dev/null squid
# cd squid-3.5.13
# ./configure
# make
# make install
# vim /etc/squid3/squid.conf
# Porta cliente
http_port 3128
# Porta proxies
icp_port 3130
visible_hostname cache.rede.teste
# Cache
cache_mem 512 MB
cache_swap_low 75
cache_swap_high 97
maximum_object_size 900 MB
minimum_object_size 0 KB
maximum_object_size_in_memory 32 KB
# Logs
cache_dir ufs /var/spool/squid3 1024 64 256
cache_access_log /var/log/squid/access.log
cache_log /var/log/squid/cache.log
cache_store_log none
logfile_rotate 10
#emulate_httpd_log on
# Opcoes FTP
ftp_user admin@rede.teste
ftp_passive on
# ACL
acl all src all
acl manager proto cache_object
acl localhost src 127.0.0.1/32
acl to_localhost dst 127.0.0.0/8 0.0.0.0/32
Pause momentaneamente o servidor Squid para a criação do diretório onde será armazenado o cache:
Verifique se foram criados os diretórios para cache em /var/spool/squid3. Caso não tenham sido criados,
verifique se a diretiva cache_dir foi corretamente digitada no arquivo de configuração.
Reinicie o serviço Squid:
A resposta a essa indagação é: não necessariamente. Você pode preferir utilizar um proxy transparente. O
qual não requer configurações nos computadores dos usuários, pois, como o nome já diz, é transparente
para ele.
O proxy transparente elimina ainda outro problema, que é quando o usuário leva o computador para
outra rede, por exemplo para casa. Chegando lá a configuração de proxy no navegador pode impedi-lo
de acessar as páginas que deseja.
# iptables -L
Após incluir essas duas regras, remova as configurações de proxy do navegador e teste novamente o
acesso à internet.
Fique atento aos conteúdos estudados aqui, eles servem de pré-requisito para os novos conteúdos que virão.
Até a próxima aula!
16.1. INTRODUÇÃO
O servidor MySQL é uma ferramenta de manipulação de bases de dados
relacional. O armazenamento dos dados dá-se por meio de tabelas relacionadas
entre si. As quais guardam os dados em linhas e colunas. A manipulação se dá
por meio da linguagem SQL17. O MySQL data de 1995 quando foi lançada na
Suécia. Após 20 anos de seu lançamento, ela ainda é uma das ferramentas mais
utilizadas mundialmente.
O MySQL implementa diversos recursos para ganho de velocidade, tais como suporte a multithreads,
cache para consultas indexadas, armazenamento de procedimentos, replicação. Além de capacidade de
armazenamento de 65.536TB, utilizando tabelas InnoDB18. Integra-se facilmente a aplicações em PHP19 e
Java20, entre outras.
Nesta aula você irá revisar e praticar a instalação do banco de dados relacional MySQL. Cuja
teoria você já estudou em outra disciplina neste curso. A intenção aqui é alinhar a parte
prática de instalação e configuração de banco de dados com os demais serviços
disponibilizados nesta disciplina. Desse modo nos fixaremos na implementação da
ferramenta, com suas configurações básicas no ambiente Linux, e um breve passo-a-passo
em como popular e manipular a base de dados.
16.2. PRÉ-REQUISITOS
Para as atividades desta aula é necessário a utilização do sistema operacional Ubuntu com
interface gráfica. Você pode utilizar a máquina virtual VM1 – IP 192.168.10.1, da aula
anterior.
17
Structured Query Language – Linguagem declarativa utilizada na manipulação de bancos de dados relacionais.
18
Mecanismo de armazenamento de dados utilizado pelo banco de dados MySQL.
19
Personal Home Page – linguagem de programação utilizada no desenvolvimento de páginas web dinâmicas.
20
Linguagem de programação orientada à objetos.
Copyright © 2016 Centro Universitário IESB. Todos os direitos reservados.
ADMINISTRAÇÃO DE SERVIÇOS DA INTERNET | UIA 3 | 22
# vim /var/www/index.php
<?php phpinfo(); ?>
# mysql –u root –p
Para liberar conexões remotas ao banco de dados, edite o arquivo /etc/mysql/my.cnf, comentando a linha
conforme segue:
# vim /etc/mysql/my.cnf
#bind-address = 127.0.0.1
# /etc/init.d/mysql restart
# mysql –p
mysql> SHOW DATABASES;
Crie as tabelas:
Edite o arquivo de configuração do servidor web Apache para adicionar suporte ao phpMyAdmin:
# vim /etc/apache2/apache2.conf
Include /etc/phpmyadmin/apache.conf
Estamos na metade do caminho para adquirir as competências e habilidades proporcionadas por este curso.
Até a próxima aula!
Aula 17 | LDAP
17.1. INTRODUÇÃO
Em seus estudos nesta disciplina, caro(a) estudante, você passou por vários
protocolos e tecnologias que visam facilitar a administração da rede e serviços
associados. Incluindo serviços de DHCP21, DNS, Web, Correio Eletrônico, Proxy e
outros. Todos com ampla aplicação no dia a dia das empresas, qualquer que seja o
tamanho.
Ocorre que, nas empresas, faz-se necessário uma forma mais automatizada de
controle dos usuários, pois eles possuem diferentes níveis de acesso, tanto no que
21
Dynamic Host Configuration Protocol – protocolo para configuração dinâmica de dispositivos em uma rede.
Copyright © 2016 Centro Universitário IESB. Todos os direitos reservados.
ADMINISTRAÇÃO DE SERVIÇOS DA INTERNET | UIA 3 | 25
tange à liberação do acesso, quanto à priorização. Aliado a isso, em todas as empresas há um fluxo por
que passam as pessoas e que precisa ser considerado nos serviços.
As pessoas em diferentes momentos são admitidas, transferidas de setor, promovidas, entram de férias,
ou mesmo saem da empresa. Tudo isso afeta os controles de acesso. Na admissão, elas passam a ter
acesso a determinados serviços – como e-mail. Ao serem lotadas em determinado departamento, ou
promovidas, ganham acesso a determinados arquivos disponibilizados na rede. Ao entrarem de férias ou
saírem da empresa podem perder esse acesso de modo provisório ou temporário.
Aliado a isso, existem outros fatores de comodidade do usuário que devem ser considerados.
Quer um exemplo?
É uma base de dados hierárquica que contém informações centralizadas e atualizadas sobre usuários e
serviços, através da qual pode ser replicada as diferentes filiais da empresa, como ilustra a figura a seguir.
O objetivo do serviço de diretório é ser uma fonte única e atualizada de informações na empresa. Assim,
diversas aplicações podem recorrer a uma fonte única para autenticar um usuário e obter suas
credenciais de acesso a dado serviço.
Desse modo, a inclusão de um funcionário em um setor da empresa pode conceder-lhe acesso
automático a um conjunto de serviços. Portanto, uma mudança no seu status funcional pode de
imediato conceder ou revogar privilégios adicionais nos mais diversos sistemas.
Copyright © 2016 Centro Universitário IESB. Todos os direitos reservados.
ADMINISTRAÇÃO DE SERVIÇOS DA INTERNET | UIA 3 | 26
Permite, inclusive, a criação de uma política de senhas na empresa, podendo o administrador do serviço
de diretório aplicar uma regra de complexidade ou tempo de expiração, por exemplo. A senha, ao ser
atualizada, passa a valer de imediato para todos os sistemas, dado que a cada autenticação esses
sistemas consultam a base do serviço de diretório, conforme indicado na Figura 7.
17.2. LDAP
O padrão de mercado para serviço de diretório é o LDAP22 (Lightweight Directory Access Protocol), um
protocolo aberto e independente de fornecedores, amplamente aceito e utilizado. O LDAP é definido nas
RFCs23 4511 a 4519 (2006). As quais contém as especificações, esquemas e autenticação a serem
utilizadas.
Sua arquitetura é do tipo cliente-servidor, na qual são enviadas consultas e respostas, conforme ilustra a
Figura 8, a seguir.
Uma consulta LDAP pode retornar um ou múltiplos resultados, a depender do tipo de operação feita e
dos dados da base.
As operações LDAP podem ser do tipo consulta, atualização ou autenticação:
• search – Busca;
• compare – Comparação;
• add – Adição;
22
Lightweight Directory Access Protocol – protocolo de padrão aberto para manutenção de bases de dados centralizadas ou
distribuídas, utilizado para autenticar usuários e aplicações em uma rede IP.
23
Request for Comments – Documentos mantidos pelo IETF (Internet Enginnering Task Force) com especificações de padrões da
internet.
Copyright © 2016 Centro Universitário IESB. Todos os direitos reservados.
ADMINISTRAÇÃO DE SERVIÇOS DA INTERNET | UIA 3 | 27
• delete – Exclusão;
• modify – Modificação;
• modify DN – Modificação da posição de um dado;
• bind – Autenticação;
• unbind – Cancelamento da autenticação;
• abandon – Cancelamento de uma operação não completada.
Assim, para que uma consulta LDAP seja completada, o cliente estabelece uma conexão
(open) e se autentica (bind) junto ao servidor LDAP. Então, ele envia sua solicitação (search)
e recebe os dados. Em seguida, encerra a autenticação (unbind) e a conexão (close).
Cada entrada na árvore é um objeto e possui uma identificação única – denominada DN (Distinguished
Name). Cada objeto possui atributos individuais que o distingue dos demais, tais como tipos e valores.
Observe que você pode criar objetos para representar todas as entidades que possui na empresa, desde
as unidades que representam a estrutura organizacional da empresa (com seus departamentos), até a
representação de elementos na infraestrutura de tecnologia da informação.
A Figura 10 indica que “Antônio Oliveira”, faz parte da unidade organizacional “alunos”, que está dentro
de “acad”, “ead” e “iesb.br”. Ela indica ainda uma unidade organizacional “servidores”, em que você pode
agrupar os servidores da empresa para facilitar a autenticação centralizada. Ou ainda, a unidade
“impressoras”, nas quais você pode, por exemplo, incluir nos atributos as características e localização de
cada impressora. Permitindo, assim, que os usuários possam automaticamente ter acesso às impressoras
do setor.
Quais são os tipos de informação que podem ser incluídos nos objetos?
Os dados no LDAP são armazenados no formato LDIF (LDAP Data Interchange Format). Vamos a um
exemplo. O “aluno” mencionado na Figura 10 poderia ser representado assim:
17.3.2. REPLICAÇÃO
O serviço de diretório é crítico em um ambiente de TI, pois é por meio dele que os usuários se autenticam
em todos os serviços, desde o login no computador, até o acesso a todos os sistemas disponibilizados. O
próprio pessoal de TI pode se autenticar nos servidores e ativos de rede com sua individual.
Desse modo, uma indisponibilidade no serviço de diretório, mesmo que momentânea, provoca um caos
no funcionamento da empresa. Assim é recomendável que haja redundância de servidores para esse
serviço. Além disso, caso a empresa possua múltiplas filiais, é desejável possuir servidores do serviço de
diretório localmente para o caso de indisponibilidade da comunicação com a matriz.
De modo geral, tem-se um servidor primário e ao menos um secundário.
17.3.3. ESQUEMAS
Um conceito muito importante em diretórios é o esquema (schema). Tratam-se de regras que especificam
os tipos de dados presentes no diretório. Definindo a localização, tamanho e formato dos dados.
Inclusive quais são os atributos obrigatórios e os opcionais para dado objeto.
Por exemplo, um objeto do tipo inetOrgPerson possui atributos obrigatório e outros opcionais. São
obrigatórios: sn, cn, objectClass. Podem ser opcionais: userPassword, telephoneNumber, employeeNumber,
jpegPhoto, mail, carLicence.
17.3.4. ACL
Outro conceito muito importante em diretórios são as ACL (Access Control List) ou Listas de
Controle de Acesso. Você já viu alguns conceitos sobre ACL na aula que trata de proxy.
O objetivo de ACL no LDAP é implementar medidas de segurança. Limitando, assim, acessos não
autorizados. Desse modo são atribuídas permissões de leitura ou leitura e escrita a certos atributos.
Conforme ilustra a Tabela 1 a seguir.
Como você pôde perceber, as informações corriqueiras como nome, sobrenome e nome completo têm
acesso de leitura permitido a todos sem autenticação, podendo, por exemplo, ser exportadas
diretamente para uma lista pública de contatos da empresa. Alterações nesses atributos estão restritas ao
administrador. Já o salário, somente o próprio funcionário pode vê-lo e somente seu chefe pode alterá-lo.
17.3.5. RECOMENDAÇÕES
Antes de implementar o serviço de diretório em sua empresa, alguns aspectos devem ser considerados,
tais como a estrutura organizacional, a geográfica da empresa, os sistemas e aplicações que se
conectarão ao diretório, e os níveis de acesso.
As principais implementações são o OpenLDAP (no Linux) e o ActiveDirectory (no Windows). Os quais
você terá oportunidade de instalar e configurar em aulas mais adiante.
E aí, muito conteúdo? Estamos ficando cada vez mais especialistas no assunto, com isso, cresce a quantidade
e a qualidade daquilo que aprendemos ao longo da disciplina. Até a última aula!
18.1. INTRODUÇÃO
Nesta aula você irá de implementar na prática o serviço de
diretório LDAP, utilizando o OpenLDAP através de seu portal.
Assim, caro(a) estudante, você iniciará pela instalação e
configuração do servidor. Em seguida, incluirá um cliente Linux
no serviço de diretório permitindo que os usuários sejam
autenticados diretamente pelo LDAP. Depois, criará uma base de
dados em formato LDIF para inclusão na base de dados de uma
unidade organizacional e um usuário. E finalmente, migrará
contas locais para o LDAP. Bom estudo!
Copyright © 2016 Centro Universitário IESB. Todos os direitos reservados.
ADMINISTRAÇÃO DE SERVIÇOS DA INTERNET | UIA 3 | 31
18.2. PRÉ-REQUISITOS
Para as atividades desta aula, é necessário a utilização do sistema operacional Ubuntu.
Você pode utilizar as duas máquinas virtuais utilizadas na aula anterior (VM1 e VM2).
Certifique-se de que os endereços IP sejam: VM1 – 192.168.10.1 e VM2 – 192.168.10.2.
# dpkg-reconfigure slapd
# /etc/init.d/slapd start
dn:
namingContexts: dc=exemplo,dc=com,dc=br
# vim /etc/pam-ldap.secret
admin
# vim /etc/libnss-ldap.secret
admin
# vim /etc/libnss-ldap.conf
base dc=exemplo,dc=com,dc=br
uri ldap://192.168.10.1
ldap_version 3
rootbinddn cn=admin,dc=exemplo,dc=com,dc=br
24
Pluggable Authentication Modules – módulos que provêm mecanismos de autenticação em ambientes Linux.
25
Name Service Switch – conjunto de bibliotecas utilizadas para controle de segurança em múltiplas plataformas, utilizada na
autenticação de usuários localmente ou via serviços de diretório.
Copyright © 2016 Centro Universitário IESB. Todos os direitos reservados.
ADMINISTRAÇÃO DE SERVIÇOS DA INTERNET | UIA 3 | 33
# vim /etc/ldap.conf
base dc=exemplo,dc=com,dc=br
uri ldap://192.168.10.1
# /etc/init.d/nscd restart
# vim /etc/pam.d/common-password
Password [success=1 user_unknown=ignore default=die] pam_ldap.so
try_first_pass
# vim /etc/pam.d/common-session
Session optional pam_mkhomedir.so skel=/etc/skel umask=077
# getent passwd
# getent shadow
# getent group
Percebe que somente aparecerão itens adicionais se houverem dados na base de dados do LDAP. Nos
tópicos 18.5 e 18.6 a seguir, você irá incluir dados nas bases do LDAP.
# vim /tmp/alunos.ldif
dn: ou=alunos,dc=exemplo,dc=com,dc=br
ou: alunos
objectClass: top
objectClass: organizationalUnit
Copyright © 2016 Centro Universitário IESB. Todos os direitos reservados.
ADMINISTRAÇÃO DE SERVIÇOS DA INTERNET | UIA 3 | 34
objectClass: domainRelatedObject
description: alunos
associatedDomain: exemplo.com.br
# vim /tmp/insereAluno.ldif
dn: uid=antoniooliveira,ou=alunos,dc=exemplo,dc=com,dc=br
uid: antoniooliveira
cn: Antonio
gn: Antonio
sn: Oliveira
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
objectclass: account
objectclass: posixAccount
objectclass: top
objectclass: shadowAccount
userPassword: {CRYPT}.miaZbx7b3ho7xma
shadowLastChange: 11761
shadowMin: -1
shadowMax: 99999
shadowWarning: -1
loginShell: /bin/bash
uidNumber: 2001
gidNumber: 2000
homeDirectory: /home/antoniooliveira
gecos: Antonio Oliveira
# passwd antoniooliveira
# getent passwd
# vim /usr/share/migrationtools/migrate_common.ph
Copyright © 2016 Centro Universitário IESB. Todos os direitos reservados.
ADMINISTRAÇÃO DE SERVIÇOS DA INTERNET | UIA 3 | 35
$DEFAULT_MAIL_DOMAIN = “exemplo.com.br”;
$DEFAULT_BASE = “dc=exemplo,dc=com,dc=br”;
# vim /tmp/base.ldif
dn: dc=com,dc=br
dc: com
objectClass: top
objectClass: domain
dn: dc=exemplo,dc=com.dc=br
dc: exemplo
objectClass: top
objectClass: domain
# /etc/init.d/slapd restart
Você terminou o estudo desta unidade. Chegou o momento de verificar sua aprendizagem.
Ficou com alguma dúvida? Retome a leitura.
Quando se sentir preparado, acesse a Verificação de Aprendizagem da unidade no menu
lateral das aulas ou na sala de aula da disciplina. Fique atento, essas questões valem nota!
Você terá uma única tentativa antes de receber o feedback das suas respostas, com
comentários das questões que você acertou e errou.
Vamos lá?!
BIBLIOGRAFIA SUGERIDA
HILDEBRANDT, RALF. The Book of Postfix: state-of-the-art message transport. San Francisco: No Starch
Press, 2005.
MARCELO, A. Squid: Configurando o Proxy para Linux. 6ª Ed. Rio de Janeiro: Brasport, 2006.
RFC – Related Request for Comments. Lightweight Directory Access Protocol (LDAP): The Protocol – RFC
4511. RFC Base: 2006. Disponível em: <http://www.rfc-base.org/rfc-4511.html>. Acesso em: 18 mar. 2016.
RFC – Related Request for Comments. Lightweight Directory Access Protocol (LDAP): Directory
Information Models – RFC 4512. RFC Base: 2006. Disponível em: <http://www.rfc-base.org/rfc-
4512.html>. Acesso em: 18 mar. 2016.
RFC – Related Request for Comments. Lightweight Directory Access Protocol (LDAP): Authentication
Methods and Security Mechanisms – RFC 4513. RFC Base: 2006. Disponível em: <http://www.rfc-
base.org/rfc-4513.html>. Acesso em: 18 mar. 2016.
RFC – Related Request for Comments. Lightweight Directory Access Protocol (LDAP): String
Representation of Distinguished Names – RFC 4514. RFC Base: 2006. Disponível em: <http://www.rfc-
base.org/rfc-4514.html>. Acesso em: 18 mar. 2016.
RFC – Related Request for Comments. Lightweight Directory Access Protocol (LDAP): String
Representation of Search Filters – RFC 4515. RFC Base: 2006. Disponível em: <http://www.rfc-
base.org/rfc-4515.html>. Acesso em: 18 mar. 2016.
RFC – Related Request for Comments. Lightweight Directory Access Protocol (LDAP): Uniform Resource
Locator – RFC 4516. RFC Base: 2006. Disponível em: <http://www.rfc-base.org/rfc-4516.html>. Acesso
em: 18 mar. 2016.
RFC – Related Request for Comments. Lightweight Directory Access Protocol (LDAP): Syntaxes and
Matching Rules – RFC 4517. RFC Base: 2006. Disponível em: <http://www.rfc-base.org/rfc-4517.html>.
Acesso em: 18 mar. 2016.
RFC – Related Request for Comments. Lightweight Directory Access Protocol (LDAP): Internationalized
String Preparation – RFC 4518. RFC Base: 2006. Disponível em: <http://www.rfc-base.org/rfc-
4518.html>. Acesso em: 18 mar. 2016.
RFC – Related Request for Comments. Lightweight Directory Access Protocol (LDAP): Schema for User
Applications – RFC 4519. RFC Base: 2006. Disponível em: <http://www.rfc-base.org/rfc-4519.html>.
Acesso em: 18 mar. 2016.
RICCI, B.; MENDONÇA, N. Squid – Solução Definitiva. Rio de Janeiro: Ciência Moderna, 2006.
GLOSSÁRIO
DHCP: Dynamic Host Configuration Protocol – protocolo para configuração dinâmica de dispositivos em
uma rede.
DNS: Domain Name System – protocolo para gerenciamento e resolução de nomes em redes privadas e
na internet.
FTP: File Transfer Protocol – protocolo para transferência de arquivos em redes privadas e na internet por
meio de um servidor dedicado.
GET: Método do protocolo HTTP utilizado para obter dados a partir de um recurso específico por meio de
pares de objeto-valor em uma requisição HTTP.
HTTP: Hypertext Transfer Protocol – protocolo para transferência de hipertexto utilizado em sistemas web.
IMAP: Internet Message Access Protocol – protocolo que permite a conexão de múltiplos clientes de e-mail
a uma mesma caixa de correio.
InnoDB: Mecanismo de armazenamento de dados utilizado pelo banco de dados MySQL.
IP: Internet Protocol – protocolo de camada de rede utilizado para identificação de um dispositivo na
rede.
Java: Linguagem de programação orientada à objetos.
LDAP: Lightweight Directory Access Protocol – protocolo de padrão aberto para manutenção de bases de
dados centralizadas ou distribuídas, utilizado para autenticar usuários e aplicações em uma rede IP.
Maildir: Forma de armazenamento de mensagens de e-mail em que cada mensagem é mantida em um
arquivo em separado e todas são indexadas por meio de um arquivo adicional.
Mbox: Forma de armazenamento de mensagens de e-mail que mantém todas as mensagens do usuário
em um único arquivo.
MIME: Multipurpose Internet Mail Extensions – é uma extensão de protocolo originalmente de e-mail, e
depois adotada em servidores web na transmissão de diferentes tipos de dados, tais como áudio, vídeo,
executáveis etc.
MTA: Media Transfer Agent – servidor de correio eletrônico responsável pelo armazenamento e
transmissão das mensagens do usuário.
MUA: Media User Agent – cliente de correio eletrônico responsável por interagir com o servidor enviando
e recebendo imagens.
NSS: Name Service Switch – conjunto de bibliotecas utilizadas para controle de segurança em múltiplas
plataformas, utilizada na autenticação de usuários localmente ou via serviços de diretório.
PAM: Pluggable Authentication Modules – módulos que provêm mecanismos de autenticação em
ambientes Linux.
PHP: Personal Home Page – linguagem de programação utilizada no desenvolvimento de páginas web
dinâmicas.
POP3: Protocolo de correio eletrônico no qual as mensagens são baixadas para o cliente e excluídas do
servidor.
POST: Método do protocolo HTTP para manipulação de requisições na qual os dados estão inseridos na
mensagem de solicitação.
RFC: Request for Comments – Documentos mantidos pelo IETF (Internet Enginnering Task Force) com
especificações de padrões da internet.
SMTP: Simple Mail Transfer Protocol – Protocolo para transferência de mensagens de e-mail pela internet.
SQL: Structured Query Language – Linguagem declarativa utilizada na manipulação de bancos de dados
relacionais.
TELNET: Protocolo utilizado em redes privadas e na internet para comunicação bidirecional entre dois
dispositivos.
TLS: Transport Layer Security – Protocolo de criptografia que provê privacidade e integridade do
conteúdo do conteúdo multimídia entre um servidor web e seu cliente.
URI: Uniform Resource Identifier – Sequência de caracteres que identificam um recurso na rede,
especificando localização, protocolo e outras informações para acesso.