Escolar Documentos
Profissional Documentos
Cultura Documentos
Administração de Sistemas Linux - Serviços para Internet
Administração de Sistemas Linux - Serviços para Internet
responsvel
pelo
O curso ensina a projetar, instalar, configurar e disponibilizar os principais servios para internet em uma rede
TCP/IP. Apresenta os conceitos associados a cada um dos
servios, e a instalao e configurao do KVM como base
para o ambiente de virtualizao. Aborda a autenticao
nos servios com LDAP, com apoio intensivo de atividades prticas.
Este livro inclui os roteiros das atividades prticas e o contedo dos slides apresentados em sala de aula, apoiando
profissionais na disseminao deste conhecimento em
suas organizaes ou localidades de origem.
Wagner Vieira Lo tem 25 anos de experincia na rea de TI, atuando como Analista de Suporte e em Computao de
Alto Desempenho, com foco em sistemas
operacionais Unix/Linux. Possui graduao em Matemtica pela Faculdade de
Humanidades Pedro II, com Ps-Graduao em Gesto da Inovao pelo LNCC/UCP. Atualmenteocupa
o cargo deCoordenador de Tecnologia da Informao do Laboratrio Nacional de Computao Cientfica e de Coordenador
Administrativo do Ponto de Presena da RNP no Rio de Janeiro.
Professor do Instituto Superior de Tecnologia da Informao de
Petrpolis, IST e da Escola Superior de Redes da RNP, nas reas
de Segurana da Informao e Sistemas Operacionais.
Administrao de
Sistemas Linux
Servios para
Internet
Eduardo Lobo
Wagner Vieira Lo
Bruno Alves Fagundes
Francisco Marcelo M. Lima
Ministrio da
Cultura
Ministrio da
Sade
Ministrio da
Educao
ISBN 978-85-63630-22-3
9 788563 630223
Ministrio da
Cincia, Tecnologia
e Inovao
responsvel
pelo
Ministrio da
Cultura
Ministrio da
Sade
Ministrio da
Educao
Ministrio da
Cincia, Tecnologia
e Inovao
Administrao de
Sistemas Linux
Servios para
Internet
Eduardo Lobo
Wagner Vieira Lo
Bruno Alves Fagundes
Francisco Marcelo M. Lima
Administrao de
Sistemas Linux
Servios para
Internet
Eduardo Lobo
Wagner Vieira Lo
Bruno Alves Fagundes
Francisco Marcelo M. Lima
Rio de Janeiro
Escola Superior de Redes
2013
Diretor Geral
Nelson Simes
Diretor de Servios e Solues
Jos Luiz Ribeiro Filho
Bibliografia: p. 237-239.
ISBN 978-85-63630-22-3
1. Linux (Sistema operacional de computador). 2. Servios de diretrio (tecnologia de
redes de computador). I. Lo, Wagner Vieira. II. Ttulo.
CDD 005.7
Sumrio
Escola Superior de Redes
A metodologia da ESRxiii
Sobre o curso xiv
A quem se destinaxiv
Convenes utilizadas neste livroxiv
Permisses de usoxv
Sobre os autoresxvi
iii
iv
3. DNS e NFS
Introduo43
Domain Name Service (DNS)44
Por que utilizar DNS?44
Definies46
Domnio46
Zonas de autoridade47
Exerccio de fixao 1 DNS authoritative answer48
Registro de recursos48
Mapeamento direto e reverso51
Cliente e servidor DNS52
Servidor DNS52
Tipos de servidores DNS53
Servidores raiz DNS55
Estrutura do DNS no Linux55
Arquivo de configurao named.conf56
Arquivos de mapas da rede58
Exemplo de arquivo de mapa de rede60
Arquivo resolv.conf60
Exerccio de fixao 2 Servidor de DNS Cache61
DNS com IPv661
DNSSEC63
Implementao do DNSSEC66
Exerccio de fixao 3 DNSSec67
Domnios virtuais67
Testando o servidor DNS68
4. Servidor LDAP
Introduo87
LDAP87
Sem servio de diretrio 88
Com servio de diretrio88
Funcionamento do LDAP89
Organizao dos dados91
Exerccio de fixao 1 Estrutura de diretrio LDAP91
Tipos de dados e unidade bsica de informao91
Referncia e autenticao entre vrios servidores93
vi
Replicao94
Objetos e atributos LDAP95
Formato LDIF95
Classes LDAP96
Instalao do servidor LDAP96
Download do pacote97
Desempacotando o software97
Configurao do software98
Construindo o servidor98
Configurao do servidor LDAP99
Executando o servidor LDAP103
Criao e manuteno de base de dados104
Criando uma base de dados on-line104
Criando base de dados off-line105
Informaes e caractersticas adicionais106
Roteiro de Atividades 4107
Atividade 4.1 Instalao do servidor OpenLDAP107
Atividade 4.2 Usando o Migration Tools108
Atividade 4.3 Configurao do cliente Linux para uso do LDAP109
Atividade 4.4 Criao e teste de base de dados para ser adicionada
ao servidor OpenLDAP111
Atividade 4.5 Testando o funcionamento do LDAP112
vii
6. Servidor web
Introduo139
Conceitos fundamentais139
Campos da URL140
Esquema de funcionamento142
Protocolo HTTP142
Tipos de pedidos143
viii
ix
Bibliografia 237
xi
xii
A metodologia da ESR
A filosofia pedaggica e a metodologia que orientam os cursos da ESR so baseadas na
aprendizagem como construo do conhecimento por meio da resoluo de problemas tpicos da realidade do profissional em formao. Os resultados obtidos nos cursos de natureza
terico-prtica so otimizados, pois o instrutor, auxiliado pelo material didtico, atua no
apenas como expositor de conceitos e informaes, mas principalmente como orientador do
aluno na execuo de atividades contextualizadas nas situaes do cotidiano profissional.
A aprendizagem entendida como a resposta do aluno ao desafio de situaes-problema
semelhantes s encontradas na prtica profissional, que so superadas por meio de anlise,
sntese, julgamento, pensamento crtico e construo de hipteses para a resoluo do problema, em abordagem orientada ao desenvolvimento de competncias.
Dessa forma, o instrutor tem participao ativa e dialgica como orientador do aluno para as
atividades em laboratrio. At mesmo a apresentao da teoria no incio da sesso de aprendizagem no considerada uma simples exposio de conceitos e informaes. O instrutor
busca incentivar a participao dos alunos continuamente.
xiii
Sobre o curso
O curso tem como objetivo ensinar a projetar, instalar, configurar e disponibilizar os principais
servios para internet em uma rede TCP/IP. Apresenta os conceitos associados a cada um dos
servios, alm da instalao e configurao do KVM como base para o ambiente de virtualizao, e autenticao nos servios com LDAP, com apoio intensivo de atividades prticas.
A quem se destina
Esse curso destinado formao de profissionais responsveis pela instalao, operao
e manuteno de plataforma computacional para conexo com a internet, gerentes de TI e
programadores que tenham os pr-requisitos necessrios.
Largura constante
Indica comandos e suas opes, variveis e atributos, contedo de arquivos e resultado da sada
de comandos. Comandos que sero digitados pelo usurio so grifados em negrito e possuem
o prefixo do ambiente em uso (no Linux normalmente # ou $, enquanto no Windows C:\).
xiv
Contedo de slide
Indica o contedo dos slides referentes ao curso apresentados em sala de aula.
Smbolo
Indica referncia complementar disponvel em site ou pgina na internet.
Smbolo
Indica um documento como referncia complementar.
Smbolo
Indica um vdeo como referncia complementar.
Smbolo
Indica um arquivo de adio como referncia complementar.
Smbolo
Indica um aviso ou precauo a ser considerada.
Smbolo
Indica questionamentos que estimulam a reflexo ou apresenta contedo de apoio ao
entendimento do tema em questo.
Smbolo
Indica notas e informaes complementares como dicas, sugestes de leitura adicional ou
mesmo uma observao.
Permisses de uso
Todos os direitos reservados RNP.
Agradecemos sempre citar esta fonte quando incluir parte deste livro em outra obra.
Exemplo de citao: LOBO, Eduardo Augusto Oliveira; LO, Wagner Vieira. Administrao de
Sistemas Linux: Servios para Internet. Rio de Janeiro: Escola Superior de Redes, RNP, 2013.
Comentrios e perguntas
Para enviar comentrios e perguntas sobre esta publicao:
Escola Superior de Redes RNP
Endereo: Av. Lauro Mller 116 sala 1103 Botafogo
Rio de Janeiro RJ 22290-906
E-mail: info@esr.rnp.br
xv
Sobre os autores
Eduardo Lobo Analista de Informtica no Ministrio Pblico do Trabalho (MPT) e Professor dos Cursos de TI da Universidade Catlica de Braslia. Engenheiro Mecnico graduado pela Universidade Federal de Uberlndia e Mestre em Cincia da Computao pela
Universidade Federal de Santa Catarina, Florianpolis, 2001. Atuou em grandes empresas
no perodo de 1997-2000, como Analista de TI para o governo brasileiro em 2001, e como
Coordenador dos Cursos de Ps-Graduao Lato Sensu em Redes de Computadores da
Universidade Catlica de 2003 a 2005, e de Tecnologia em Segurana da Informao (TSI)
de 2007 a 2009. Participou do Projeto de Pesquisa CESMIC/UCB de 2003 a 2008. Atualmente administra o datacenter e a rede de dados/voz do MPT. reas de interesse incluem:
redes de computadores, storage e sistemas baseados em software livre.
Wagner Vieira Lo tem 25 anos de experincia na rea de TI, atuando como Analista de
Suporte e em Computao de Alto Desempenho, com foco em sistemas operacionais Unix/
Linux. Possui graduao em Matemtica pela Faculdade de Humanidades Pedro II, com
Ps-Graduao em Gesto da Inovao pelo LNCC/UCP. Atualmenteocupa o cargo deCoordenador de Tecnologia da Informao do Laboratrio Nacional de Computao Cientfica e
de Coordenador Administrativo do Ponto de Presena da RNP no Rio de Janeiro. Professor
do Instituto Superior de Tecnologia da Informao de Petrpolis, IST e da Escola Superior
de Redes da RNP, nas reas de Segurana da Informao e Sistemas Operacionais.
Bruno Alves Fagundes tecnlogo em Tecnologia da Informao e da Computao pelo
Instituto Superior de Tecnologia (2007) e especialista em Segurana de Redes pela Universidade Estcio de S (2011). Tem experincia em administrao de servidores Linux, gerenciamento de usurio, implementao e gerncia de servios de rede, clusters, segurana de
redes, shell script, PHP, Perl. Atualmente colaborador do LNCC, onde trabalha na administrao dos servidores e clusters do Laboratrio de Bioinformtica (LABINFO), provendo
infraestrutura para a realizao de pesquisas e processamento massivo de dados.
Francisco Marcelo M. Lima certificado Project Management Professional (PMP) e
Modulo Certified Security Officer (MCSO), Mestre em Engenharia Eltrica pela Universidade de Braslia (2009), Mestre em Liderana pela Universidade de Santo Amaro (2007) e
ps-graduado em Segurana de Redes de Computadores pela Universidade Catlica de
Braslia (2003). Atualmente exerce as funes de Coordenador dos Cursos de Redes de
Computadores e Segurana da Informao do IESB, e Analista em TI do MPOG cedido para
a Controladoria-Geral da Unio/PR. Atua tambm como instrutor/revisor dos cursos de
segurana e redes na ESR e instrutor/revisor dos cursos de planejamento estratgico (PDTI)
e gesto de contratos de TI (GCTI) na ENAP. Possui mais de 15 anos de experincia na rea
de Cincia da Computao, com nfase em Segurana da Informao, Redes e Construo
de Software, tendo exercido funes como: Coordenador Geral de TI do INCRA (DAS 4);
Coordenador do Curso de Segurana da Informao da Faculdade Rogacionista; Coordenador do Curso de Processamento de Dados e Segurana da Informao da Faculdade AD1,
Analista em Segurana da empresa Mdulo Security Solutions.
Sergio Ricardo Alves de Souza possui mais de 35 anos de experincia na rea de Administrao e Suporte de Sistemas. Trabalhou em empresas como: Burroughs (UNISYS), ARSA
(Infraero), Cobra Computadores, LNCC e outras. Consultoria e treinamento em empresas
como: Fiocruz, Jardim Botnico, Museu Goeldi, Cefet-MG, IBM Brasil. Participou do desenvolvimento e implantao de cursos profissionalizantes em Informtica em Petrpolis FAETC. Participou do projeto de criao do Instituto Superior de Tecnologia em Cincia da
Computao de Petrpolis. Possui Notrio Saber em Informtica pelo LNCC.
xvi
1
Entender o que virtualizao e o funcionamento de mquinas virtuais, os principais
tipos de hipervisores e uma alternativa open source de virtualizao, o KVM.
conceitos
Introduo virtualizao
11 Surgiu nos mainframes da IBM e ficou um pouco esquecida com o crescimento dos
objetivos
Como as mquinas de arquitetura x86 no eram projetadas para oferecer servio de virtualizao eficiente e sempre que se propunham a isso, acabavam superdimensionando os servidores, o que remetia poca dos mainframes. Foi ento que a VMware, em 1999, surgiu
com o conceito de virtualizao mais eficiente para a plataforma x86 e comeou a mudar o
mercado. Posteriormente, em 2005, a AMD e a Intel melhoraram o suporte virtualizao
em seus processadores, criando as tecnologias AMD-V e Intel VT.
Mquinas virtuais
Uma mquina virtual pode ser definida como uma camada de abstrao entre a camada
Camada de Software
Camada de Abstrao
(Virtualizao)
Figura 1.1
Camada de
abstrao.
Camada de Hardware
Processo
do sistema B
Sistema Operacional B
Processo
Mquina virtual
do sistema A
Sistema Operacional A
Figura 1.2
Mquina virtual
de processo.
Hardware
Processo
do sistema C
Sistema Operacional C
Monitor de Mquina
Virtual (hipervisor)
Hardware
Virtualizao total
11 a tcnica que permite executar qualquer sistema sem a necessidade de alterao.
11 Nessa tcnica, todo o hardware da mquina simulado, assim como o conjunto de
instrues do processador.
Figura 1.3
Monitores de
Mquinas Virtuais.
mercado, o que torna muito mais simples a instalao e configurao dos sistemas guest.
Como podemos observar na Figura 1.4, o guest est rodando em um nvel superior ao nvel
esperado (Ring0). Isso porque o hipervisor fornece todo o ambiente para a mquina virtual
acreditar que est rodando diretamente no nvel mais privilegiado.
Aplicaes
de usurio
Anel 3
Execuo
direta das
solicitaes
de usurios
Anel 2
Anel 1
SO
convidado
Anel 0
VMM
Traduo
binria das
solicitaes
do SO
Figura 1.4
Virtualizao total.
Hardware do servidor
Paravirtualizao
11 A paravirtualizao apresenta uma Application Programming Interface (API) muito
Anel 3
Aplicaes
de usurio
Execuo
direta das
solicitaes
de usurios
Anel 2
Anel 1
Anel 0
SO convidado
paravirtualizado
Camada de virtualizao
Hardware do servidor
Hypercalls
(chamadas ao
hipervisor) para
a camada de
virtualizao repor
as instrues no
virtualizveis do SO
Figura 1.5
Paravirtualizao.
11 Gerenciamento Centralizado.
11 Facilidade de manuteno (clonagem e snapshot).
11 Melhor aproveitamento do espao fsico.
11 Melhor aproveitamento do hardware.
11 Reduz os ndices de emisso de CO2.
11 Aumento da disponibilidade (live migration).
11 Paradigma de um servidor por servio.
O principal apelo para aderir virtualizao a economia oferecida pela soluo: estima-se que
a utilizao dos servidores fique entre 2% e 15% do seu potencial mximo, mas existem outros
aspectos interessantes que podem pesar na hora de optar pela infraestrutura de virtualizao.
Existem alguns cuidados que devem ser tomados para evitar que a soluo de virtualizao
se torne um problema. Sero necessrias medidas que vo desde a redundncia dos equipamentos at a escolha do software ideal para gerenciar as mquinas virtuais.
Desvantagens:
Solues de virtualizao
Principais solues de virtualizao no mercado:
11 Hyper-V.
11 Xen.
11 KVM.
VMware ESX
Possui poderosa infraestrutura e oferece muitos recursos avanados para gerenciamento e
administrao de um ambiente virtual, como VMotion (migrao de mquinas virtuais), recursos
de alta disponibilidade, tolerncia a falhas, Storage Motion, entre outros. Mesmo sendo considerada uma soluo de custo elevado, o principal software usado por grandes empresas.
Hyper-V
a soluo oferecida pela Microsoft para sistemas de virtualizao. utilizado principalmente em empresas de pequeno e mdio porte e possui recursos como Live Migration,
11 VMware ESX.
Xen
Baseado em Linux, menos popular que o Hyper-V e o VMware ESX, mas uma soluo
muito estvel. Fornece interface de administrao por linha de comando (CLI), alm de uma
alternativa grfica (GUI): XenClient essa a melhor indicao para quem j utiliza produtos
da Citrix (empresa que atua na rea de virtualizao, colaborao e cloud).
KVM
O KVM aparece como alternativa completa para sistemas de virtualizao baseados em
Linux. Assim como o Xen, fornece administrao por linha de comando e por interface
grfica, dispe de recursos de migrao online e offline, possui o sistema de otimizao
do gerenciamento de memria Kernel Samepage Merging (KSM), utiliza o protocolo QEMU
Monitor Protocol (QMP); que um protocolo Java Script Object Notation (JSON-based),
open source e permite adicionar CPUs e dispositivos PCI em tempo real.
O KVM: origem
Cloud
Ou cloud computing
(computao em
nuvem). O armazenamento de dados
feito em servios que
podero ser acessados
de qualquer lugar do
mundo, a qualquer
hora, no havendo
necessidade de instalao de programas ou
de armazenar dados.
O Kernel-based Virtual Machine (KVM) foi inicialmente desenvolvido pela empresa Qumranet
entre 2006 e 2007 e teve seu crescimento mais acentuado, em 2008, quando a empresa foi
adquirida pela RedHat, que a partir de ento incorporou o KVM s suas distribuies.
O KVM uma soluo completa de virtualizao para Linux com arquitetura x86 de 64 bits, e
explora as tecnologias de virtualizao Intel VT e AMD-V dos processadores mais recentes.
distribudo como um componente integrado do kernel a partir da verso 2.6.20 e transforma o Linux em um hipervisor estvel e de alto desempenho.
Arquitetura
Ao carregar o mdulo do KVM no Linux, o kernel exporta um dispositivo chamado /dev/kvm,
que fornece ao sistema um novo modo de execuo, alm dos modos j existentes kernel e
user, chamado de guest mode (Figura 9.6). Todos os processos no espao de usurio acessam
de forma compartilhada os dispositivos do /dev, entretanto, o dispositivo /dev/kvm permite
que uma mquina virtual tenha seu espao de endereo independente do kernel ou de qual Administrao de Sistemas Linux: Servios para Internet
quer outra mquina virtual, permitindo o seu isolamento, ou seja, cada processo que acessa o
Normal
User
Process
Normal
User
Process
Guest
mode
Guest
mode
Qemu I/O
Qemu I/O
Linux Kernel
KVM
Driver
Figura 1.6
Arquitetura KVM.
11 User space: roda uma verso modificada do qemu, que gerencia E/S e funciona como um
espao virtual para os sistemas hspedes, alm de fornecer mecanismos de controle e
gerenciamento das mquinas virtuais;
As mquinas virtuais so tratadas como processos do Sistema Operacional, e por isso possvel usar os comandos do sistema para manipul-las. Junto com cada mquina, instanciado
um processo do qemu, levemente modificado, que intercepta qualquer solicitao de I/O feita
pela mquina e a emula. Alm das solicitaes de I/O, o qemu responsvel por emular os
dispositivos, como adaptadores grficos, dispositivos de rede, discos, entre outros.
11 i440FX PCI bridge e PIIX3 ISA bridge;
11 Cirrus CLGD 5446 PCI VGA;
11 Mouse e teclado PS/2;
11 Drive de disquete;
11 Adaptadores de rede PCI e ISA;
11 Portas seriais;
11 Placa de som Creative Sound Blaster 16;
11 PCI UHCI USB controller e Hub USB virtual.
A utilizao do KVM, junto com o qemu, permite que as mquinas virtuais rodem com baixo
overhead, tornando-o uma alternativa competitiva s opes do mercado.
Exerccio de nivelamento 1 e
Gerenciamento de memria do Linux
1. Memria fsica
2. Memria virtual
Relacione as colunas:
ser manipulados com comandos do Sistema Operacional. Utilizando o swap, possvel diminuir a quantidade de memria real necessria para os guests.
7
Swapping
O host escolhe algumas pginas de memria do guest e envia para o disco. Se o guest
necessitar daquela informao, o host trs de volta as pginas para a memria principal.
o mtodo mais confivel do ponto de vista do host, entretanto, para o guest pode no
ser a melhor escolha, porque o host no tem controle sobre os processos que esto em
execuo dentro do guest.
Balo de memria
Mais eficiente do que o swapping do ponto de vista do guest, o balo de memria funciona de
l
Quando o total de
memria usada pelos
guests maior do que
a memria fsica
disponvel, temos um
overcommit. Existem
alguns mecanismos
especficos para tratar
o overcommit em
sistemas de virtualizao.
forma cooperada: o guest se comunica com o host e informa quais pginas de memria podem
ser liberadas. Pelo fato de a escolha ser feita pelo guest, no possui tanta confiabilidade.
possvel obter informaes sobre esse mecanismo atravs do console do qemu. Exemplo:
Live migration
Consistem em mover um guest de um host para outro. Dessa forma, libera a memria que
estava sendo utilizada.
O KVM usa todas as tcnicas para conseguir os melhores resultados no gerenciamento de
memria. Preferencialmente so utilizados os mtodos de balo de memria e KSM, em
seguida o live migration e, em ltimo caso, o swap.
O KVM est em constante aperfeioamento e desenvolvimento. A lista dos Sistemas Operacionais convidados suportados est disponvel na web.
Pr-requisitos do sistema
Conforme mencionado anteriormente, para que o KVM funcione, necessrio que voc
esteja utilizando um processador com suporte tecnologia de virtualizao AMD-V ou Intel
VT, verso do kernel igual ou superior a 2.6.20 e arquitetura de 64 bits.
w
Acesse a lista atualizada em
http://linux-kvm.org
Para verificar se o seu sistema tem suporte ao KVM, realize os seguintes passos:
1. Verificar compatibilidade do processador:
# uname a
Linux debian 2.6.32-5-amd64 #1 SMP Sun May 6 04:00:17 UTC 2012
x86_64 GNU/Linux
Exerccio de fixao 1 e
Pr-requisitos do hardware
Verifique se o Sistema Operacional tem suporte para as instrues de virtualizao dos
processadores AMD e Intel.
Verifique a verso do kernel e a arquitetura.
Instalao
11 Debian/Ubuntu:
Criando imagens
Conforme j mencionamos, o KVM utiliza o qemu para realizar as tarefas de emulao da
mquina virtual e criao das imagens dos discos. O comando utilizado para criar imagens
de discos o qemu-img, que est disponvel no pacote qemu-kvm (para Debian).
Um recurso muito interessante do qemu-img que, ao criarmos um arquivo de 10Gb, o
comando cria um arquivo vazio, ou seja, quando executamos o comando para criar um
arquivo de 10Gb, na verdade criado um arquivo de aproximadamente 140Kb, que vai
aumentando de tamanho conforme vamos gravando as informaes dentro dele. Isso se
torna um recurso muito interessante quando no dispomos de muito espao em disco no
momento em que estamos criando as mquinas. possvel criar um disco que, no futuro,
Exerccio de fixao 2 e
Instalao do KVM
Tambm possvel criar um arquivo de disco com o comando dd. No exemplo a seguir criaremos um arquivo com 10Gb.
# manqemu-img
Exerccio de fixao 3 e
Criando mquina virtual Linux
10
para o curso.
3. Inicie a instalao do Sistema Operacional na mquina virtual.
Utilizao
possvel criar e configurar mquinas virtuais somente pela linha de comando. No KVM
possvel modificar as configuraes das mquinas apenas trocando alguns atributos. O KVM
nos permite determinar a quantidade de memria, modelo das CPUs, drives de disquete,
discos rgidos, unidade de CD-ROM, USB, unidades de disco SD, entre outros.
Os parmetros bsicos para utilizar o KVM so:
11 -m megas: determina a quantidade de memria que ser utilizada pela mquina virtual.
Por padro, o valor expresso em Megabytes, mas possvel utilizar o sufixo G para
informar a quantidade em Gigabytes. Se esse parmetro for omitido, ser reservado
128 MB para a mquina virtual;
11 -hd[a,b,c,d] arquivo: especifica qual ser o arquivo ou dispositivo que ser carregado como
unidade de disco da mquina virtual. possvel informar at quatro unidades de disco.
11 -cdrom arquivo: especifica qual ser o arquivo ou dispositivo que ser montado como
unidade de CD-ROM na mquina virtual. No permitido utilizar -hdc e -cdrom ao
mesmo tempo.
11 -drive option[,options]: define um novo drive, similar s opes -hd[a,b,c,d] e cdrom.
Principais opes do comando:
22 file=filename: define o arquivo de imagem que ser utilizado.
22 if=interface: especifica o tipo de interface do disco: ide, scsi, sd, floppy, virtio etc.
22 bus=bus,int=int: especifica onde o dispositivo est conectado no host.
22 snapshot=on|off: ativa ou desativa o snapshot para a imagem.
11 -boot [order=drives][,onde=drives][,menu=on|off]: informa a ordem do boot. A ordem
padro para sistemas de arquitetura x86 : a, b (disquetes 1 e 2), c (primeira unidade de
disco), d (primeiro CD-ROM) e n (boot pela interface de rede).
11 -g WxH[xDEPTH]: modifica a resoluo padro que a mquina virtual iniciar. O padro
800x600x15.
11 -usb: ativa o suporte para dispositivos USB.
11 -devicedriver[,option[,...]]: adiciona um dispositivo na mquina virtual. As opes
variam de acordo com o drive informado. Para listar os tipos de devices drives suportados pelo KVM, execute o comando # kvm -device ?
Teclas de atalho
11 [Ctrl] + [Alt]: libera o cursor do mouse e o teclado.
11 [Ctrl] + [Alt] + [u]: retorna para a resoluo padro.
11 [Ctrl] +[Alt] + [f]: modo fullscreen.
11 [Ctrl] + [Alt] + [1]: mostra a sada de vdeo da mquina virtual.
11 [Ctrl] + [Alt] + [2]: muda para o console de comando do KVM, o monitor.
11 [Ctrl] + [Alt] + [3]: mostra a sada da porta serial.
A relao completa das opes do comando est no manual do KVM (man kvm).
11
# lsusb
[...]
Bus 002 Device 006: ID 0930:6544 Toshiba Corp. Kingston
DataTraveler2.0 ...
[...]
Agora usamos o parmetro -usb para informar onde est o dispositivo.
escrever no dispositivo USB. No exemplo a seguir optamos por dar permisso para outros
12
# vi vmWindows.sh
#!/bin/bash
kvm cdrom /dev/cdrom m 512 hda \ /home/aluno/maquinas_virtuais/
windows.img -hdb \ /home/aluno/maquinas_virtuais/disco2.img -boot c
Interfaces de rede
O KVM cria uma rede virtual dentro do processo que contm a mquina virtual. Essa rede
composta por um servidor DHCP, um servidor DNS e um gateway. Por padro, a interface
eth0 vai funcionar atrs de um NAT, e o processo do KVM vai tunelar todo o trfego de rede
em espao de usurio. uma soluo muito prtica e funciona muito bem para solues
simples, entretanto, o desempenho fica limitado. Para solues mais complexas, onde queremos permitir o acesso externo a uma mquina virtual, necessrio mapear uma interface
TAP no host com uma interface no KVM.
A configurao de rede no KVM e feita pelo parmetro -net, as principais:
11 -net user[,option]: o modo default do KVM, no precisa de privilgios de administrador e configura a interface em NAT para acesso a internet. Possui vrias opes de
parmetro, onde possvel especificar o endereo MAC da interface, servidor de DNS,
servidor Wins, servidor DHCP, entre outros;
11 -net nic[,options]: cria uma nova interface de rede e conecta na VLAN n (por padro n=0).
possvel definir qual o modelo da interface (model=), endereo MAC, endereo IP, entre
outros. Para listar os modelos de interface disponveis, execute o comando
# kvm -netnic,model=?
11 -net tap[,options]: esse modo permite que o qemu crie uma bridge ligando a interface da
mquina virtual interface tap do host. Dessa forma, a mquina virtual ser acessvel
pela rede externa.
11 -net none: desativa as interfaces de rede na mquina virtual. Somente a interface de
loopback ativada.
Quando omitimos o parmetro -net, o KVM utiliza o modo user como padro.
Antes de especificar qual ser o driver utilizado pela sua interface de rede virtual, recomendado verificar quais os dispositivos disponveis. O comando # kvm -netnic,model=? listar
os drivers de rede suportados pelo KVM.
Ao iniciarmos a mquina virtual com a opo hostfwd=tcp::5555-:22, criamos um redirecionamento da porta TCP 5555 do host para a porta 22 do guest. Com isso, conseguimos acessar
o guest com o comando ssh.
No host execute:
# ssh p 5555 aluno@localhost
Redes virtuais
11 Quando uma mquina virtual iniciada no KVM, ela fica isolada, ou seja, sem acesso
14
tap0
eth0
VM1
Bridge
192.168.0.1
tap1
eth0
tap2
eth0
VM2
VM3
Figura 1.7
Host configurado
com uma bridge
e trs mquinas
virtuais.
# brctladdbr br0
2. Configurando o endereo IP:
$INTERNET_NIC = eth1
A outra forma de permitir que uma mquina virtual acesse a rede do host adicionar uma
interface fsica do host na bridge que corresponde rede das mquinas. Dessa forma, a
interface do host adicionada encaminha os pacotes originados pelas mquinas virtuais para
a rede do host.
$VM_NETWORK = 192.168.0.0/24
15
O opo script do parmetro net permite especificar o caminho do script que ser executado na inicializao da mquina virtual.
Exemplo do script /etc/kvm/kvm-ifup modificado:
#!/bin/sh
set -x
switch=br0
if [ -n $1 ];then
/sbin/ip link set $1 up
sleep 0.5s
/usr/sbin/brctladdif $switch $1
exit 0
else
echo Error: no interface specified
exit 1
fi
Iniciando a mquina virtual com um script diferente do /etc/kvm/kvm-ifup:
Snapshots
O termo snapshot teve origem no universo da fotografia, onde era utilizado para designar
fotos instantneas. Atualmente, um termo muito usando em computao para designar
uma cpia de um sistema, filesystem, memria, banco de dados, entre outros em um determinado momento.
Diferente de um backup convencional, onde todos os dados so copiados em um intervalo
Administrao de Sistemas Linux: Servios para Internet
longo de tempo, um snapshot cria uma cpia do estado atual em alguns segundos. Isso
16
O KVM permite a criao de snapshots dos discos das mquinas virtuais, entretanto, apenas
o formato qcow2 tem suporte a essa tecnologia.
Gerenciando snapshots
11 Criando snapshots com o KVM:
windows.img
17
18
Roteiro de Atividades 1
Atividade 1.1 Gerenciando snapshots
Nesta atividade, vamos explorar as funcionalidades dos snapshots. De acordo com o material apresentado, desenvolva as seguintes atividades:
1. Aps a instalao, desligue a mquina virtual Linux e tire um snapshot com o nome instalacao
dos processos.
3. Desligue a mquina e restaure o snapshot instalacao.
4. Reinicie a mquina virtual e verifique o que aconteceu com o arquivo
/home/aluno/processos.txt.
Voc pode usar a linha de comando abaixo para gerar um endereo MAC aleatrio:
4. Crie uma bridge com o nome de lab e a configure com o endereo IP 192.168.X.1.
5. Adicione as interfaces tap, referentes mquina virtual, bridge lab.
6. Adicione uma rota para que todo o trfego da rede 192.168.X.0/24 passe pela bridge lab.
7. Teste a comunicao entre o host e a mquina virtual.
cao entre o host e a mquina virtual com o comando ping. Obteve sucesso? Por qu?
19
20
2
Aprender o gerenciamento de mquinas virtuais, instalao de dispositivos, filtragem
de pacotes e configurao de interfaces.
conceitos
Virtualizao no Linux
11 Atualmente existem diversos softwares que permitem a criao de mquinas virtuais.
objetivos
Administrao de mquinas
virtuais com KVM
11 Virt-Manager.
21
QEMU-KVM
Com esse pacote possvel executar a virtualizao no Linux utilizando somente a linha
# modprobe kvm
Quando o mdulo KVM instalado, deve-se verificar se no h erro no dmesg, uma vez que
o mdulo pode ser carregado e, mesmo assim, apresentar algum problema.
O prximo passo criar a imagem de disco. Para tanto, necessrio utilizar a ferramenta
qemu-img e passar s opes desejadas, como, por exemplo, o tamanho da imagem, o
formato e o nome:
22
Eucalyptus
Um dos pacotes de software livre mais populares para a construo de infraestruturas
de computao em nuvem o Eucalyptus (sigla que significa Elastic Utility Computing
Architecture for Linking Your Programs to Useful Systems). O que faz dele nico o fato de
face de computao em nuvem da Amazon). Alm disso, o Eucalyptus inclui o Walrus, que
um aplicativo de armazenamento em nuvem compatvel com o Amazon Simple Storage
Service (Amazon S3 a interface de armazenamento em nuvem da Amazon).
O Eucalyptus suporta KVM/Linux e Xen para hypervisors, e inclui a distribuio de cluster
Rocks para o gerenciamento de cluster.
OpenNebula
O OpenNebula outro aplicativo de software livre interessante (sob licena da Apache),
desenvolvido na Universidad Complutense de Madrid. Alm de dar suporte construo
em nuvem privada, o OpenNebula apoia a ideia de nuvens hbridas. Uma nuvem hbrida
permite combinar uma infraestrutura em nuvem privada com uma infraestrutura em nuvem
pblica (como a da Amazon), para permitir graus ainda maiores de escalada. O OpenNebula
suporta Xen, KVM/Linux e VMware, e amparado por elementos como libvirt, para o gerenciamento e introspeco.
sua interface ser compatvel com a Amazon Elastic Compute Cloud (Amazon EC2 a inter-
23
Nimbus
O Nimbus outra soluo IaaS com foco na computao cientfica. Com o Nimbus, podemos
arrendar recursos remotos (como os fornecidos pela Amazon EC2) e gerenci-los localmente
(configurar, implementar VMs, monitorar etc.). O Nimbus tem origem no projeto Workspace
Service (parte do Globus.org). Por depender da Amazon EC2, o Nimbus suporta Xen e KVM/Linux.
oVirt
O pacote oVirt uma ferramenta de gerenciamento de VM aberta que aumenta de um
pequeno nmero de VMs para milhares de VMs sendo executadas em centenas de hosts.
O pacote oVirt, desenvolvido pela Red Hat, um console de gerenciamento baseado na web
que, alm do gerenciamento tradicional, suporta a automao do gerenciamento em cluster
e do balanceamento de carga. A ferramenta oVirt foi composta na linguagem Python.
OpenQRM
caracterizada como uma plataforma de gerenciamento de datacenter. A OpenQRM fornece
console nico para gerenciar um datacenter virtualizado completo que plugvel, de
maneira arquitetnica, para permitir a integrao de ferramentas de terceiros. A OpenQRM
integra suporte para alta disponibilidade (atravs de redundncia) e suporta uma variedade
de hypervisors, incluindo KVM/Linux, Xen, VMware e Linux VServer.
Virt-Manager
O sistema de virtualizao do KVM conta com um sistema de gerenciamento chamado
Virt-Manager, que prov ambiente grfico atravs do qual se pode criar, configurar e alterar
24
l
O ambiente grfico do
Virt-Manager pode ser
iniciado por meio do
comando virt-manager,
utilizando as credenciais do administrador
do sistema.
Exerccio de fixao 1 e
Instalando o pacote Virt-Manager
Instale e inicie o pacote Virt-Manager pelo repositrio do Debian.
Com a conexo realizada, a criao da mquina virtual seguir alguns passos bsicos para
definio de informaes como, por exemplo, o nome da mquina virtual, a forma de
instalao, tipo de Sistema Operacional e sua verso, quantidade de memria mxima e
espao mximo de hard disk que a mquina virtual utilizar. Ao final do processo de criao,
o sistema vai apresentar uma tela com as informaes gerais da mquina virtual.
Figura 2.1
Conexo do
gerenciador de
VMs.
25
Figura 2.2
Configurao da
mquina virtual.
VNC
instalar um servidor VNC na mquina virtual, iniciar o daemon vncd e ento conectar-se a
Virtual Network
Computing um
protocolo construdo
para possibilitar
interfaces grficas
remotas. Atravs desse
protocolo, um usurio
pode conectar-se a um
computador a distncia
e usar as suas funcionalidades visuais como se
estivesse sentado em
frente ao computador.
26
Aps criar a interface de rede virtual, adicione mquina virtual usando a opo I. Depois
clique em Show Virtual Machine Details/Add Hardware, e ento selecione Network,
escolha o Host Device previamente criado, e finalmente clique em Avanar e Concluir.
A nova interface de rede aparecer na lista de dispositivos da mquina virtual e poder ser
utilizada assim que a mquina virtual for inicializada.
Exerccio de fixao 2 e
Criando uma rede virtual
11 Crie uma rede virtual com o nome internet, ative o DHCP, configure a faixa dos IPs que
sero distribudos para 10.0.0.128 at 10.0.0.254, e escolha NAT como tipo de conexo.
11 Crie uma rede virtual chamada rede-local. No ative o DHCP: configure o endereo da
rede para 192.168.1.0/24 e marque que ser uma rede virtual isolada.
11 Crie uma rede virtual chamada windows. No ative o DHCP: configure o endereo da
rede para 192.168.2.0/24 e marque que ser uma rede virtual isolada.
Nosso objetivo montar uma estrutura semelhante da imagem a seguir:
eth0
eth0
Servidor Linux
virtual
eth2
eth1
Rede local
Estao Linux
virtual
eth1
estao-windows
virtual
Rede local 2
Figura 2.3
Estrutura da rede
virtual.
Exerccio de fixao 3 e
Criando uma mquina virtual
Crie uma mquina virtual utilizando a imagem do Windows fornecida pelo instrutor e inclua
a mquina na rede virtual windows.
Exerccio de fixao 4 e
Importando uma mquina virtual
Crie uma nova mquina virtual chamada servidor e importe a imagem do disco virtual
criada no primeiro Captulo. Use a opo Import existing disk image. Inclua essa mquina
virtual na redes rede-local e internet.
192.168.1.0/24 - Isolada
27
libvirt
A libvirt se encarrega de criar as interfaces virtuais e associ-las bridge que desejarmos.
Basta informarmos, na configurao das mquinas virtuais, o nome do dispositivo de bridge:
Sempre que possvel, utilizar tambm o virtio uma boa opo, pois esse driver reduz o
overhead decorrente da virtualizao de I/O. Trata-se de um driver paravirtualizado.
Filtragem de pacotes
possvel filtrar pacotes usando o netfilter/iptables na sua bridge. Nela, os pacotes des-
tinados mquina fsica usaro a cadeia INPUT, e os que forem destinados s mquinas
virtuais passaro pela cadeia FORWARD.
Como o filtro para a mquina local ser aplicado interface do bridge, necessrio utilizar
um mdulo do netfilter especfico para esse caso: o mdulo physdev (de physical device,
dispositivo fsico).
Dois exemplos de regras para negar conexes porta TCP 23 na interface br0, recebidas
pela interface fsica eth1 ou saindo da porta UDP 9876 pela interface fsica eth0:
28
Placa de vdeo
Para adicionar uma placa grfica Cirrus ao sistema virtual utilizando interface texto, basta
executar o comando:
Figura 2.4
Interface grfica de
configurao da MV
(placa de vdeo).
29
11 Detalhes do Processador.
11 Alocao de Memria.
11 Opes de inicializao do sistema.
11 Detalhes do Armazenamento.
11 Dispositivo de udio.
Gerenciador de Performance
Na opo Performance (desempenho), sero apresentados quatro grficos sobre utilizao
do sistema que permitem monitorar a utilizao dos recursos do hardware:
11 CPU;
11 Memria;
11 Disk I/O;
11 Network I/O.
Detalhes do Processador
Nesse item sero apresentados detalhes sobre o processador da mquina virtual, com o
nmero de processadores alocados e o mximo que pode ser alocado pela mquina virtual.
Alocao de Memria
Nesse item apresentada a alocao de memria da mquina virtual, contendo informaes sobre a alocao atual. Nesse mdulo possvel alterar a quantidade de memria
alocada, em MB, pela mquina virtual.
30
Figura 2.5
Interface grfica de
configurao da MV
(overview).
Detalhes do armazenamento
Nesse item ser detalhado o disco virtual alocado na mquina virtual, detalhando o Dispositivo de Destino, que se refere s informaes do dispositivo na mquina virtual, e o Caminho
de Origem, referente s informaes do dispositivo na mquina hospedeira.
Dispositivo de udio
Apresenta os detalhes do dispositivo de udio configurado na mquina virtual.
Linux
Windows
Others
Guest
Guest
Guests
QEMU
Image Formats
Backend
Figura 2.6
Estrutura do QEMU.
ATA
SCSI
Qcow2
VMDK / etc.
Virtio
Raw Posix
Host Kernel
Exemplos de comandos para adicionar um novo storage mquina virtual, por meio de linha
de comando:
Transports
31
hardware sem tempo ocioso da mquina virtualizada e o apoio dinmico contra falhas do
32
Figura 2.7
Interface grfica
para adicionar novo
storage.
esta no poder ser migrada para outro servidor que no disponha dessa tecnologia.
33
34
Roteiro de Atividades 2
Atividade 2.1 Live Migration
Live Migration um recurso que permite que uma mquina virtual migre de um host para
outro sem interromper o seu funcionamento. Para realizar a migrao, so necessrias
algumas caractersticas no ambiente virtual, tais como:
11 Ter no mnimo dois hosts;
11 Os hosts devem ter o mesmo storage compartilhado;
11 Os hosts devem possuir a mesma configurao de rede virtual.
Esta atividade dever ser realizada em dupla. Chamaremos as mquinas dos alunos de
host1 e host2. O host1 dever estar configurado com o endereo IP 10.0.X.1/24 e o host2,
com o endereo 10.0.X.2/24.
Montar o filesystem
Criar o ponto de montagem:
# mkdir /storagekvm
Montar o filesystem do servidor:
35
36
disco virtual.
Na interface do Virt-Manager, clique sobre o nome do host (exemplo: localhost) com o
boto direito e escolha a opo Novo.
2. Determine o nome da mquina virtual como migration, marque a opo Import existing
4. Ser exibida a janela de Storage Pools do Virt-Manager. Clique sobre o storage rnp e em
37
5. Aps selecionar o arquivo que ser o disco da mquina virtual, clique em Avanar.
38
e selecione:
11 Hypervisor: QEMU/KVM;
11 Connection: Tnel remoto por SSH.
Como no estamos utilizando um servidor de DNS, ser necessrio informar o nome dos
10.0.X.1
host1
10.0.X.2
host2
39
3. Em New host, selecione o host de destino (host2) e clique sobre o boto Migrate.
40
6. Ao final da migrao, a mquina virtual aparecer ligada no host2. Acesse o console dessa
41
Utilizando esse recurso, crie um clone da mquina virtual servidor, chamado cliente-linux.
42
3
Conhecer os sistemas Domain Name Service (DNS) e Network File System (NFS).
conceitos
Introduo
O estudo deste captulo se inicia com os conceitos do servio de resoluo de nomes (DNS),
abordando sua utilizao e execuo de maneira prtica e intuitiva, passando pela instalao, configurao e testes. Na segunda parte sero apresentados os conceitos e utilizao
do Network File System (NFS).
Na primeira parte so apresentados os conceitos e definies comuns ao servio DNS, tais como:
11 Espao de Nomes (DNS);
11 Domnio;
11 Zonas de autoridade;
11 Registro de recursos;
11 Mapeamento direto e reverso.
Em seguida, sero vistos os tipos e montagens tpicas de um servio DNS, que envolvem:
11 Servidor primrio;
11 Servidor(es) Secundrio(s);
11 Servidor Cache;
11 Servidores raiz da internet.
Na etapa seguinte so abordados os aspectos do DNS associados sua utilizao no Linux,
desde instalao e configurao, at formas de teste e diagnstico.
Por ltimo vm as atividades prticas:
11 Instalao do servidor DNS;
11 Configurao do servidor DNS Primrio;
11 Configurao do servidor DNS Secundrio.
objetivos
DNS e NFS
43
44
l
Um motivo adicional
para o uso de um
sistema de endereamento baseado em
nomes torn-lo
independente do
endereo IP em uso em
determinado momento.
arpa
com
gov
edu
mil
net
org
br
...
rnp
esr
Figura 3.1
Espao de nomes
do DNS.
Domnios genricos
Domnios geogrcos
nios de nveis inferiores. Nenhum servidor, nem mesmo os servidores raiz, tem informaes
45
Definies
11 Domnio.
11 Zonas de autoridade.
11 Registro de recursos.
11 Mapeamento:
22 Direto.
22 Reverso.
A segurana da informao um ponto crtico para a sobrevivncia das organizaes na
era da informao. Vrios so os problemas envolvidos, no entanto a sociedade depende
das informaes armazenadas nos sistemas computacionais para tomadas de deciso em
negcios, uso de rgos do governo, entre outros contextos.
A informao pode existir em diversos formatos: impressa, armazenada eletronicamente,
transmitida pelo correio convencional ou eletrnico etc. Seja qual for o formato, meio de
armazenamento ou transmisso, recomenda-se que ela seja protegida adequadamente.
Sendo assim, de responsabilidade da segurana da informao proteg-la de vrios tipos
de ameaas, a fim de garantir a continuidade do negcio, minimizar riscos e maximizar o
retorno sobre os investimentos. Felizmente, crescente a conscientizao das organizaes
frente ao valor e as vulnerabilidades de seus ativos, no que diz respeito segurana.
Hoje, a segurana da informao determinante para assegurar competitividade, lucratividade, atendimento aos requisitos legais e a boa imagem da organizao junto ao mercado
e s organizaes, tanto no setor pblico quanto no setor privado. Em tais contextos, a
segurana da informao um componente que viabiliza negcios como o e-Gov (governo
eletrnico) ou e-commerce (comrcio eletrnico).
Domnio
11 Subrvore do espao de nomes DNS.
22 Nome da mquina.
46
22 Nome do domnio.
22 Domnio de topo.
22 Exemplo:
33 www.rnp.br
33 www: mquina (ou host).
33 rnp: domnio.
33 br: domnio de topo (top level domain).
Se precisssemos lembrar todos os endereos IP das pginas da web que visitamos diariamente, ficaramos loucos. Seres humanos no so bons em lembrar sries de nmeros. No
entanto, somos bons na lembrana de palavras, e por isso usamos os nomes de domnios.
Voc possui, provavelmente, vrios nomes de domnios guardados em sua cabea. Exemplos: rnp.br, receita.fazenda.gov.br, g1.com.br, mit.edu, google.com etc.
As partes com, edu e br desses servidores so chamadas dedomnios principaisoudomnios de primeiro nvel. Existem vrios domnios principais, incluindo com, edu,
gov, mil, net e org, alm das siglas de duas letras de cada pas, para identificar a origem,
em ingls. No custa lembrar que os domnios registrados nos EUA no possuem a identificao (us).Em cada domnio principal existe uma enorme lista dedomnios secundrios.
Novos tipos de domnio foram criados para oferecer melhor identificao. Exemplos mais
conhecidos so: professor prof.br, pessoais nom.br, rede de televiso tv.br etc.
Um domnio uma subrvore do espao de nomes DNS. Um domnio completo, tambm
denominado de Fully Qualified Domain Name (FQDN), consiste basicamente em um nome
de mquina, um nome de domnio e um domnio de topo. O endereo www.rnp.br um
exemplo de FQDN, onde:
11 www: nome da mquina (ou host);
11 rnp: nome do domnio;
11 br: domnio de topo.
Cada subrvore considerada parte de um domnio. Nesse caso, rnp faz parte do
domnio br. Outra situao referente a subdomnios dentro da prpria rede. Considere o
endereo www.df.rnp.br, no qual df uma subrvore de rnp e faz parte desse domnio.
A seguir, alguns exemplos.
Domnio rnp:
11 www.rnp.br: mquina www no domnio rnp.br.
11 mail.rnp.br: mquina mail no domnio rnp.br.
Domnio df.rnp.br:
11 www.df.rnp.br: mquina www no domnio df.rnp.br.
11 mail.df.rnp.br: mquina mail no domnio df.rnp.br.
Zonas de autoridade
11 Tambm denominadas Start of Authority (SOA).
47
11 Tempo de expire: informa o tempo, em segundos, aps o qual o servidor no mais responde por informaes daquela zona;
11 Tempo minimum: informa o Time To Live (TTL) default caso o domnio no especifique
um TTL;
11 Tempo de vida, Time To Live (TTL): valor passado pelo servidor de nomes indicando, para a
mquina que originou a pergunta, o tempo que a informao pode ser mantida em cache.
Exerccio de fixao 1 e
DNS authoritative answer
Qual das alternativas abaixo representa uma resposta non-authoritative answer quando
realizamos uma consulta a um servidor de DNS?
(1) Indica que o tempo de vida (TTL) expirou.
(2) Representa uma resposta originada do cache local.
(3) Indica um erro no registro SOA.
(4) Retorna a informao do prximo servidor DNS.
(5) Indica que o cache do servidor de DNS est envenenado (DNS Poisoning).
Registro de recursos
11 Todos os domnios podem ter um conjunto de registro de recursos associado.
11 Dados.
49
<nome><TTL><classe><tipo><dados>
Exemplo:
Descrio
Valor
SOA
Incio de autoridade
PTR
MX
Domnio e prioridade
NS
Servidor de nomes
CNAME
Nome no domnio
HINFO
TXT
Informaes textuais
Tabela 3.1
Tabela de tipos de
registros.
DNS
Qual o endereo
Servidor
de mail.rnp.br?
DNS raiz
3
1
DNS
DNS
Servidor
Resposta:
Servidor
200.130.38.66
DNS local
DNS br
6
DNS
Figura 3.2
Mapeamento
direto.
Servidor
DNS rnp
51
Qual o nome da
mquina com IP
200.130.77.75?
DNS
Servidor
DNS
3
4
6
Resposta:
Servidor
www.rnp.br
DNS local
DNS raiz
Servidor
Resp.
Figura 3.3
Mapeamento
reverso.
Classe C
200.130.77
11 Named (servidor de nomes): processo responsvel por responder s perguntas, fornecendo as respostas apropriadas.
A implementao mais comumente encontrada do DNS, tanto para o resolver quanto
para o servidor de nomes, chamada Berkeley Internet Name Domain Server (BIND) para
ambientes Unix.
O resolver no existe como um processo distinto executado no computador. Ele , na realidade, uma biblioteca de rotinas de software (chamadas cdigo do resolver) que ligada
(link-editada) a qualquer aplicao que deseja traduzir endereos. Essa biblioteca sabe como
Administrao de Sistemas Linux: Servios para Internet
52
ponto de vista de uma aplicao, o acesso ao DNS se d pelo uso de um mdulo de software
chamado resolver, que faz parte da prpria aplicao, isto , ele no faz parte do ncleo do
Sistema Operacional (j os protocolos TCP/IP so ligados ao ncleo). Os protocolos TCP/IP no
ncleo no conhecem nada a respeito do DNS. Uma aplicao (ou um servio no transparente TCP/IP) precisa traduzir o endereo simblico de seu computador hospedeiro para um
endereo IP antes de poder iniciar uma conexo de transporte (TCP ou UDP), e o resolver
que faz essa traduo. O resolver se comunica como os servidores de nomes, geralmente,
por meio de conexes UDP. Para efetuar a traduo, o resolver contata um ou mais servidores de nomes na rede, conforme indicado no arquivo /etc/resolv.conf.
Servidor DNS
11 Quando um resolvedor efetua uma consulta, esta enviada a um servidor de nomes local.
11 Se o domnio consultado estiver sob a jurisdio do servidor de nomes, este retornar os dados oficiais.
Com o BIND, cada estao usa o cdigo do resolver, porm nem todas as estaes executam
o processo servidor de nomes. Uma estao que no executa um processo servidor de
nomes localmente e depende de outras estaes para conseguir as respostas para seus
servios de nomes chamada sistema resolvedor (resolver-only system). As configuraes
somente resolvedoras so comuns apenas em estaes sem disco (diskless). A grande
maioria das estaes executa localmente um processo servidor de nomes.
53
54
Uma boa prtica, em redes de grande porte, a utilizao de um servidor primrio apoiado por
um ou dois servidores secundrios para toda a rede, colocando servidores de cache em determinadas sub-redes para aumento de desempenho e confiabilidade, conforme mencionado.
Servidor DNS
DNS
primrio
Transferncia
Transferncia
de zonas
de zonas
Servidor DNS
Servidor DNS
DNS
secundrio
DNS
secundrio
Consultas
Consultas
Consultas
Figura 3.4
Exemplo
esquemtico de
servidores DNS em
uma rede.
Estaes de usurio
11 Executvel.
11 Arquivo de configurao named.conf.
11 Arquivo de mapas da rede (zonas).
11 Arquivo para localizao do servidor DNS (resolv.conf ).
Cliente:
11 Arquivo para localizao do servidor DNS (resolv.conf ).
Nos Sistemas Operacionais Linux, a estrutura existente funciona com servidores e clientes.
Nos servidores ficam todos os arquivos que compem o banco de dados DNS: configurao
(named.conf ), mapas de rede e o resolv.conf, que aponta para os servidores DNS.
Nos clientes, apenas o arquivo resolv.conf necessrio. Um servidor de DNS tem como
objetivo fazer a converso entre nomes de computadores e seus nmeros IP. O programa
Leia a relao
atualizada no site
http://www.root-servers.org
Para o funcionamento correto do DNS, alguns arquivos so necessrios para a sua configurao. Os arquivos podem ter qualquer nome, mas devem estar definidos em named.conf
(aqui estamos usando os padres da internet).
11 /etc/bind/named.conf: principal arquivo de configurao do servidor DNS;
11 /etc/bind/db.root: arquivo que aponta para hosts externos, essencial quando o servidor
estiver sendo utilizando na internet;
11 etc/bind/db.local: responsvel pela resoluo direta do domnio localhost;
11 /etc/bind/db.127: responsvel pela resoluo reversa do domnio 127.0.0.0;
11 /etc/bind/db.empresa.com.br: responsvel pela resoluo direta do domnio
empresa.com.br;
11 /etc/bind/db.X.168.192: responsvel pela resoluo reversa do domnio empresa.com.
br, supondo que a rede possui endereo de rede 192.168.X.0/255.255.255.0.
A estrutura do servio DNS no Linux, assim como em outros sistemas, consiste em uma
arquitetura cliente/servidor. No servidor h alguns arquivos, como:
11 named: arquivo executvel (daemon);
11 named.conf: arquivo de configurao lido pelo executvel no momento de sua inicializao;
11 Arquivos de mapas da rede: arquivos com as informaes sobre o(s) domnio(s)
controlado(s) pelo servidor;
11 resolv.conf: arquivo utilizado pelo resolvedor, presente tanto no servidor quanto nas
estaes Linux.
11 Opes default.
11 Definio das zonas.
22 Cache.
22 Loopback reverso.
22 Domnio direto.
22 Domnio reverso.
Esse o arquivo que contm as informaes referentes a cada uma das zonas administradas.
Arquivo de configurao DNS: named.conf
******************************************************
options {
directory /var/named;
forwarders {
200.221.11.100;
200.221.11.101;
};
};
zone . IN {
type hint;
file caching-example/named.ca;
56
};
zone localhost IN {
type master;
file caching-example/localhost.zone;
allow-update { none; };
};
zone 0.0.127.in-addr.arpa IN {
type master;
file caching-example/named.local;
allow-update { none; };
};
zone site.local IN {
type master;
file site.local.zone;
allow-transfer { 192.168.0.1; };
};
zone rnp.br IN {
type slave;
file slave.rnp.br;
masters { 200.130.77.69; };
};
**************************************************************
11 options: descreve as opes de inicializao do BIND;
11 directory: diretrio onde ficam os arquivos de banco de dados do domnio;
11 forwarders: endereos IP dos servidores utilizados para solicitaes DNS quando o
servidor no souber resolver;
11 zone: zona que ser configurada;
11 type: o tipo de aplicao da zona no seu servidor DNS;
11 master: servidor primrio;
11 slave: servidor alternativo;
11 file: caminho do arquivo de banco de dados do domnio situado na pasta/var/named;
11 allow-update: especifica quais dos servidores da zona sero atualizados. No caso, nenhum;
plgio de DNS.
O arquivo /etc/bind/named.conf o principal arquivo do BIND e o responsvel pelas informaes usadas para que o servio seja realizado. O arquivo possui informaes referentes
ao diretrio onde esto os arquivos de dados do DNS, os servidores secundrios, as zonas
atendidas, entre outras informaes pertinentes.
O arquivo de configurao named.conf possui uma srie de clusulas que so lidas pelo daemon.
Essas clusulas so estruturas que agrupam statements relacionadas, que so como diretivas
57
58
; arquivo db.zone
$TTL 604800
@
IN
SOA
mar.exemplo.com. root.mar.exemplo.com. (
2 ; Serial
604800 ; Refresh
86400 ; Retry
2419200
; Expire
604800 )
@ IN NS
mar.exemplo.com.
localhost IN
A 127.0.0.1
mar IN A
200.130.77.130
sol IN A
200.130.77.131
Esse o arquivo que contm os nomes dos nmeros IP de cada mquina desse domnio.
Arquivo de configurao DNS: mapas de rede
*************************************************************
;
; Configuraes do domnio site.local.
;
$TTL
@
86400
IN
SOA
ns01.site.local. root. (
2007071500; Serial
28800
; Refresh
14400
; Retry
3600000 ; Expire
86400
; Minimum
604800)
; TTL
;
; Definio dos Servidores de Nome.
;
IN
NS
ns01.site.local.
IN
NS
ns02.site.local.
;
; Definio dos Mail Exchanger.
;
IN
MX
10 mail.site.local.
;
; Definio dos endereos de Hosts.
;
localhost
IN
127.0.0.1
ns01
IN
192.168.0.254
ns02
IN
192.168.0.1
IN
192.168.0.10
mysql
www
IN
IN
A
A
192.168.0.9
201.26.142.72
**************************************************************
11 Serial: nmero serial da zona, deve ser incrementado sempre que for feita alguma alterao, para que os servidores secundrios possam se atualizar;
11 Refresh: nmero de segundos entre pedidos de atualizao oriundos dos servidores
11 Retry: nmero de segundos que os servidores secundrios vo esperar para refazer uma
consulta que falhou;
11 Expire: nmero de segundos que um servidor, master ou slave, esperar para considerar
a informao expirada, se ele no conseguir alcanar o servidor de nomes primrio;
11 Minimum: o TTL default caso o domnio no especifique um TTL;
secundrios;
59
11 Time to Live (TTL): nmero de segundos que um nome de domnio cacheado localmente antes de expirar e retornar para os servidores de nomes de autoridade para
atualizao das informaes.
Conforme mencionado anteriormente, o funcionamento do servidor DNS baseado em
zonas controladas por mapas de rede. Os arquivos de mapas de rede so os arquivos que
contm as informaes de cada uma das zonas atendidas pelo servidor DNS. So de dois
tipos: traduo direta e traduo reversa. So os arquivos onde cada um dos computadores
que pertencem a uma empresa so descritos, com nome, endereo IP e servidor de e-mail,
entre outras informaes, como Time To Live (TTL), serial para controle de alteraes etc.
Um servidor DNS necessita de pelo menos quatro arquivos com mapas de rede:
11 root.servers: mantm uma relao dos servidores raiz da internet; normalmente ficam
em um arquivo denominado named.ca;
11 localhost: permite a resoluo do nome localhost para o endereo de loop local 127.0.0.1;
11 direct-map: apoiam o processo de converso de um nome em um endereo IP;
11 reverse-map: apoiam o processo de converso de um endereo IP em um nome.
; arquivo db.77.130.200
$TTL 604800
@
IN
SOA
mar.exemplo.com. root.mar.exemplo.com. (
; Serial
604800
; Refresh
86400
; Retry
2419200
; Expire
604800 )
;
NS mar.exemplo.com.
@ IN
PTR mar.exemplo.com.
130 IN
PTR sol.exemplo.com.
131 IN
60
Arquivo resolv.conf
O arquivo /etc/resolv.conf usado pelas mquinas Linux para localizar o servidor DNS.
11 Diretivas:
22 nameserver.
33 Endereo IP do servidor DNS.
22 search.
*********************************************
search site.local
nameserver 192.168.0.254
nameserver 192.168.0.1
*********************************************
11 search: especifica os domnios aos quais a mquina pertence;
11 nameserver: especifica o endereo IP dos servidores DNS;
11 domain: alternativa ao search.
Adicionalmente a essas zonas, outras podem ser includas. Devem ser includas zonas para
cada rede ou domnio adicional sob responsabilidade do servidor, alm de zona para lidar
com servidor secundrio. O arquivo /etc/resolv.conf o arquivo que possui a informao do
computador que est rodando o servio DNS e o domnio a ser utilizado.
O arquivo resolv.conf utilizado pelo resolvedor (resolver) das mquinas Linux para localizar
o servidor DNS. A principal informao desse arquivo o endereo IP do servidor DNS,
informado pela diretiva nameserver <Endereo IP>.
Pode ainda ser utilizada a diretiva search ou domain, til em consultas DNS quando informado somente o nome do host em vez do endereo completo (FQDN). Vrios domnios podem
ser adicionados, o que deve ser evitado, pois causar uma consulta DNS em cada um deles.
Exerccio de fixao 2 e
Servidor de DNS Cache
61
11 ip6.arpa.
Dois tipos de consultas podem ser feitas em um DNS:
11 Resoluo de nomes.
11 Resoluo de endereo reverso.
Resoluo de Nomes
Para Resoluo de Nomes (forward lookups), usado o tipo AAAA. Os registros AAAA so
paralelos e semelhantes aos Registros A no IPv4. Em um nico endereo possvel especificar um endereo IPv6 completo. Por exemplo:
www.ipv6.br.
IN A
200.160.4.22
www.ipv6.br.
IN AAAA 2001:12ff:0:4::22
Arquivo: named.conf
62
*********************************************
zone 0.0.0.0.1.2.f.f.1.0.0.2.ip6.arpa {
type master;
file 2001:12ff:0000.ip6.arpa;
};
*********************************************
Passamos, assim, a responder pelo reverso do bloco que foi cedido. Tal prefixo j deve ter
sido delegado pelo provedor de endereos IPv6, da mesma forma como ocorre na delegao
de subdomnios.
A forma como se declara o registro reverso semelhante ao IPv4, ou seja, comeando pelo
ltimo dgito hexadecimal do endereo, e denominado de nibble format.
Arquivo: 2001:12ff:0000.ip6.arpa
*********************************************
$TTL 86400
@
IN
SOA
ns.ipv6.br.
root.ipv6..br. (
2001112201
3H
; refresh
15M
; retry
1W
; expiry
1D )
IN
NS
; minimum
ns.ipv6.br.
DNSSEC
11 Domain Name System SECurity Extensions (DNSSEC) tem por objetivo adicionar mais
11 Sua verificao ocorre antes de outras aplicaes de segurana, tais como, ssl, ssh,
sftp, PGP etc.
11 Permite que se obtenha com preciso o endereo IP, por meio dos seguintes servios:
22 Autenticao da origem.
22 Integridade dos dados.
22 Prova de inexistncia.
63
O sistema DNSSEC permite que se obtenha com preciso o endereo IP, atravs dos
seguintes servios:
11 Autenticao da origem: a informao somente pode ser originada do servidor DNS
autoritativo do domnio;
11 Integridade dos dados: a informao recebida exatamente a mesma fornecida pelo
servidor DNS autoritativo do domnio;
11 Prova de inexistncia: no caso de uma resposta negativa fornecida pelo servidor DNS autoritativo do domnio, pode-se comprovar que essa informao est correta. Dependendo do
tipo de ataque, isso pode ser suficiente para que o sistema DNSSEC o interrompa.
11 Para que esses servios possam ser ativados, o DNSSEC necessita que todas as solici-
DNSKEY
um Resource Record que armazena a chave pblica da zona de autoridade.
exemplo.com.
64
900
IN
DNSKEY 256 3 5 (
AwEAAeZPN2yMs9q6kgYjFUblEwjCnWWcPq+TGcJrD5ga
XXAbP5MAqIkgZ5J4TU1mmpL1A8gMfd/wUmBkVipXR8FK
HRajBZSRfgeKnKaQtrxNZ32Ccts2F6Ylv9WaLXtiqebg
OZtuJFpQr6pnIt/FoOI+I7BUSNrX28VTq4jXu/qTrmM/ ); key
id = 62745
RRSIG
um Resouce Record que contm a assinatura de um RRset (conjunto de RR com o mesmo
nome de domnio, classe e tipo) especfico de uma determinada chave DNSKEY. Possui uma
validade inicial e final.
exemplo.com.
glEeCYyd/CCBfzH64y0RAQf9OxYDsI4xuBNaam+8DZQZ
xeoSLQEEtwmp6wBtQ7G10wSM9nEjRRhbZdNPNKJMp2PE
lLLgLI+BLwdlz0t8MypcpLOaTm9rc7pP7UR5XLzU1k8D
m6ePW1bNkId7i0IPSghyoHM7tPVdL2GW51hCujA= )
$whois rnp.br
% Copyright (c) Nic.br
% The use of the data below is only permitted as described in
% full by the terms of use (http://registro.br/termo/en.html),
% being prohibited its distribution, comercialization or
% reproduction, in particular, to use it for advertising or
% any similar purpose.
% 2012-02-16 17:42:15 (BRST -02:00)
domain:
owner:
ownerid:
rnp.br
Associao Rede Nacional de Ensino e Pesquisa
003.508.097/0001-36
country:
BR
owner-c:
RCO217
admin-c:
NES
tech-c:
FRK16
billing-c: RCO217
nserver:
nsstat:
20120216 AA
nslastaa:
nserver:
20120216
nsstat:
nslastaa:
20120216 AA
20120216
nserver:
nsstat:
20120216 AA
nslastaa:
20120216
dsrecord:
dsstatus:
20120216 DSOK
dslastok:
20120216
created:
before 19950101
changed:
20111125
status:
published
Implementao do DNSSEC
11 Utilizar o aplicativo dnssec-keygen para a gerao das chaves do domnio.
11 Usar o aplicativo dnssec-signzone para assinar o arquivo de zona do domnio.
11 Atualizar o arquivo named.conf para referenciar o novo arquivo de zona.
11 Reiniciar o Bind.
11 Adicionar o DS no site do registro.br.
11 Aguardar a nova publicao no site do registro.br.
66
zone exemplo.com{
type master;
file db.exemplo.com.br.signed;
};
4. Reiniciar o Bind.
5. Adicionar o DS no site do registro.br.
Exerccio de fixao 3 e
DNSSec
So vantagens de se implementar o DNSSEC:
FF Fornece autenticao da origem da informao.
FF Evita ataque do tipo DDOS.
FF Evita ataques do tipo Man-in-the-Middle e Spoofing.
FF Garante a integridade dos dados DNS.
FF Reduz o consumo de energia, sendo boa prtica na TI verde.
FF Evitar a manipulao da memria cache (Pharming, Phishing etc.).
FF Garante a integridade dos dados do usurio.
FF independente dos algoritmos criptogrficos.
Domnios virtuais
11 Um domnio virtual uma entrada DNS em um servidor que responde por mltiplos
endereos IP.
11 Necessrio caso se deseje que um mesmo servidor DNS responda por vrios
endereos IP.
11 Exemplo:
22 Permitir que uma nica mquina atenda por:
33 www.virtual1.exemplo.com: 192.168.1.10
33 www.virtual2.exemplo.com: 192.168.1.20
22 Utiliza recurso de IP aliasing presente no kernel do Linux.
67
dig www.rnp.br
290 IN A
200.143.193.5
www.rnp.br.
290 IN A
200.130.77.75
68
;; SERVER: 172.19.0.2#53(172.19.0.2)
;; WHEN: Fri Sep 29 16:49:21 2006
;; MSG SIZE rcvd: 60
Desenvolvido para permitir que mquinas montem parties de disco em mquinas remotas.
11 Compartilhamento na rede.
Outros sistemas:
11 Samba.
11 AFS.
11 Entre outros.
H outros sistemas que proveem uma funcionalidade similar ao NFS; o Samba, por exemplo,
prov servios de arquivos aos clientes Windows; o Andrew File System (AFS), um projeto
open-source da IBM que prov um mecanismo de compartilhamento de arquivos com caractersticas de performance e segurana adicional. Algumas das caractersticas do AFS foram
includas na verso 4 do NFS.
Vantagens do NFS: maturidade e sistema padro suportado por diversas plataformas.
11 nfs-kernel-server.
11 nfs-commom.
11 portmap.
Exerccio de fixao 4 e
Instale o servidor NFS
Instale o servio NFS no servidor 192.168.X.1. Para isso, necessrio que estejam instalados
trs pacotes: nfs-kernel-server, nfs-common e portmap.
Arquivos de configurao:
11 /etc/exports.
11 /etc/hosts.allow.
11 /etc/hosts.deny.
Para configurar um servidor NFS, necessrio fazer a configurao do servio NFS, por meio
de seus arquivos de configurao, e disparar a execuo do servio.
O arquivo /etc/exports contm uma lista de entradas; cada entrada indica um volume compartilhado e como cada um est compartilhado. Uma entrada desse arquivo similar a:
69
/etc/exports
Lista entradas, com cada uma indicando um volume compartilhado.
opo sync.
70
Um exemplo:
11 /usr/local 192.168.0.1 (ro) 192.168.0.2 (ro)
11 /home 192.168.0.1 (rw) 192.168.0.2 (rw)
Outro exemplo:
11 /usr/local 192.168.0.0/255.255.255.0 (ro)
11 /home 192.168.0.0/255.255.255.0 (rw)
Para usar netgroups NIS, basta anexar o nome do netgroup com um caractere @.
Suponha que temos duas mquinas clientes, slave1 e slave2, que tm endereos IP
/usr/local
/home
Sendo assim, h um compartilhamento read-only para slave1 e slave2, porque eles devem
provavelmente conter os binrios. Por outro lado, alguns diretrios necessitam ser exportados read-write, se os usurios quiserem efetuar escritas sobre eles.
Ao se tratar com uma rede de grande porte, primeiro pode-se acessar uma grande faixa de
mquinas especificando uma rede e uma mscara. Por exemplo, se quiser permitir o acesso
para todas as mquinas com endereos IP entre 192.168.0.0 e 192.168.0.255, ento podemos
ter as seguintes entradas:
/usr/local
192.168.0.0/255.255.255.0 (ro)
/home
192.168.0.0/255.255.255.0 (rw)
Para especificar um netgroup NIS no seu arquivo exports, simplesmente anexe o nome do
netgroup com um caractere @.
Outro formato que pode ser utilizado, em vez de hostnames, algo do tipo *.foo.com ou
192.168.
Algumas precaues devem ser tomadas em relao ao que pode e o que no pode ser
exportado. Primeiro, se um diretrio exportado, seus diretrios pai e filho no podem ser
exportados se eles estiverem no mesmo sistema de arquivos. Porm, a exportao de ambos
os diretrios pode no ser necessria, uma vez que listar o diretrio pai no arquivo /etc/exports
far com que todos os diretrios sejam exportados, dentro do sistema de arquivo.
/etc/hosts.allow e /etc/hosts.deny
11 Especificam os hosts que podem usar servios numa dada mquina.
ser utilizados para restringir a conexo aos daemons envolvidos no servio NFS. O primeiro
71
portmap:ALL
Adicione entradas para cada um dos daemons NFS:
lockd:ALL
mountd:ALL
rquotad:ALL
statd:ALL
11 Restringir acesso a portmapper a melhor defesa contra ataques a NFS.
11 hosts.deny:
72
Pr-requisitos
O servidor NFS deve ser configurado. Primeiro, preciso ter os pacotes apropriados instalados. Isso consiste principalmente numa verso de kernel que suporte NFS e uma verso
adequada do pacote nfs-utils.
Em seguida, antes de iniciar o NFS, verifique se a rede TCP/IP est funcionando corretamente na sua mquina. Feito isso, j possvel iniciar o NFS e execut-lo aps reboot da
mquina, pois os scripts de inicializao j detectam que o arquivo /etc/exports foi configurado e inicializar o NFS. Se no funcionar corretamente, alguns daemons precisaro ser
inicializados para executar os servios NFS.
Iniciando o portmapper
NFS depende do daemon portmapper, tambm chamado portmap ou rpc.portmap. Ele
deve estar localizado em /sbin e, algumas vezes, em /usr/sbin. Distribuies mais recentes
do Linux inicializam esse daemon no processo de boot; de qualquer modo, importante ter
certeza de que ele est executando antes de trabalhar com o NFS. Digite:
5. rpc.rquotad
73
tcp
111 portmapper
100000
udp
111 portmapper
...
Para fazer isso, consulte o portmapper com o comando rpcinfo -p para verificar os servios
que esto executando. A sada algo como:
proto port
100000
2 tcp
111
portmapper
100003 3
100000
2 udp
111
portmapper
100024 1
749
rquotad
100024 1
100011
1 udp
100011
2 udp
749
rquotad
300019 1
100005
1 udp
759
mountd
300019 1
100005
1 tcp
761
mountd
100021 1
udp 1042
nlockmgr
100005
3 tcp
771
100005
2 tcp
mountd
100021 3
766
mountd
100021 4
udp 1042
769
mountd
100021 1
tcp 1629
771
mountd
100021 3
tcp 1629
2049 nfs
100021 4
tcp 1629
nlockmgr
100005
3 udp
nlockmgr
100005
3 tcp
nlockmgr
100003
2 udp
nlockmgr
Essa sada indica que as verses 2 e 3 do NFS, a verso 1 do rpc.statd e as verses 1, 3 e 4 do rpc.
74
lockd esto funcionando. H tambm outros servios listados, dependendo do NFS estar sobre
TCP ou UDP. O Linux usa UDP por default, a menos que TCP seja explicitamente requisitado.
Se no estiverem listados os servios portmapper, nfs e mountd, ento necessrio
retornar e inicializar novamente os daemons.
Exemplo:
# mount master.foo.com:/home
/mnt/home
Antes de comear, deve-se ter certeza de que o cliente tem suporte para montagem NFS.
Se estiver sendo usado o kernel com o sistema de arquivos /proc, possvel verificar o
arquivo /proc/filesystems e ter certeza de que h uma linha contendo NFS. Se no, digite
insmod nfs para ter certeza de que o NFS foi compilado como um mdulo; caso contrrio,
necessrio construir ou fazer download de um kernel com suporte para NFS.
Para usar uma mquina como cliente NFS, necessrio que o portmapper esteja rodando
nela. Para usar o controle de acesso de arquivos NFS, ser necessrio tambm que rpc.statd
e rpc.lockd estejam rodando no cliente e no servidor. Distribuies mais recentes iniciam
esses servios por default, em tempo de boot.
Com portmap, lockd e statd executando, o administrador deve ser capaz de montar o
diretrio remoto de seu servidor da mesma forma que montado um disco local, com o
comando mount. Suponha que um dado servidor chamado master.foo.com e que queremos
montar o diretrio /home em slave1.foo.com. Basta digitar:
mountpoint
fs-type
options
dump fsck
...
master.foo.com:/home /mnt
nfs
rw
...
Se estiver sendo usado um automounter como amd ou autofs, as opes nos campos cor-
# device
Opes de montagem
H vrias opes a considerar em relao forma pela qual o cliente NFS manipula uma
falha (crash) no servidor ou queda da rede. Existem dois modos de falha distintos:5
11 Soft: se um arquivo falha, o cliente NFS reportar um erro para o processo na mquina
cliente requisitando o acesso ao arquivo. No se recomenda esse tipo de configurao,
porque pode causar corrupo de arquivos e perda de dados;
11 Hard: o processo no pode ser interrompido ou encerrado, a menos que isso seja especificado, aps uma queda no servidor. Quando o servidor NFS voltar ao estado on-line, o
programa continuar do ponto em que parou. Recomenda-se o uso dessa configurao.
Considerando o exemplo anterior, a entrada fstab seria:
# device
mountpoint fs-type
options
dump fsck
...
master.foo.com:/home /mnt/home nfs
rw,hard,intr 0
...
Tamanho do bloco:
eles podem manipular blocos maiores, um tamanho maior pode ser mais rpido.
76
benchmark como:
11 Bonnie.
11 Bonnie++.
11 IOzone file system benchmark.
O teste deve durar algumas horas e ser repetido para diferentes valores.
Em seguida, desmonte e monte novamente com um tamanho de bloco maior e menor. Eles
devem ser mltiplos de 1.024 e no podem exceder o tamanho mximo do bloco permitido pelo
sistema. O NFSv3 suportar at 64 K, se permitido. O tamanho do bloco deve ser uma potncia
de dois, j que a maioria dos parmetros (como tamanhos de bloco do sistema e tamanho do
pacote de rede) so potncias de dois. Aps montar com tamanho maior, acesse o sistema de
11 NFS benchmark.
arquivos montado e explore-o um pouco para ter certeza de que tudo est como esperado.
77
78
11 rsize ou wsize maiores que o MTU da rede podem causar fragmentao de pacotes
quando se usa NFS sobre UDP e quando a fragmentao requer recursos de CPU.
11 Pacotes podem ser descartados.
22 Rotas de fragmentos diferentes.
22 Capacidade do servidor NFS.
A utilizao de rsize ou wsize maior do que o MTU da sua rede causar fragmentao de
pacotes IP quando usarmos NFS sobre UDP. A fragmentao e montagem de pacotes requer
uma quantidade significativa de recursos de CPU. Em adio, a fragmentao de pacotes
tambm expe o trfego na rede a riscos de no confiabilidade, j que um pedido RPC
completo deve ser retransmitido se um pacote fragmentado UDP descartado por alguma
razo. Qualquer aumento de retransmisses RPC impacta na possibilidade de timeouts
maiores, e isso o pior impedimento em termos de desempenho para o NFS sobre UDP.
Pacotes podem ser descartados por vrias razes. Se a topologia da sua rede complexa,
rotas de fragmentos podem ser diferentes, fazendo com que nem todos os fragmentos
cheguem ao servidor para remontagem. A capacidade do servidor NFS pode ser outro fator
de impacto, j que o kernel tem um limite de fragmentos que pode colocar em buffer antes
de disparar os pacotes. Com kernels que suportam o sistema de arquivos /proc, possvel
monitorar os arquivos:
11 /proc/sys/net/ipv4/ipfrag_high_thresh
11 /proc/sys/net/ipv4/ipfrag_low_thresh
Uma vez que o nmero de pacotes fragmentados e no processados atinja o nmero especificado pelo ipfrag_high_thresh (em bytes), o kernel simplesmente iniciar o envio dos pacotes
fragmentados at que o nmero de pacotes incompletos atinja o nmero especificado em
ipfrag_low_thresh.
Outro contador para monitorar o IP: ReasmFails no arquivo /proc/net/snmp, representando
o nmero de falhas de remontagem de fragmentos.
at que o cliente decida que no vai esperar uma resposta do servidor e tentar enviar o
pedido novamente. O valor default de 7 dcimos de segundo.
79
80
11 async.
11 Servidor responde a pedido dos clientes assim que processado e manipulado pelo
sistema de arquivos local.
11 No espera pelo armazenamento dos dados em meio estvel.
O comportamento de NFSv3 usado pelo exportfs assncrono. Esse valor default permite
que o servidor responda aos pedidos clientes to brevemente quanto so processados e
manipulados os pedidos pelo sistema de arquivos local, sem esperar que os dados sejam
escritos em meios de armazenamento estvel.
A opo async da lista de exportao do servidor pede ao servidor que informe ao cliente
que todos os dados foram escritos para armazenamento estvel, independentemente do
protocolo usado. Para seguir um comportamento sncrono, o sistema de arquivos do servidor Linux deve ser exportado com a opo sync.
Note que especificar uma exportao sncrona resultar na situao em que nenhuma
opo ser vista na lista de exportao do servidor. Para exportar sistemas de arquivos,
podem ser usadas diferentes opes:
# /usr/sbin/exportfs v
/usr/local *(rw)
/tmp *(rw,async)
Exportao assncrona:
11 /proc/fs/nfs/exports.
22 Mostra a lista de opes de exportao.
11 Clientes podem explicitamente insistir em comportamento sncrono total, independente de protocolo, usando a opo O SYNC ao abrir arquivos.
Se o kernel for compilado com o sistema de arquivos /proc, o arquivo /proc/fs/nfs/exports
tambm mostrar a lista completa de opes de exportao.
Quando o comportamento sncrono especificado, o servidor no concluir um pedido NFSv2
at que o sistema de arquivos local tenha escrito todos os dados no disco. O servidor concluir
um pedido assncrono NFSv3 sem esse delay e retornar o status dos dados para informar ao
cliente os dados que devem ser mantidos em cache e os dados que podem ser descartados de
maneira segura. H trs valores possveis de status, definidos em include/linux/nfs.h:
11 NFS_UNSTABLE: os dados no foram armazenados e confirmados em armazenamento
estvel no servidor e devem ser colocados em cache no cliente at que um pedido de confirmao do cliente garanta que o servidor enviou os dados para armazenamento estvel;
11 NFS_DATA_SYNC: os meta dados no foram enviados para armazenamento estvel, e
devem ser colocados em cache no cliente. Uma confirmao subsequente necessria;
11 NFS_FILE_SYNC: dados e meta dados no podem ser colocados em cache, e uma confirmao subsequente no precisa ser enviada para a faixa coberta por esse pedido.
Em adio ao comportamento sncrono, o cliente pode explicitamente insistir em comportamento sncrono total, independente do protocolo, abrindo todos os arquivos com a opo
O-SYNC. Nesse caso, todas as respostas aos pedidos dos clientes vo esperar at que os
Segurana e NFS
Passos para que um cliente possa acessar um arquivo num diretrio remoto:
81
/etc/hosts.allow
/etc/hosts.deny
82
Existem verses exclusivas do servidor NFS para o Windows, como o ProNFS. Com esse
programa possvel criar um servidor NFS ou acessar qualquer cliente NFS. A diferena
que no preciso necessariamente montar o diretrio exportado no computador e acessar
os clientes pelo ambiente de rede do Windows.
Ao instalar o ProNFS como padro, ele no vai instalar a verso cliente. Para efetuar a instalao do cliente, selecione a opo Custom durante o processo e, no menu de seleo, clique
no campo NFS Client for NFS Network. Aps reiniciar o computador, verifique se o servidor NFS
pode ser encontrado pelo utilitrio NFSProbe, na aba Programas do menu Iniciar.
83
84
Roteiro de Atividades 3
Nestas atividades, os alunos devem trabalhar com duas mquinas virtuais (servidor e cliente).
Ambas devem estar na mesma rede. Como regra, o endereo 192.168.X.1 ser o do servidor
Linux e o endereo 192.168.X.2 ser do cliente Linux. Teste o funcionamento da rede atravs
do comando ping.
85
86
4
Entender o funcionamento do servio de diretrio, do protocolo LDAP e da soluo
OpenLDAP; compreender o funcionamento, objetos, atributos e instalao do LDAP;
instalar OpenLDAP, com execuo do servidor e criao e manuteno de base de dados.
conceitos
Servidor LDAP, uso do script Migration tools para exportao de contas e grupos da
mquina, incluso de usurios e troca de senhas com PAM.
Introduo
Conheceremos os conceitos de servio de diretrio e o protocolo Lightweight Directory
Access Protocol (LDAP), alm da soluo OpenLDAP, em aspectos relacionados instalao,
configurao e testes.
Na primeira parte, abordaremos o funcionamento, objetos e atributos do protocolo LDAP.
Na etapa seguinte ser abordada a instalao da implementao OpenLDAP, e em seguida o
arquivo de configurao e suas diferentes formas.
A execuo do servidor, bem como a criao e a manuteno da base de dados, sero os
objetos do final deste captulo, onde sero colocados em prtica os conceitos adquiridos.
LDAP
11 Um diretrio similar a uma base de dados.
objetivos
Servidor LDAP
87
l
A especificao do
protocolo pode ser
encontrada na RFC 4511.
Registro de usurio
Aplicao 2
Registro de usurio
Aplicao 3
Registro de usurio
Cliente da aplicao 1
88
Cliente da aplicao 2
Cliente da aplicao 3
Figura 4.1
Aplicaes
acessando bases
de dados diversas.
LDAP
Aplicao 3
LDAP
Registro de usurio
Cliente da aplicao 2
Figura 4.2
Aplicaes
acessando a
mesma base de
dados.
Cliente da aplicao 3
Funcionamento do LDAP
Baseado no modelo cliente/servidor:
89
Search operation
Returned entry
Result code
Cliente LDAP
Servidor LDAP
Figura 4.3
Operao de busca
simples.
Search operation
First entry returned
Second entry returned
Nth entry returned
Cliente LDAP
Result code
Servidor LDAP
Figura 4.4
Operao de busca
com mltiplos
resultados.
Unbind operation
Close connection
Em uma operao LDAP tpica, necessrio um conjunto de passos para permitir o estabelecimento da conexo, autenticao, consulta, retorno dos dados e encerramento da conexo:
11 Estabelecimento da conexo e solicitao de autenticao: open connection and bind.
11 Resultado da autenticao: bind result.
90
Servidor LDAP
Figura 4.5
Operao LDAP
tpica.
ou=rjo
ou=operacoes
ou=hardware
ou=gerentes
ou=funcionarios
Figura 4.6
Estrutura do
diretrio.
cn=Pedro Silva
A base de dados LDAP pode ser representada na forma de uma rvore que representa os
objetos de uma organizao (unidade organizacional, departamento, funo, pessoa, equipamentos, entre outros).
Cada entrada (objeto) de um diretrio possui um nome distinto DN, que uma forma de
identificar cada entrada de forma nica no diretrio. Uma entrada composta por um conjunto de atributos, e cada atributo descreve uma caracterstica particular do objeto. Cada
atributo tem um tipo e um ou mais valores. O tipo descreve a espcie de informao contida
nos atributos, e o valor o prprio dado.
No exemplo apresentado, consta uma entrada Pedro Silva, um funcionrio do departamento
de operaes da filial BSA da organizao RNP. Essa organizao da rvore descrita na RFC
no item Naming model, que descreve a organizao e a forma de se referir aos dados.
Exerccio de fixao 1 e
Estrutura de diretrio LDAP
Monte uma estrutura de diretrio para uma empresa de TI cujo domnio empresa.com.br.
11 Possui os servios de Samba, Proxy, E-mail e Intranet.
11 A empresa possui funcionrio CLT e terceirizados.
11 Todos tm acesso aos servios Samba e Proxy.
Valores
cn
Aluno1
sn
ESR
91
Atributos
uid
aluno1
telephoneNumber
+55 61 32434300
pedro.silva@rnp.br
Tabela 4.1
Uma entrada com
os atributos.
As entradas em uma base de dados podem ser apresentadas no formato LDAP Data
Interchange Format (LDIF), utilizado para a importao ou exportao de dados a partir do
servidor LDAP.
Exemplo de entrada no formato LDIF e seus atributos:
dn: distinguished name
dc: domain component ou organizational unit
cn: commom name
sn: surname
92
dc= rnp,dc=br
ou=bsa
ou=rjo
Figura 4.7
Diretrio
distribudo.
Servidor 2
Servidor 1
Servidor 2
4
a) Busca distribuda
Um servidor pode manter somente parte da rvore, estando o restante dela em outros
servidores. Nesse caso, cada servidor possui uma referncia sobre o local onde esto as
outras partes da rvore. Ao receber uma consulta sobre determinados dados que estejam
em outro servidor, o servidor que recebeu a solicitao repassa a referncia ao cliente que a
solicitou (Figura 4.8a):
1. Cliente envia pedido de busca para o Servidor 2;
2. Servidor 2 retorna referncia (referral) do Servidor 1 ao cliente;
3. Cliente envia pedido de busca para o Servidor 1;
4. Servidor 1 retorna as entradas associadas busca.
Outra associao comum diz respeito relao de confiana entre servidores LDAP. Nesse
caso, um cliente autenticado em um determinado servidor pode ter sua solicitao encaminhada a outro servidor sem necessidade de nova autenticao (Figura 4.8b):
1. Cliente conecta e autentica no Servidor 1;
2. Servidor retorna cdigo de sucesso ao cliente;
3. Cliente envia pedido de busca para o Servidor 1;
4. Servidor encaminha pedido para o Servidor 2.
Uma variao desse caso o Servidor 1 informar ao Servidor 2 que o cliente j est autenticado, repassando a consulta para que o Servidor 2 a responda diretamente.
Figura 4.8
Relacionamento
entre servidores.
93
Replicao
Servidor master
Servidor slave
Servidor master
Servidor slave
Falha servidor
a) Consulta master
b) Consulta slave
Figura 4.9
Consulta simples.
No servidor primrio estar em execuo o daemon SLAPD, enquanto que em cada servidor
secundrio estar em execuo o daemon slurpd.
As configuraes a serem utilizadas pelo SLAPD sero lidas de um arquivo denominado
/usr/local/etc/openldap/slapd.conf ou de uma base LDAP localizada em
/usr/local/etc/openldap/slapd.d.
A primeira opo (com slapd.conf) mais amplamente utilizada e dever ser usada por
enquanto, principalmente se o servio de diretrio estiver sendo gerenciado por algum aplica-
94
tivo especfico designado para este fim (backend). A desvantagem dessa abordagem a necessidade de reiniciar o servidor quando modificaes forem realizadas no arquivo de configurao.
A segunda opo, que utiliza uma base de dados LDAP para armazenar as configuraes do servidor, no necessita da reinicializao do servidor a cada modificao no arquivo de configurao.
Modicaes de cliente
Atualizaes
Cliente
Servidor 1
Servidor 2
master
slave
leitura
leitura
e escrita
Consultas
Figura 4.10
Consulta a
mltiplos
servidores.
Utilizando uma soluo que contemple vrios servidores, cada um deles pode atender s
operaes de consulta (mais frequentes), enquanto somente o servidor master pode efetuar
operaes de escrita na base de dados. As modificaes so replicadas para os servidores
slaves (Figura 4.10).
O mecanismo da replicao envolve as seguintes etapas:
1. O cliente LDAP envia uma operao de modificao para o servidor slave;
2. O servidor slave retorna uma referncia (referral) do servidor master ao cliente;
3. O cliente LDAP envia a operao de modificao ao servidor master;
4. O servidor master efetua a operao, atualiza o arquivo de log e envia mensagem de
sucesso ao cliente;
5. O daemon slurpd, presente no servidor master, percebe a operao pela modificao do
arquivo de log e notifica o servidor slave via LDAP;
6. O servidor slave efetua a modificao e envia mensagem de sucesso ao daemon slurpd.
11 BDB.
11 LDBM.
11 SHELL.
11 PASSWD.
BDB indicado para aplicaes que requerem:
11 Transaes.
11 Habilidade na recuperao de crashes e falhas.
O daemon servidor LDAP, denominado SLAPD, prov suporte a diferentes bases de dados:
11 Berkeley DataBase (BDB): base transacional de alta performance;
11 DataBase Manager (LDBM): base mais leve baseada no DBM;
11 SHELL: interface para scripts shell;
11 PASSWD: interface para o arquivo /etc/passwd.
BDB indicado para acesso de leitura/escrita de bases de dados, com uma mistura de operaes de leitura e escrita. usado em aplicaes que requerem:
11 Transaes, incluindo mudanas na base de dados e desfazendo alteraes no confirmadas;
11 Habilidade de recuperao de crashes e falhas de hardware sem perda das transaes
Formato LDIF
11 Importa e exporta informaes de diretrio entre servidores de diretrios baseados
em LDAP.
11 Descreve um conjunto de mudanas aplicadas a um diretrio.
11 Armazena informaes em hierarquia orientada a objetos de entrada.
confirmadas.
95
Classes LDAP
11 Grupos no diretrio, incluindo listas no ordenadas de objetos ou grupos de objetos.
l
Informaes sobre as
classes de objetos e os
atributos associados
podem ser conferidas
na RFC 4519
Lightweight Directory
Access Protocol (LDAP):
Schema for User
Applications.
givenname: Aluno2
surname: ESR
mail: aluno2.esr@rnp.br
O atributo ObjectClass lista a classe a qual uma entrada pertence.
96
Pr-requisitos:
Download do pacote
Existem algumas implementaes de servidores LDAP:
11 Servidor LDAP, da Universidade de Michigan (em geral a base das outras solues);
11 Netscape Directory Server;
11 OpenLDAP;
11 Fedora Directory Server;
11 Sun Directory Server.
Entre as verses livres consideradas prontas e maduras, a mais utilizada o OpenLDAP.
O servidor OpenLDAP baseado na ltima verso do servidor da Universidade de Michigan.
utilizado o OpenLDAP.
Desempacotando o software
Para desempacotar o pacote LDAP, podemos usar a combinao:
97
Passos necessrios:
./configure -- [parmetros]
11 Construir os servidores:
22 make depend: constri as dependncias.
22 make: constri o servidor.
22 make test: executa testes.
22 make install: instala binrios e manual.
Configurao do software
As fontes do servidor OpenLDAP so distribudas com um script para configurar opes
como diretrios de instalao, compilador e flags de linker.
No diretrio onde foi desempacotado o software, use o comando:
# ./configure -- help
Sero apresentadas todas as opes que podem ser customizadas com o script de configurao antes de construir o software.
possvel especificar algumas variveis de ambiente com o comando env antes de executar
o script de configurao:
11 CC: especifica um compilador C alternativo;
11 CFLAGS: especifica flags adicionais do compilador;
11 CPPFLAGS: especifica flags do pr-processador C;
11 LDFLAGS: especifica flags de linker;
11 LIBS: especifica bibliotecas adicionais.
Construindo o servidor
98
# make depend
Depois, construa o servidor usando o comando:
# make
Para garantir construo correta, deve ser feito teste com:
# make test
Instale os binrios e as pginas de manual:
# make install
Diretivas globais
Diretivas globais se aplicam a todos os backends e databases, a menos que haja sobreposio na definio das respectivas diretivas. Por exemplo:
include <filename>
(especifica que SLAPD deve ler informaes de configurao adicionais de determinado
arquivo antes de continuar com a prxima linha do arquivo corrente).
Diretivas backend
Diretivas database
database <type> (marca o incio da definio de uma nova instncia de base de dados).
<type> (pode ser de qualquer tipo, como na diretiva Backend).
readonly {on | off} (coloca a base de dados no modo read-only).
replica host =<hostname>[:<port>]
[bindmethod={simple | kerberos | sasl}]
[binddn=<DN>]
(Especifica uma replicao para essa base de dados).
100
Observe que essas diretivas se aplicam no caso em que o database considerado BDB.
# arquivo slapd.conf
1. # example config file - global configuration section
2. include /usr/local/etc/schema/core.schema
3. referral ldap://root.openldap.org
4. access to * by * read
11 A linha 1 um comentrio.
11 A linha 2 inclui outro arquivo de configurao que contm definies de esquemas.
11 A linha 3 contm a diretiva referral para indicar consultas remotas para uma das bases de
dados referenciadas no servidor na porta padro 389 no host root.openldap.org.
11 A linha 4 um controle de acesso global.
6. database bdb
7. suffix dc=example,dc=com
8. directory /usr/local/var/openldap-data
9. rootdn cn=Manager,dc=example,dc=com
10. rootpw secret
20. index uid pres,eq
21. index cn,sn,uid pres,eq,approx,sub
22. index objectClass eq
14. binddn=cn=Replicator,dc=example,dc=com
101
102
-f <filename>
-n <service-name>
-u user -g group
-d <level> | ?
11 Inicializao do servidor LDAP:
# /usr/local/etc/libexec/slapd [<option>]
11 Encerramento do servidor LDAP:
O daemon SLAPD projetado para executar como um servidor stand alone, permitindo
vantagens como caching e gerenciamento de concorrncia, entre outras.
Algumas das opes que podem ser passadas para SLAPD:
11 f <filename>: especifica um arquivo de configurao alternativo para SLAPD; o default
normalmente /etc/openldap/slapd.conf;
11 n <service-name>: especifica o nome do servio usado para login e outros propsitos.
O nome pode ser os nomes, ou UID e GID, respectivamente;
11 d <level>: indica o nvel de debug para visualizao dos logs associados execuo do
SLAPD; do servio default slapd;
11 u user -g group: indica usurio e grupo, respectivamente, para executar SLAPD; user e group.
vistas anteriormente)
On-line:
104
11 ldapadd -f entrada.ldif -x D
\\ cn=Admin,dc=example,dc=com -w secret
11 Deste modo:
22 rootdn
33 cn=Admin, dc=example, dc=com
22 rootpw como secret
Aps especificar tais opes, use o comando:
# comment
dn: <distinguished name>
<attrdesc>:<attrvalue>
<attrdesc>:<attrvalue>
q
Captulo 4 - Servidor LDAP
105
ldapdelete uma interface shell para a chamada ldap_delete, usada para remover entradas
das bases de dados LDAP. Exemplo:
# ldapmodify -b -r -f /tmp/entrymods
11 Coleo de scripts Perl usada para converter arquivos de configurao para o formato LDIF.
11 teis no uso do servidor LDAP para autenticar usurios, converter NIS e arquivos de
senha para LDIF.
A autenticao usando LDAP suportada na operao de bind. Tipos de autenticao:
11 Annima.
11 Simples.
11 Autenticao SASL.
Coleo de scripts em Perl usados para converter arquivos de configurao para o formato
LDIF, muito teis para autenticar usurios via servidor LDAP. Podem ser usados tambm
para converter NIS e arquivos de senhas para o formato LDIF, fazendo com que esses
arquivos sejam compatveis com o servidor LDAP.
Para acessar servios LDAP, o cliente LDAP primeiro deve autenticar-se para o servio, ou
seja, deve informar ao servidor LDAP que est acessando os dados de modo que o servidor
pode decidir o que o cliente poder ver e fazer.
No LDAP, a autenticao suportada na operao de bind. O LDAP suporta trs tipos de
autenticaes: annima, simples e SASL. Um cliente que envia um pedido de autenticao
sem fazer um bind tratado como um cliente annimo.
A autenticao simples consiste em enviar ao servidor LDAP o DN completamente qualifi-
106
A autenticao Simple Authentication and Security Layer (SASL) especifica um protocolo cujos
dados so transferidos entre o cliente e o servidor, utilizando canais encriptados (como SSL)
suportados pelo servidor LDAP, que diminuem a exposio da senha. Com SASL, o LDAP pode
suportar qualquer tipo de autenticao combinada entre o cliente e o servidor LDAP.
Ferramentas LDAP grficas:
11 KDirAdm.
11 Directory Administrator.
11 GQ.
11 LDAP Browser.
11 KDirAdm: ferramenta de gerncia de diretrios LDAP escrita para KDEv2 e mais recentes;
11 Directory Administrator: aplicao GNOME para gerenciamento de usurios e grupos;
11 GQ: cliente LDAP grfico escrito para GNOME;
11 LDAP Browser/Editor: ferramenta para administrao e visualizao.
Roteiro de Atividades 4
Atividade 4.1 Instalao do servidor OpenLDAP
Ser realizada a instalao do servidor LDAP a partir do repositrio Debian.
1. Instale os seguintes aplicativos:
#dpkg-reconfigure slapd
Sero feitas as seguintes perguntas:
11 Omitir a configurao do Servidor OpenLdap? No.
11 Informe o nome de domnio DNS: empresa.com.br
11 Informe o nome de sua organizao: Empresa.
11 Senha do admin: rnpesr
11 Confirme a senha: rnpesr
# /etc/init.d/slapd start
4. Depois de iniciado o servidor LDAP, podemos test-lo com a seguinte consulta:
107
# extended LDIF
# LDAPv3
# base<> with scope base
# filter: (ObjectClass=*)
# requesting: ALL
#
dn:
objectClass: top
objectClass: OpenLDAProotDSE
# search result
search: 2
result: 0 Success
# numResponses: 2
# numEntries: 1
# Default base
108
$DEFAULT_BASE = dc=empresa,dc=com,dc=br;
2. Gere as bases de dados para exportao:
# cd /usr/share/migrationtools
# ./migrate_base.pl > /tmp/base.ldif
# ./migrate_passwd.pl /etc/passwd /tmp/passwd.ldif
# ./migrate_group.pl /etc/group /tmp/group.ldif
3. Edite o arquivo /tmp/base.ldif e remova os registros:
dn: dc=com,dc=br
dc: com
objectClass: top
objectClass: domain
dn: dc=empresa,dc=com,dc=br
dc: empresa
objectClass: top
objectClass: domain
4. Adicione na base LDAP os registros:
109
rnpesr
2. Mudando a permisso do arquivo /etc/libnss-ldap.secret:
rnpesr
4. Mudando a permisso do arquivo /etc/pam_ldap.secret:
base dc=empresa,dc=com,dc=br
uri ldap://192.168.1.1
ldap_version 3
rootbinddn cn=admin,dc=empresa,dc=com,dc=br
6. Verifique a configurao do arquivo /etc/pam_ldap.conf
base dc=empresa,dc=com,dc=br
uri ldap:// 192.168.1.1
ldap_version 3
rootbinddn cn=admin,dc=empresa,dc=com,dc=br
7. Edite o arquivo /etc/ldap/ldap.conf
BASEdc=empresa,dc=com,dc=br
URI
ldap://192.168.1.1
8. Necessitamos agora configurar o Name Service Switch (NSS) para usar LDAP atravs do
arquivo /etc/nsswitch.conf:
110
passwd:
compat ldap
group:
compat ldap
shadow:
compat ldap
hosts:
files dns
networks:
protocols:
services:
ethers:
rpc:
netgroup:
files
db files
db files
db files
db files
ldap
# /etc/init.d/nscd restart
10. Para usar o LDAP, as configuraes do Plugabe Autentication Module (PAM) devem ser alteradas. O diretrio de configurao /etc/pam.d/. Edite o arquivo /etc/pam.d/common-password
e remova o atributo use_authok:
pam_ldap.so
try_first_pass
11. Edite o arquivo /etc/pam.d/common-session e inclua a linha a seguir no final do arquivo:
# getent passwd
# getent shadow
# getent group
Se voc visualizar o contedo semelhante aos arquivos locais (/etc/passwd, /etc/shadow,
/etc/group) porque no h nenhuma informao extra no LDAP.
dn: uid=aluno2,ou=People,dc=empresa,dc=com,dc=br
uid: aluno2
cn: aluno2
objectClass: account
objectClass: posixAccount
objectClass: top
objectClass: shadowAccount
userPassword: {crypt}$1$9Dt/Yo2O$hou4BMnIf9S8Cn70RcAxg0
shadowLastChange: 13865
shadowWarning: 7
loginShell: /bin/bash
uidNumber: 1005
gidNumber: 1010
homeDirectory: /home/aluno2
gecos: aluno2,,,
shadowMax: 99999
111
dn: cn=rnp,ou=Group,dc=empresa,dc=com,dc=br
objectClass: posixGroup
objectClass: top
cn: rnp
userPassword: {crypt}x
gidNumber: 1010
3. Adicione o arquivo /root/grupo.ldif base:
# passwd aluno2
login: aluno2
2. Verifique no arquivo /etc/passwd do servidor se o usurio do LDAP existe:
# cat /etc/passwd
3. Voc no deve ter encontrado o usurio aluno2. Para encontr-lo, execute:
# getent passwd
4. Com os grupos ocorre a mesma coisa; por meio do arquivo /etc/group no possvel visu-
112
# getent group
5
Aprender teoria e prtica do servio DHCP, conhecer formas de transferncia de
arquivos entre computadores, entender o funcionamento do File Transfer Protocol
(FTP), analisar formas seguras de transferncia de arquivos, envolvendo encriptao
e autenticao, inclusive na administrao remota de outros servidores e backup.
conceitos
Introduo
11 Dynamic Host Configuration Protocol (DCHP).
objetivos
113
DHCP
11 Protocolo de rede cuja funo atribuir informaes TCP/IP para as mquinas clientes.
114
Motivao:
HTYPE (1)
HLEN (1)
HOPS (1)
XID (4)
SECS (2)
FLAGS (2)
CIADDR (4)
YIADDR (4)
SIADDR (4)
CHADDR (16)
SNAME (64)
Figura 5.1
Formato de
mensagens DHCP
indicando campos e
tamanho em bytes.
FILE (128)
OPTIONS (varivel)
GIADDR (4)
115
Lado cliente
116
Mensagens
Lado servidor
DHCPDISCOVER
Determina
Recebe
resposta
Cliente DHCP
DHCPOFFER
congurao
DHCPREQUEST
DHCPACK
Commit
DHCPRELEASE
Inicializao
Libera lease
Servidor DHCP
completa
Tempo
Figura 5.2
Funcionamento do
protocolo DHCP.
# whereis dhcpd
2. Criao do arquivo dhcpd.leases:
Verificar existncia do arquivo dhcpd.leases, que dever existir quando da execuo do
servidor DHCP.
# touch /var/lib/dhcp/dhcp.leases
3. Escolha do esquema de interao com o DNS:
Existem dois mtodos de interao entre o DHCP e o DNS:
11 ddns-update-style interim: permite a utilizao de mecanismo failover. Esse mecanismo possibilita que dois ou mais servidores DHCP dividam o conjunto de endereos IP disponveis.
117
11 Informaes de cabealho.
11 Parmetros.
11 Declaraes.
11 Comentrios.
As opes podem ser:
11 Globais, posicionadas antes das { }.
11 Especficas para cada cliente.
O arquivo de configurao dhcpd.conf dever ser editado, incluindo-se nele os valores
passados como parmetros de configurao s estaes cliente. Possui uma estrutura com
quatro componentes: cabealho, parmetros, declaraes e comentrios.
11 Cabealho: esquema de interao entre DHCP e DNS, conforme visto anteriormente;
11 Parmetros: como, quando e quais informaes devem ser enviadas aos clientes. Os
parmetros iniciados pela palavra option no so obrigatrios e no interferem no funcionamento do servidor; no entanto, a ausncia de alguns deles pode causar problemas
para as estaes clientes;
11 Declaraes: informaes sobre a topologia da rede, incluindo sub-redes, endereos
fixos destinados a clientes especficos e especificao de domnio;
11 Comentrios: linhas iniciadas com # so consideradas como comentrios.
Quaisquer mudanas nos arquivos de configurao somente tero efeito aps a
reinicializao do servidor.
Exemplo de arquivo de configurao com alguns valores tpicos:
# Arquivo dhcpd.conf
118
ddnsupdatestyle interim;
subnet 192.168.0.0 netmask 255.255.255.0 {
option routers 192.168.0.254;
option subnetmask 255.255.255.0;
option domainname linux.lan;
option domainnameservers 192.168.0.253;
option timeoffset 18000;
range 192.168.0.2 192.168.0.250;
}
Base de dados
Podem ainda ser utilizadas:
11 Redes compartilhadas.
11 Grupos.
11 Endereos IP estticos, utilizando DHCP.
Outro exemplo de arquivo de configurao, neste caso para duas sub-redes:
# Arquivo dhcpd.conf
# Redes compartilhadas
ddnsupdatestyle interim;
sharednetwork name {
option routers 192.168.1.254;
option domainname linux.lan;
option domainnameservers 192.168.0.253;
more parameters for rede2 sharednetwork
subnet 192.168.0.0 netmask 255.255.255.240 {
parameters for subnet
range 192.168.0.2 192.168.0.14;
119
host onca {
option hostname onca.linux.lan;
hardware ethernet 00:D0:B7:89:7E:5E;
fixed address 192.168.0.2;
}
# Arquivo dhcpd.conf
ddnsupdatestyle interim;
group {
option routers 192.168.1.254;
option subnet mask 255.255.255.0;
option domainname rede.com;
option domainnameservers 192.168.0.253;
option timeoffset 18000;
host onca {
option hostname onca.linux.lan;
hardware ethernet 00:D0:B7:89:7E:5E;
fixed address 192.168.0.2;
}
host tigre {
option hostname tigre.linux.lan;
hardware ethernet 00:D0:B7:89:01:D1;
fixed address 192.168.0.3;
}
}
120
# Arquivo /etc/sysconfig/dhcpd
# Command line options here
DHCPARGS=eth0
Podem ser passados parmetros como:
11 p <porta>: especifica a porta na qual o servidor DHCP atuar; padro 67 e 68;
11 f <nmero da porta>: executa o servidor em foreground;
11 d - modo debugging: os logs so gerados para a tela, em vez de /var/log/messages;
11 cd <nome do arquivo>: especifica a localizao do arquivo de configurao dhcpd.conf.
Originalmente em /etc/dhcpd.conf;
11 lf <nome do arquivo>: especifica a localizao do banco de dados do DHCP. Originalmente em /var/lib/dhcp/dhcpd.leases.
Configurando um cliente DHCP:
Durante o processo de instalao do Sistema Operacional, surgir uma mensagem solicitando que seja escolhida a opo de configurao da rede: automtica (DHCP) ou manual.
Escolhendo a opo automtica, a mquina iniciar o processo para obteno dos parmetros de rede.
Aps o processo de instalao, a configurao pode ser feita por meio de interface grfica
ou linha de comando. Para a configurao por linha de comando, o arquivo a ser editado
/etc/sysconfig/network-scripts/ifcfg-eth0, nas distribuies Red Hat/Fedora, ou no arquivo
/etc/network/interfaces, no Debian.
121
Exerccio de fixao 1 e
Instalao do servidor DHCP
Instale o servidor de DHCP na mquina virtual SERVIDOR, verifique se o servio est funcionando e se o arquivo dhcp.leases foi criado. Se o arquivo dhcp.leases no foi gerado, ser
necessrio cri-lo manualmente.
Telnet
11 O objetivo principal a conexo a mquinas remotas de forma padronizada, tanto
A maior desvantagem do Telnet que todo o trfego na rede em texto plano. Desse modo,
122
todos os dados enviados, incluindo login e senha, podem ser interceptados para ferramentas
de captura ativas na rede. Recomenda-se a utilizao de Telnet somente quando no houver
cliente SSH disponvel. Outra possibilidade a utilizao de Telnet em redes internas seguras
ou Virtual Private Network (VPN).
Cliente Telnet
$ telnet <nome do servidor>
11 open <nome do servidor>: inicia uma sesso.
11 close: encerra sesso e retorna ao modo de comando.
11 exit: encerra sesso e sai do Telnet.
11 ?: exibe menu de ajuda.
Para que um host inicie uma conexo com um servidor, necessrio que o daemon telnetd
esteja disponvel e em execuo. Uma sesso Telnet pode ser estabelecida entre mquinas
independentemente dos Sistemas Operacionais, e pode ser utilizada para acessar servidores, roteadores, switches etc. Exemplo de conexo com Telnet:
$ telnet leao.linux.lan
Trying leao.linux.lan ...
Connected to leao.linux.lan (192.168.0.3)
Escape character is ^]
Debian Sarge Kernel 2.6.153
login:
password:
Last login: Seg Out 16 09:32:54 from onca.linux.lan
$ netstat nr
Kernel IP routing table
Destination Gateway Genmask Flags
192.168.0.0
0.0.0.0
127.0.0.0 0.0.0.0
255.255.255.0 U
255.0.0.0
0.0.0.0 192.168.0.1
0.0.0.0 UG
$ exit
Servidor Telnet
Red Hat/Fedora
# rpm -ivh <pacote telnet>.rpm
# chkconfig telnet on
chkconfig telnet off
Debian
# apt-get install telnetd
(instala Telnet)
(ativa Telnet)
(para desabilitar)
123
No Debian o servidor Telnet utiliza inetd, em vez de xinetd. Para parar o servidor, deve-se
comentar a linha do Telnet no arquivo /etc/inetd.conf, reiniciando o servidor inetd em
seguida com o comando:
# /etc/init.d/inetd restart
O xinetd possui maior flexibilidade que o inetd, por permitir a utilizao de filtros de acesso
baseados, por exemplo, em endereo IP de origem. Para trocar o inetd pelo xinetd, necessrio instalar o pacote xinetd e criar o arquivo de configurao /etc/xinetd.d/telnet.
Formas de melhorar a segurana:
11 Utilizar somente em redes locais seguras.
11 Utilizar VPNs se dados trafegarem em redes pblicas.
11 Mudar a porta utilizada pelo servidor.
22 Melhora parcial.
22 Ferramentas portscan podem detectar a nova porta.
11 Restringir o acesso por IP de origem.
Alm da utilizao do Telnet somente em redes locais seguras ou com VPN em redes
pblicas, pode-se ainda utilizar dois mtodos adicionais para melhorar um pouco a segurana: troca da porta utilizada pelo servidor; restrio do acesso a alguns IPs.
# Arquivo /etc/xinetd.d/telnet
# default: on
# description: The telnet server serves telnet sessions
# unencrypted username/password pairs for authentication.
service stelnet
{
flags
= REUSE
socket_type
wait
124
user
server
= stream
= no
= root
= /usr/sbin/in.telnetd
log_on_failure
disable
port
= 7777
only_from
}
+= USERID
= no
Nesse caso, pode-se escolher entre permitir ou restringir o acesso de usurios annimos.
125
Nos dois casos podemos conceder privilgios de leitura (download) e escrita (upload) a
determinadas pastas e arquivos. Entretanto, recomenda-se manter o usurio com acesso
somente para leitura e na pasta pblica. Caso no seja necessrio um usurio annimo,
desejvel ainda bloquear o acesso a esse tipo de usurio.
Funcionamento do FTP
controle
dados
dados
Cliente FTP
Conexes de dados
Servidor FTP
Figura 5.3
Funcionamento
do FTP.
O protocolo FTP baseado em conexes TCP. No entanto, existem dois tipos de conexo:
11 Conexo de controle: estabelecida e mantida durante todo o tempo de sesso; por
essa conexo que so enviados os comandos;
11 Conexes de dados: estabelecidas sempre que solicitada uma transferncia de dados.
Cada um desses arquivos transferido em uma conexo separada. Pode haver mltiplas
conexes simultneas.
Conexo de dados
Cliente FTP
Servidor FTP
FTP passivo
126
Conexo de controle
De: porta alta cliente Para: porta 21 servidor
Conexo de dados
Cliente FTP
Servidor FTP
Um servidor FTP pode funcionar no modo passivo ou ativo. Nos dois casos existem as conexes
de controle e as conexes de dados. A diferena est na parte que origina cada conexo.
Figura 5.4
Tipos de Servidores
Ativo e Passivo.
O acesso a um servidor ativo muitas vezes bloqueado pelo firewall da rede, uma vez que as
conexes de dados so iniciadas por mquinas de fora da rede e com destino a mquinas na
rede interna.
A resposta ao comando ls, que lista os diretrios do servidor, enviada pela porta 20.
Configurao:
11 Servidor ativado sob demanda no inetd (Debian) ou xinetd (Red Hat/Fedora).
Arquivos de configurao:
11 ftpaccess: define autorizaes para acesso.
11 ftpconversions: permite converso de arquivos.
11 ftphosts: permite o controle de acesso a contas no servidor.
11 ftpusers: lista usurios que no acessam FTP.
Alguns arquivos de configurao devem ser editados antes da inicializao do servidor FTP
embutido na instalao no Linux, tais como:
11 ftpaccess: define autorizaes de acesso a arquivos, o nmero mximo de falhas de
login e controles gerais de comportamento do servidor.
11 ftpconversions: permite a converso dos arquivos antes que sejam transferidos.
11 ftphosts: permite o controle de acesso a contas no servidor, podendo permitir ou negar
o acesso a determinados usurios, hosts ou redes.
11 ftpusers: lista os usurios, normalmente de sistema, que no podem acessar o servidor FTP.
/bin
Figura 5.5
Estrutura de
diretrios.
Executveis
usados pelo
servidor
(daemon)
/dev
Alguns sistemas
usam dispositivos
especiais
/etc
/pub
Diretrio pblico
disponvel para
acesso annimo
/usr
/lib
Bibliotecas
usadas pelo
servidor (daemon)
/ftp
127
Em uma estrutura de diretrios tpica existe o diretrio pub, alm dos diretrios referentes
ao binrio (daemon) e bibliotecas utilizadas. Esse diretrio indicado como o diretrio raiz
para usurios annimos.
Alguns comandos FTP:
128
privacidade da informao;
129
OpenSSH
11 Implementao open source do SSH.
22 openssh-server
11 Editar arquivo de configurao:
22 /etc/ssh/sshd_config
130
Comando ssh
Permite efetuar login e executar comandos em uma mquina remota. Exemplo:
# /etc/ssh/ssh_config
Port 22
Protocol 2,1
ListenAddress 0.0.0.0
PermitRootLogin no
X11Forwarding no
CheckMail no
RSAAuthentication yes
DSAAuthentication yes
RhostsRSAAuthentication no
IgnoreRhosts yes
PasswordAuthentication yes
PermitEmptyPasswords no
RhostsAuthentication no
131
Estabelecendo conexo
11 Ao conectar-se pela primeira vez a determinado servidor, exibida a seguinte mensagem:
SCP
11 Permite a cpia de arquivos entre hosts de forma segura.
# scp usuario1@leao.linux.lan:/tmp/teste.txt
Podem ainda ser transferidos todos os arquivos de uma determinada pasta:
# scp R usuario1@leao.linux.lan:/home/usuario1/pasta/*
132
# scp * usuario1@leao.linux.lan:/home/usuario1/
SFTP
11 Permite realizar de forma segura a transferncia de arquivos entre hosts.
# sftp usuario@<hostremoto>
Assim como o SCP, o SFTP uma alternativa segura ao FTP na transferncia de arquivos e
tambm utiliza criptografia para transmisso de dados. Uma vantagem do SFTP em relao
ao SCP ocorre quando no sabemos exatamente a localizao do arquivo a ser transferido.
A seguir apresentado um exemplo de acesso, no qual efetuado o download do
arquivo teste.txt:
# sftp 192.168.0.1
Connecting to 192.168.0.1
root@192.168.0.1s password:
sftp> ls
pasta1
pasta2
pasta3
sftp> cd pasta1
sftp> ls
teste.txt
sftp> get teste.txt
teste.txt 100% 10KB 12.3KB/s
Gerao de chaves
ssh-keygen -t <tipo>
11 Onde <tipo> pode ser:
22 rsa1: gera chaves no padro RSA para a verso SSH1.
22 rsa: gera chaves no padro RSA para a verso SSH2.
22 das: gera chaves no padro DSA apenas para verso SSH2.
22 ecdsa: gera chaves no padro ECDSA apenas para verso SSH2.
sftp> exit
133
Em algumas situaes pode ser necessria a utilizao de scripts que copiaro arquivos de
um servidor para outro, o que geralmente ocorre em situaes de replicao de contedo
entre servidores espelho, de backup, de armazenamento de logs etc. Nesses casos, esses
scripts precisaro acessar o servidor remoto para enviar ou buscar arquivos sem a utilizao
de senha. Para isso podem ser geradas chaves de encriptao baseadas em endereos IP
dos dois servidores.
Para evitar que um usurio ou administrador de um servidor acesse livremente o
outro, recomenda-se a criao de usurios com poucos privilgios nas duas mquinas.
A seguir, os passos necessrios:
11 Gerar a chave com o comando ssh-keygen -t <tipo>;
11 Copiar o arquivo id_rsa.pub, se for escolhido o tipo RSA para a mquina de destino;
11 No destino deve ser criada uma pasta oculta .ssh com permisso 700;
11 O usurio deve incluir o arquivo id_rsa.pub no arquivo authorized_keys na mquina remota.
Agente SSH
11 Permite automatizar a autenticao atravs de um agente SSH.
134
Roteiro de Atividades 5
Nestas atividades os alunos devem trabalhar com trs mquinas virtuais:
11 Servidor Linux.
11 Cliente Linux.
11 Cliente Windows.
default-lease-time 21600;
max-lease-time 43200;
}
Reinicie o servidor DHCP:
# /etc/init.d/isc-dhcp-server restart
1. Verifique o contedo do arquivo dhcpd.leases;
2. Verifique o contedo do arquivo de dhcpd.lease antes da inicializao do cliente.
3. O arquivo no deve possuir nenhuma entrada.
4. Reinicie a interface de rede da estao de trabalho Linux.
Verifique se no arquivo de configurao da interface (/etc/network/interfaces) est descrito
que ser feita pesquisa por um servidor de DHCP. Exemplo:
auto eth1
iface eth1 inet dhcp
5. Verificar a existncia do arquivo dhcp.leases:
136
Configure o servidor de DHCP para sempre fornecer o endereo 192.168.1.3 para a interface
de rede com o endereo MAC 00:D0:B7:01:D1 (mquina virtual Linux).
Devido s vulnerabilidades encontradas no servio Telnet, foi criado o protocolo SSH, que
137
local_umask.
138
Atividade 5.10 Criando uma conexo FTP segura com o comando SFTP
Nesta atividade os alunos devero utilizar o cliente e o servidor Linux.
1. Verifique se ambos esto na mesma rede e se o servidor possui o endereo 192.168.1.1 e
o cliente possui o endereo 192.168.1.2.
2. Utilize o comando SFTP para transferir um arquivo do servidor para o cliente Linux.
6
Instalar e configurar o servidor web Apache, em verso compilada e atravs do
cdigo-fonte, configurar servidores virtuais e o servidor web seguro, usando
certificados digitais, habilitar no Apache o recurso de publicao de pginas pessoais.
conceitos
Introduo
Este captulo aborda os conceitos fundamentais de servidores web, como arquitetura,
esquema de funcionamento, protocolo HTTP, servidores web, servidor Apache e a instalao
e testes com o servidor Apache.
Na primeira parte so apresentados os conceitos iniciais, arquitetura e protocolo. Em
seguida so abordados os recursos comuns aos diversos servidores web atualmente disponveis, tais como:
11 Proxy web;
11 Domnio virtual;
11 Servidor seguro (SSL).
Por ltimo so apresentados os recursos do servidor web Apache, inclusive sua instalao,
configurao e testes.
Conceitos fundamentais
World Wide Web (WWW):
11 Desenvolvida para permitir o acesso a informaes organizadas em forma de hipertexto.
11 Permite a recuperao de informao:
22 Texto.
22 Imagens (estticas e animadas).
22 udio etc.
11 Baseada na arquitetura cliente/servidor.
q
Captulo 6 - Servidor web
objetivos
Servidor web
139
para o cliente.
Identificao de servidores, servios e arquivos de modo uniforme.
22 Uniform Resource Locator (URL).
A internet, muitas vezes denominada World Wide Web (WWW), permite um grande e variado
trnsito de informaes, tais como textos, documentos, contedos multimdia, mensagens etc.
Umas das ferramentas mais utilizadas para o envio e a recuperao de informaes so os
servidores web, que permitem o envio de textos, mensagens, imagens e udio. Para isso, um
determinado servidor web pode usar pginas estticas, que so nada mais do que arquivos
presentes no sistema de arquivos do servidor, ou pginas dinmicas, que so contedos
gerados dinamicamente e sob demanda para o cliente que as solicita. Essa ltima forma
muito utilizada em transaes pela internet. Nesse caso, o contedo pode ser gerado pelo
prprio servidor web que atende ao pedido dos clientes, ou ento por outro servidor acoplado que processa e repassa o contedo.
A comunicao web lida com um processo do tipo cliente/servidor. Nesse caso um cliente
(navegador web) envia uma solicitao ao servidor web, que processa a solicitao e envia
a resposta ao cliente. A solicitao enviada pelo cliente consiste em uma Uniform Resource
Locator (URL), por exemplo: http://www.rnp.br. Essa solicitao enviada para o servidor
web, que encaminha o contedo associado a esse endereo, que pode conter textos,
imagens e udio.
A sigla URL era anteriormente conhecida por Universal Resource Locator.
Campos da URL
Protocolo: // servidor [:porta] / caminho / arquivo
140
Caminho:
Exemplo de URL
Acesso pgina principal da RNP.
11 http://www.rnp.br:80/index.html
22 Protocolo: http
22 Servidor: www.rnp.br
22 Porta: 80
22 Caminho: /
22 Arquivo: index.html
Ou simplesmente:
11 www.rnp.br
Entre as vrias informaes de uma URL, usamos: protocolo, servidor, porta, caminho e
arquivo. Alguns desses dados podem ser omitidos quando digitamos a URL no navegador ou
em um link da pgina web. Logo, o acesso a determinada pgina web pode ser feito digitando, por exemplo: http://www.rnp.br:80/index.html ou www.rnp.br
No exemplo apresentado, no foi necessrio, ao informar uma URL no navegador, passar
o protocolo, porta e arquivo. Isso possvel porque os navegadores web encaminham por
padro uma consulta utilizando o protocolo HTTP e a porta padro 80. O servidor web, por
sua vez, envia como resposta a pgina padro especificada em seu arquivo de configurao,
141
Esquema de funcionamento
URL / HTTP
HTML / MIME
Web Browser
Web Server
Figura 6.1
Esquema de
funcionamento:
transferncia
de dados entre
cliente (browser) e
servidor.
Internet
Web Browser
Web Server
Dispositivo
de arquivos
Servidor web
11 Todos os web sites tm processos servidores que escutam a porta TCP 80, aguardando
conexes dos clientes.
11 Aps estabelecida uma conexo, o cliente envia uma solicitao e o servidor envia uma
resposta.
11 O protocolo que define as solicitaes e respostas vlidas chamado de HyperText
Transfer Protocol (HTTP).
Cliente web
11 Disponibiliza um mecanismo de busca, transferncia e apresentao de dados contidos
em servidores web.
11 O navegador, tambm denominado browser, busca a pgina solicitada, interpreta seu
texto, seus comandos de formatao e apresenta os dados na tela.
11 Entre os navegadores mais conhecidos hoje esto: Netscape, Mozilla, Firefox, Thunderbird,
Konqueror, Internet Explorer, Safari. Alm do Lynx, um navegador de linha de comando
142
Protocolo HTTP
Hyper Text Transfer Protocol (HTTP).
Tipos de pedidos
Pedidos simples
11 Pedido:
Pedidos completos
11 Pedido:
Quando um pedido enviado, uma resposta retorna contendo um cdigo e o contedo solicitado. O cdigo retornado pode indicar sucesso ou fracasso da operao.
Alguns cdigos possveis:
11 100: Continue.
11 101: Switching Protocols.
143
11 200: Ok.
11 201: Created.
11 202: Accepted.
11 203: Non-Authoritative Information.
11 204: No Content.
11 205: Reset Content.
11 206: Partial Content.
11 300: Multiple Choices.
11 301: Moved Permanently.
11 302: Found.
11 303: See Other.
11 304: Not Modified.
11 305: Use Proxy.
11 307: Temporary Redirect.
11 400: Bad Request.
11 401: Unauthorized.
11 402: Payment Required.
11 403: Forbidden.
11 404: Not Found.
11 405: Method Not Accepted.
11 406: Not Acceptable.
11 407: Proxy Authentication Required.
11 408: Request Time-out.
11 409: Conflict.
11 410: Gone.
11 411: Lenght Required.
11 412: Precondition Failed.
Administrao de Sistemas Linux: Servios para Internet
144
Mtodos
11 GET: pedido para ler uma pgina.
11 HEAD: pedido para ler o cabealho de uma pgina web.
11 PUT: pedido para gravar uma pgina web.
citar uma determinada pgina web; mtodo PUT para gravar uma pgina web; mtodo POST
para inserir um recurso.
Pedido FTP
Resposta FTP
Browser HTTP
Pedido HTTP
Pedido FTP
Resposta HTTP
Resposta FTP
Browser HTTP
Proxy FTP
Servidor FTP
Domnio Virtual
11 Diferentes sites so hospedados em um mesmo servidor web.
Figura 6.2
Esquema de
funcionamento do
servidor web-proxy.
Servidor FTP
145
Domnio Virtual (Virtual Hosting) uma tcnica que permite a hospedagem de mltiplos
sites no mesmo servidor, com cada um deles contendo pginas e contedos diversos. Esse
recurso amplamente utilizado por grandes empresas, provedores de internet, datacenters
etc. Sua grande vantagem a eliminao da necessidade de servidores dedicados a cada um
dos sites que hospeda, permitindo que uma grande empresa que possua sites diferentes
associados cada diviso e/ou produto possa agrup-los num nico servidor, o mesmo
valendo para provedores de internet e datacenters, que podem reunir em uma nica
mquina os diversos clientes que possui.
Vantagens:
11 Facilidade de administrao: em virtude da reduo da quantidade de servidores a
administrar, requer menor quantidade de hardware e software, o que facilita a aquisio,
configurao e backup.
11 Economia de recursos: menor demanda de recursos de infraestrutura, como espao
fsico e consumo de energia.
Quando utilizado Domnio Virtual, deve-se ficar atento necessidade de o servidor
DNS resolver cada um dos endereos utilizados, para isso devendo possuir um alias
(CNAME) para cada site hospedado.
146
Business-to-Consumer (B2C).
Transao entre
empresa e consumidor,
utilizada em compras
ou transaes bancrias
pela internet.
Os casos em que o servidor procura autenticar o cliente so mais raros; entre eles, podemos
citar a declarao de impostos pela internet, por meio de certificados digitais, para comprovar a identidade das partes envolvidas.
Servidores web
Existe atualmente grande quantidade de navegadores (browsers) de internet.
Ao analisar os servidores web atualmente disponveis, podemos considerar algumas caractersticas associadas a recursos e disponibilidade.
Em relao aos recursos disponveis, podemos considerar:
11 Autenticao: autentica um usurio por meio de um login e senha, com texto plano ou
criptografado (HMAC);
11 Criptografia (SSL e TLS Transport Layer Security): suporte conexo encriptada;
11 Domnio virtual: suporte a mltiplos sites com um nico endereo IP;
11 Contedo dinmico (cgi-bin, Servlet, SSI, PHP e ASP): suporte gerao de pginas interativamente;
11 Mdulos (carregados dinamicamente): capacidade de carregar mdulos sob demanda;
11 Compresso de contedo: capacidade de comprimir contedo enviado ao usurio para
economizar largura de banda;
11 Limitao de usurios e/ou largura de banda: capacidade de limitar largura de banda
e/ou nmero de conexes inclusive por usurio, evitando saturar o servidor ou a rede;
11 Modo de execuo (espao de usurio ou ncleo do sistema): forma de acesso aos
recursos do sistema, especialmente memria e processador.
Considerando a disponibilidade:
11 Sistemas Operacionais em que pode ser executado;
11 Cdigo livre: cdigo-fonte disponvel ou no;
11 Tipo de licena: tipo de licena disponibilizada;
11 Custo de aquisio.
147
11 Composto de daemon que atua na porta 80 (http) e 443 (https), ou qualquer outra
porta a seguir da 1024.
11 Somente o root pode executar ou parar o servidor.
22 Ativa vrios processos filho que escutaro e respondero s solicitaes.
11 Mantm vrios processos em execuo, com mltiplas threads em cada um.
22 Mltiplos processos: estabilidade.
22 Mltiplas threads: maior capacidade em atender solicitaes, consumindo
menos recursos.
O servidor web Apache possui instalao relativamente simples, podendo ser instalado a
partir de pacotes prontos ou ser compilado durante o processo de instalao.
Para ser colocado em execuo, deve ser ativado o daemon, o que pode ser feito somente
pelo root. Esse daemon executa algumas tarefas iniciais bsicas, como ativar os arquivos de
log e em seguida ativar os processos filhos, que escutaro e respondero s solicitaes dos
clientes (browsers). O processo httpd principal executa com privilgio de root, enquanto os
148
Exerccio de fixao 1 e
Correlacione as colunas
Correlacione as colunas de acordo com as diretivas do Apache.
1. ErrorLog
2. LogLevel
3. CustomLog
4. AccessFileName
5. Listen
6. User/Group
7. ServerAdmin
8. ServerRoot
9. ServerName
10. DocumentRoot
149
150
Roteiro de Atividades 6
Atividade 6.1 Instalao do servidor web Apache
Esta atividade pode ser feita tanto pelo cliente Windows quando pelo cliente Linux. importante que tanto a mquina cliente quanto o servidor estejam na mesma rede.
# apt-get update
# apt-get install apache2
2. Para testar a instalao, abra o navegador da estao de trabalho Windows ou Linux e
acesse a URL correspondente ao endereo IP do servidor (exemplo: http://192.168.1.1).
11 Crie o arquivo index.html com um texto de boas-vindas, para ser exibido quando o
domnio for acessado.
11 Crie o diretrio /var/www/meusite , que ser usado como diretrio root do virtual host;
152
7
objetivos
conceitos
Servidor Postfix, teste do servidor com Telnet e envio de mensagem para usurios
atravs do shell de comando.
Introduo
O estudo deste captulo tem como objetivo capacitar o aluno a projetar, instalar e configurar
um servidor de correio eletrnico Postfix. Sero apresentados conceitos tericos, o funcionamento do correio eletrnico e os protocolos SMTP, POP e IMAP. Em seguida, aspectos e
recursos da ferramenta Postfix. Por ltimo, veremos a parte prtica envolvendo instalao,
configurao e testes com o servidor de correio eletrnico Postfix, no qual so incentivadas
boas prticas de configurao e administrao.
11 Desenvolvido para permitir a troca de mensagens entre usurios por meio eletrnico.
11 Permite o envio de arquivos anexados s mensagens.
11 Documentos, planilhas, imagens, vdeos etc.
Figura 7.1
Troca de
mensagem.
O correio eletrnico um dos servios mais usados na internet, permitindo que usurios conectados em qualquer ponto da rede troquem mensagens entre si e com outros. Atravs dessas
mensagens podem ser enviados textos e arquivos anexados, como documentos, planilhas,
Correio eletrnico
imagens, vdeos e outros. uma ferramenta extremamente importante no incremento da produtividade, pois integra e aproxima os usurios com a facilitao da troca de informaes.
153
rios de computadores de grande porte. Logo foi adaptado para troca de mensagens por meio
de terminais remotos. Em 1969, j com a ARPANET, surgiu a utilizao do smbolo @ como
separador entre nome de usurio e domnio. Com a internet, a utilizao do e-mail foi multiplicada, tornando-se juntamente com o acesso pgina web um dos servios mais utilizados.
MTA1
MTA2
MUA1
Figura 7.2
Funcionamento do
correio eletrnico.
MUA2
Durante o processo de envio de mensagens so utilizados dois tipos de programas: de transporte e de usurio. O primeiro tipo cuida do envio da mensagem entre a origem e o destino.
O segundo permite ao usurio ler e escrever suas mensagens. Tambm denominados respectivamente de agentes de transferncia de mensagens e agentes de usurio.
Agentes de transferncia de mensagens ou Mail Transfer Agent (MTA):
11 Permitem o deslocamento das mensagens da origem ao destino;
154
SMTP
Figura 7.3
Protocolos
utilizados.
SMTP
POP3/IMAP
POP3/IMAP
Ao longo do processo de envio de uma mensagem, so utilizados alguns protocolos, tais como:
Simple Mail Transfer Protocol (SMTP), Post Office Protocol (POP3) e Internet Message Access
Protocol (IMAP). O primeiro utilizado na transferncia de mensagens entre os MTAs, enquanto
os outros dois podem ser utilizados no envio de mensagens do MUA para o MTA e vice-versa.
O usurio, ao escrever sua mensagem, pode faz-lo desconectado da rede (off-line). Para
enviar suas mensagens, deve estar conectado rede, seja ela local ou discada. De maneira
simplificada, podemos afirmar que as mensagens so colocadas em uma espcie de caixa de
entrada do servidor de correio eletrnico.
O servidor de correio eletrnico fica constantemente verificando se existem mensagens a
serem enviadas. Caso a mensagem seja destinada a usurios no mesmo servidor, encaminhada a uma caixa de entrada para que sejam distribudas para os usurios. Se a mensagem
for destinada a outro servidor de correio, solicitada uma conexo com esse servidor,
sendo ento encaminhada a mensagem a ele, que analogamente coloca a mensagem em
uma caixa de entrada para posterior distribuio aos seus usurios.
Protocolo SMTP
11 O objetivo do protocolo SMTP transferir mensagens de maneira confivel e eficiente.
SMTP - origem
SMTP - destino
Figura 7.4
Protocolo SMTP.
somente um ponto (<CRLF>.<CRFL>). Aps o envio dos dados, o SMTP-destino confirma com OK.
155
S: QUIT
R: 221 <identificao SMTP-destino> Service closing transmission
channel
Exemplo de uma transao SMTP:
11 SMTP-origem (S): MAIL FROM:<Smith.Alpha.ARPA>
11 SMTP-destino (R): 250 OK
11 S: RCPT TO:Jones@Beta.ARPA
11 R: 250 Ok
11 S: DATA
11 R: 354 Start mail input; end with <CRLF>.<CRLF>
11 S: ...etc. etc. etc.
11 S: <CRLF>.<CRLF>
11 R: 250 Ok
A seguir so apresentados alguns cdigos de reply do protocolo SMTP:
11 211 System status, or system help reply
11 220 <domain> Service ready
11 221 <domain> Service closing transmission channel
11 250 Requested mail action okay, completed
11 251 User not local; will forward to <forward-path>
11 354 Start mail input; end with <CRLF>.<CRLF>
Administrao de Sistemas Linux: Servios para Internet
Protocolo POP3
Permite a uma estao acessar suas mensagens no servidor de modo simples.
Comandos POP3
11 Autenticao: USER name; PASS string e QUIT.
11 Transao: STAT; LIST [msg]; RETR msg; DELE msg; NOOP; RSET e QUIT.
Comandos POP3 (opcionais):
11 Autenticao: APOP name digest.
11 Transao: TOP msg n e UIDL [msg].
11 Respostas POP3:
22 +OK e -ERR.
plas linhas. Cada linha termina com <CRLF>. A ltima linha consiste de um cdigo decimal
157
STAT e LIST).
11 Na sequncia, as mensagens so recuperadas (download) e marcadas para remoo.
11 Durante o encerramento as mensagens so excludas e a sesso encerrada.
Exemplo de uma sesso do POP3:
Servidor (S): <wait for connection on TCP port 110>
Cliente (C): <open connection>
S: +OK POP3 server ready
<1896.697170952@dbc.mtview.ca.us>
C: APOP mrose
c4c9334bac560ecc979e58001b3e22fb
S: +OK mroses maildrop has 2 messages (320 octets)
C: STAT
158
C: LIST 55
S: +OK 2 messages (320 octets) 5
S: 1 120
S: 2 200
S: .
C: RETR 1
S: +OK 120 octets
S: <the POP3 server sends message 1>
S: .
C: DELE 1
S: +OK message 1 deleted
C: RETR 2
S: +OK 200 octets
S: <the POP3 server sends message 2>
S: .
C: DELE 2
S: +OK message 2 deleted
C: QUIT
S: +OK dewey POP3 server signing off
S: +OK 2 320 (maildrop empty)5
(maildrop empty)
C: <close connection>
Protocolo IMAP
11 Permite a um cliente acessar e manipular mensagens no servidor.
11 Atua de maneira a permitir uma manipulao da caixa postal (pastas remotas) como
Prov ainda uma srie de recursos para manipulao de mensagens no servidor, tais como:
possibilidade de criar, remover e renomear pastas; ativar ou remover marcadores (flags);
Multipurpose Internet Mail Extensions (MIME) parsing: permite a busca e a seleo de
mensagens por dados do cabealho, corpo ou anexos. Permite ainda suporte a acesso concorrente a caixas de mensagens compartilhadas. O cliente no precisa conhecer o formato
utilizado para o armazenamento das mensagens.
Conexo estabelecida
Figura 7.5
Protocolo IMAP.
SERVER GREETING
160
NOT AUTHENTICATED
AUTHENTICATED
SELECTED
7
LOGOUT
Fim da conexo
Para recuperar uma mensagem ou para efetuar uma entre as vrias opes possveis,
inicialmente estabelecida uma conexo TCP. Aps estabelecida uma conexo, ocorre uma
operao de saudao (server greeting), e em seguida a conexo muda de estado, podendo
estar em um dos seguintes estados:
11 server greeting: saudao inicial do servidor;
11 not authenticated (no autenticado): o cliente deve fornecer credenciais (login e senha)
antes de encaminhar qualquer comando. Conexes pr-autenticadas passam diretamente ao estado seguinte;
11 authenticated (autenticado): o cliente deve selecionar uma caixa de mensagens antes de
emitir comandos relacionados s mensagens;
11 selected (selecionado): estado alcanado aps uma caixa de mensagens ser selecionada;
11 logout: estado alcanado aps uma operao de LOGOUT do cliente ou por aes unilaterais do cliente ou do servidor.
Comandos vlidos em qualquer estado:
11 CAPABILITY
11 NOOP
11 LOGOUT
Estado: Not Authenticated.
11 AUTHENTICATE
11 LOGIN
11 STARTTLS
Comandos:
11 CAPABILITY: solicita lista de recursos suportados pelo servidor.
11 NOOP: utilizado para zerar algum contador de inatividade (time-out); no solicita nada.
11 LOGOUT: o cliente informa ao servidor que terminou suas atividades e deseja encerrar.
11 AUTHENTICATE: comando para iniciar autenticao (SASL) com o servidor.
11 LOGIN: utilizado para identificar o cliente, sendo informados usurio e senha em texto
11 STARTTLS: comando para iniciar autenticao TLS.
Estado Authenticated:
11 Comandos vlidos em qualquer estado:
11 CAPABILITY, NOOP, LOGOUT, SELECT, EXAMINE, CREATE, DELETE, RENAME, SUBSCRIBE, UNSUBSCRIBE, LIST, LSUB, STATUS e APPEND.
Estado Selected:
11 Vlidos em qualquer estado:
22 CAPABILITY, NOOP e LOGOUT.
11 Vlidos em Authenticated:
22 SELECT, EXAMINE, CREATE, DELETE, RENAME, SUBSCRIBE, UNSUBSCRIBE, LIST, LSUB,
STATUS, APPEND, CHECK, CLOSE, EXPUNGE, SEARCH, FETCH, STORE, COPY e UID.
plano.
161
Comandos:
11 SELECT: seleciona uma caixa de mensagens para acess-las;
11 EXAMINE: comando anlogo ao SELECT, porm acessa mensagem em modo de leitura
(read-only);
11 CREATE: cria uma caixa de mensagens;
11 DELETE: remove uma caixa de mensagens e todas as mensagens em seu interior. No
remove caixa de entrada (INBOX), somente seu contedo;
11 RENAME: renomeia uma caixa de mensagens existente;
11 SUBSCRIBE: adiciona uma caixa de mensagens a um servidor de notcias;
11 UNSUBSCRIBE: remove uma caixa de mensagens de um servidor de notcias;
11 LIST: efetua busca baseada em parmetros, inclusive caractere curinga;
11 LSUB: similar ao LIST, porm utiliza os servidores de notcia;
11 STATUS: solicita o status de uma determinada caixa de mensagens;
11 APPEND: comando para adicionar informao de mensagens a uma determinada caixa
de entrada.
11 CHECK: solicita uma atualizao (checkpoint) da caixa de mensagens atual.
11 CLOSE: remove as mensagens marcadas para excluso.
11 EXPUNGE: remove as mensagens marcadas para excluso, confirmando sequencialmente.
11 SEARCH: busca por mensagens de acordo com o critrio especificado.
11 FETCH: busca dados associados com a mensagem selecionada.
11 STORE: armazena na caixa de mensagens as modificaes efetuadas nas mensagens.
11 COPY: copia uma determinada mensagem para o final da caixa de mensagens de destino.
11 UID: funciona de dois modos. No primeiro em conjunto com COPY, FETCH ou STORE,
efetua a operao especfica sobre a mensagem. No segundo, em conjunto com SEARCH,
retorna as mensagens solicitadas.
adequada de:
162
11 Syslog;
11 DNS.
Hostname
Um servidor deve possuir um endereo Fully Qualified Domain Name (FQDN), por exemplo
mail.linux.lan. O hostname utilizado para saudao a outro servidor. O servidor pode
estar repassando mensagens para outros servidores, que verificam o hostname efetuando
uma consulta reversa ao DNS, descartando a mensagem cuja origem no foi adequadamente confirmada.
Conectividade
O firewall deve permitir conexes de entrada e sada na porta 25 utilizada pelo protocolo SMTP.
11 System Time e Timestamps: relgio do sistema deve estar sincronizado.
Syslog
Ferramenta do Sistema Operacional utilizada na anlise e diagnstico de problemas.
O servidor Postfix utiliza log padro do Linux. Logo o servio syslogd deve estar em execuo, e no arquivo /etc/syslog.conf devem constar entradas associadas ao servidor de
mensagens. Por exemplo:
# arquivo /etc/syslog.conf
mail.none; authpriv.none; cron.none
-/var/log/messages
mail.* -/var/log/maillog
DNS
extremamente importante estar com o servio DNS do domnio funcionando corretamente antes de ativar o servidor Postfix. Ao enviar mensagens, o MTA precisa resolver o
endereo do servidor de destino, assim como o servidor de destino deve efetuar uma confirmao da origem por meio de uma consulta reversa ao DNS.
Servidor de e-mail deve estar registrado no DNS do domnio.
11 Permitindo que qualquer servidor na internet possa enviar mensagens a esse servidor.
11 Existem trs tipos de entradas que devem estar presentes no DNS:
cron.* -/var/log/cron
163
Exemplo:
11 dig mail.linux.lan MX
22 Retorna informao do servidor de e-mail do domnio linux.lan.
11 dig x 200.130.77.75
22 Verificao do FQDN associado ao endereo IP.
Utilize sempre o comando dig para testar o funcionamento do servidor DNS, verificando as
respostas por ele devolvidas.
Exemplo:
# dig mail.linux.lan MX
; <<>> DiG 9.2.2 <<>> mail.linux.lan MX
;; global options: printcmd
IN
;; ANSWER SECTION
; mail.linux.lan. 86400 IN
MX
10
mail.linux.lan.
; mail.linux.lan. 86400 IN
MX
20
mail2.linux.lan.
NS
mar.linux.lan.
;; AUTHORITY SECTION
; mar.linux.lan. 86400 IN
;; Query time: 10 msec
;; Server: 172.25.0.130#53
164
MX
Postfix
Mensagem (Origem)
Mensagem (Destinatrio)
Postx
SMTP
SMTP
UUCP
LMTP
QMQP
Postx
local
pipe
sendmail
Figura 7.7
Conexes e Mapas.
transport
virtual
aliases
De modo anlogo a um roteador, o Postfix tambm recebe mensagens por mltiplas origens
e pode encaminh-las tambm a mltiplos destinos. Uma mensagem pode chegar por meio
do sendmail local, por uma conexo SMTP, Unix to Unix Copy (UUCP), ou mesmo Quick Mail
Queuing Protocol (QMQP). O destino dessa mensagem pode ser uma caixa local, outro servidor
SMTP, uma conexo Local Mail Transfer Protocol (LMTP), ou ainda um pipe para um programa.
Figura 7.6
Funcionamento
do Postfix.
165
Para determinar se as mensagens que chegam sero aceitas, ou mesmo para determinar
o mtodo que ser utilizado para encaminhar a mensagem, o Postfix faz uso dos mapas,
que impem permisses ou restries baseadas na origem, destino, e mesmo no contedo das mensagens.
transport
aliases
.forward
resolve
local
mailbox
local
rewrite
sendmail
maildrop
Internet
RBL
pickup
cleanup
incoming
active
qmgr
smtp
Internet
canonical
virtual
deferred
relocated
pipe
UUCP etc.
smtpd
access
166
Figura 7.8
Arquitetura
do Postfix.
11 Red Hat/Fedora.
167
O arquivo de configurao main.cf possui um conjunto de diretivas que norteiam o comportamento do servidor de e-mail Postfix. Nesse arquivo informado se o servidor cuidar
somente de mensagens locais do sistema ou de determinada rede ou domnio; os destinos
permitidos para o envio de mensagens; as redes a partir das quais so aceitas mensagens;
se esse servidor encaminha mensagens oriundas de outros servidores (relay) etc.
11 $myhostname.
22 Nome enviado durante a saudao entre MTAs, refere-se ao contedo aps a @.
33 Exemplo: usuario@mail.linux.lan
11 $mydomain domnio atual (opcional).
22 Determinado automaticamente se myhostname estiver configurado; contedo
aps o . depois da @.
11 $mydestination.
22 Aceita mensagens para o domnio listado.
22 Exemplo: mydestination = $mydomain
myhostname = mail.linux.lan
myorigin = $myhostname
11 $myorigin:
22 Domnio que aparece em mensagens enviadas a outras mquinas.
22 Utilizado para garantir que mensagens estejam com remetente no formato FQDN.
11 $mynetworks_style:
22 Especifica de onde sero aceitas mensagens.
11 $mynetworks:
22 Lista de clientes SMTP autorizados a efetuar relay a partir desse servidor.
Sempre que os arquivos de configurao forem modificados, devem ser lidos novamente
para que seus novos valores entrem em vigor. Recomenda-se utilizar nesse caso o parmetro reload, que faz com que o servidor leia as novas informaes sem reiniciar. O parmetro restart faz com que o servidor tenha sua execuo interrompida e reiniciada, o que
causa a indisponibilidade do servidor por alguns momentos.
11 necessrio associar nome de e-mail a usurios.
# arquivo /etc/postfix/aliases
usuario1 uc0001
usuario2 uc0002
joao uc0003
Em seguida, deve-se atualizar os mapas com o comando postalias hash:/etc/postfix/aliases e,
na sequncia, recarregar o Postfix.
169
170
Roteiro de Atividades 7
Atividade 7.1 Instalao e configurao do Postfix
Para realizar esta atividade, necessrio que o servidor DNS esteja configurado para o
domnio empresa.com.br com o registro MX email.empresa.com.br apontando para o endereo IP do servidor Linux.
O servidor Postfix pode ser instalado de vrios modos: a partir do cdigo-fonte ou a partir
de instaladores como apt ou synaptic. Nesta atividade, apresentada a instalao com o apt
no Debian, que efetua o download a partir do repositrio.
Por questo de segurana, ser instalado o suporte ao protocolo TLS e gerado certificado
digital para acesso cifrado.
1. Efetue a instalao do servidor Postfix com suporte a TLS.
# dpkg-reconfigure postfix
Sero realizadas as seguintes perguntas:
11 Tipo geral de configurao? Site internet.
11 Nome de mensagens? email.empresa.com.br.
11 Para aonde deve ir o mail para o root? Em branco.
11 Outros destinos para os quais aceitar mensagens? Em branco (para nenhum) email.
empresa.com.br, localhost.empresa.com.br, empresa.com.br, localhost.
11 Forar atualizaes sncronas na fila de mensagem? No.
11 Redes locais? 127.0.0.0/8, 192.168.1.0/24.
11 Usar o procmail para realizar a entrega local? Yes.
171
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
myhostname = email.empresa.com.br
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = email.empresa.com.br, localhost.empresa.com.br,
empresa.com.br, localhost
mynetworks = 127.0.0.0/8, 192.168.1.0/24
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
inet_protocols = all
smtpd_sasl_local_domain =
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
smtpd_recipient_restrictions = permit_sasl_authenticated,permit_
mynetworks,reject_unauth_destination
172
smtpd_tls_auth_only = no
smtp_use_tls = yes
smtp_tls_note_starttls_offer = yes
smtpd_tls_CAfile = /etc/postfix/ssl/cacert.pem
smtpd_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
Criando a CA
# openssl req -new -key smtpd.key -out smtpd.csr
# 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
Criando o certificado do servidor de email
# openssl req -new -x509 -extensions v3_ca -keyout cakey.pem -out
cacert.pem -days 3650
7. Reinicie o servidor Postfix:
# /etc/init.d/postfix restart
8. Configurao da autenticao com saslauthd. Para o Postfix executar na forma chrooted
em /var/spool/postfix preciso realizar as seguintes modificaes:
# mkdir -p /var/spool/postfix/var/run/saslauthd
9. Remova o diretrio /var/run/saslauthd:
# rm rf /var/run/saslauthd
# ln s /var/spool/postfix/var/run/saslauthd /var/run/saslauthd
11. Edite o arquivo /etc/default/saslauthd e ative o saslauthd.
Configure o Start para Yes START=yes e modifique a linha OPTIONS=-c para
OPTIONS=-c -m /var/spool/postfix/var/run/saslauthd -r.
12. Reinicie o saslauthd:
# /etc/init.d/saslauthd restart
173
13. Para verificar se SMTPd com suporte a TLS est funcionando, execute:
# telnet localhost 25
14. Aps estabelecer a conexo com o Postfix execute o comando ehlo para verificar o tipo de
servidor e e-mail:
ehlo localhost
Devem aparecer as linhas 250-STARTTLS e 250-AUTH= LOGIN PLAIN
$ telnet localhost 25
3. Envie um HELO:
HELO localhost
4. Informe o remetente da mensagem:
DATA
174
Isto eh um teste
. // digite uma linha somente com ponto . para encerrar mensagem
7. Encerre a conexo:
QUIT
8. Autentique como usuario2:
# su - usuario2
9. Verifique a chegada de mensagens:
procmail e bind)?
175
176
8
Servidor de correio eletrnico
(parte 2)
o uso de domnios virtuais, controlar o contedo, mail gateways e autenticao SMTP,
aprender as boas prticas para um servidor de e-mail corporativo e orientaes para
ajuste de performance, realizar a troca do mtodo de entrega para maildir, configurao
dos servidores POP e IMAP e testes com os clientes com esses protocolos.
conceitos
Introduo
O estudo deste captulo visa complementar o aprendizado da administrao do servio de
correio eletrnico, onde so ministrados os mtodos de entrega de mensagens e a utilizao
de domnios virtuais. So abordados o controle de contedo, mail gateways e a autenticao
SMTP, alm de recomendaes de boas prticas para um servidor de e-mail corporativo,
complementadas com orientaes para ajuste de desempenho. Ao final, so praticados a
troca do mtodo de entrega para maildir, a configurao dos servidores POP e IMAP e testes
com os clientes utilizando esses protocolos.
Mtodos de entrega
11 Aps receber uma mensagem, um MTA chama outra aplicao para efetuar a entrega
objetivos
podero ficar disponveis ao usurio por tempo indeterminado. Existem vrias formas de
fazer isso. As mais usuais: mbox, maildir ou banco de dados relacional (SQL).
177
mbox
11 Formato padro para caixa de mensagens.
Esse formato no suportado pelo IMAP. Desse modo, o usurio fica limitado a
utilizar o protocolo POP3 para recuperar suas mensagens.
maildir
Formato recomendado atualmente e suportado pelo protocolo IMAP. A caixa de mensagens
do usurio organizada em vrias pastas, geralmente maildir, contendo outras trs pastas:
11 new
11 cur
11 tmp
178
O maildir o formato recomendado atualmente, por ser o mais confivel. Alm disso, o
formato suportado pelo protocolo IMAP. Nesse formato a caixa de mensagens do usurio
organizada em vrias pastas. Cada pasta contm as mensagens distribudas em uma
mensagem por arquivo, alm de um arquivo de ndice. Geralmente uma pasta denominada
maildir contm outras trs pastas:
11 new: para mensagens no lidas;
11 cur: para mensagens lidas;
11 tmp: para mensagens em processo de entrega.
Um dos maiores benefcios do formato maildir a confiabilidade, em razo das mensagens
estarem distribudas uma por arquivo, podendo ser localizadas pelo arquivo de ndice associado. Alm disso, compatvel com o protocolo IMAP, no qual possvel: recuperar somente
os cabealhos de cada mensagem e manipular cada pasta e as mensagens dentro dela.
A simples instalao do Postfix no cria as pastas utilizadas pelo maildir. Nesse caso existem
duas opes: a primeira usar o utilitrio maildirmake, que acompanha o programa Courier
Maildrop; a segunda opo criar as pastas normalmente, o que pode ser feito de vrios
modos. O mais recomendado criar as pastas com as devidas permisses em /etc/skel.
Desse modo, cada novo usurio criado ter automaticamente as pastas prontas.
Domnios virtuais
O Postfix, por padro, reconhece como destino final somente os nomes especificados no
179
# arquivo /etc/postfix/virtual_alias_domains
dominiovirtual.com 20061210
Aps a criao desse arquivo, deve ser gerado um mapa indexado com o comando postmap:
# postmap hash:/etc/postfix/virtual_alias_domains
# /etc/postfix/virtual_alias_maps
postmaster@dominiovirtual.com usuario1@exemplo.com55
usuario1@exemplo.com
abuse@dominiovirtual.com usuario1@exemplo.com55
usuario1@exemplo.com
usuario1@dominiovirtual.com usuario1@exemplo.com55
usuario1@exemplo.com
usuario2@dominiovirtual.com usuario2@exemplo.com55
usuario2@exemplo.com
Aps a criao desse arquivo, deve ser gerado um mapa indexado com o comando postmap,
conforme segue:
# postmap hash:/etc/postfix/virtual_alias_maps
# /etc/postfix/main.cf
virtual_alias_domains = hash:/etc/postfix/virtual_alias_domains
virtual_alias_maps = hash:/etc/postfix/virtual_alias_maps
180
Controle de contedo
Controle de contedo efetuado por ferramentas embutidas ou externas.
Mail gateway
Tambm denominado smarthost.
O Postfix possui um
parmetro warn_if_
reject extremamente
til para avaliar o
impacto de uma regra
de rejeio. Esse
parmetro permite que
o log registre a
mensagem que seria
rejeitada. Desse modo,
pode-se avaliar o
impacto de determinada regra sem
descartar mensagens.
DNS
(Sistema de Nomes de
Domnios, na sigla em
ingls) um sistema
de gerenciamento de
nomes hierrquico e
distribudo com duas
definies: examinar e
atualizar seu banco de
dados e resolver nomes
de domnios em endereos de rede (IP).
Por outro lado, para a rede interna o mail gateway aparece como gateway para todas as
mensagens que saem da rede. Configurando ento o mail gateway para repassar somente
mensagens originadas do servidor de e-mail, aliado a um firewall que bloqueie qualquer
trfego SMTP saindo da rede (exceto pelo mail gateway), temos um controle do trfego
SMTP de entrada e sada impedindo o servidor de e-mail de receber diretamente um ataque
oriundo da internet. Para isso so necessrias permisses para:
11 Servidor interno utilizar mail gateway como relay;
11 Estabelecer os domnios que faro relay para a rede interna;
11 Estabelecer o host para o qual sero feitos os relays;
Deve-se adicionar no mail gateway a lista de servidores para o qual sero encaminhadas
as mensagens que saem. Editar o arquivo main.cf, incluindo os endereos permitidos.
relay_domains = exemplo.com
3. Estabelecer o host para o qual sero feitos os relays.
Configurar o mail gateway informando para qual servidor na rede interna devem ser
encaminhadas as mensagens. Editar o arquivo /etc/postfix/transport:
exemplo.com smtp:[mail.servidor.exemplo.com]
Aps a criao desse arquivo, deve ser gerado um mapa indexado com o comando postmap:
# postmap hash:/etc/postfix/transport
Definir o parmetro transport_maps, no arquivo main.cf, ajustando a configurao:
transport_maps = hash:/etc/postfix/transport
4. Definir destinatrios para os quais ser feito relay.
Em geral um gateway repassa para o servidor interno tudo o que recebe, inclusive spams,
vrus e mensagens para usurios no existentes. Para evitar esse efeito deve ser includo um
mapa de usurios vlidos. Criar o arquivo /etc/postfix/relay_recipients e inserir os registros:
usuario1@exemplo.com OK
usuario2@exemplo.com OK
Aps a criao desse arquivo deve ser gerado um mapa indexado com o comando postmap:
# postmap hash:/etc/postfix/relay_recipients
5. Recarregar configuraes do Postfix:
Autenticao SMTP
11 No princpio, os servidores encaminhavam mensagens de qualquer cliente para
qualquer destino.
183
LAN
Internet
Cliente
IP no convel
IP convel
Servidor
Servidor
Cliente
Relay
Figura 8.1
Autenticao SMTP.
LAN
Internet
Cliente
SMTP AUTH
184
IP
Cliente
Servidor
Servidor
Relay
Figura 8.2
Autenticao
SMTH AUTH.
11 SMTP AUTH: resolve o problema inicial proposto. suportado por uma gama relativamente
grande de clientes, entre os quais: Eudora; Fetchmail; JavaMail; Mozilla; Mulbery; Mutt; Netscape; Novell Evolution; Outlook Express; Outlook; PalmOS Eudora; Pine; entre outros.
Apesar do Postfix incluir suporte a SMTP AUTH, essa opo no habilitada por padro.
necessrio verificar se a biblioteca SASL est instalada, o que pode ser feito com o comando:
prticas, contendo:
11 Postfix.
11 Cyrus SASL.
11 Courier Maildrop.
11 Courier Imap.
11 OpenLDAP.
Os itens abordados at permitem a montagem de servidores de correio eletrnico que
atendem a uma ampla gama de redes, que vo de algumas dezenas at vrias centenas de
usurios. Para ambientes em que devem ser suportados milhares de usurios e para fins de
facilitar a administrao, recomenda-se uma abordagem um pouco diferente. Nessa abordagem proposta a utilizao de algumas ferramentas associadas ao Postfix: Cyrus SASL,
Courier Maildrop, Courier Imap e OpenLDAP.
Sero abordados neste curso os conceitos e a aplicabilidade dessa utilizao, que em
conjunto com os assuntos dos outros Captulos fornecero subsdios para que os alunos
possam posteriormente e por conta prpria implementar suas prprias solues.
Autentica e
envia e-mail
Postx
Envia
para LDA
Courier
Maildrop
Valida destinatrios
e verica endereo
de origem
Cliente
OpenLDAP
Recebe e
gerencia e-mail
Autentica
destinatrios
Obtm localizao de
mailbox e permisses
Entrega para
mailbox
Virtual
Regras Filtro
Acessa mailbox
e gerencia e-mail
Courier IMAP
Figura 8.3
Servidor de e-mail
corporativo.
185
Cyrus SASL
Baseado em trs camadas: interface de autenticao; mecanismo e mtodo.
Recomenda-se utilizar o PLAIN LOGIN ou CRAM-MD5, embora outros mtodos possam ser
186
Courier Maildrop
11 Agente local para a entrega de mensagens.
Courier Imap
11 Oferece os servios:
22 POP.
22 POP-SSL.
22 IMAP.
22 IMAP-SSL.
11 Suporta o formato maildir.
Courier Imap suporta o formato maildir e oferece os servios POP, POP-SSL, IMAP e IMAP-SSL
Recomendaes de tuning
11 Ajustes bsicos.
11 Identificao de gargalos.
11 Ajustes para alto volume de trfego.
O Postfix rpido, e essa uma de suas principais caractersticas. Todavia, como muitos
outros programas, pode ter seu desempenho aumentado com alguns ajustes. Alm disso,
algumas situaes, como limitaes de hardware, software ou flutuaes bruscas (como um
pico no volume de spam) podem afetar sua performance.
Entre os ajustes bsicos, alguns itens sempre merecem ser verificados para maior garantia
de ausncia de problemas inesperados. Podemos citar: ajustes em consultas DNS; verificar
se o servidor est atuando como relay, recusando mensagens para usurios inexistentes,
bloqueando mensagens oriundas de redes da lista negra ou reduzindo a frequncia de
retransmisses.
Gargalos afetam o desempenho do sistema, eventualmente sobrecarregando o servidor
e causando nos usurios a percepo da ocorrncia de problemas. Ao chegar ao servidor,
durante seu processamento, uma mensagem movida de uma fila para outra. As filas so:
11 Incoming: todas as mensagens que entram so colocadas nessa fila pelo daemon clean,
e quando ficam prontas o qmgr notificado;
11 Deferred: mensagens que j foram enviadas a alguns destinatrios, mas com falha para
um ou mais destinatrios, aguardam nessa fila por nova varredura do qmgr;
11 active: mensagens nessa fila esto prontas para envio, mas ainda no foram enviadas;
188
11 maildrop: aguardam nessa fila mensagens enviadas pelo comando sendmail e que ainda
no foram enviadas para as filas do Postfix pelo daemon pickup.
Para alto volume de trfego, considere utilizar um servidor em separado para mensagens
que chegam. Separe ainda, se for o caso, a mquina que efetua filtragem de vrus, desabilitando nessa mquina consultas DNS, uma vez que ela encaminhar as mensagens sempre
para um mesmo destino.
22 Configuraes do firewall.
includo em listas negras (black lists), fazendo com que as mensagens legtimas da rede
189
Configure o servidor para recusar mensagens de usurios inexistentes. Caso o Postfix aceite
esse tipo de mensagem, o sistema acabar enviando mensagens com notificaes de no
entrega de mensagens (undeliverable messages), causando acmulo de mensagens na fila
de sada. Alm disso, essas mensagens ocuparo grande espao no sistema.
Outra questo surge quando o servidor est atuando como relay; nesse caso, o servidor
de destino acabar enviando de volta mensagens (bounce) no entregues, utilizando o
Return-Path do cabealho. Para esses ajustes, configure os parmetros local_recipient_maps
e relay_recipient_maps (caso o servidor esteja atuando como relay para outro servidor na
rede interna).
Caso o servidor esteja recebendo muitas mensagens de volta (bounce), e isso esteja se
tornando um problema, verifique na internet a lista de servidores que no aceitam suas
mensagens de volta. Caso o servidor esteja listado nessa lista, inclua-o em sua lista negra,
o que pode ser feito automaticamente com o parmetro:
check_rhsbl_sender dsn.rfc-ignorant.org
Bloqueando mensagens oriundas de redes da lista negra.
11 Usar um relay para fallback; delega tentativas malsucedidas a outro servidor, que se
190
s verificaes do pickup.
Mensagens enviadas pelo comando sendmail e ainda no coletadas pelo daemon pickup
permanecem na fila maildrop. Mensagens enviadas pelo comando sendmail mesmo com o
Postfix fora de execuo vo para essa fila. O pickup periodicamente verifica essa fila ou
realiza a verificao quando notificado da chegada de novas mensagens pelo postdrop.
Executando em uma nica thread, processa somente uma mensagem por vez, verificando
cabealho, corpo e outras informaes, demandando muito processamento de entrada e
sada de disco. Retardos causados nessa fila so decorrentes de excesso de mensagens ou
consumo excessivo de CPU devido s verificaes do pickup.
Convm observar que quando a fila active estiver cheia, o cleanup diminui a injeo de mensagens. A fila active possui limite de 20 mil mensagens.
Evite que uma quantidade excessiva de mensagens seja entregue via pickup. Caso
necessrio, utilize opes alternativas de injeo de mensagens por meio de programas como mini_sendmail.
tempo mnimo e aumentando o tempo mximo das mensagens, agilizando o envio de mensagens com pouco tempo na fila, sem provocar muitas tentativas para todas as mensagens.
Quando o Postfix no consegue entregar a mensagem para algum dos destinatrios, esta
colocada na fila deferred. O qmgr verifica periodicamente essa fila conforme especificado no
parmetro queue_run_delay. Uma frao das mensagens periodicamente reinjetada na fila
active de acordo com o tempo de espera, que varia entre os valores de minimal_backoff_time
e maximal_backoff_time, respectivamente o tempo mnimo e mximo que cada mensagem
aguarda antes de ser recolocada para envio. Cada nova tentativa dobra o tempo de vida
da mensagem na fila. Mensagens com tempo menor possuem tentativas mais frequentes
e mensagens mais antigas tm tempo maior entre as tentativas. Havendo grande volume
aumentando o tempo mximo das mensagens, o que agiliza um pouco o envio de mensagens com pouco tempo na fila sem provocar muitas tentativas para todas as mensagens.
de mensagens nessa fila pode ser feita a tentativa de ajuste diminuindo o tempo mnimo e
191
as mensagens para deferred, o que libera a fila active, mas entrega muitas mensagens na fila
deferred. Caso a fila active esteja realmente lenta, existem dois modos de resolver o problema: reduzir a injeo de mensagens nessa fila ou aumentar o throughput. Para aumentar
o throughput pode ser incrementada a concorrncia (quantidade de processos SMTP em
execuo) ou reduzida a latncia (melhorias no DNS, mapas).
O aumento da concorrncia pode ser feito pela modificao do valor no parmetro
default_process_limit no main.cf.
Para modificao baseada no destinatrio, utilize o utilitrio qshape, que apresenta na
forma de uma tabela o total de mensagens na fila baseadas no destinatrio. Podem ser
utilizados os comandos:
# qshape -s hold
# qshape deferred
# qshape incomming active deferred
Por ltimo, deve-se evitar recarregar ou reiniciar o servidor, quando possvel. Apesar de a
fila active em memria estar vazia, a fila active em disco pode conter muitas mensagens, que
192
Roteiro de Atividades 8
Atividade 8.1 Configurao da modalidade de entrega maildir
Pr-condio
Para realizar esta atividade necessrio que o servidor DNS esteja configurado para o
domnio empresa.com.br com o registro MX email.empresa.com.br apontando para o endereo IP do servidor Linux.
Ao instalar e configurar o servio de correio eletrnico, a modalidade de entrega das mensagens mbox.
1. Crie a estrutura de diretrios do maildir no home dos usurios usuario1 e usuario2.
2. Configure o postfix para entregar as mensagens na modalidade maildir.
3. Envie uma mensagem de teste e verifique se o a entrega foi realizada.
193
# vi /etc/defaults/saslauthd
MECHANISMS=ldap
194
# vi /etc/postfix/sasl/smtpd.conf
pwcheck_method: saslauthd
mech_list: plain login
auxprop_plugin: ldap
ldapdb_uri: ldap://192.168.1.1
ldapdb_id: admin
ldapdb_pw: rnpesr
ldapdb_mech: DIGEST-MD5
# vi /etc/saslauthd.conf
ldap_servers: ldap://192.168.1.1/
ldap_search_base: ou=people,dc=empresa,dc=com,dc=br
ldap_auth_method: bind
ldap_filter: uid=%U
5. Reinicie o saslauthd e o Postfix:
#/etc/init.d/saslauthd restart
#/etc/init.d/postfix restart
6. Testando o funcionamento:
195
196
9
Entender o que servidor proxy, fazer a instalao e configurao do servidor Squid
na verso compilada, configurar regras de acesso ACL, emitir relatrio de acesso
internet usando SARG e ativar o servio de proxy transparente.
Introduo
Conceitos iniciais:
conceitos
11 Proxy.
11 Proxy Squid.
Configurao Squid:
11 Servidor e cliente.
22 Restringindo o acesso internet.
22 Restringindo o acesso a determinadas pginas.
22 Proxy transparente.
Este captulo aborda os conceitos associados ao servio proxy e sua aplicabilidade,
sendo estudados:
11 Conceitos iniciais de proxy;
11 Soluo Squid;
11 Configuraes necessrias no servidor e no cliente;
11 Restrio de acesso aos contedos, incluindo redirecionamento;
11 Proxy transparente.
Em seguida so praticados:
11 Instalao e configurao do Squid;
11 Configurao do navegador;
11 Utilizao de proxy transparente e de listas de controle de acesso que limitam e modelam
o trfego, considerando vrios aspectos.
objetivos
197
Proxy
Outra finalidade do proxy atuar como cache. Nesse caso, o servidor reserva uma rea em
memria para armazenar os contedos estticos acessados com maior frequncia pelos
usurios de rede interna. Quando o usurio busca por determinada informao, o servidor
proxy cache o entrega diretamente sem acess-lo na internet. Considere por exemplo um
grande portal de notcias da internet. A primeira pessoa a acess-lo far com que o contedo dessa pgina fique armazenado no cache do servidor. As prximas pessoas que acessarem essa mesma pgina, dentro do tempo de expirao programado, obtero o contedo
Internet
Servidor Proxy
Web
A utilizao de um web proxy cache possibilita grande economia de recursos, com impacto
tanto na velocidade quanto no controle de acesso.
198
Estudos prvios
realizados pela Rede
Nacional de Ensino e
Pesquisa (RNP) indicam
economia de at 35%
no trfego no link
externo. Outro estudo
indica que 17% do
trfego da internet j
acessado a partir de
web proxy cache.
Figura 9.1
Funcionamento do
proxy cache.
Proxy Squid
O Squid um dos proxies mais utilizados na internet.
Foi originado de um projeto da ARPA, cujo mentor foi Duane Wessels, do National Laboratory
for Applied Network Research, tendo posteriormente obtido a denominao de Squid. tanto
um servidor proxy quanto um web cache. Como proxy possui caractersticas especiais para a
filtragem de pacotes, suportando vrios protocolos, como HTTP e FTP. Pode ainda atuar como
um proxy reverso, funcionando nesse caso como um acelerador para um servidor web.
A grande vantagem de um proxy (como o Squid) a capacidade de armazenar documentos
da internet. Possui tambm o recurso de criao de regras de acesso, que permitem ou
bloqueiam o acesso a determinadas pginas. Com isso, pode-se vetar a navegao em sites
199
Instalao do Squid
A instalao pode ser feita a partir de vrias fontes:
11 .rpm
11 .deb
11 apt
11 Cdigo-fonte.
Pode ser instalado a partir de pacotes prontos.
11 No entanto, para adicionar alguns recursos, ser necessrio recompilar o Squid
atravs do arquivo fonte.
11 Recomendamos a instalao da ltima verso estvel.
A instalao do Squid pode ser feita a partir de:
11 Pacote .rpm, utilizado por distribuies RedHat/Fedora;
11 Pacote .deb, para distribuies Debian;
11 Do arquivo fonte, compilando-o localmente;
11 Instaladores que se utilizam de repositrios na internet, como o caso do apt.
Inicialmente pode-se instal-lo a partir de pacotes prontos; no entanto, deve-se obter
tambm os arquivos fontes, uma vez que para adicionar alguns recursos ao Squid necessrio recompil-lo. recomendado ainda instalar a ltima verso estvel.
Considerando que squid-3.1.20.tar.gz seja a verso estvel, a instalao pode ser efetuada
com o comando:
# wget http://www.squid-cache.org/Versions/v3/3.1/squid-3.1.20.tar.gz
Aps essa etapa, ser necessrio criar um usurio e um grupo para o Squid, procedendo-se
em seguida com a compilao por meio dos comandos:
# ./configure
200
# make
# makeinstall
Aps a instalao, preciso editar o arquivo de configurao squid.conf.
Configurao do Squid
Arquivo squid.conf:
11 Possui grande nmero de parmetros.
22 Porta, quantidade de memria, localizao de arquivos de log.
22 Listas de controle de acesso (ACL).
11 recomendvel ir incluindo ACL aos poucos.
11 Verificar efetividade de cada parmetro.
Mais informaes
podem ser obtidas na
pgina oficial do Squid:
http://www.squid-cache.org/
11 Destino da requisio;
11 Horrio da requisio;
11 Endereo MAC;
11 Disponibilidade de banda;
11 Filtros baseados em strings ou expresses regulares.
11 Origem da requisio;
201
de acesso.
11 acl rede src 192.168.1.0/24
11 http_accessdeny rede
Existe um grande nmero de classes para controle de acesso:
11 Hora/data, porta, protocolo etc.
11 Nmero mximo de conexes a partir de um nico endereo IP.
ACLs possuem uma sintaxe prpria, com diretivas para controle e tipos de regras de acesso.
Considere o exemplo:
202
Exemplos de ACLs
Lista de acesso users permite o acesso durante o horrio do almoo de segunda a sexta,
acluserssrc 192.168.1.0/24
aclalmoco time MTWHF 12:00-13:55
http_accessallowusersalmoco
http_accessdenyusers
Exemplo 1
ACL com controle de data e hora. A lista de acesso users permite o acesso durante o almoo
de segunda a sexta, no horrio de 12h at 13h55, negando acesso nos demais horrios.
http_accessallowall
203
Proxy transparente
Resolve dois problemas:
204
11 Recompilao do kernel.
11 Recompilao do Squid.
11 Incluso de uma regra no firewall iptables.
Em seguida, recompile o kernel com os comandos:
11 make clean;
11 makedep;
11 makebzImage;
11 make modules;
11 makemodules_install.
Aps a recompilao do kernel, necessrio recompilar o Squid para adicionar suporte ao
proxy transparente, o que pode ser feito a partir do diretrio com os arquivos fontes do
Squid, atravs dos seguintes comandos:
# ./configure --enable-linux-netfilter
# make
# make install
Por ltimo, deve-se incluir uma regra no firewall iptables para redirecionar o trfego da
porta 80 para o Squid. A regra :
Redirecionadores
Ferramentas que permitem ao administrador da rede redirecionar determinadas
11 Desvio de downloads;
11 Advertncia de usurios.
Esses redirecionadores adicionam recursos ao Squid, que j tem entre suas funcionalidades
o bloqueio a palavras e pginas proibidas.
No primeiro caso o administrador, aps observar grande volume de downloads de um ou
mais arquivos a partir da internet, pode optar por disponibilizar esse arquivo localmente e
redirecionar todos os pedidos, economizando volume de trfego no link de internet.
dois casos:
205
Um segundo exemplo ocorre quando o usurio acessa pginas com contedo proibido.
Nesse caso, o acesso redirecionado para uma pgina com advertncias. Entre os redirecionadores, podemos citar:
11 Jesred;
11 Squirm;
11 SquidGuard;
11 DansGuardian.
A seguir, abordaremos a instalao e a utilizao do Squirm.
Entre os redirecionadores, podemos citar:
11 Jesred.
11 Squirm.
11 SquidGuard.
11 DansGuardian.
O Squirm um redirecionador desenvolvido para trabalhar em conjunto com o Squid, de fcil
instalao e recomendado na documentao do Squid. Para instal-lo, recomendado efetuar
o download na pgina do desenvolvedor. Em seguida deve-se desempacotar o arquivo:
# tar -xvfsquirm-versao.tar
Aps desempacotar o Squirm e antes de compil-lo, deve-se compilar a biblioteca regex.o:
# cd regex
# ./configure
# make clean
# make
# cp -p regex.oregex.h
No diretrio do Squirm:
# cd ..
# make
206
# makeinstall
necessrio ainda modificar o owner do executvel do Squirm, configurando o mesmo do Squid:
# chownsquid.squid /usr/local/squirm/bin/squirm
No Squirm, devem ser editados os dois arquivos de configurao:
11 squirm.local
22 Endereos das redes locais.
11 squirm.pattern
22 Regras a serem utilizadas:
regexi^http://www\.porno\.com\.br/.*http://www/advertencia.htm
207
208
Roteiro de Atividades 9
Esta atividade pode ser feita tanto pelo cliente Windows quando pelo cliente Linux.
importante que tanto a mquina cliente quanto o servidor estejam na mesma rede.
Teste o funcionamento da rede atravs do comando ping.
Para realizar este Roteiro de Atividades, necessrio que o servidor esteja configurado com duas placas de rede: uma delas deve possuir rota e acesso internet.
Vamos supor que a nossa interface eth0 ser a interface com acesso internet, configurada
pelo DHCP do laboratrio.
1. No servidor, ative o ip_forward, editando o arquivo /etc/sysctl.conf e inserindo a linha a seguir:
net.ipv4.ip_forward=1
visible_hostname cache.empresa.com.br
209
cache_swap_high 95
maximum_object_size 900 MB
minimum_object_size 0 KB
maximum_object_size_in_memory 32 KB
#Configuraes do diskd
cache_dir ufs /var/spool/squid 20000 64 256
#path dos Logs
cache_access_log /var/log/squid/access.log
cache_log /var/log/squid/cache.log
cache_store_log none
# definir o rotate log
logfile_rotate 10
#no emula o log do Apache
#emulate_httpd_log on
#opes de FTP
ftp_user admin@empresa.com.br
ftp_passive on
#Manter as configuraes Default
refresh_pattern ^ftp:
refresh_pattern ^gopher:
refresh_pattern .
1440
1440
0%
20%
1440
4320
#acl defaults
210
20%
10080
# squid z
4. Reiniciar o servio:
# /etc/init.d/squid start
# /etc/init.d/squid stop
211
212
Altere a configurao do servidor Proxy para que os clientes possam realizar o acesso
internet de forma transparente. Lembre-se de remover a configurao de proxy dos navegadores dos clientes.
Precisaremos criar uma regra no iptables para realizar o redirecionamento dos pacotes.
Exemplo:
10
Instalar e configurar o Samba, instalar o SWAT e o Servidor Primrio de Domnio
ou Primary Domain Controller (PDC), controlar informaes de usurios e
autenticao para clientes Windows.
conceitos
Introduo ao Samba
11 Samba e projetos relacionados.
objetivos
Servidor Samba
213
Atividades prticas:
11 Configurao do servidor Samba;
11 Verificao do funcionamento do servidor Samba;
11 Configurao de uma mquina Windows para autenticar no Samba;
11 Adicionar e remover usurios;
11 Compartilhamento de diretrio;
11 Utilizao do SWAT.
Samba
11 Conjunto de aplicaes baseadas no protocolo Server Message Block (SMB).
214
11 Ferramenta smbfs.
22 Mquinas Linux podem usar os recursos compartilhados em mquinas Windows.
Terminologia
11 Server Message Block (SMB): protocolo de compartilhamento de arquivos e impressoras
da Microsoft;
11 Common Internet File System (CIFS): por volta de 1996, a Microsoft decidiu que o SMB
necessitava da palavra internet; ento, passou a ser chamado de CIFS;
11 Direct-Hosted: mtodo de prover compartilhamento de servios sob a porta 445/TCP,
usando apenas DNS para resoluo de nomes em vez de WINS;
11 Inter-Process Communication (IPC): mtodo para comunicar informaes especficas
entre programas;
139/TCP ou 445/UDP;
215
Instalando o Samba
Pacotes:
O prximo passo envolve a configurao do Samba de acordo com o seu Sistema Ope-
216
racional. Para configurar programas fonte de acordo com seu Sistema Operacional, ser
necessrio criar o script configure. Para cri-lo execute os seguintes comandos:
# cd samba-X.X.X/source3
# ./autogen.sh
Para montar os binrios, execute o programa ./configure. Isso vai configurar o Samba automaticamente para o seu sistema.
# ./configure
Para compilar, execute o comando make.
# make
Uma vez que a compilao ocorreu sem erro, execute o comando make install para instalar
os binrios e os manual do Samba.
# make install
Aps a instalao, necessrio verificar se os daemons smbd e nmbd esto rodando.
Vale ressaltar que o servidor Samba composto por dois ou trs daemons:
11 nmbd: manipula todos os pedidos de registro e resoluo de nomes e deve ser o primeiro comando inicializado como parte do processo de inicializao do Samba.
11 smbd: manipula todos os servios baseados em TCP/IP para operaes em arquivos e
impresso, alm de gerenciar autenticaes locais; deve ser inicializado aps nmbd.
11 winbindd: deve ser inicializado quando o Samba membro de um domnio Windows
NT4 ou ADS, e tambm quando o Samba tem relaes com outros domnios, com a
funo de verificar o arquivo smb.conf, procurando a presena dos parmetros idmap uid
e idmap gid.
Principais arquivos:
# testparm /etc/samba/smb.conf
217
Configurando o Samba
Parmetros globais.
Exemplo de smb.conf
[global]
workgroup = WKG
netbios name = MYNAME
[share1]
path = /tmp
[share2]
path = /my_shared_folder
comment = Some random les
Figura 10.1
Exemplo smb.conf.
Todas as sees do arquivo smb.conf iniciam com um cabealho de seo delimitado por
[] [global], [homes], [printers] etc. Na seo [global], so configuradas as variveis que o
Samba utiliza para definir a forma como devem ser compartilhados todos os recursos.
Cada seo em smb.conf representa um compartilhamento no servidor Samba. A seo
global especial, j que contm configuraes que se aplicam ao servidor Samba completo
e no a um compartilhamento particular.
11 load printers: indica para o Samba que ele deve tornar as impressoras locais acessveis
218
para qualquer cliente SMB. Se esse parmetro est setado, no necessrio configurar
as impressoras individualmente.
Parmetros globais
11 workgroup.
11 server string.
11 printcap name.
11 load printers .
11 printing.
11 log file.
11 security.
11 dns proxy.
Seo [homes]
11 Permite compartilhar os diretrios home dos usurios automaticamente.
11 Ao se logar, um usurio Windows receber como seu diretrio home o diretrio compartilhado pelo Samba.
11 Permite aos usurios de ambas as plataformas, Linux e Windows, possurem apenas
um diretrio home, acessvel a ambos os sistemas.
Exemplo
Figura 10.2
Exemplo da
seo homes.
[homes]
comment = Diretrios pessoais dos usurios
netbios name = MYNAME
browseable = no
writable = yes
senha informada estiver correta, ento o Samba sabe que ela tem direito de acesso e criar
um compartilhamento de nome [maria].
219
A seguir a configurao da seo [homes], que permite que os usurios Windows acessem
seus diretrios do Linux:
[homes]
comment = Diretrios pessoais dos usurios
browseable = no
writable = yes
A mquina Linux precisa fazer parte da LAN para que os usurios Windows possam acessar
seus diretrios compartilhados. Desta forma, um usurio local pode se conectar a um disco
rgido do servidor Samba pelo Windows Explorer.
Alguns parmetros:
11 adminusers.
11 comment.
11 copy.
11 create mode.
11 browseable.
11 Entre muitos outros.
Exemplo 1
Exemplo 2
[public]
comment = Diretrio Pblico
path = /home/data
public = yes
writable = yes
printable = yes
[public]
comment = Diretrio Pblico
path = /home/data
public = yes
writable = yes
printable = no
write list = @grupo
Figura 10.3
Exemplos de seo
public.
220
w
Para parmetros
adicionais, consulte
o site
http://www.samba.org
# smbclient -L <servidor>
Para acessar um recurso disponvel em um determinado servidor, utilize o seguinte comando:
# smbclient //tunisia/Documentos
O parmetro -M permite o envio de mensagens para o servidor. Sua sintaxe :
# smbclient -M <servidor>
suporte a smbf.
Comandos:
11 Montagem:
11 Desmontagem:
Para acessar um servidor Windows de um cliente Linux, por montagem, necessrio que
todas as ferramentas do Samba estejam instaladas, e o kernel do Linux deve estar com o
suporte a smbfs compilado.
221
11 Terminadas as configuraes:
Os usurios s tero permisso para acessar pastas que o login permite acessar.
Terminadas as configuraes, o servidor aparecer no ambiente de redes, como se fosse um
servidor Windows. Os compartilhamentos podem ser acessados de acordo com as permisses que tiverem sido configuradas e podem ser mapeados como unidades de rede, entre
outros recursos.
11 Manual:
22 Deve-se criar uma conta Linux e uma conta no Samba.
11 Dinmica:
22 necessrio configurar:
33 smb.conf
22 Adicionar o parmetro:
224
Essa entrada no arquivo /etc/passwd lista o nome da mquina com um caractere $ adicionado no final; no possui senha e shell. Por exemplo, a mquina chamada tunisia possuiria,
nesse caso, as seguintes caractersticas:
tunisia$:x:505:501:machine nickname:/dev/null:/bin/false
Onde machine nickname pode ser uma descrio que identifica a mquina cliente e machine_
name indica o nome NetBIOS da mquina cliente que ser adicionada ao domnio. O caractere $ deve ser adicionado ao final do nome NetBIOS, ou o Samba no reconhecer a conta
como de relao de confiana.
Uma vez que a conta Linux esteja criada, o prximo passo criar uma conta no Samba, com
o comando smbpasswd:
# smbpasswd -a -m machine_name
[global]
...
add user script = /usr/sbin/useradd -d /dev/null -g 100 -s /bin/false
-M %u
225
226
Roteiro de Atividades 10
Atividade 10.1 Configurao do servidor Samba
Esta atividade deve ser feita pelo cliente Windows. importante que tanto a mquina
cliente quanto o servidor estejam na mesma rede. Como sugesto, vamos considerar que
a mquina virtual Windows est com o endereo IP 192.168.1.3 e o servidor Linux, com o
endereo IP 192.168.1.1.
Samba um servidor e um conjunto de ferramentas que permite que mquinas Linux
e Windows se comuniquem entre si, compartilhando servios (arquivos, diretrios e
impresso) atravs dos protocolos Server Message Block (SMB) e Common Internet File
System (CIFS), equivalentes implementao NetBEUI no Windows. O Samba uma das
solues em ambientes Unix capaz de interligar redes heterogneas.
Instalando o Samba
Efetue a instalao do servidor Samba conforme orientao do
instrutor:
Durante a instalao podero ser feitas as seguintes perguntas:
P: Nome do Domnio/Grupo de Trabalho
R: EMPRESA
P: Modificar smb.conf para usar as configuraes WINS fornecidas
via DHCP?
R: No
Verificao da verso do Samba:
#smbd -V
Configurando o LDAP
a. Adicionar o schema do samba base de dados do LDAP:
Descompactar o arquivo
#gunzip /etc/ldap/schema/samba.schema.gz
Parando o servio do ldap
# /etc/init.d/slapd stop
ldap/schema
227
include /etc/ldap/schema/core.schema
include /etc/ldap/schema/collective.schema
include /etc/ldap/schema/corba.schema
include /etc/ldap/schema/cosine.schema
include /etc/ldap/schema/duaconf.schema
include /etc/ldap/schema/dyngroup.schema
include /etc/ldap/schema/inetorgperson.schema
include /etc/ldap/schema/java.schema
include /etc/ldap/schema/misc.schema
include /etc/ldap/schema/nis.schema
include /etc/ldap/schema/openldap.schema
include /etc/ldap/schema/ppolicy.schema
include /etc/ldap/schema/samba.schema
c. Criar o diretrio /tmp/output_ldif
# mkdir /tmp/output_ldif
d. Utilize o comando slapcat para converter os arquivos de schema.
...
228
cn: {12}samba
Para:
dn: cn=samba,cn=schema,cn=config
...
cn: samba
Remova as ltimas linhas do arquivo:
structuralObjectClass: olcSchemaConfig
entryUUID: 8c5a75ca-963f-187d-acff-2f64fd123c95
creatorsName: cn=config
createTimestamp: 20080827045234Z
entryCSN: 20120523452234.309955Z#000000#000#000000
modifiersName: cn=config
modifyTimestamp: 20120527045345Z
f. Adicione o schema base do LDAP:
dn: olcDatabase={1}hdb,cn=config
changetype: modify
add: olcDbIndex
olcDbIndex: uidNumber eq
olcDbIndex: gidNumber eq
olcDbIndex: loginShell eq
olcDbIndex: memberUid eq,pres,sub
olcDbIndex: uniqueMember eq,pres
olcDbIndex: sambaSID eq
olcDbIndex: sambaPrimaryGroupSID eq
olcDbIndex: sambaGroupType eq
olcDbIndex: sambaSIDList eq
olcDbIndex: sambaDomainName eq
olcDbIndex: default sub
h. Utilize o comando ldapmodify para alterar os ndices da base de dados.
Configurando o smbldap-tools
Obtendo o SID
# net getlocalsid
# gunzip smbldap.conf.gz
Configurao smbldap.conf
SID=S-1-5-21-1669739004-1474045143-3185410112
sambaDomain=EMPRESA
slaveLDAP=192.168.0.1
slavePort=389
masterLDAP=192.168.0.1
masterPort=389
ldapTLS=0
ldapSSL=0
verify=none
suffix=dc=empresa,dc=com,dc=br
usersdn=ou=People,${suffix}
computersdn=ou=Hosts,${suffix}
groupsdn=ou=Group,${suffix}
idmapdn=ou=Idmap,${suffix}
sambaUnixIdPooldn=sambaDomainName=${sambaDomain},${suffix}
scope=sub
hash_encrypt=SSHA
crypt_salt_format=%s
userLoginShell=/bin/bash
userHome=/home/%U
userHomeDirectoryMode=700
userGecos=System User
defaultUserGid=513
defaultComputerGid=515
skeletonDir=/etc/skel
defaultMaxPasswordAge=45
userSmbHome=\\SERVIDOR\%U
userProfile=\\SERVIDOR\%U\profile
userHomeDrive=H:
userScript=netlogon.bat
mailDomain=empresa.com.br
230
with_smbpasswd=0
smbpasswd=/usr/bin/smbpasswd
with_slappasswd=0
slappasswd=/usr/sbin/slappasswd
Configurao smbldap_bind.conf
slaveDN=cn=admin,dc=empresa,dc=com,dc=br
slavePw=rnpesr
masterDN=cn=admin,dc=empresa,dc=com,dc=br
masterPw=rnpesr
Popule o banco do ldap com as informaes novas
# smbldap-populate
Configurando o Samba
[global]
workgroup = EMPRESA
netbios name = servidor
server string = %h server
dns proxy = no
log level = 2
log file = /var/log/samba/log.%m
max log size = 1000
syslog = 0
panic action = /usr/share/samba/panic-action %d
security = user
ldap ssl = no
ldap admin dn = cn=admin,dc=empresa,dc=com,dc=br
ldap suffix = dc=empresa,dc=com,dc=br
ldap group suffix = ou=Group
ldap user suffix = ou=People
ldap machine suffix = ou=Hosts
ldap idmap suffix = ou=Idmap
ldap delete dn = Yes
add user script = /usr/sbin/smbldap-useradd -m %u
add machine script = /usr/sbin/smbldap-useradd -t 0 -w %u
add group script = /usr/sbin/smbldap-groupadd -p %g
add user to group script = /usr/sbin/smbldap-groupmod -m %u %g
delete user script = /usr/sbin/smbldap-userdel %u
delete group script = /usr/sbin/smbldap-groupdel %g
delete user from group script = /usr/sbin/smbldap-groupmod -x %u
%g
set primary group script = /usr/sbin/smbldap-usermod -g %g %u
domain master = yes
domain logons = yes
232
[netlogon]
comment = Network Logon Service
path = /home/samba/netlogon
guest ok = yes
browseable = no
[profiles]
comment = Users profiles
path = /home/samba/profiles
guest ok = no
browseable = no
create mask = 0600
directory mask = 0700
[printers]
comment = All Printers
browseable = no
path = /var/spool/samba
printable = yes
guest ok = no
read only = yes
create mask = 0700
[print$]
comment = Printer Drivers
path = /var/lib/samba/printers
browseable = yes
read only = yes
guest ok = no
10. Reinicie o Windows e faa o login no domnio EMPRESA com o usurio alunosmb.
234
service swat {
port = 901
socket_type = stream
wait = no
only_from = 192.168.1.1
user = root
server = /usr/sbin/swat
log_on_failure += USERID
disable = no
}
235
236
Bibliografia
11 ARKILLS, Brian. LDAP Directories Explained An Introduction and Analysis.
Addison-Wesley, 2003.
11 CHIN, Liou Kuo. Rede Privada Virtual VPN. News Generation. Boletim
bimestral sobre tecnologia de redes. Rede Nacional de Ensino e Pesquisa
(RNP). Volume 2, nmero 8, 1998.
11 Documentao de Domnios Virtuais Apache:
http://httpd.apache.org/docs/2.2/vhosts/
11 Documentao de Mdulos Apache: http://modules.apache.org
11 Documentao Oficial Apache: http://www.apache.org/docs
11 FERREIRA, Rubem E. Linux Guia do Administrador do Sistema. Rio de
Janeiro: Editora Novatec, 2003.
11 FILHO, Joo Eriberto Mota. Descobrindo o Linux. 2 ed. Rio de Janeiro:
Editora Novatec, 2007.
11 HILDEBRANDT, Ralf. Postfix Start of the Art Message Transport. No Starch
Press, 2005.
11 KUROSE, James F.; ROSS, Keith W. Redes de Computadores e a Internet.
Pearson Addison-Wesley, 2006.
11 LANGFELDT, N. DNS Howto: http://www.tldp.org/HOWTO/DNS-HOWTO.html
11 LAUREANO, Marcos. Mquinas virtuais e emuladores: conceitos, tcnicas
e aplicaes. So Paulo: Novatec, 2006.
11 LIMA, Joo P. Administrao de Redes Linux. Editora Terra, 2003.
11 Linux Magazine: http://www.linux-magazine.com/w3/issue/86/Kernel_
Based_Virtualization_With_KVM.pdf
11 LIU, C.; ALBITZ, P. DNS & BIND. 5 ed. O Reilly Media, 2006.
11 MARCELO, Antnio. Squid Configurando o Proxy para Linux. Brasport, 2006.
11 NFSv4: www.nfsv4.org
11 OpenLDAP: http://www.openldap.org
11 Openswan: http://www.openswan.org
Bibliografia
237
11 Squid: http://www.squid-cache.org
238
11 Squirm: http://squirm.foote.com.au
11 TANENBAUM, Andrew S.; STEEN, Maarten Van. Sistemas Distribudos:
princpios e paradigmas. 2 edio. Editora Pearson, 2010.
11 TERPSTRA, J. Samba-3 by Example: http://us4.samba.org/samba/docs
11 The IMAP Connection: http://www.imap.org
11 The Postfix Homepage: http://www.postfix.org
11 TS, Jay; ECKSTEIN, Robert; COLLIER-BROWN, David. Using Samba. 2 ed.
11 VERNOOIJ, R.; TERPSTRA, J.; CARTER, G. The Official Samba-3 Howto and
Reference Guide. http://us4.samba.org/samba/docs
11 http://libvirt.org
11 http://pic.dhe.ibm.com/infocenter/lnxinfo/v3r0m0/topic/liaat/
liaatbestpractices_pdf.pdf
11 http://pubs.vmware.com/vsphere-51/index.jsp
11 http://technet.microsoft.com/en-us/windowsserver/dd448604
11 http://us4.samba.org/samba/docs
11 http://wiki.qemu.org/Manual
11 http://www.gta.ufrj.br/ensino/CPE758/artigos-basicos/cap4-v2.pdf
11 http://www.gta.ufrj.br/grad/08_1/virtual/artigo.pdf
11 http://www.juliobattisti.com.br/artigos/windows/tcpip_p9.asp
11 http://www.linux-kvm.org/
11 http://www.rootlinux.com.br/documentos/downloads/apostila-dns.pdf
11 http://www.tldp.org/HOWTO/DHCP/index.html
11 http://www.tldp.org/HOWTO/DNS-HOWTO.html
11 http://www.xen.org/support/documentation.html
11 https://access.redhat.com/site/documentation/pt-BR/Red_Hat_Network_
Bibliografia
Satellite/5.4/html/Reference_Guide/ch-virtualization.html
239
240
responsvel
pelo
O curso ensina a projetar, instalar, configurar e disponibilizar os principais servios para internet em uma rede
TCP/IP. Apresenta os conceitos associados a cada um dos
servios, e a instalao e configurao do KVM como base
para o ambiente de virtualizao. Aborda a autenticao
nos servios com LDAP, com apoio intensivo de atividades prticas.
Este livro inclui os roteiros das atividades prticas e o contedo dos slides apresentados em sala de aula, apoiando
profissionais na disseminao deste conhecimento em
suas organizaes ou localidades de origem.
Wagner Vieira Lo tem 25 anos de experincia na rea de TI, atuando como Analista de Suporte e em Computao de
Alto Desempenho, com foco em sistemas
operacionais Unix/Linux. Possui graduao em Matemtica pela Faculdade de
Humanidades Pedro II, com Ps-Graduao em Gesto da Inovao pelo LNCC/UCP. Atualmenteocupa
o cargo deCoordenador de Tecnologia da Informao do Laboratrio Nacional de Computao Cientfica e de Coordenador
Administrativo do Ponto de Presena da RNP no Rio de Janeiro.
Professor do Instituto Superior de Tecnologia da Informao de
Petrpolis, IST e da Escola Superior de Redes da RNP, nas reas
de Segurana da Informao e Sistemas Operacionais.
Administrao de
Sistemas Linux
Servios para
Internet
Eduardo Lobo
Wagner Vieira Lo
Bruno Alves Fagundes
Francisco Marcelo M. Lima
Ministrio da
Cultura
Ministrio da
Sade
Ministrio da
Educao
ISBN 978-85-63630-22-3
9 788563 630223
Ministrio da
Cincia, Tecnologia
e Inovao