Beruflich Dokumente
Kultur Dokumente
www.linuxforce.com.br
Contedo
1 Cenrio e Propostas de Soluo
1.0.1
1.0.2 Cenrio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.0.3 Cenrio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.0.6 Laboratrio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
31
3.0.16 Cenrio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.0.17 Proposta de soluo . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.0.18 Introduo terica . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.0.19 Laboratrio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.0.20 Fixar IP via DHCP . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Linux Force
Contedo
4 Servidor NFS
42
4.1 Cenrio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
4.2 Proposta de soluo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
4.3 Introduo terica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
4.4 Conhecendo o NAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
4.5 NAS versus SAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
4.6 E o DAS? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
4.7 Laboratrio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
4.7.1 Configurando o Servidor . . . . . . . . . . . . . . . . . . . . . . . 48
4.7.2 Configurando o Cliente . . . . . . . . . . . . . . . . . . . . . . . 52
5 Implementando RAID + LVM
56
. . . . . . . . . . . . . . . . . . . . . . . . . 67
6 Servidor Samba
84
6.0.6 Cenrio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
6.0.7 Proposta de soluo . . . . . . . . . . . . . . . . . . . . . . . . . 84
6.0.8 Introduo terica . . . . . . . . . . . . . . . . . . . . . . . . . . 85
6.0.9 subsection name . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
7 Servidor DNS
107
arquivo
"/etc/hosts
113
. . . . . . . . . . . . . . . . . . . . . . . 124
Pgina ii
Linux Force
Contedo
146
. . . . . . . . . . . . . . . . . . . 147
184
195
10.0.45Cenrio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
10.0.46Proposta de soluo . . . . . . . . . . . . . . . . . . . . . . . . . 195
10.0.47Introduo terica . . . . . . . . . . . . . . . . . . . . . . . . . . 196
10.0.48Introduo ao Postfix
. . . . . . . . . . . . . . . . . . . . . . . . 196
Pgina iii
Linux Force
Contedo
11 Servidor OpenLDAP
229
11.0.51Cenrio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
11.0.52Proposta de soluo . . . . . . . . . . . . . . . . . . . . . . . . . 229
11.0.53Introduo terica . . . . . . . . . . . . . . . . . . . . . . . . . . 229
11.0.54Backup da base de dados
12 Servidor Proxy com Squid
. . . . . . . . . . . . . . . . . . . . . 242
245
12.0.55Cenrio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
12.0.56Proposta de soluo . . . . . . . . . . . . . . . . . . . . . . . . . 245
12.0.57Introduo Terica . . . . . . . . . . . . . . . . . . . . . . . . . . 245
12.0.58Proxy Manual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246
12.0.59Proxy Transparente . . . . . . . . . . . . . . . . . . . . . . . . . 247
12.0.60ACL - Access Control Lists . . . . . . . . . . . . . . . . . . . . . 248
12.0.61Definindo ACL . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
12.0.62Tipos de ACL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
12.0.63Regras das ACLs
. . . . . . . . . . . . . . . . . . . . . . . . . . 252
12.0.64Laboratrio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
12.0.65Criando a estrutura do Squid . . . . . . . . . . . . . . . . . . . . 256
12.0.66Filtrando acessos com Squid . . . . . . . . . . . . . . . . . . . . 256
12.0.67Blacklist e Whitelist . . . . . . . . . . . . . . . . . . . . . . . . . . 261
12.0.68Autenticao NCSA . . . . . . . . . . . . . . . . . . . . . . . . . 262
12.0.69Auditoria de acesso com SARG . . . . . . . . . . . . . . . . . . 265
12.0.70Autenticao via OpenLDAP . . . . . . . . . . . . . . . . . . . . 268
13 Firewall
270
13.0.71Cenrio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270
13.0.72Proposta de soluo . . . . . . . . . . . . . . . . . . . . . . . . . 270
13.0.73Introduo terica . . . . . . . . . . . . . . . . . . . . . . . . . . 270
13.0.74Revisando os conceitos de Rede . . . . . . . . . . . . . . . . . . 271
13.0.75TTL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
13.0.76Tabelas do Iptables
13.0.77O que uma chain?
. . . . . . . . . . . . . . . . . . . . . . . . . 276
. . . . . . . . . . . . . . . . . . . . . . . . 276
Pgina iv
Linux Force
Contedo
14 Servidor OpenVPN
286
14.0.81Cenrio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
14.0.82Proposta de soluo . . . . . . . . . . . . . . . . . . . . . . . . . 286
14.0.83Introduo Terica . . . . . . . . . . . . . . . . . . . . . . . . . . 286
14.0.84Protocolos de tunelamento . . . . . . . . . . . . . . . . . . . . . 288
14.0.85Arquitetura de VPNs
. . . . . . . . . . . . . . . . . . . . . . . . 289
14.0.86Laboratrio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
14.0.87Configurando o servidor . . . . . . . . . . . . . . . . . . . . . . . 291
14.0.88Configurando o cliente . . . . . . . . . . . . . . . . . . . . . . . . 292
14.0.89Certificados vpn . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
14.0.90TLS-Auth HMAC . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
14.0.91Gerando certificado CA e chave RSA . . . . . . . . . . . . . . . 297
14.0.92Gerando parmetros Diffie-Hellman . . . . . . . . . . . . . . . . 299
14.0.93Configurando o servidor OpenVPN
15 Referncias Bibliogrficas
. . . . . . . . . . . . . . . . 299
303
Pgina v
Captulo 1
Cenrio e Propostas de Soluo
1.0.1 Cenrio normalmente encontrado nas empresas
Todos sabemos que a rea de TI (Tecnologia da Informao) de algumas empresas
seu calcanhar de Aquiles, pois a forma que os servidores foram implementados
acabam prejudicando a produtividade diria e pondo em risco aos dados da empresa. Sabemos tambm que o uso de software proprietrio sem licenciamento
uma realidade em nosso pas, tornando a ilegalidade algo comum e corriqueiro.
Mas o que muitos no sabem (ou no aceitam!) que podemos implementar o
mesmo ambiente usando software livre, sem custo de propriedade ou licenciamento,
alm de ser muito superior em estabilidade, desempenho e produtividade! Estamos
falando de usar GNU/Linux como Sistema Operacional e suas diversas ferramentas
servidoras, como web, e-mail, banco de dados, storage, autenticao de usurios,
redundncia, entre outros.
1.0.2 Cenrio
O ambiente comumente utilizado nas pequenas e mdias empresas composto por
software proprietrio, onde se tem firewall/proxy, servidor de arquivos, e-mail, intranet
Linux Force
Partindo deste cenrio, iremos migrar a maioria das tecnologias para a plataforma
livre, conforme exemplificado na prxima figura.
Pgina 2
Linux Force
Alm das tecnologias exibidas na figura acima, podemos ainda implementar redundncia de discos com RAID, gerenciamento de unidades com o LVM, segurana de
acesso ao servidor com o uso do PAM, integrao da rede Linux com algumas mquinas Windows por meio do Samba, alm de outros servios como FTP, DHCP, DNS
e VPN.
A cada dia de Curso iremos ensinar tais servios, mostrando como seria o dia a dia
de uma empresa e conseguiremos verificar como a produtividade, desempenho e
confiabilidade se tornaro algo comum na vida do administrador! Na prxima pgina
voc tem um espao para realizar suas anotaes, como os Ips das mquinas!
Coloque os endereos Ips que ir utilizar durante o curso
2
3
IP 192.168. ___ .2
IP 192.168. ___ .4
Pgina 3
Linux Force
IP 192.168. ___ .3
IP 192.168. ___ .2
IP 192.168. ___ .4
IP 192.168. ___ .3
6
7
Pgina 4
Captulo 2
Implementando Hardening e PAM em
seu Servidor GNU/Linux
2.0.3 Cenrio
A empresa DEXTER COURIER precisa que seu servidor seja configurado com as
devidas polticas de segurana, permitindo acesso local e remoto somente equipe
de TI em horrios previamente definidos. Alm disto, necessrio ter todos os registros de login/logout, bem como as atividades realizadas nos servidores.
Linux Force
Sempre que finalizamos a instalao de um servidor, temos que efetuar alguns ajustes iniciais para que os servios disponibilizados por ele seja acessvel por todos os
usurios da rede que possuam permisso. Com isso temos todo o trabalho de fechar
possvel brechas de segurana, como portas abertas, banner do aplicativo ou mesmo
algum bug na aplicao. Vamos efetuar os primeiros passos, como configurar um IP
fixo, resoluo de Nomes-IPs, Hostname, arquivo Hosts e o(s) repositrio(s).
2.0.6 Laboratrio
Como todo servidor deve ter um IP fixo na rede, vamos efetuar esta configurao no
arquivo /etc/network/interfaces. Para isto, execute num terminal como root e
adicione o que est em negrito:
# Interface Loopback
auto lo
4
5
auto eth0
address
192.168. X .2
netmask
255.255.255.0
network
192.168. X .0
10
11
gateway
192.168. X .1
Pgina 6
Linux Force
1
2
root@debian :~ # vi
nameserver
8.8.8.8
root@debian :~ #
vi
root@debian :~ #
root@datacenter :~ #
Pgina 7
Linux Force
127.0.0.1
192.168. X .2
localhost
datacenter . dexter . com . br
datacenter
1
2
squeeze
main
contrib
non - free
Ok! Com o servidor atualizado, vamos agora instalar os programas necessrios para
o andamento do curso:
Pgina 8
Linux Force
Agora vamos configurar o editor de textos VIM, habilitando linhas numeradas, destaque de busca no texto, ignorar o case e deixar o texto colorido, facilitando a leitura da
configurao. Insira no final do arquivo:
syntax on
set number
set hlsearch
set incsearch
set ic
1
2
3
4
Selec o
Caminho
Prioridade Estado
--------- ----- ------ ----- ------ ------ ----- ------ ----- ------ -
/ bin / nano
40
/ bin / nano
40
modo manual
* 2
30
modo manual
10
modo manual
9
10
HISTSIZE =5000
export HISTSIZE
# TMOUT =120
Pgina 9
Linux Force
# export TMOUT
Caso deseje adicionar mais variveis ou alias, fique vontade! Concluda esta etapa,
vamos reler o arquivo para que as alteraes sejam validadas:
33
34 fi
. / etc / bash_completion
Pgina 10
Linux Force
2.0.11 Laboratrio
Pgina 11
Linux Force
senha novamente.
Sua senha no ser mostrada na tela enquanto voc a digita no terminal, apenas ser mostrada com asteriscos quando voc digit-la pela interface grfica.
Para executar usando sudo um programa que normalmente executado como
de usurio, como o gedit, aperte ALT + F2 e digite gksudo gedit, para o Gnome.
Para usurios do KDE, use kdesu no lugar de gksudo.
Vamos instalar o sudo com o comando:
root@datacenter :~ # visudo
17 root
18 infra
Com esta configurao demos total poder para o usurio infra, visto que iremos
bloquear o acesso de root posteriormente. Para melhorar a segurana do sistema
com o uso do sudo, em caso de esquecer o terminal aberto como usurio infra,
podemos configurar o sudo para sempre pedir a senha ao se digitar um comando.
Para isto, adicione no final do arquivo:
Pgina 12
Linux Force
Configurando o SSH
2
3
root@localhost s password :
2
3
5 Port 51000
...
25 LoginGraceTime 15
26 PermitRootLogin no
Pgina 13
Linux Force
root@datacenter :~ #
root@localhost s password :
Sabemos que no fcil criar uma senha, ainda mais sendo ela para um servidor!
Para ajudar nessa rdua tarefa, podemos instalar um programa chamado pwgen,
que gera combinaes de caracteres, formando assim senhas aleatrias!
W vaJ2qAL_@ ) ] Hr
Pgina 14
Linux Force
Starting Nmap 5.00 ( http :// nmap . org ) at 2011 -06 -20 22:28 BRT
PORT
Neste EXEMPLO verificamos que temos o servidor de e-mail EXIM, verso 4. Como
no iremos utiliz-lo, vamos remover seus links da inicializao para que eles no
sejam iniciados no boot. Execute o comando:
Pgina 15
Linux Force
10
11
Starting Nmap 5.00 ( http :// nmap . org ) at 2011 -06 -21 14:35 BRT
root@datacenter :~ #
Outro comando importante (e que cai na prova da LPI) o netstat. Ele possui alguns
parmetros importantes para verificarmos as conexes estabelecidas em nosso servidor. Execute:
Opes: -l - exibe as conexes que ficam "ouvindo"oou aguardando conexo; -t exibe conexes TCP -u - exibe conexes UDP -p - seguido do nome do protocolo
(TCP, UDP ou IP), exibe as informaes pedidas relativas ao protocolo especificado.
-a - exibe o conjunto das conexes e das portas em escuta na mquina; -n - exibe os
endereos/portas em formato numrico, sem resoluo de nomes.
Pgina 16
Linux Force
Logando o comando SU
Faa alguns testes com o comando su, ora acertando a senha, ora errando. Se
desejar faa com o auxlio do programa splitvt:
root@datacenter :~ # splitvt
Pgina 17
Linux Force
Tipos de PAM
Embora eles no sejam classificados, podemos dizer que h trs tipos de PAM:
Linux-PAM: O Linux-PAM abrange todo o PAM discutido neste captulo. A arquitetura principal do PAM em qualquer plataforma Unix semelhante verso PAM do
Linux.
OpenPAM: O OpenPAM outra implementao do PAM desenvolvida pelos laboratrios Dag-Erling Smorgrav em NAI como parte do programa de pesquisa DARPACHATS. Por ser um software livre, ele usado principalmente pelo FreeBSD, NetBSD
e por aplicativos (alm do Mac OS X).
Pgina 18
Linux Force
Java PAM ou JPam: O JPam atua como uma ponte entre a parte Java e o PAM
comum. Ele permite o uso dos mdulos ou recursos do PAM (como auth, account,
passwd, session , etc.) pelos aplicativos baseados em Java. Ele fornece o JAAS e
APIs diretas e suporte para a maioria dos sistemas operacionais e arquiteturas do
Unix.
O PAM trabalha com mdulos e controles, e cada tipo de mdulo prov uma funcionalidade diferente dentro do sistema. Vamos comentar primeiro os mdulos:
session: Responsvel por tarefas ps autenticao, como montar um compartilhamento de arquivos remotos que contm o diretrio /home do usurio em
questo, por exemplo.
Pgina 19
Linux Force
Laboratrio
Pgina 20
Linux Force
Execute:
(0 xb7712000 )
Podemos verificar tambm quais servios trabalham com o PAM listando os arquivos
do /etc/pam.d:
Vamos fazer um teste simples que serve para bloquear usurios comuns. Abra o
arquivo "/etc/pam.d/login"e visualize o mdulo "pam_nologin.so" na linha 36:
36 auth
requisite
pam_nologin . so
Para esse mdulo funcionar ele necessita que o arquivo nologin esteja criado
dentro do diretrio /etc. Execute:
Pgina 21
Linux Force
Feito isto, tente logar com o usurio infra em outro terminal. Depois apague o
arquivo /etc/nologin.
Vamos bloquear o acesso de root ao terminal do servidor sem o uso do PAM, apenas
editando o arquivo /etc/securetty :
28 # Virtual consoles
29 tty1
30 tty2
31 # tty3
32 tty4
Teste: Comente a linha 31 (tty3) e tente logar-se com o usurio root no TTY3!
Depois comente as linhas 29 a 34!
Uma maneira prtica de usar o PAM fazermos com que o usurio root no
tenha acesso direto ao login, forando a logar com usurio comum e depois executar
su - para virar root.
Para usar o PAM para gerenciar o login do root, vamos abrir o arquivo /etc/pam.d/login
e descomentar a linha 68:
Pgina 22
Linux Force
account
requisite
pam_time . so
Agora que ativamos o mdulo pam_time.so, vamos negar o login do root no terminal.
Edite o arquivo /etc/security/time.conf e acrescente na ltima linha:
login - Servio que ir ser controlado * - Terminal root - Usurio Al0000-2400 Dias e horrios de filtragem.
O dia da semana especificado em duas letras, em ingls: Mo - Segunda-feira Tu
Tera-feira We - Quarta-feira Th - Quinta-feira Fr - Sexta-feira Sa - Sbado Su Domingo Wd - Somente sbado e domingo (fim de semana) Wk - Segunda a sextafeira Al - Todos os dias "!- Neste caso especifica uma exceo. A faixa de horas
especificada aps o dia no formato: HHMM-HHMM
Tente efetuar login como root em outro terminal e veja que no ser possvel! Aproveitando o gancho , vamos deixar configurada a negao de acesso ao root via ssh.
Mais uma camada de proteo, alm da j configurada no arquivo de configurao
do ssh (/etc/ssh/sshd_config). Abra o arquivo /etc/pam.d/sshd e inclua na linha
9:
account
required
pam_time . so
Pgina 23
Linux Force
Como permitir acesso a grupos extras como, por exemplo, audio, ou cdrom?
Essa sintaxe quer dizer que usurio s pode ter acesso ao grupo audio se efetuar
o login entre 8hs e 18hs. Outro exemplo:
Essa sintaxe quer dizer que todos os usurios podem ter acesso ao grupo audio
e games aos sbados e domingos. Com o PAM, podemos limitar quais usurios
podero ter acesso a utilizar ao comando su. Para isso, vamos criar um grupo
chamado admins
Agora vamos adicionar o usurio infra ao novo grupo. Com isto, apenas o usurio
infra poder executar o comando su.
Pgina 24
Linux Force
Crie uma poltica que no possibilite o uso do su, exceto pelos usurios do grupo
admins. Abra o arquivo /etc/pam.d/su, descomente a linha 15 e adicione ao final da
linha group=admins
1
2
auth
required
teste@datacenter :~ $ su -
Senha :
su : Permiss o negada
infra@datacenter :~ $ su -
Senha :
root@datacenter :~ #
Vamos falar agora sobre o pam_limits! Esse um excelente recurso para limitar
praticamente todos os recursos da mquina a cada usurio. Pode-se inclusive determinar o tempo de consumo de CPU e memria RAM. Vejamos o mdulo ativado no
/etc/pam.d/login:
Pgina 25
Linux Force
77 session
required
pam_limits . so
< usuario / grupo > < tipo_de_limite > < recurso > < valor_do_limite >
Em usurio/grupo, podemos colocar um * para especificar todos os usurios, colocar um nome de usurio qualquer ou um nome de grupo, comeando com @. No
tipo de limite, existem dois tipos possveis: soft e hard.
Quando o limite do tipo soft alcanado, o sistema avisa que chegou no limite mas
no restringe nada. Se o limite for do tipo hard, o sistema simplesmente restringe o
recurso e no deixa passar. O soft ento serve apenas para um aviso amigvel,
ento na dvida o hard quem manda!
core
data
mesma
-c " do shell .
programa pode
fsize
memlock
nofiles
Pgina 26
Linux Force
10
11
cpu
12
nproc
tempo .
as
14
maxlogins
15
maxsyslogins
16
priority
devem rodar .
17
locks
nice
Fique atento, a prova do LPI pode cobrar as opes que encontramos dentro
do arquivo limits.conf. Conhecer todas estas opes e seu pleno entendimento so
tarefas essenciais para ser um Administrador de Sistemas GNU/Linux.
Vamos realizar alguns testes. Primeiro iremos limitar o nmero de terminais consecutivos que um usurio pode utilizar. Abra o arquio /etc/security/limits.conf e insira
a seguinte linha:
@admins hard
maxlogins
Dessa forma, limita-se o usurio teste para utilizar somente dois terminais consecutivos. Segundo, vamos limitar o tamanho mximo de um arquivo criado pelo usurio
teste:
Pgina 27
Linux Force
@admins hard
maxlogins
@admins hard
fsize
5000
Para o teste, faa logout e logue-se novamente com o usurio teste e tente criar
arquivos maiores que 100MB (fsize 100000).
100000+0 registros de sa da
Outro fator importante na questo da segurana o chamado Fork Bomb! Ele nada
mais do que um processo criar sub-processos, em looping infinito, causando o
congelamento do servidor. Faa o teste com o usurio infra digitando:
bomb
Esse comando cria uma funo na qual a funo jogada dentro dela mesma em
segundo plano, gerando o looping. Para parar o looping s desligando o servidor.
Para impedir isto, vamos limitar o nmero de processos gerados pelo usurio no
arquivo /etc/security/limits.conf
@admins hard
nproc
200
Pgina 28
Linux Force
Aps isto, faa novamente o teste usando o usurio infra. Vamos ver agora como
implementar mais segurana com as senhas dos usurios. Limitaremos a quantidade
de caracteres a composio da senha. Instale o programa libpam-cracklib.
1
2
24 # here are the per - package modules ( the " Primary " block )
25 password requisite
26 # password
use_authtok
6
27 password
nullok
try_first_pass sha512
pam_unix . so
use_authtok
md5
minlen =6
difok =3
Agora logue com o usurio teste e tente mudar a senha para valores que o sistema
no aceite:
teste@datacenter :~ $ passwd
Senha :
Pgina 29
Linux Force
Senha :
Senha :
10
11
teste@datacenter :~ $ passwd
2
3
Senha :
Iremos estudar Hardening mais a fundo no Treinamento Segurana em Servidores Linux usando a ISO27002 .
http://lists.debian.org/debian-security-announce/
https://rhn.redhat.com/errata/rhel-server-errata.html
Pgina 30
Captulo 3
Servidor DHCP
3.0.16 Cenrio
A empresa Dexter Courier precisa de informaes precisas sobre suas mquinas
no que diz respeito origem dos acessos aos servidores, portanto ter todos os computadores da rede mapeados com endereo IP fixo.
Linux Force
Servidor DHCP
cluindo o Bind e o NTPD. Caso esteja curioso, a pgina com o cdigo fonte a:
http://www.isc.org/sw/dhcp/. O protocolo DHCP (Dynamic Host Configuration Protocol) funciona nas camadas 2 e 3 do modelo OSI e amplamente utilizado para
oferecer endereo IP a um "host"que ainda no est configurado, o que oferece uma
flexibilidade ao Administrador de Redes.
O que um servidor DHCP faz bastante simples. Ele responde aos pacotes de
broadcast das estaes, enviando um pacote com um dos endereos IP disponveis
e os demais dados da rede. Os pacotes de broadcast so endereados ao endereo "255.255.255.255" e retransmitidos pelo switch da rede para todas as portas,
diferente dos pacotes endereados a um endereo especfico, que so transmitidos
apenas na porta relacionada a ele.
Periodicamente o servidor DHCP verifica se as estaes ainda esto l, exigindo
uma renovao do "aluguel"do endereo IP. Isso permite que os endereos IP sejam gastos apenas com quem realmente estiver online, evitando que os endereos
disponveis se esgotem.
O protocolo "DHCP"opera da seguinte forma:
Pgina 32
Linux Force
Servidor DHCP
ao "host"requisitante;
DHCPREQUEST - O cliente envia um "DHCP REQUEST"endereado para o
servidor "DHCP"aceitando o IP;
DHCPACK - Esse o pacote que confirma a atribuio de uma configurao
de rede a um cliente, ou seja, aquele cliente agora possui configuraes distribudas pelo servidor "DHCP";
DHCPNAK - Caso o cliente no aceite aquele endereo IP, ele enviar um
"DHCPNAK"para o servidor, e realizar o "DHCPDISCOVER"novamente.
DHCPDECLINE Caso o IP j esteja sendo utilizado por outro Host, o servidor
envia um DHCPDECLINE anunciando ao servidor que o endereo j utilizado;
DHCPRELEASE Se por algum motivo o cliente deixa de usar o endereo IP,
o mesmo manda um DHCPRELEASE dizendo que aquele IP ja pode ser usado
por outro Host;
DHCPINFORM Utilizado quando o Cliente j possui endereo IP, mas precisa
de outras informaes, como o servidor DNS por exemplo, o mesmo envia um
DHCPINFORM pedindo tais informaes para o servidor DHCP.
O "DHCP"oferece trs tipos de alocao de endereos IP:
Atribuio manual - Quando desejamos que certo cliente tenha determinado
endereo IP, temos que "amarrar"o endereo "MAC"da mquina cliente ao endereo IP desejado. O servidor DHCP descobre o "MAC ADDRESS"do cliente
atravs do "DHCPDISCOVER", assim identificando quais so as mquinas que
iro receber configuraes personalizadas;
Atribuio automtica - Onde o cliente obtm um endereo de um espao de
endereos possveis chamado de range, especificado pelo administrador. Geralmente no existe vnculo entre os vrios "MACs"habilitados a esse espao
Pgina 33
Linux Force
Servidor DHCP
de endereos. Assim que o cliente se loga pela primeira vez na rede, ele recebe
um endereamento definitivo;
Atribuio dinmica - O nico mtodo que dispe da reutilizao dinmica
dos endereos. O administrador disponibiliza um espao de endereos possveis, e cada cliente ter o software "TCP/IP"da sua interface de rede configurados para requisitar um endereo por "DHCP"assim que a mquina inicialize. A
alocao utiliza um mecanismo de aluguel do endereo, caracterizado por um
tempo de vida. Aps a mquina se desligar, o tempo de vida naturalmente ir
expirar, e da prxima vez que o cliente se ligue, o endereo provavelmente ser
outro. Podemos ainda configurar uma atualizao dinmica dos servidores de
"DNS"para que cada cliente disponha tambm de um registro "DNS".
3.0.19 Laboratrio
Primeiro iremos instalar o pacote do servidor dhcp:
Agora vamos iniciar nossa configurao num arquivo zerado. Abra-o e insira o contedo abaixo:
Pgina 34
Linux Force
5
6
authoritative ;
10
11
12
13
14
15
Servidor DHCP
Pgina 35
Linux Force
Servidor DHCP
authoritative: Indica que o servidor DHCP ser autoritrio em todo o seguimento da rede;
option domain-name-servers 8.8.8.8,208.67.222.222 - Essa opo lista os servidores de nomes (DNS) a serem utilizados para resoluo de nomes;
default - lease - time 600 - Servidores " DHCP " cedem endere os sob
pedido por um tempo pr - determinado . O padr o nesse exemplo
ceder o endere o IP por 600 segundos , ou 10 minutos ;
Pgina 36
Linux Force
Servidor DHCP
Configurando os LOGs
1
2
Com isso todos os logs com origem da facility local7 (facility essa que representa o
servio de DHCP) em qualquer priority (indica o nvel de importncia do log) sero
logados no /var/log/dhcpd.log.
1
2
auto eth0
Pgina 37
Linux Force
Servidor DHCP
Para este cenrio ser possvel adicione no final do arquivo de configurao "/etc/dhcp/dhcpd.con
o que est abaixo:
host squeeze {
host windowsxp {
Pgina 38
Linux Force
host windows7 {
10
11
Servidor DHCP
12
Voc deve trocar o MAC Address informado aqui pelo de suas estaes.
Configuraes adicionais
No que diz respeito ao servidor, podemos ainda verificar alguns arquivos para diagnosticar problemas ou mesmo extrair relatrios. Vejamos:
Este arquivo armazena o banco de dados de aluguel do cliente DHCP. Este arquivo
no deve ser modificado manualmente. As informaes de aluguel DHCP de cada
endereo IP recentemente atribudo so armazenadas automaticamente no banco
de dados de aluguel. As informaes incluem datas do aluguel e os endereos MAC
da placa de interface de rede usada para recuperar o aluguel.
Todos os horrios do banco de dados de aluguel esto em GMT (Greenwich Mean
Time) e no horrio local. O banco de dados de aluguel recriado de tempos em
Pgina 39
Linux Force
Servidor DHCP
tempos para que no fique muito grande. Primeiramente, todos os aluguis conhecidos so salvos em um banco de dados temporrio de aluguel. Ento, o arquivo
dhcpd.leases renomeado para dhcpd.leases , e o banco de dados temporrio
salvo como dhcpd.leases.
O daemon DHCP pode ser finalizado (killed) ou o sistema pode falhar (crash) aps
o banco de dados de aluguel ter sido renomeado como o arquivo backup, mas antes
do novo arquivo ser salvo. Se isto acontecer, o arquivo dhcpd.leases no existe, mas
necessrio para iniciar o servio. No crie um novo arquivo de aluguel. Se voc
o fizer, todos os aluguis antigos sero perdidos e causaro muitos problemas. A
soluo correta renomear o arquivo backup dhcpd.leases como dhcpd.leases e
ento iniciar o daemon.
Outro arquivo importante o /etc/default/isc-dhcp-server, onde podemos setar qual
interface de rede responder as requisies dos clientes. Basta configurarmos conforme abaixo:
Pelo lado do cliente podemos acompanhar quais os endereos IPs que j recebeu
analisando o arquivo /var/lib/dhcp/dhclient.leases:
lease {
10
11
Pgina 40
Linux Force
Servidor DHCP
. . . ou o arquivo /var/lib/dhcp/dhclient.eth0.leases
lease {
10
11
E para finalizar, evite colocar 2 servidores DHCP na mesma rede, pois isto ir gerar
alguns transtornos para os clientes!
Pgina 41
Captulo 4
Servidor NFS
4.1 Cenrio
A empresa Dexter Courier precisa de um Storage de baixo custo para compartilhar
arquivos para os membros da rede, incluindo mquinas Windows.
Linux Force
Servidor NFS
sem os dados remotos como se estivessem no micro local. Por esse motivo o
NFS uma soluo interessante para centralizao de diretrios pessoais e recursos compartilhados em rede, j que as operaes de backup e manuteno podero
ser centralizadas. Para isto o NFS faz uso do Remote Procedure Call.
Para que os clientes possam acessar o servidor NFS, necessrio que os seguintes
servios estejam sendo executados no servidor: portmapper - converte nmeros dos
processos RPC em nmeros no protocolo TCP/IP. Atravs deste daemon, os clientes
conseguem o nmero da porta do servidor NFS;
portmapper - converte nmeros dos processos RPC em nmeros no protocolo TCP/IP.
Atravs deste daemon, os clientes conseguem o nmero da porta do servidor NFS;
status - oferece informaes sobre o compartilhamento afim de evitar erros;
nlockmgr - gerenciador de bloqueios do NFS;
nfsd - atende s requisies dos clientes;
mountd - executa as solicitaes do nfsd (montagem dos clientes);
Pgina 43
Linux Force
Servidor NFS
cado. Inspirados pelo sucesso dos servidores de arquivos da Novell, IBM e Sun,
vrias empresas desenvolveram servidores dedicados para armazenamento de dados. Enquanto a 3Com estava entre as primeiras empresas a fabricar NAS dedicados
para sistemas operacionais de desktop, a Auspex Systems foi a primeira a desenvolver um servidor NFS dedicado para uso com UNIX. Um grupo de engenheiros da
Auspex se separou da empresa no incio dos anos 90 para criar o filtro integrado
NetApp, o qual suportava tanto o CIFS (Windows) quanto o NFS (UNIX), e tinha escalabilidade superior e maior facilidade de instalao. Aqui inicia o mercado para
dispositivos NAS proprietrios.
Sistemas NAS podem conter mais de um HD, podendo tambm contar com a tecnologia RAID (Redundant Arrays of Independent Disks), centralizando a responsabilidade de servir os arquivos em uma rede e deste modo liberando recursos de
outros servidores desta rede. Os protocolos utilizados pelo NAS so o NFS, popular
em sistemas UNIX, ou CIFS/SMB (Common Internet File System/Server Message
Block) em ambientes Windows, assim como o tradicional FTP.
Equipamentos NAS esto sendo usados pelo mundo corporativo h algum tempo,
porm, com a reduo dos custos destes dispositivos e com a popularizao de redes domsticas, diversos produtos NAS surgiram para o mercado pessoal. Estes
dispositivos NAS de uso domstico so baseados em processadores baratos rodando uma verso embarcada de Linux. Alm do baixo custo, estes aparelhos tm
baixo consumo de energia e tm uma instalao relativamente simples. Existem
alternativas open source para implementaes caseiras de NAS, como:
FreeNAS (http://www.freenas.org/)
Openfiler (http://www.openfiler.com/)
NASLite (http://www.serverelements.com/)
Pgina 44
Linux Force
Servidor NFS
LG-N4B1-NAS-Blu-ray
Seagate-Blackarmor-NAS 440
Pgina 45
Linux Force
Servidor NFS
A tecnologia foi adotada por legies de usurios da Network Appliance e por usurios
de Windows para hospedar o Microsoft Exchange e o SQL Server. Tambm foi usado
por milhares de outros para o armazenamento de seus dados orientados a arquivos
(file-oriented).
Com o tempo, o SAN foi adotado para criar parties diferentes no resto do trfego
da LAN e, ao fazer isso, aumentar a velocidade de banco de dados com grande
quantidade de transaes, sistemas ERP e CRM.
Separar a propriedade de um servidor de seu storage e colocando todos os aparelhos de armazenamento diretamente em uma rede de fibra permite diversas conexes many-to-many dos servidores ao storage e do storage para outros aparelhos
de storage. Esta estratgia garante os benefcios tradicionais de colocar os aparelhos de storage em rede, como aumentar a disponibilidade, escalabilidade e desempenho, escreveu o consultor Barb Goldworm.
Os defensores da SAN dizem que a tecnologia a melhor quando se busca desempenho para aplicaes crticas para os negcios como banco de dados, ERP e
CRM. O NAS, definem, impactado por problemas em desempenho. Mas se voc
perguntar para usurios de NAS, no entanto, eles vo dizer que o uso do NAS para
aplicaes crticas nunca gerou problemas. Por exemplo, um teste de um sistema
NAS da BlueArc NAS mostrou mais de 192,900 operaes por segundo.
Pgina 46
Linux Force
Servidor NFS
4.6 E o DAS?
DAS (Direct-Attached Storage) o mais comum tipo de armazenamento. Assim
como o nome sugere, implica que todos os discos e dispositivos de armazenamento
Pgina 47
Linux Force
Servidor NFS
4.7 Laboratrio
4.7.1 Configurando o Servidor
Como a finalidade deste servidor prover apenas espao em disco, vamos realizar
uma configurao simples com NFS, compartilhando dois diretrios.
Primeiro iremos criar os diretrios a serem compartilhados:
Pgina 48
Linux Force
Servidor NFS
PORT
111/ tcp
open
rpcbind
rpcbind
tcp
0.0.0.0:111
0.0.0.0:*
OU A
1468/ portmap
tcp
0.0.0.0:60630
0.0.0.0:*
OU A
tcp
0.0.0.0:2049
0.0.0.0:*
OU A
tcp
0.0.0.0:57409
0.0.0.0:*
OU A
udp
0.0.0.0:47545
0.0.0.0:*
udp
0.0.0.0:1005
0.0.0.0:*
10
udp
0.0.0.0:111
0.0.0.0:*
1468/ portmap
11
udp
0.0.0.0:52472
0.0.0.0:*
12
udp
0.0.0.0:2049
0.0.0.0:*
Podemos observar que temos os servios do portmap e nfs rodando, respectivamente, nas portas 111 e 2049, conforme o arquivo /etc/services.
Pgina 49
Linux Force
Servidor NFS
75 sunrpc
111/ tcp
portmapper
76 sunrpc
111/ udp
portmapper
298 nfs
2049/ tcp
299 nfs
2049/ udp
root@storage :~ # rpcinfo -p
programa
vers o protocolo
porta
100000
tcp
111
portmapper
100000
udp
111
portmapper
100024
udp
47545
status
100024
tcp
57409
status
100021
udp
52472
nlockmgr
100021
udp
52472
nlockmgr
100021
udp
52472
nlockmgr
10
100021
tcp
39468
nlockmgr
11
100021
tcp
39468
nlockmgr
12
100021
tcp
39468
nlockmgr
13
100003
tcp
2049
nfs
14
100003
tcp
2049
nfs
15
100003
tcp
2049
nfs
16
100003
udp
2049
nfs
17
100003
udp
2049
nfs
18
100003
udp
2049
nfs
19
100005
udp
46126
mountd
20
100005
tcp
60630
mountd
21
100005
udp
46126
mountd
22
100005
tcp
60630
mountd
23
100005
udp
46126
mountd
24
100005
tcp
60630
mountd
Pgina 50
Linux Force
Servidor NFS
/ srv / dexter
/ srv / lixeiras
Por
padro
no_subtree_check.
no
compartilhamento,
ele
sempre
assume
opo:
mento sejam exportados. Veja mais opes do arquivo /etc/exports lendo seu
manual => man 5 exports
root@storage :~ # exportfs -r
Pgina 51
Linux Force
Servidor NFS
/ srv / dexter
192.168. X .2
Antes de efetuarmos a montagem efetiva dos compartilhamentos NFS, vamos remover a entrada LVM referente ao /srv:
Pgina 52
Linux Force
Servidor NFS
/ srv / dexter
192.168. X .2
Monte os compartilhamentos:
root@datacenter :~ # mount
touch : n o foi poss vel tocar " / srv / storage / teste_root " : Permiss o
negada
Pgina 53
Linux Force
Servidor NFS
Como vimos, com a opo root_squash ativada por padro o root no consegue
criar arquivos/diretrios dentro do compartilhamento! Vamos alterar o /etc/exports
no servidor Storage e permitir que o root grave no compartilhamento, habilitando a
opo no_root_squash:
/ srv / dexter
/ srv / lixeiras
root@storage :~ # exportfs -r
Pgina 54
Linux Force
Servidor NFS
defaults , soft
defaults , soft
Pgina 55
Captulo 5
Implementando RAID + LVM
5.0.3 Introduo Terica - RAID
RAID, do ingls Redundant Array of Independent Disks, significa Conjunto Redundante de Discos Independentes. A ideia bsica por trs do RAID combinar
diversos discos e de baixo custo em um conjunto, a fim de atingir objetivos de desempenho ou redundncia inatingveis com um disco grande e de custo alto. Este
conjunto de discos aparece para o computador como uma nica unidade ou disco de
armazenamento lgico.
O conceito fundamental do RAID que os dados podem ser distribudos ao longo de
cada disco do conjunto de maneira consistente. Para fazer isso, primeiramente os
dados precisam ser quebrados em pedaos de tamanho consistente (geralmente de
32KB ou 64KB, apesar de poder usar tamanhos diferentes). Cada pedao ento
gravado em um disco rgido no RAID, conforme o nvel do RAID usado. Quando os
dados tiverem que ser acessados, o processo revertido, dando a impresso de que
os discos mltiplos so um disco grande.
[ http://web.mit.edu/rhel-doc/3/rhel-sag-pt_br-3/ch-raid-intro.html ]
Linux Force
Pgina 57
Linux Force
[ http://web.mit.edu/rhel-doc/3/rhel-sag-pt_br-3/s1-raid-approaches.html ]
Tipos de RAID
2
3
Pgina 58
Linux Force
6
7
RAID 1 (Mirroring): O nvel mais utilizado. Sua principal finalidade prover redundncia dos dados. Esta garantida pela duplicao dos dados que so gravados
em cada par de discos, logo, se um deles falhar, o outro continuar operando e mantendo a informao disponvel, at que a substituio do disco defeituoso seja feita.
O ganho de desempenho est na leitura, uma vez que os dados so lidos em partes iguais e simultaneamente de todos os discos. A desvantagem desse nvel que
s metade do volume total de armazenamento nos discos utilizados ficar disponvel para o sistema operacional. preciso no mnimo dois discos para implementar
RAID 1, sempre em pares.
DICA DE SEGURANA: RAID 1 espelhado no backup. Se voc apagar um arquivo acidentalmente, esse arquivo vai ser apagado em todos os discos.
Sempre tenha uma CPIA dos dados.
2
3
4
5
6
7
Pgina 59
Linux Force
RAID 6: um padro relativamente novo, suportado por apenas algumas controladoras. Ele semelhante ao RAID 5, porm usa o dobro de bits de paridade,
garantindo a integridade dos dados caso at 2 dos HDs falhem ao mesmo tempo. Ao
usar 7 HDs de 500 GB em RAID 6, por exemplo, teramos 2.5 TB para dados mais 1
TB de cdigos de paridade.
A percentagem de espao sacrificado decai conforme so acrescentados mais discos, de forma que o uso do RAID 6 vai tornado-se progressivamente mais atrativo.
No caso de um grande servidor, com 41 HDs, por exemplo, seria sacrificado o espao equivalente a apenas dois discos, ou seja, menos de 5% do espao total. Em
Pgina 60
Linux Force
Tanto no caso do RAID 5, quanto no RAID 6, o servidor continua funcionando normalmente durante todo o processo de substituio do disco, embora a performance
decaia, sobretudo logo depois da substituio do drive defeituoso, quando o sistema
precisa regravar os dados lendo as informaes armazenadas em todos os outros
discos e fazendo os clculos de paridade.
[ http://www.hardware.com.br/termos/raid-6 ]
Combinaes de RAID
RAID 10: Combina as vantagens do RAID 0 e RAID 1 num nico sistema. Fornece
segurana efetuando espelhamento de todos os dados num conjunto secundrio de
discos enquanto utiliza listagem em cada conjunto de discos para acelerar as transferncias de dados. O RAID 10 permite no mximo 2 discos avariados de 2 pares
diferentes.
Pgina 61
Linux Force
O volume de disco RAID 10 ideal para organizaes que executam bases de dados
e outras aplicaes com base em transaes que requerem eficincia de armazenamento e proteo de dados crticos.
Em artigos que comparam os nveis RAID 5 e RAID 10, as respostas do RAID 10
foram melhores, apesar do teste ter sido feito utilizando RAID por hardware, mas
vale a pena a comparao. Veja o grfico abaixo:
RAID 0+1: uma combinao dos nveis 0 (Striping) e 1 (Mirroring), onde os dados so divididos entre os discos para melhorar o rendimento, mas tambm utilizam
outros discos para duplicar as informaes. Assim, possvel utilizar o bom rendimento do nvel 0 com a redundncia do nvel 1. No entanto, necessrio pelo menos
4 discos para montar um RAID desse tipo. Tais caractersticas fazem do RAID 0 + 1
Pgina 62
Linux Force
o mais rpido e seguro, porm o mais caro de ser implantado. Falhando 1 disco, o
sistema vira um RAID 0.
Vantagens:
Desvantagens:
RAID 50
Pgina 63
Linux Force
RAID 60
RAID 100
Pgina 64
Linux Force
"O LVM (Logical Volume Manager) um recurso includo no Kernel Linux a partir da
verso 2.4 que cria uma camada de abstrao entre o sistema operacional e os HDs
(ou outras unidades de armazenamento utilizadas, como o RAID por exemplo). Ele
adiciona alguns complicadores adicionais na configurao, mas, em compensao
oferece um conjunto de vantagens bastante interessantes.
Imagine que no LVM o sistema no v HDs e parties, mas sim um ou mais volumes
lgicos. Cada volume se comporta como se fosse uma partio, que formatada e
montada da forma usual. Estes volumes so agrupados em um grupo de volumes
lgicos (logical volume group) que se comporta de forma similar a um HD.
O pulo do gato que o grupo de volumes lgicos pode combinar o espao de vrios
HDs e ser modificado conforme necessrio, incorporando mais HDs. Os volumes
lgicos dentro dele tambm podem ser redimensionados livremente conforme for
necessrio.
Se voc precisa de mais espao dentro do volume referente pasta /home, por
exemplo, voc poderia reduzir o tamanho de um dos outros volumes do sistema (que
estivesse com espao vago) e aumentar o tamanho do volume referente ao /home,
tudo isso com o servidor operante.
Caso seja utilizada uma controladora SCSI ou SAS com suporte a hot-swaping,
possvel at mesmo adicionar, remover ou substituir HDs, fazendo as alteraes necessrias nos volumes lgicos, com o servidor ligado!
Pgina 65
Linux Force
importante enfatizar que o LVM apenas uma mudana na forma como o sistema
acessa os discos, ele no um substituto para o RAID. No LVM voc pode agrupar
vrios HDs em um nico grupo de volumes lgicos, mas se um dos HDs apresentar
defeito, o servidor ficar inoperante e voc perder os dados armazenados no disco
afetado, diferente do RAID, onde voc pode sacrificar parte do espao para ter uma
camada de redundncia.
O grupo de volumes lgicos criado pelo instalador visto pelo sistema como "/dev/vg01"e
os volumes lgicos dentro dele so vistos como "/dev/vg01/lv01", "/dev/vg01/lv02",
etc. Os nomes podem ser alterados da maneira que quiser. Naturalmente, possvel tambm deixar de usar o LVM, voltando ao sistema normal de particionamento.
Nesse caso, voc s precisa deletar os volumes e o grupo de volumes lgicos e criar
a parties desejadas usando o espao disponvel.
http://www.hardware.com.br/dicas/entendendo-lvm.html
Uma implementao melhor do LVM em conjunto com volumes RAID, pois no caso
de falhar um dos discos, continuamos com a leitura/gravao nos demais. Em relao ao usurio, o mesmo nem saber que tem toda esta estrutura por trs da
manipulao dos dados!
Pgina 66
Linux Force
CASO no aparea as parties, instale o pacote parted e execute o utilitrio partprobe, verificando posteriormente:
32
83886080 sdc
33
83007823 sdc1
48
83886080 sdd
49
83007823 sdd1
64
83886080 sde
65
83007823 sde1
16
83886080 sdf
10
17
82909184 sdf1
Pgina 67
Linux Force
11
82908088 md0
12
253
9764864 dm -0
13
253
4882432 dm -1
14
253
1949696 dm -2
Se for instalar num servidor sem RAID, ter que fazer a instalao:
Vamos fazer uso do utilitrio splitvt (instalado anteriormente), que faz uma diviso
na tela do terminal, facilitando a execuo dos comando e verificao de logs. Para
usar esta combinao, digite no terminal splitvt e veja a sada:
Pgina 68
Linux Force
Configurando o RAID-5
2
3
4
5
6
7
8
9
10
11
6 17:23:36 2011
6 17:23:36 2011
6 17:23:36 2011
12
13
14
6 17:23:36 2011
Veja a sada:
2
3
md1 : active ( auto - read - only ) raid5 sde1 [4]( S ) sdf1 [3]( S ) sdd1 [1]
sdc1 [0]
Pgina 69
Linux Force
Neste exemplo criamos o RAID-5, porm ele no ativou um dos discos, neste caso o
/dev/sde1, conforme o item [UU_]. Para resolver isto devemos executar:
Isto far com que o volume RAID seja atualizado. Veja a sada em:
md1 : active raid5 sde1 [4] sdf1 [3]( S ) sdd1 [1] sdc1 [0]
[ >........]
recovery =
md1 : active raid5 sde1 [4] sdf1 [3]( S ) sdd1 [1] sdc1 [0]
resync = PENDING
Pgina 70
Linux Force
DEVICE
ARRAY
md1 : active ( auto - read - only ) raid5 sdc1 [0] sdf1 [3]( S ) sde1 [4]
sdd1 [1]
Raid Devices : 3
Total Devices : 4
Active Devices : 3
Spare Devices : 1
Number
Major
Minor
RaidDevice State
33
active sync
/ dev / sdc1
10
49
active sync
/ dev / sdd1
11
65
active sync
/ dev / sde1
12
81
spare
/ dev / sdf1
Pgina 71
Linux Force
Verifique a montagem:
root@datacenter :~ # df - hT
/ dev / md1
ext4
9 ,9 G
151 M
9 ,7 G
2% / mnt / raid
1
2
1
2
Pgina 72
Linux Force
# DEVICE
# ARRAY
/ dev / md1devices =/ dev / sdc1 ,/ dev / sdd1 ,/ dev / sde1 ,/ dev / sdf1
1
2
1
2
# !/ bin / bash
while true ; do
sleep 3
done
Pgina 73
Linux Force
Na tela do splitvt, acompanhe o que acontece com cada comando executado. Vamos
inicialmente simular uma falha no disco sdd1. Digite:
root@datacenter :~ # jobs -l
Pgina 74
Linux Force
Laboratrio LVM
PV ( Phisical Volume )
pvs - sa da resumida
pvscan
pvdisplay - sa da detalhada
- sa da simples
5
6
VG ( Volume Group )
vgs - sa da resumida
vgscan
vgdisplay - sa da detalhada
- sa da simples
10
11
LV ( Logical Volume )
12
lvs - sa da resumida
13
lvscan
14
lvdisplay - sa da detalhada
- sa da simples
Vamos verificar nossos Volumes Lgicos por meio dos comandos detalhados, tomando como base para a produo de relatrios. Primeiro o PV:
root@datacenter :~ # pvdisplay
Pgina 75
Linux Force
PV Name
/ dev / md0
VG Name
root_vg
PV Size
PE Size
4 ,00 MiB
Total PE
20241
Free PE
15951
Allocated PE
4290
Agora do VG:
root@datacenter :~ # vgdisplay
VG Name
root_vg
VG Status
resizable
VG Size
79 ,07 GiB
PE Size
4 ,00 MiB
Total PE
20241
Alloc PE / Size
Free
PE / Size
root@datacenter :~ # lvdisplay
LV Name
VG Name
root_vg
LV Size
9 ,31 GiB
Current LE
2384
Agora que sabemos como gerar um relatrio do LVM e vimos como foi criado na
instalao do sistema, passemos para a criao de um novo VG para se trabalhar
Pgina 76
Linux Force
com os perfis dos usurios do Samba. Primeiro devemos adicionar um PV, sendo
neste caso o volume RAID-5 criado anteriormente:
1
2
1
2
3
root@datacenter :~ # pvdisplay
--- Physical volume --"/ dev / md1 " is a new physical volume of " 9 ,98 GiB "
PV Name
VG Name
PV Size
/ dev / md1
9 ,98 GiB
Perceba que o sistema nos informa de que o /dev/md1 um novo volume fsico e
que no faz parte de nenhum VG! Sendo assim, vamos criar um novo VG com este
PV (/dev/md1):
1
2
1
2
VG Name
samba_vg
Format
lvm2
VG Size
9 ,98 GiB
Pgina 77
Linux Force
PE Size
4 ,00 MiB
Total PE
2556
Alloc PE / Size
0 / 0
Free
10
11
PE / Size
12
PV Name
/ dev / md1
13
Total PE / Free PE
2556 / 2556
1
2
LV Name
VG Name
samba_vg
LV Size
6 ,00 GiB
Current LE
1536
root@datacenter :~ # df - hT | tail - n2
Pgina 78
Linux Force
4
5
6 ,0 G
140 M
5 ,8 G
3% / mnt / lvm
Aps estes procedimentos, teremos uma unidade lgica mapeada e pronta para uso!
Vamos gravar alguns dados nesta unidade para realizarmos alguns testes.
21 M / mnt / lvm /
Vamos supor que o espao alocado para a unidade lgica no ir atender s necessidades da empresa! Neste caso teremos que aumentar o espao da unidade lgica,
sem a necessidade de movermos dados do local ou mesmo introduzir um novo disco
no servidor. Primeiro desmonte o LV e depois execute seguintes passos:
Pgina 79
Linux Force
9
10
11
Pronto! Agora monte a partio e veja o tamanho e o total dos dados que nela
estavam:
root@datacenter :~ # df - hT | tail - n2
4
5
7 ,9 G
163 M
7 ,8 G
1% / mnt / lvm
21 M / mnt / lvm /
10
LV Name
11
VG Name
samba_vg
12
LV Size
8 ,00 GiB
13
Current LE
2048
Agora suponha que, seja l qual for o motivo, voc precise reduzir o espao do LV.
Como proceder? Ser que irei perder meus dados? E agora? Calma! Para isto
devemos nos atentar para alguns detalhes sobre os passos a serem feitos. Vamos
l, primeiro passo desmontar a partio. Depois devemos checar a integridade da
partio para finalmente executar o comando que far o resizing.
Pgina 80
Linux Force
Neste exemplo temos uma partio de 8GB e eu desejo reduzir apenas 5GB. Vamos
supor que eu tenha cerca de 3,5GB de dados. Ento, para no quebrar a partio
em cima dos dados, daremos uma folga de alguns gigabytes e efetuamos o comando
de resizing. Agora vamos executar o comando LVM que reduzir de fato o tamanho
da partio:
10
11
Os comando acima reduziram de forma lgica o tamanho da partio para que depois
possamos reduzir de forma fsica. Agora s montar e checar os dados!
root@datacenter :~ # df - hT | tail - n2
4
5
ext4
5G
161 M
4 ,8 G
1% / mnt / lvm
Pgina 81
Linux Force
21 M / mnt / lvm /
10
11
12
13
14
15
16
17
18
A fim de deixarmos nosso ambiente estruturado para a gravao dos perfis do SAMBA,
vamos refazer o LVM da seguinte forma:
1
2
root@datacenter :~ # df - hT | tail - n2
ext4
9 ,9 G
115 M
9 ,97 G
1% / srv / samba
Agora vamos editar o /etc/fstab e incluir no final do arquivo este novo ponto de montagem. Use o comando abaixo e deixe a entrada conforme o exemplo:
Pgina 82
Linux Force
0 0
Pgina 83
Captulo 6
Servidor Samba
6.0.6 Cenrio
A empresa Dexter Courier possui WorkStation com o Sistema Operacional GNU/Linux e Microsoft Windows e pretende criar uma rede com estes dois ambientes.
Como a empresa necessita de flexibilidade, deseja que seus usurios possam se
logar no sistema em qualquer computador, podendo acessar arquivos do compartilhamento pblico, do respectivo setor e tambm imprimir. Pensando em questes de
segurana, deseja que todos os acessos aos compartilhamentos sejam autenticados
e logados. A empresa no deseja gastar com licena de um servidor de arquivos.
A rede possui mquinas com Windows XP e Windows 7. Os arquivos de cada um
dos setores precisam ser gravados no Storage para fins de backup e os arquivos do
perfil dos usurios precisam ficar no RAID (disponibilidade).
A melhor soluo um servidor GNU/Linux com Samba pois, alm de ser gratuito,
possui muitas funcionalidades e flexibilidade, tornando-o superior aos servidores com
cdigo proprietrio. O servidor dever atender aos seguintes requisitos:
Linux Force
Servidor Samba
domnio com perfil mvel (roaming profile); autenticao de usurios; nome netbios; gerador de logs nvel 1; gravao de arquivos com extenso mp3, mpg,
mpeg, avi, wav e jpg vetada no compartilhamento; arquivos com extenses .ini
e .log devero ficar ocultos; sistema de lixeira para cada compartilhamento; impressora compartilhada; acesso restrito rede local; mapeamento de unidade
de rede por grupo; possibilidade do usurio alterar sua senha; criao de arquivo/diretrio em letra minscula; compartilhamento oculto para uso da equipe
de suporte; codificao dos caracteres para ambos os sistemas; relatrios de
quem est conectado ao servidor.
Pgina 85
Linux Force
Servidor Samba
Atravs de contatos feitos por e-mail, Tridgell descobriu que as documentaes dos
protocolos SMB e NetBIOS estavam atualizadas e assim voltou a dedicar-se ao projeto. Porm, uma empresa entrou em contato com ele reivindicando os direitos sobre
o nome usado no software at ento. Diante disso, Andrew Tridgell teve a idia de
procurar em um dicionrio uma palavra que tivesse as letras s, m e b (de SMB). A
busca retornou apenas as palavras "salmonberry", "samba", "sawtimber"e "scramble", de forma que a escolha do nome acabou sendo bvia. A partir da o projeto
Samba cresceu e hoje Andrew Tridgell conta com uma excelente equipe de programadores e com milhares de usurios de sua soluo espalhados pelo mundo. [
http://www.infowester.com/linuxsamba.php
A sute SAMBA precisa de trs componentes para realizar sua funo:
Pgina 86
Linux Force
Servidor Samba
root@datacenter :~ # cp / etc / samba / smb . conf / etc / samba / smb . conf . distro
Fique atento, as opes que iremos estudar agora podero ser cobradas na
prova do LPI nvel 2.
Segundo, vamos montar a estrutura de nosso servidor Samba, com a lista dos usurios, grupos e permisses. A empresa Dexter Courier possui o seguinte quadro de
funcionrios:
Pgina 87
Linux Force
Servidor Samba
Para nos ajudar nessa rdua tarefa, vamos compor uma lista com o nome e o login
de cada membro da empresa Dexter Courier. Depois gere uma lista somente com o
login de cada usurio e salve em /root/lista_users.txt do servidor, assim poderemos
utilizar scripts na criao e administrao do Samba.
Dexter Clem
- dexterclem
Mandark Glory
- mandarkglory
Levinsky Mitch
- levinskymitch
Chris Cavanaugh
- chriscavanaugh
Candi Milo
- candimilo
Allison Moore
- allisonmoore
Kathryn Cressida
- kathryncressida
Kath Soucie
- kathsoucie
10
Jeff Bennett
- jeffbennett
11
Eddie Deezen
- eddiedeezen
12
Frank Welker
- frankwelker
13
Luzinsky Brooks
- luzinskybrooks
14
VOC
- voce
A senha padro para todos ser 123456. bvio que no mundo real isto no
ocorrer. A ideia aqui facilitar os testes! Agora vamos criar os grupos...
root@datacenter :~ # mkdir -p \
Pgina 88
Linux Force
Servidor Samba
1
2
3
4
Pgina 89
Linux Force
Servidor Samba
10
11
12
13
14
A fim de agilizar a preparao de nosso cenrio, vamos montar um script para alterar
o diretrio home e profile dos usurios, criar o diretrio da lixeira e ingressar os
usurios no Samba. Depois d permisso de execuo e execute o script!
Pgina 90
Linux Force
# !/ bin / bash
10
11
12
13
14
15
16
Servidor Samba
done
[ global ]
workgroup = DEXTER
os level = 100
10
11
12
# Habilitando os LOGs
13
14
log level = 1
Pgina 91
Linux Force
15
16
Servidor Samba
17
18
security = user
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
oplocks = yes
35
36
37
logon drive = H :
38
39
40
41
42
43
44
45
46
47
48
printing = cups
49
Pgina 92
Linux Force
50
Servidor Samba
51
interfaces = eth0
52
53
54
55
56
57
58
59
case sensitive = no
60
61
62
63
64
65
66
67
68
[ administrativo ]
69
70
available = yes
71
read only = no
72
public = no
73
only guest = no
74
75
76
77
78
veto files = /*. mp3 /*. mpg /*. mpeg /*. avi /*. jpg /
79
80
[ comercial ]
81
82
available = yes
83
read only = no
Pgina 93
Linux Force
84
public = no
85
only guest = no
86
87
88
89
90
veto files = /*. mp3 /*. mpg /*. mpeg /*. avi /*. jpg /
91
92
[ logistica ]
93
94
available = yes
95
read only = no
96
public = no
97
only guest = no
98
99
100
101
102
veto files = /*. mp3 /*. mpg /*. mpeg /*. avi /*. jpg /
103
104
[ rh ]
105
106
available = yes
107
read only = no
108
public = no
109
only guest = no
110
111
112
113
114
veto files = /*. mp3 /*. mpg /*. mpeg /*. avi /*. jpg /
115
116
Servidor Samba
[ suporte ]
117
118
available = yes
119
read only = no
120
public = no
Pgina 94
Linux Force
121
only guest = no
122
123
124
125
126
veto files = /*. mp3 /*. mpg /*. mpeg /*. avi /*. jpg /
127
128
[ publico ]
129
comment = Publico
130
131
public = yes
132
133
134
read only = no
135
guest ok = yes
136
137
138
veto files = /*. mp3 /*. mpg /*. mpeg /*. avi /*. jpg /
139
140
[ lixeiras ]
141
142
read only = no
143
browseable = no
144
145
146
veto files = /*. mp3 /*. mpg /*. mpeg /*. avi /*. jpg /
147
148
149
[ printers ]
comment = Samsung ML -2010
150
151
browseable = yes
152
read only = no
153
print ok = yes
154
guest ok = yes
155
Servidor Samba
[ netlogon ]
156
157
Pgina 95
Linux Force
Servidor Samba
158
writable = no
159
browseable = no
160
[ homes ]
161
162
163
public = no
164
valid users = % U
165
read only = no
166
browseable = no
167
[ profiles ]
168
169
170
public = no
171
guest ok = yes
172
read only = no
173
browseable = no
174
175
176
[ drivers$ ]
177
178
179
public = no
180
181
182
183
only guest = no
184
read only = no
185
186
187
veto files = /*. mp3 /*. mpg /*. mpeg /*. avi /*. jpg /
188
root@datacenter :~ # testparm
Pgina 96
Linux Force
Servidor Samba
10
11
12
13
14
15
16
17
WARNING : You have some share names that are longer than 12
characters .
18
19
20
21
E agora copie os scripts de logon fornecidos pelo Instrutor para o local correto, a
fim de que os usurios Windows possam mapear as unidades da rede:
Pgina 97
Linux Force
Servidor Samba
root@datacenter :~ # pdbedit - Lw
4.Reinicie a mquina com Windows XP. Depois disto, siga as prximas figuras:
Pgina 98
Linux Force
Servidor Samba
Pgina 99
Linux Force
Servidor Samba
Pgina 100
Linux Force
Servidor Samba
Primeiro precisa alterar o registro no Windows 7, isso possvel editando manualmente o registro do Windows com os seguintes valores:
DWORD DomainCompatibilityMode = 1
DWORD DNSNameResolutionRequired = 0
https://bugzilla.samba.org/attachment.cgi?id=4988&action=view
Pgina 101
Linux Force
Servidor Samba
Pgina 102
Linux Force
Servidor Samba
Pgina 103
Linux Force
Servidor Samba
Pgina 104
Linux Force
Servidor Samba
Quando surgir a tela de login, clique em Trocar Usurio => Outro Usurio e digite
o usurio do Domnio DEXTER:
Pgina 105
Linux Force
Servidor Samba
Pgina 106
Captulo 7
Servidor DNS
Cenrio
A empresa DEXTER COURIER precisa configurar um servidor DNS para que os servios disponibilizados por ela possam ser acessados externamente (Internet) por nomes ao invs de IP. A empresa pretende registrar dois domnios junto ao http://registro.br:
dexter.com.br e mandark.com.br.
Linux Force
Servidor DNS
Pgina 108
Linux Force
Servidor DNS
mesmo nome. Porm, apesar do NIC poder designar endereos nicos para
cada host, ele no tinha nenhuma autoridade sobre os nomes dados aos mesmos. No havia nada que pudesse evitar que algum adicionasse um host com
um nome conflitante, interrompendo o sistema de algum outro host j existente.
Consistncia : manter a consistncia do arquivo com a rede se expandindo
quelas propores se tornou cada vez mais difcil. Quando o arquivo conseguia conter todos os hosts, algum host trocava de endereo ou um novo host
adicionado tinha quebrado a conexo do host que se desejava acessar. Ironicamente, o sucesso da ARPANET tornou o arquivo HOSTS.TXT falho e obsoleto.
Os administradores da ARPANET tentaram outras configuraes que resolvessem o
problema do HOST.TXT. O objetivo era criar um sistema que resolvesse os problemas
em uma tabela nica de hosts. O novo sistema deveria: Permitir que o administrador
local tornasse os dados mundialmente disponveis; Descentralizar a administrao
a fim de resolver o problema do gargalo gerado por um nico host, diminuindo o
problema do trfego. Alm disso, o fato da administrao ser local iria fazer com
que a atualizao dos dados se tornasse uma tarefa bem mais simples; O esquema
deveria usar nomes em hierarquia para garantir a exclusividade dos nomes.
Paul Mockapetris, do USCs Information Science Institute, foi o responsvel pela
arquitetura do sistema. Em 1984 ele lanou o RFCs 882 e 883, que descreve o
"Domain Name System", ou DNS. Estes RFCs foram sucedidos pelos RFCs 1034 e
1035, que possuem as especificaes atuais do DNS.
[http://www.gta.ufrj.br/grad/anteriores98/dns-ticiana/historia.htm ]
Caractersticas
Banco de dados hierrquico e distribudo representado no formato de uma rvore invertida e 127 nveis;
Pgina 109
Linux Force
Servidor DNS
"Namespace"de at 63 caracteres;
Capacidade de associar outras informaes a um "host"e no s seus endereos IPs;
Arquitetura cliente/servidor;
Os clientes so chamados "resolvers"e costumam ser bibliotecas do sistema
operacional ("libresolv"no Gnu/Linux) compartilhadas entre os mais diversos
programas, como "ping"ou o navegador web;
Do outro lado esto os servidores de nome "DNS", os "DNS nameserver";
A raiz da rvore tem nome nulo ou , por isso a representamos simplesmente
como ponto (.);
Os ns abaixo do domnio raiz so chamados domnios de nvel mais elevado TLD (top level domains);
Sua quantidade e nomes so impostos pela ICANN - Internet Corporation for
Assigned Names and Numbers;
Eles so divididos em "gTLD"(domnios genricos "com", "edu", "gov", "mil",
etc) e "ccTLD"(cdigos de pases ou "country-code", sempre com duas letras);
A ICANN delega, de acordo com tratados internacionais, a responsabilidade
pela administrao de um "ccTLD";
No caso do Brasil, essa responsabilidade pertence atualmente ao "CGI.br",
mais especificamente ao "REGISTRO.br";
Uma vez delegado um domnio, sua nova autoridade pode delegar subdomnios
sem necessitar notificar a entidade responsvel pelo domnio pai;
Pgina 110
Linux Force
Servidor DNS
7.0.12 Resoluo
recursiva
iterativa
Resoluo Recursiva
Tomando um navegador web como exemplo, a resoluo para acesso a um "website"tem as seguintes etapas:
1.Usurio solicita acesso a "www.exemplo.com.br";
2.Navegador checa se j conhece o endereo IP do "hostname"solicitado (cache do
"browser");
Pgina 111
Linux Force
Servidor DNS
Pgina 112
Linux Force
Servidor DNS
Resoluo Iterativa
Pgina 113
Linux Force
Servidor DNS
Endereco_IP
Hostname_canonico
192.168.200.254
gateway . com . br
Aliases
gateway
Devemos colocar um endereo IP por linha, seguido de um endereo cannico e opcionalmente "aliases"(apelidos). O nome de "host"cannico pode ser qualquer nome
no formato "DNS", porm, em alguns casos, como o de servidores de e-mails, adequado que os IPs presentes nesta mquina tenham um "FQDN"pertinente. FQDN
(Fully Qualified Domain Name) um "hostname"que identifica, sem ambiguidade,
a posio daquele n dentro da rvore DNS.
Por esta razo, um "FQDN"deve terminar com um ".", que representa a raiz da rvore. Os "aliases"podem ser outros "hostnames"cannicos, ou simples sufixos, para
simplificar a escrita de determinados endereos. Aps a instalao do sistema, o arquivo "hosts"costuma conter uma entrada referente ao IP da interface "loopback", e
uma entrada para cada outra interface presente na mquina para qual um endereo
foi atribudo.
[http://gnulinuxbr.com/2010/05/04/domain-name-system-servidor-dns-nodebian-parte-1/ ]
Por exemplo:
127.0.0.1
192.168.1.50
localhost
micro50 . dexter . com . br .
micro50
Pode ser acrescentadas quantas entradas forem necessrias, inclusive para IPs externos. Atualmente, os sistemas baseados em Debian j contm entradas para endereamento "IPv6", que seguem a mesma lgica. Poder ver isto executando:
Pgina 114
Linux Force
...
::1
Servidor DNS
nslookup
Pgina 115
Linux Force
Servidor DNS
host
dig
O comando "dig" o acrnimo para "Domain Information Groper", que significa algo
como "aquele que busca por informaes de domnio no escuro", e ao mesmo
tempo, a palavra "dig"em ingls significa literalmente "escavar". Acho que mencionar
estas curiosidades demonstra o esforo de imaginao dos criadores do "dig"e, no
toa, ele o comando de pesquisa mais poderoso no pacote de utilitrios "BIND".
No "dig"h dezenas de opes e incontveis combinaes entre elas, por isso consultar o "man"e, sobretudo, ter um forte domnio do funcionamento do sistema de
nomes de domnio, necessrio para dom-lo.
Pgina 116
Linux Force
Servidor DNS
;; QUESTION SECTION :
;; ANSWER SECTION :
10
IN
300 IN
A 66.118.142.41
...
11
12
13
14
15
;; QUESTION SECTION :
16
17
;; ANSWER SECTION :
18
IN
300 IN
A
A 66.118.142.41
19
20
21
22
...
Pgina 117
Linux Force
Servidor DNS
23
24
25
26
27
;; QUESTION SECTION :
28
; gmail . com .
29
;; ANSWER SECTION :
30
gmail . com .
1425
IN
MX
31
gmail . com .
1425
IN
MX
32
gmail . com .
1425
IN
MX
33
gmail . com .
1425
IN
MX
34
gmail . com .
1425
IN
MX
IN
MX
35
36
37
...
38
39
40
41
42
;; QUESTION SECTION :
43
44
;; ANSWER SECTION :
45
PTR
CNAME 137.128 -
46
47
IN
48
49
50
...
51
52
53
54
55
30820 IN
NS
56
30820 IN
NS
57
30820 IN
NS
58
30820 IN
NS
Pgina 118
Linux Force
Servidor DNS
59
30820 IN
NS
60
30820 IN
NS
61
30820 IN
NS
62
30820 IN
NS
63
30820 IN
NS
64
30820 IN
NS
65
30820 IN
NS
66
30820 IN
NS
67
30820 IN
NS
68
69
br .
172800
IN
NS
c . dns . br .
70
br .
172800
IN
NS
f . dns . br .
71
br .
172800
IN
NS
a . dns . br .
72
br .
172800
IN
NS
d . dns . br .
73
br .
172800
IN
NS
b . dns . br .
74
br .
172800
IN
NS
e . dns . br .
75
76
linuxforce . com . br .
86400 IN
NS
77
linuxforce . com . br .
86400 IN
NS
78
79
80
linuxforce . com . br .
81
linuxforce . com . br .
60
IN
NS
82
linuxforce . com . br .
60
IN
NS
83
300 IN
60
IN
A 66.118.142.41
NS
Pgina 119
Linux Force
Servidor DNS
O arquivo principal chama-se "/etc/bind/named.conf" mas contm apenas configuraes estticas. Ele utiliza a clusula include para anexar os arquivos "/etc/bind/named.conf.options" e "/etc/bind/named.conf.local". Sendo que desses dois, o
primeiro serve para personalizar todas opes referentes ao funcionamento do prprio "BIND", enquanto que o segundo serve para declarar todas as zonas pelas quais
este servidor deve responder.
Alm dos arquivos citados acima, temos o arquivo "db.root"(no RedHat fica em "/var/named/named.ca") que relaciona os endereos dos 13 servidores raiz e lido como
"zona hint", que ser explicada adiante.
tcp
0 192.168. X .3:53
0.0.0.0:*
OU A
1602/ named
3
tcp
0 127.0.0.1:53
0.0.0.0:*
OU A
0 :::53
:::*
OU A
1602/ named
4
tcp6
1602/ named
Pgina 120
Linux Force
udp
Servidor DNS
0 127.0.0.1:53
0.0.0.0:*
1653/ named
6
udp
0 192.168. X .3:53
0.0.0.0:*
udp
0 127.0.0.1:53
0.0.0.0:*
0 :::53
:::*
0 :::53
:::*
1602/ named
1602/ named
8
udp6
1653/ named
9
udp6
1602/ named
Execute o tcpdump para verificar os pacotes saindo de uma porta alta at a porta
53/udp de seu servidor:
Pgina 121
Linux Force
Servidor DNS
19:11:52.544000 IP 192.33.4.12.53 > 192.168. X .3.29726: 39309* 14/0/23 NS m . root - servers . net . , NS d . root - servers . net . , NS
h. root - servers . net . , NS k . root - servers . net . , NS
g. root - servers . net . , NS i . root - servers . net . , NS
b. root - servers . net . , NS j . root - servers . net . , NS
a. root - servers . net . , NS f . root - servers . net . , NS
c. root - servers . net . , NS l . root - servers . net . , NS
e. root - servers . net . , RRSIG (857)
As bibliotecas do resolvedor da maioria dos sistemas operacionais no so capazes de executar o processo de resoluo completo, chamado recursivo, como vimos
acima. Ao invs disso elas dependem de um servidor intermedirio com essa capacidade. Quando nos conectamos de casa diretamente Internet, o servio "DHCP"do
provedor se encarrega de nos atribuir o endereo de seus servidores cache. Caso
contrrio, nosso "resolver"no teria a quem consultar e no conseguiramos navegar.
No entanto, muitos administradores de rede utilizam os IPs desses provedores para
Pgina 122
Linux Force
Servidor DNS
configurar vrias estaes de trabalho de uma rede. O efeito disto que cada estao vai fazer suas prprias consultas individuais, multiplicando o volume de dados
trafegados atravs do link de Internet, desperdiando tempo e ocupando largura de
banda.
Quanto maior a rede, maior o impacto. A alternativa para evitar estes problemas
manter um servidor DNS "caching only". Servidores "cache"reservam o resultado
de suas buscas na memria pelo tempo limite estabelecido pela autoridade sobre o domnio consultado. Dessa forma, independente da quantidade de mquinas
da rede, as consultas sero feitas na Internet apenas uma vez a cada intervalo de
atualizao.
Nosso servidor recm instalado j est operando como servidor "cache". Faa uma
consulta e verifique o Query time. Repita o procedimento:
2
3
;; MSG SIZE
rcvd : 221
7
8
9
10
11
12
13
;; MSG SIZE
rcvd : 221
Para que a partir de agora todas as nossas aplicaes utilizem o potencial de nosso
servidor "cache", edite o arquivo "/etc/resolv.conf" e mantenha apenas as linhas a
seguir:
Pgina 123
Linux Force
Servidor DNS
nameserver 127.0.0.1
A fim de termos uma maior segurana em relao s mudanas do arquivo /etc/resolv.conf, podemos adicionar um atributo de proteo a ele, no permitindo qualquer
tipo de alterao:
[ http://gnulinuxbr.com/2010/05/06/domain-name-system-%E2
Pgina 124
Linux Force
1
2
Servidor DNS
Stopping domain name service ...: bind9 waiting for pid 1602 to die .
forwarders {
200.176.2.10;
};
Cada domnio na Internet tem sua autoridade, que nada mais do que um servidor onde as informaes daquele domnio so criadas, mantidas ou alteradas. Mas
como um domnio pode se subdividir em inmeros outros domnios, surge um outro
conceito: Zonas.
Uma "zona" o conjunto dos "hosts"de um domnio sobre o qual se mantm
autoridade. Uma vez delegado um subdomnio a outra autoridade, os "hosts"desse
Pgina 125
Linux Force
Servidor DNS
Pgina 126
Linux Force
Servidor DNS
que na Internet j exista um domnio com este nome, mas isso no importa porque
nossas consultas ficaro limitadas ao laboratrio.
As "zonas"devem ser declaradas no arquivo "/etc/bind/named.conf.local". Uma
"zona"mestre precisa, no mnimo, do nome do domnio, tipo de "zona" e o caminho
para o banco de dados de registros. Quando apenas o nome do arquivo citado, o
servidor "BIND"vai procur-lo no diretrio definido na opo "directory", do arquivo
"/etc/bind/named.conf.options". Isso significa que, por padro, o caminho completo
corresponderia a "/var/cache/bind/db.dexter"e "/var/cache/bind/db.mandark".
O contedo do banco de dados da "zona"que foi declarado ser principalmente uma
srie de registros de recursos ("resources records"), ou simplesmente, registros. No
entanto, trs diretivas so suportadas:
"$TTL"
"$ORIGIN"
"$INCLUDE"
Com exceo do "$TTL", as demais so raramente utilizadas.
Pgina 127
Linux Force
Servidor DNS
http://gnulinuxbr.com/2010/05/17/domain-name-system-%E2%80%93-
servidor-dns-no-debian-%E2%80%93-parte-3/ ]
Pgina 128
Linux Force
Servidor DNS
type master ;
};
type master ;
};
@ IN
2011073101; serial
8h ; refresh
1h ; retry
3d ; expire
10
IN
NS
11
IN
MX
12
ns1
IN
192.168. X .3
13
www
IN
192.168. X .3
14
ftp
IN
CNAME www
Pgina 129
Linux Force
Servidor DNS
15
IN
16
smtp
IN
CNAME mail
17
webmail
18
pop
IN
CNAME mail
19
imap
IN
CNAME mail
IN
192.168. X .3
CNAME mail
@ IN
2011073101; serial
8h ; refresh
1h ; retry
3d ; expire
10
11
ns1
IN
192.168. X .3
12
www
IN
192.168. X .3
IN
NS
Pgina 130
Linux Force
Servidor DNS
negative caching TTL - Se a zona expirar, esse ser o tempo pelo qual um servidor "cache"armazenar a informao "NXDOMAIN"antes de iniciar uma nova busca
recursiva. O mximo so 3 horas.
Vamos checar os arquivos de configurao para ver se no tem erros:
Se o comando retornar ao prompt significa que est correto! Agora vamos checar
a configurao da zona que temos autoridade:
OK
OK
Stopping domain name service ...: bind9 waiting for pid 1125 to die .
Pgina 131
Linux Force
Servidor DNS
;; QUESTION SECTION :
; dexter . com . br .
;; ANSWER SECTION :
dexter . com . br .
IN
SOA
86400 IN
;; AUTHORITY SECTION :
dexter . com . br .
86400 IN
NS
10
;; ADDITIONAL SECTION :
11
12
13
14
15
;; MSG SIZE
86400 IN
A 192.168. X .3
1 13:04:16 2011
rcvd : 124
;; QUESTION SECTION :
; mandark . com . br .
;; ANSWER SECTION :
mandark . com . br .
IN
SOA
86400 IN
;; AUTHORITY SECTION :
mandark . com . br .
86400 IN
NS
10
;; ADDITIONAL SECTION :
11
12
13
14
15
;; MSG SIZE
A 192.168. X .3
1 13:10:46 2011
rcvd : 126
Pgina 132
Linux Force
Servidor DNS
;; QUESTION SECTION :
; dexter . com . br .
;; ANSWER SECTION :
dexter . com . br .
;; AUTHORITY SECTION :
dexter . com . br .
IN
MX
86400 IN
86400 IN
MX
NS
10
;; ADDITIONAL SECTION :
11
A 192.168. X .3
12
A 192.168. X .3
13
14
15
16
;; MSG SIZE
86400 IN
1 13:12:16 2011
rcvd : 102
Aug
Aug
Pgina 133
Linux Force
Aug
Servidor DNS
Aug
Aug
Aug
Configurando o RNDC
O comando rndc (Remote Named Daemon Control) uma ferramenta de gerenciamento do named. A vantagem dessa ferramenta que ela permite controlar o
named muito facilmente sem ter que ficar enviando sinais ao processo do mesmo.
Vamos limitar o seu uso apenas no prprio servidor, para isso vamos alterar o arquivo
/etc/bind/named.conf.local.
controls {
inet 127.0.0.1 port 953 allow { localhost ; } keys { " rndc - key " ; };
};
type master ;
9
10
};
zone " mandark . com . br " {
11
type master ;
12
13
};
Para configurar o RNDC devemos primeiro gerar a chave criptogrfica. Sendo assim,
execute:
Pgina 134
Linux Force
Servidor DNS
};
Stopping domain name service ...: bind9 waiting for pid 1008 to die .
version : 9.7.3
CPUs found : 1
worker threads : 1
number of zones : 20
Pgina 135
Linux Force
debug level : 0
xfers running : 0
xfers deferred : 0
10
11
12
13
Servidor DNS
Para vermos o que est em cache no DNS, podemos usar os comandos abaixo:
Pgina 136
Linux Force
Servidor DNS
...
type master ;
};
2011073101; serial
8h ; refresh
1h ; retry
3d ; expire
10
11
ns1
12
IN
NS
IN
IN
PTR
192.168. X .3
mail . dexter . com . br .
13
14
15
IN
MX
16
mail2
IN
192.168. X .2
Pgina 137
Linux Force
Servidor DNS
Reinicie o Bind9:
Stopping domain name service ...: bind9 waiting for pid 1008 to die .
...
;; QUESTION SECTION :
IN
PTR
5
6
;; ANSWER SECTION :
8
9
10
;; AUTHORITY SECTION :
X .168.192. in - addr . arpa . 86400
IN
NS
Para registrarmos um domnio pblico, precisamos de pelo menos dois servidores "DNS"respondendo pelo seu domnio. Isso significa um servidor master (mestre) e pelo menos um servidor slave (escravo). A exigncia uma forma de garantir
que seu domnio estar sempre disponvel. Se um servidor parar, o outro continua
respondendo!
Pgina 138
Linux Force
Servidor DNS
Se os servidores estiverem geograficamente separados, isto garante ainda mais disponibilidade, pois mesmo que um link caia, o outro certamente ainda estar disponvel. Na verdade, um mesmo servidor rodando BIND pode ser ao mesmo tempo mestre para alguns domnios, escravo para outros, e "cache"para todo o resto. Sendo
assim, vamos efetuar a instalao do Bind9 numa outra mquina para servir de escravo (secundrio). Esta mquina ser a Datacenter
Antes de configuramos a mquina slave, vamos deixar nosso bind autorizado a transferir as zonas para esta mquina. Acrescente no arquivo named.conf.local o que
est em negrito:
controls {
inet 127.0.0.1 port 953 allow { localhost ; } keys { " rndc - key " ;
};
};
type master ;
10
notify yes ;
11
12
};
13
14
type master ;
15
16
17
notify yes ;
18
19
};
20
21
type master ;
22
23
};
Pgina 139
Linux Force
Servidor DNS
Explicando as incluses:
allow-transfer - para transferir a zona para o secundrio.
notify yes - o servidor mestre envia uma mensagem DNS NOTIFY para os servidores escravos para faz-los conferir o arquivo de zona imediatamente. Isso feito
para manter o banco de dados mestre e escravo firmemente sincronizados.
also-notify - diz para o servidor tambm notificar o endereo fornecido entre chaves.
Devemos configurar tambm o arquivo de registro da zona DNS dos domnios que
temos autoridade. Primeiro o domnio dexter.com.br. Coloque no final do arquivo:
IN
NS
ns2
IN
IN
NS
ns2
IN
IN
PTR
Pgina 140
Linux Force
Servidor DNS
Reinicie o Bind9:
Stopping domain name service ...: bind9 waiting for pid 1008 to die .
type slave ;
};
type slave ;
10
11
};
Reinicie o Bind9:
Pgina 141
Linux Force
Servidor DNS
Stopping domain name service ...: bind9 waiting for pid 1649 to die .
root@datacenter :~ # cat / var / log / daemon . log | grep named | grep trans
Aug
Aug
Aug
Aug
Aug
Aug
Pgina 142
Linux Force
Servidor DNS
3
4
auth - nxdomain no ;
listen - on - v6 { any ; };
# conform to RFC1035
...
; configura o do SPF
IN
Pgina 143
Linux Force
Servidor DNS
Stopping domain name service ...: bind9 waiting for pid 1595 to die .
Arrumando o DHCP
2
3
Com isto iremos atualizar nosso /etc/resolv.conf, apontando para o DNS localizado
na rede. Visualize o arquivo:
Pgina 144
Linux Force
nameserver 192.168. X .3
nameserver 192.168. X .2
Servidor DNS
Pgina 145
Captulo 8
Servidor Apache
Cenrio
Linux Force
Servidor Apache
Pgina 147
Linux Force
Servidor Apache
MPM Worker
8.0.28 Laboratrio
Visto que o servidor ir agregar tanto o site da Dexter como o Moodle no domnio
Mandark, e que ambos devero possuir acesso externo, faremos o ambiente na
mquina DMZ. Apenas o MySQL ficar na mquina Datacenter. Inicie ambas
as mquinas e vamos fazer a instalao do WebServer e SGBD, lembrando que
precisamos desabilitar a proteo contra execuo de arquivos no /tmp. Aps a
instalao, ative a proteo novamente. Execute na mquina DMZ:
Pgina 148
Linux Force
Servidor Apache
http ://192.168. X .3
Pgina 149
Linux Force
Servidor Apache
A varivel "ServerRoot"define o local onde o Apache deve procurar por seus arquivos
de configurao. No exemplo abaixo, os arquivos de configurao sero procurados
em "/etc/apache2":
ServerRoot /etc/apache2
Pgina 150
Linux Force
Servidor Apache
ErrorLog /var/log/apache2/error.log
\ textbf {\% h }
\ textbf {\% l }
- H fen ;
\ textbf {\% u }
\ textbf { \% t }
\ textbf {\% r }
\ textbf {\% b }
- Requisi o solicitada ;
- O tamanho em bytes da resposta ;
\ textbf { Refereri }
Pgina 151
Linux Force
Servidor Apache
StartServers 2
MaxClients 150
MinSpareThreads 25
espera ;
4
MaxSpareThreads 75
espera ;
5
ThreadsPerChild 25
MaxRequestsPerChild 0
1
2
StartServers 5
MinSpareServers 5
espera ;
3
MaxSpareServers 10
espera ;
4
MaxClients 150
MaxRequestsPerChild 0
Pgina 152
Linux Force
Servidor Apache
Syntax OK
php5_module ( shared )
O PHP5 ativado por padro durante a instalao do mdulo, porm, caso necessrio, habilite o suporte manualmente:
Pgina 153
Linux Force
Servidor Apache
Para testar o PHP, crie um arquivo com o nome "index.php"(no diretrio /var/www/)
com o contedo a seguir e abra no seu "browser":
<?
phpinfo ()
?>
Pgina 154
Linux Force
Servidor Apache
O arquivo "/etc/php5/apache2/php.ini", armazena as configuraes do funcionamento do "PHP5"com Apache2. A funo do arquivo e seu "path"completo podem
ser cobrados na LPI. O Apache2 e sua configurao esto na prova 202 - peso 3.
Pgina 155
Linux Force
Servidor Apache
O que o Moodle?
Moodle um Sistema Open Source de Gerenciamento de Cursos - Course Management System (CMS), tambm conhecido como Learning Management System
(LMS) ou um Ambiente Virtual de Aprendizagem (AVA).
Tornou-se muito popular entre os educadores de todo o mundo como uma ferramenta
para criar sites de web dinmicos para seus alunos. Para funcionar, ele precisa ser
instalado em um servidor web com suporte a PHP e banco de dados MYSQL.
Baixe do servidor da sala de aula o pacote do Moodle chamado moodle.tgz e descompacte em /srv/www/mandark:
Crie o usurio webdesign para ter acesso via FTP ao nosso site e poder efetuar as
atualizaes:
Pgina 156
Linux Force
Servidor Apache
Enter password :
mysql >
mysql > alter database moodle default character set utf8 COLLATE
utf8_unicode_ci ;
Pgina 157
Linux Force
Servidor Apache
+ - - - - - - - - - - - - - - - - - - - -+
| Database
+ - - - - - - - - - - - - - - - - - - - -+
| information_schema |
| moodle
| mysql
+ - - - - - - - - - - - - - - - - - - - -+
# bind - address
= 0.0.0.0
Pgina 158
Linux Force
Servidor Apache
post_max_size = 16 M
upload_max_filesize = 100 M
extension = mysql . so
extension = gd . so
8.0.33 VirtualHost?
O que um VirtualHost? uma funcionalidade que permite ao seu WebServer responder por um ou mais sites em um mesmo IP, o que possibilita acessar servios e
pginas diferentes em um mesmo servidor, apenas apontando a entrada DNS correta nos arquivos de configurao. Qual a desvantagem nisso? No se pode ter um
volume muito grande de sites, pois os recursos como hardware e banda so limitados!
Os domnios virtuais devem ser configurados nestes dois diretrios:
/etc/apache2/sites-available: configurao dos domnios virtuais;
/etc/apache2/sites-enabled: domnios virtuais ativos (links simblicos para os arquivos de configurao localizados no diretrio citado anteriormente).
Pgina 159
Linux Force
Servidor Apache
Finalmente temos que ativar os dois sites no Apache para que eles possam subir
quando digitarmos seu domnio na URL:
Pgina 160
Linux Force
Servidor Apache
http
ServerTokens Prod
ServerSignature Off
TraceEnable Off
Pgina 161
Linux Force
Servidor Apache
http
Apache httpd
Pgina 162
Linux Force
Servidor Apache
root@dmz :~ #
...
apache2ctl -S
Syntax OK
Vamos configurar o Moodle, que dever ser acessado atravs do browser: No Navegador, digite:
http://www.mandark.com.br
Pgina 163
Linux Force
Servidor Apache
Pgina 164
Linux Force
Servidor Apache
Pgina 165
Linux Force
Servidor Apache
Pgina 166
Linux Force
Servidor Apache
Pgina 167
Linux Force
Servidor Apache
Pgina 168
Linux Force
Servidor Apache
Pgina 169
Linux Force
Servidor Apache
Instalao do sistema.
Pgina 170
Linux Force
Servidor Apache
Pgina 171
Linux Force
Servidor Apache
Pgina 172
Linux Force
Servidor Apache
Pgina 173
Linux Force
Servidor Apache
Pgina 174
Linux Force
Servidor Apache
Pgina 175
Linux Force
Servidor Apache
Pgina 176
Linux Force
Servidor Apache
Um certificado digital um arquivo que contm um conjunto de informaes referentes a entidade para o qual o certificado foi emitido, seja uma empresa, pessoa fsica
ou computador, mais a chave pblica referente chave privada que acredita-se ser
de posse unicamente da entidade especificada no certificado.
As assinaturas contidas em um certificado so atestamentos feitos por uma entidade
que diz confiar nos dados contidos naquele certificado.
Pgina 177
Linux Force
Servidor Apache
Veja que o mdulo SSL est habilitado para ouvir na porta 443:
3
4
Listen 443
</ IfModule >
3
4
e is 65537 (0 x10001 )
1
2
root@dmz :~ # openssl req - new - key / etc / ssl / dexter . key - out \
/ etc / ssl / dexter . csr
3
4
Pgina 178
Linux Force
Servidor Apache
10
11
12
13
Depois de criar o certificado, voc poder envi-lo a uma unidade certificadora, por
exemplo a Serasa Experian, VeriSign, CertSign, ACBR, Serpro, entre outras, que
o assinar por um valor anual. Voc tem a opo de auto assinar seu o certificado,
lembrando que, neste caso, o cliente dir que o certificado no foi reconhecido por
uma unidade certificadora!
Para assinar seu certificado, execute o comando abaixo:
1
2
root@dmz :~ # openssl x509 - req - days 365 - in / etc / ssl / dexter . csr \
- signkey / etc / ssl / dexter . key - out / etc / ssl / dexter . crt
Signature ok
Agora basta adicionar a configurao do certificado digital no final do arquivo referente ao nosso domnio.
2
3
SSLEngine on
Pgina 179
Linux Force
Servidor Apache
10
11
RewriteEngine On
12
13
14
Explicando:
RewriteEngine
2
3
RewwriteCond
RewriteRule
https .
Pgina 180
Linux Force
Servidor Apache
http://www.dexter.com.br
Pgina 181
Linux Force
Servidor Apache
Clique em Obter Certificado, depois deve ticar a opo Salvar esta exceo permanentemente e por ltimo em Confirmar exceo de segurana.
Pgina 182
Linux Force
Servidor Apache
Pgina 183
Captulo 9
Servidor FTP
9.0.39 Cenrio
Como a empresa DEXTER COURIER muito dinmica, precisa estar atualizada e
em sintonia com seus clientes, por isto o site o melhor canal de comunicao! A fim
de agilizar tais procedimentos, precisa de uma conexo diretamente no servidor Apache, a fim de que o WebDesigner possar subir os arquivos do site www.dexter.com.br.
Alm disto, ele no poder fazer mais nada no servidor!
Linux Force
Servidor FTP
Em relao ao modo de conexo do servidor FTP, ele pode atuar como servidor
ativo ou passivo. No modo ativo, os comandos so enviados por uma porta alta
(acima de 1024) pelo cliente e so recebidas pela porta 21 no servidor, enquanto
que os dados so transmitidos pelo servidor ao cliente atravs da porta 20.
Neste modo, um firewall mal configurado pode dar uma falsa sensao de funcionamento do FTP, pois a conexo e os comandos FTP funcionaro normalmente, porm,
na hora da transferncia de arquivos, ocorrer uma falha de desconexo ou time out,
dependendo do tipo de servidor.
Modo Ativo
Pgina 185
Linux Force
Servidor FTP
Modo Passivo
O VSFTPD (Very Secure File Transfer Protocol Daemon) a escolha de empresas como RedHat, IBM e Novell (SUSE Linux) quando o assunto servidor FTP
confivel e seguro. Inclusive o projeto "OpenBSD"utiliza o "VSFTPD"como servidor
Pgina 186
Linux Force
Servidor FTP
Alm do "VSFTPD", existem outros programas de Servidor FTP, para Gnu/Linux, como "proftpd"e o "wu-ftpd", que no sero abordados neste treinamento.
Pgina 187
Linux Force
Servidor FTP
9.0.42 Laboratrio
Para instalar o vsftpd, primeiro permita a execuo de binrio na partio /tmp, depois
instale o pacote e efetue o bloqueio novamente:
listen = Yes
anonymous_enable = No
local_enable = Yes
write_enable = Yes
10
dirmessage_enable = Yes
11
Pgina 188
Linux Force
Servidor FTP
12
xferlog_enable = Yes
13
14
connect_from_port_20 = No
15
16
idle_session_timeout =120
17
data_connection_timeout =120
18
19
chroot_local_users = YES
Pgina 189
Linux Force
Servidor FTP
Com isso mudamos a permisso de acesso ao diretrio e o diretrio padro do usurio webdesign. Tambm devemos verificar se o usurio root est bloqueado para
acessar o FTP:
1
2
Caso voc queira bloquear mais algum usurio para que ele no acesse o servidor
FTP, coloque o nome dele no arquivo! Crie o arquivo /srv/www/dexter/.message e
coloque a mensagem abaixo:
1
2
============================================================
============================================================
Pgina 190
Linux Force
Servidor FTP
tcp
0 0.0.0.0:21
0.0.0.0:*
OU A
992/ vsftpd
Agora vamos fazer alguns testes de acesso ao FTP, mas antes instale os clientes
FTP, tanto para o modo texto como para o grfico. Execute na mquina Squeeze:
Password :
230 -============================================================
10
11
12
13
230 -============================================================
14
15
16
17
ftp >
Pgina 191
Linux Force
Servidor FTP
ftp > cd ..
10
ftp > ls
11
12
ftp > ! ls
13
14
15
16
Pgina 192
Linux Force
Servidor FTP
17
18
19
20
21
22
23
24
Tue Aug
Tue Aug
Tue Aug
" 192.168. X .10 " , " / index . php " , 4621 bytes , 282.04 Kbyte / sec
Para abrir o aplicativo, v em Aplicativos -> Internet -> Filezilla. Na tela que abrir,
entre com os seguintes dados:
Pgina 193
Linux Force
Servidor FTP
Host :
Usu rio :
Senha :
123456
Porta :
21
webdesign
Pgina 194
Captulo 10
Servidor Postfix
10.0.45 Cenrio
Hoje em dia muito raro uma empresa no possuir uma conta de e-mail! A comunicao proporcionada por esta ferramenta muito abrangente, por isso a empresa
DEXTER COURIER precisa que cada colaborador tenha seu e-mail. Como ela no
tem interesse em pagar um plano de hospedagem e deixar seu servidor de e-mail
nas mos sabe-se l de quem, quer que ele ele seja instalado e configurado dentro
de seu DataCenter. Alm disto, precisa de segurana na autenticao dos usurios
e uso de protocolo seguro em relao aos e-mails que sua equipe ir utilizar.
Linux Force
Servidor Postfix
Pgina 196
Linux Force
Servidor Postfix
a poucos usurios que tinham acesso a essa rede. As mensagens eram enviadas
atravs de um protocolo semelhante ao atual "SMTP", que foi definido apenas em
1982.
O "Sendmail"era o servidor de correios mais utilizado na dcada de 90, causando
amor e dio aos administradores de sistema. Causava amor queles que tinham
tempo de ler, estudar e compreender o seu funcionamento complexo e cheio de
macros. dio para aqueles que precisavam apenas rotear suas mensagens e no
havia necessidade de perder horas e mais horas tentando compreender seu funcionamento. A sua forma monoltica tambm era um grande ponto negativo. Sendo
apenas um nico processo controlando todas as etapas de transmisso de e-mail,
o "Sendmail"apresentava inmeras falhas de segurana, de maior risco quando executado em modo root. Muitos servidores eram invadidos por crackers e naturalmente
os administradores de sistema procuravam alternativas.
Na poca no existia muitas alternativas, portanto os administradores continuavam a
utilizar o "Sendmail". Em 1998 as primeiras verses do "Postfix"comearam a surgir.
Wietse Venema seu criador e possui inmeros trabalhos relacionados segurana
da informao. Wietse pesquisador da IBM e Ph.D em fsica at hoje. Escrito em
linguagem C, a primeira verso oficial do "Postfix", como Software Livre, foi lanada
em Dezembro de 1998.
Pgina 197
Linux Force
Servidor Postfix
http://www.prefirolinux.com/forum/viewtopic.php?f=2&t=12
10.0.50 Laboratrio
Na mquina DMZ, execute:
Pgina 198
Linux Force
Servidor Postfix
7
8
1)
exim4
2)
exim4 - base
10
3)
exim4 - config
11
4)
12
13
14
15
16
17
18
19
20
Aceite remover os pacotes do exim4 para continuar com a instalao. Ir surgir a tela
abaixo, ento selecione Site Internet.
Pgina 199
Linux Force
Servidor Postfix
Pgina 200
Linux Force
Servidor Postfix
append_dot_mydomain = yes
myhostname = dmz
10
11
12
Pgina 201
Linux Force
Servidor Postfix
13
## Define a origem local , que por padr o o mesmo FQDN que est em
14
## / etc / mailname .
15
16
17
18
19
## servidores de e - mail .
20
relayhost =
21
22
23
24
mynetworks = 127.0.0.0/8
25
26
27
28
mailbox_size_limit = 0
29
30
192.168. X .0/24
interfaces .
31
inet_interfaces = all
32
33
message_size_limit = 25000000
34
35
36
recipient_delimiter = +
Pgina 202
Linux Force
Servidor Postfix
tcp
0 0.0.0.0:25
0.0.0.0:*
OU A
2085/ master
Agora que temos o servidor ativado, devemos criar os usurios que usaro os servios de correio eletrnico. Para isso, utilize um script com base na lista utilizada na
criao dos usurios do Samba:
# !/ bin / bash
5
6
Aps a incluso dos usurios, vamos realizar alguns testes usando o telnet:
Escape character is ^] .
helo mail
10
250 2.1.0 Ok
11
12
250 2.1.5 Ok
13
data
14
354 End data with <CR > < LF >. < CR > < LF >
Pgina 203
Linux Force
Servidor Postfix
15
16
17
18
19
quit
20
21
for < dexterclem@dexter . com . br >; Thu , 11 Aug 2011 20:14:02 -0300
( BRT )
10
11
12
13
To : undisclosed - recipients :;
14
root@dmz :~ # mailq
Pgina 204
Linux Force
Servidor Postfix
# ## comentar :
Pgina 205
Linux Force
Servidor Postfix
# ## adicionar :
home_mailbox = Maildir /
Vamos agora criar as caixas postais. Para isto vamos criar uma script:
# !/ bin / bash
4
5
10
done
Pgina 206
Linux Force
Servidor Postfix
Reinicie os servios :
tcp6
tcp6
0
0
0 :::110
0 :::143
:::*
:::*
OU A
3742/ couriertcpd
OU A
3665/ couriertcpd
root@dmz :~ # echo " Reuniao amanha as 15 hs ." | mail -s " Reuniao com
Cliente Linux Force " dexterclem@dexter . com . br
2
3
root@dmz :~ # cat \
/ home / dexterclem / Maildir / new /1313109656. Vfd00I607a1M156000 . dmz
8
9
10
Pgina 207
Linux Force
Servidor Postfix
11
To : dexterclem@dexter . com . br
12
13
14
15
16
17
18
Reuniao amanha as 15 hs .
Podemos criar "aliases"(apelidos) para que um usurio possa receber vrios e-mails
diferentes na mesma conta. Edite o arquivo de alias e crie um para o seu usurio,
no formato "usuario_de_alias: usuario_real":
ou
root@dmz :~ # newaliases
Pgina 208
Linux Force
...
Servidor Postfix
1
2
3
4
root@dmz :~ # echo " Teste de Alias " | mail -s " Teste de alias " \
ouvidoria@dexter . com . br
root@dmz :~ # cat \
/ home / mandarkglory / Maildir / new /1313111359. Vfd00I607aM81600 . dmz
To : ouvidoria@dexter . com . br
10
11
12
13
14
Teste de Alias
Configurando o Webmail
Pgina 209
Linux Force
Servidor Postfix
Selecione a opo 1:
Pgina 210
Linux Force
Servidor Postfix
Pgina 211
Linux Force
Servidor Postfix
Pgina 212
Linux Force
Servidor Postfix
Selecione a opo 1:
Pgina 213
Linux Force
Servidor Postfix
Pgina 214
Linux Force
Servidor Postfix
10
11
12
13
SSLEngine on
14
15
16
Pgina 215
Linux Force
Servidor Postfix
Pgina 216
Linux Force
Servidor Postfix
1
2
Pgina 217
Linux Force
Servidor Postfix
START = yes
THREADS =5
pwcheck_method : saslauthd
Stopping : default .
Starting : default .
Pgina 218
Linux Force
Servidor Postfix
smtpd_sasl_local_domain =
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_recipient_restrictions = permit_sasl_authenticated ,
permit_mynetworks , reject_unauth_destination
smtpd_tls_auth_only = no
Stopping : default .
Starting : default .
TLS significa Transport Layer Security e uma camada de segurana para o sistema de autenticao que j foi configurado. O sistema de autenticao no traz
segurana, pois o mesmo ocorre em texto puro, sem encriptao. Com isso, as senhas podem ser capturadas com um sniffer. Portanto, mos obra! Comearemos
criando o diretrio onde ficar chave de criptografia; depois gere a chave neste diretrio:
root@dmz :/ etc / postfix / ssl / # openssl genrsa - des3 - rand \ / etc / hosts
- out smtpd . key 1024
Pgina 219
Linux Force
Servidor Postfix
6
7
8
e is 65537 (0 x10001 )
10
<<<--- Confirme
Altere a permisso do arquivo de chave para que somente o root tenha acesso:
1
2
1
2
root@dmz :~/ etc / postfix / ssl # openssl req - new - key smtpd . key - out \
smtpd . csr
...
10
11
12
13
14
15
Pgina 220
Linux Force
1
2
Servidor Postfix
root@dmz :~/ etc / postfix / ssl # openssl x509 - req - days 365 - in \
smtpd . csr - signkey smtpd . key - out smtpd . crt
Signature ok
1
2
root@dmz :~/ etc / postfix / ssl # openssl rsa - in smtpd . key - out \
smtpd . key . unencrypted
root@dmz :~/ etc / postfix / ssl # mv smtpd . key smtpd . key - original
root@dmz :~/ etc / postfix / ssl # mv smtpd . key . unencrypted smtpd . key
1
2
root@dmz :~/ etc / postfix / ssl # openssl req - new - x509 - extensions \
v3_ca - keyout cakey . pem - out cacert . pem - days 365
...
...
Pgina 221
Linux Force
Servidor Postfix
10
11
12
13
smtp_use_tls = yes
smtp_tls_note_starttls_offer = yes
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600 s
10
smtpd_tls_session_cache_database =
btree : $ { queue_directory }/ smtpd_scache
11
smtp_tls_session_cache_database =
btree : $ { queue_directory }/ smtp_scache
12
1
2
Durante a instalao ir surgir uma tela como a da prxima figura, avisando sobre o
certificado digital ser assinado por uma empresa confivel!
Pgina 222
Linux Force
Servidor Postfix
Reinicie o Postfix:
tcp6
0 :::993
:::*
OU A
2200/ couriertcpd
3
root@dmz :~ #
tcp6
0 :::995
:::*
OU A
2153/ couriertcpd
Pgina 223
Linux Force
Servidor Postfix
Pgina 224
Linux Force
Servidor Postfix
Pgina 225
Linux Force
Servidor Postfix
Pgina 226
Linux Force
Servidor Postfix
Para configurarmos o recebimento de e-mail via IMAP, v no menu Edit -> Configurar
contas -> Nova conta. Agora faa como abaixo:
Pgina 227
Linux Force
Servidor Postfix
Pgina 228
Captulo 11
Servidor OpenLDAP
11.0.51 Cenrio
A empresa DEXTER COURIER precisa de agilidade em suas conexes, mas principalmente na forma como seus usurios efetuam o login nos sistemas. Para acabar
de vez este problema, deseja que haja uma centralizao na autenticao dos usurios em vista de seus recursos tecnolgicos.
Linux Force
Servidor OpenLDAP
Uma das sutes mais usadas o OpenLDAP (GPL), que pode ser baixado no:
http://www.openldap.org http://www.hardware.com.br/termos/ldap
O que o OpenLDAP?
Pgina 230
Linux Force
Servidor OpenLDAP
O projeto OpenLDAP um servio de diretrio que utiliza o protocolo LDAP, baseado no protocolo X.500. compatvel com LDAPv3 livre e popular e est disponvel
para vrias plataformas como: Linux, Solaris, Mac OS e Windows. Segurana e
controle de dados imprescindvel em qualquer empresa, por isso uma das vantagens do OpenLDAP a possibilidade de que vrios sistemas possam compartilhar
de base de dados de usurios e senhas de forma centralizada e integrada.
http://www.otrampolim.com.br/coluna/3675/bruno-lopessiqueira/cotidiano/openldap
Como o LDAP, utiliza o trfego de dados via TCP/IP, podendo ser implementado em
diversas plataformas em redes IPV4 e IPV6, possibilitando tambm autenticao,
mecanismos de segurana no uso de certificados e criptografia, podendo ser configurado para restringir acesso a "socket layer", ter mltiplas instncias de banco de
dados, mltiplas "threads", permite replicao e configurao do servio de acordo
com a sua necessidade atravs dos "schemas".
O OpenLDAP constitui-se de:
slapd - Servio OpenLDAP
syncrepl - Servio para replicao e atualizao OpenLDAP
libraries - Bibliotecas para implementao do OpenLDAP, com utilitrios e ferramentas
Quais servios podem usar a base de dados do OpenLDAP?
Podemos destacar o Apache, DNS, FTP, Kerberos, MySQL, PAM, Postfix, Samba,
Squid, SSL, Clusters entre outros.
Pgina 231
Linux Force
Servidor OpenLDAP
O que um diretrio?
Diretrio significa algo usado para indicar direes. Um exemplo simples: Uma
lista telefnica. A lista organizada de maneira hierrquica para que a informao
buscada seja encontrada de forma eficiente. Em um diretrio voc pode pesquisar,
inserir, alterar e apagar itens.
O que NO um diretrio?
Um diretrio no pode ser considerado um banco de dados, porque o bando de
dados otimizado para ler e gravar dados com o mesmo grau de eficincia. O diretrio otimizado apenas para leitura e seu sistema de transaes bem mais simples
do que de um banco de dados. Um diretrio no pode ser considerado um sistema
de arquivos, por que o sistema de arquivo possui otimizaes para manipulao de
arquivos, como por exemplo, para trabalhar com grandes arquivos.
Podemos destacar alguns atributos de diretrios:
c - Representa pa s ( country )
4
5
Laboratrio
Pgina 232
Linux Force
Servidor OpenLDAP
include
include
include
include
6
7
allow
bind_v2
pidfile
argsfile
10
loglevel
none
12
modulepath
13
moduleload
back_bdb
14
sizelimit
11
500
15
tool - threads
16
backend
bdb
17
database
bdb
19
suffix
20
rootdn
18
Pgina 233
Linux Force
Servidor OpenLDAP
rootpw
23
directory
24
dbconfig
set_cachesize 0 2097152 0
25
dbconfig
set_lk_max_objects 1500
26
dbconfig
set_lk_max_locks 1500
27
dbconfig
set_lk_max_lockers 1500
21
22
28
29
index
objectClass eq
30
lastmod on
31
checkpoint
512 30
32
33
access
to
34
35
by anonymous auth
36
by self write
37
by * none
38
39
40
41
access to *
42
43
by * read
Aps criar o arquivo slapd.conf em /etc/ldap, vamos parar o servio slapd e fazer
nossas alteraes:
Pgina 234
Linux Force
Servidor OpenLDAP
root@datacenter :~ # rm -r slapd . d
Crie um novo:
Se aparecer essa mensagem est tudo certo! As linhas 36 e 42 so apenas informaes referentes a privilgios do administrador em relao base! Agora altere o
dono e grupo para openldap para o novo diretrio slapd.d:
Pgina 235
Linux Force
Servidor OpenLDAP
tcp
0 0.0.0.0:389
tcp6
0.0.0.0:*
0 :::389
OU A
:::*
12484/ slapd
OU A
12484/ slapd
O que um LDIF?
Pgina 236
Linux Force
5
6
7
Servidor OpenLDAP
dn : dc = dexter , dc = com , dc = br
dc : dexter
objectClass : top
objectClass : domain
2
3
4
5
-x
- autentica o simples
-D
Pgina 237
Linux Force
-f
-W
Servidor OpenLDAP
uidNumber =1002
# extended LDIF
# LDAPv3
# requesting : ALL
10
11
12
13
uid : dexterclem
14
cn : dexterclem
15
objectClass : account
16
objectClass : posixAccount
17
objectClass : top
18
objectClass : shadowAccount
19
shadowMax : 99999
20
shadowWarning : 7
21
22
uidNumber : 1002
23
gidNumber : 2001
24
25
26
# search result
27
search : 2
28
result : 0 Success
29
30
# numResponses : 2
Pgina 238
Linux Force
31
Servidor OpenLDAP
# numEntries : 1
Vamos agora aprender como alterar o dado de um usurio que est no OpenLDAP.
Para isto temos que criar um arquivo ldif:
changetype : modify
replace : loginShell
1
2
uidNumber : 1003
gidNumber : 2001
7
8
# search result
search : 2
10
result : 0 Success
Pgina 239
Linux Force
Servidor OpenLDAP
phpldapadmin
Pgina 240
Linux Force
Servidor OpenLDAP
Pgina 241
Linux Force
Servidor OpenLDAP
Pgina 242
Linux Force
1
2
Servidor OpenLDAP
DICA: Para ter certeza que o seu backup seguro, importante realiz-lo em
um perodo livre de gravaes, ou com o servidor slapd desligado.
-r dc = dexter , dc = com , dc = br -W
Para nos certificarmos de que a base realmente foi removida, execute o comando
slapcat novamente, mas tenha certeza de que voc no est sobrescrevendo o seu
backup:
root@datacenter :~ # slapcat
Pare o servidor:
Pgina 243
Linux Force
Servidor OpenLDAP
none elapsed
none
Closing DB ...
Inicie o slapd:
Execute o comando slapcat novamente para termos certeza que o backup foi restaurado:
root@datacenter :~ # slapcat
Pgina 244
Captulo 12
Servidor Proxy com Squid
12.0.55 Cenrio
A fim de evitar abusos no uso da internet, a empresa DEXTER COURIER precisa
de uma soluo que integre permisso de acesso, tipos de arquivos que podero
efetuar download, cache de pginas e monitoramento destes acessos.
Linux Force
ao servidor Web encontrado e traz o contedo at o usurio. Agora, imagine que 500
clientes esto acessando este site. Desperdcio de banda, no acha?
As solues Web Proxy foram desenvolvidas justamente para contornar este problema. Imagine o mesmo cenrio acima, s que desta vez, ao invs de consultar o
site, o navegador consulta o "Web Proxy"previamente configurado, e ento o servidor "proxy"faz a consulta ao site, s que antes de entregar a requisio ao cliente,
o servidor "proxy"armazena o contedo do site em um diretrio num disco rgido e,
quando um segundo cliente acessar o mesmo site, o servidor "proxy"verifica se o
contedo esta armazenado em "cache".
Em caso positivo, o servidor entrega o contedo do "cache", acelerando a navegao
e economizando banda. Alm disso, o "Web Proxy"tambm pode agir como filtro
de contedo, verificando se desejvel que aquele contedo seja acessvel para
aquele usurio, endereo IP ou Mac Address, e ento libera ou nega o acesso de
acordo com o especificado nas ACLs (Access Control List), item que veremos
mais adiante.
O Web Proxy pode trabalhar de dois modos: manual ou transparente.
Pgina 246
Linux Force
http://www.linuxnaveia.com/mais-artigos/215-squid-configuracao-basica.html
http://www.hardware.com.br/livros/servidores-linux/configurando-servidorproxy-com-squid.html
Pgina 247
Linux Force
temos o poder de manipular o computador dos usurios, como um provedor de internet, por exemplo.
Em compensao, perderemos a flexibilidade dos logs e autenticao, j que o navegador web no sabe que est passando por um proxy e tambm teremos que fazer
"NAT"para acessos a sites que utilizam "HTTPS", j que o "Squid"no sabe lidar com
este tipo de contedo quando est trabalhando de forma transparente.
Abaixo uma ilustrao simplificada de como esse processo funciona:
http://www.hardware.com.br/livros/servidores-linux/configurando-servidorproxy-com-squid.html
As ACLs (Access Control List) so regras para navegao via proxy. Vale ressaltar
que as ACLs so lidas na ordem em que aparecem e podem ser combinadas, tome
muito cuidado ao criar ou alterar uma nova regra. Veja a documentao online no
endereo http://www.squid-cache.org para as configuraes no citadas!
Pgina 248
Linux Force
acl NOME_DA_ACL
TIPO_DA_ACL
par metro
Nesta regra ser definido todos os parmetros em sequncia, separados por espao,
utilizado para regras com poucos parmetros.
acl NOME_DA_ACL
TIPO_DA_ACL
J nesta outra forma ser definido um arquivo para adio dos parmetros dispostos,
um por linha, utilizado para regras com muitos parmetros. Todas as ACLs so tratadas com CASE-SENSITIVE. Para definir como CASE-INSENTIVE, utilize a opo
-i logo aps o tipo de ACL.
Pgina 249
Linux Force
time => ACL do tipo time (tempo) trata de um determinado momento baseado
em dia da semana e hora.
port => ACL do tipo port (porta) trata da porta de destino da navegao.
Pgina 250
Linux Force
"ACLS"de origem e destino podem ser cobrados na LPI-2, bem como sua
forma de utilizao.
Esses so os tipos bsicos de "ACLs", porm uma "ACL"sozinha no faz absolutamente nada. Durante o laboratrio veremos como tornar as "ACLs"teis com configuraes que permitem utiliz-las para bloqueio e liberao de sites, domnios e
horrios.
1
2
3
4
src
time
urlpath_regex
url \ _regex
dstdomain
proxy \ _auth
10
arp
11
maxconn
12
proto
13
port
Pgina 251
Linux Force
Seguem exemplos :
# squid -k reconfigure
Pgina 252
Linux Force
12.0.64 Laboratrio
A configurao padro do "Squid"no permite nenhum tipo de navegao por medidas de segurana. A primeira coisa que devemos fazer especificar qual rede
o "Squid"deve aceitar, e tambm devemos especificar uma "ACL"do tipo origem,
que case com o nosso endereo IP. Vamos configurar nosso proxy com as regras
abaixo:
Pgina 253
Linux Force
## Para que o " Squid " ou a apenas uma rede , troque o valor do
## Este par metro diz qual ser o hostname que o " Squid " utilizar
10
cache_mem 64 MB
11
12
13
14
15
16
17
18
19
20
21
22
23
httpd_suppress_version_string on
24
25
26
27
maximum_object_size_in_memory 64 KB
28
maximum_object_size 700 MB
29
minimum_object_size 0 KB
30
31
cache_swap_low 90
32
cache_swap_high 95
33
Pgina 254
Linux Force
34
35
36
37
38
39
40
41
42
## As acl s " SSL_ports " e a " Safe_ports " s o as respons veis por
43
44
45
46
47
48
acl Safe_ports port 21 80 443 563 70 210 280 488 59 777 901
1025 -65535
49
50
51
52
## ACL connect
53
54
55
56
57
58
59
60
61
62
63
64
65
Pgina 255
Linux Force
66
67
68
69
70
71
72
73
74
root@firewall :~ # squid -z
Pgina 256
Linux Force
/etc/squid/squid.conf:
Visto que no recomendvel efetuar um restart no servio do Squid devido demora em checar todas as suas entradas em cache, execute o comando abaixo para
reler o arquivo squid.conf:
Pgina 257
Linux Force
Informe o endereo do seu servidor Proxy e a porta a ser utilizada. Marque a utilizao do proxy para todos os protocolos:
Pgina 258
Linux Force
Pgina 259
Linux Force
Pgina 260
Linux Force
...
10
11
12
Pgina 261
Linux Force
13
14
Reinicie o squid:
Pgina 262
Linux Force
3
4
Pgina 263
Linux Force
Pgina 264
Linux Force
# ## adicionar
deb http :// www . backports . org / debian squeeze - backports main contrib
\ non - free
Depois atualize:
root@firewall :~ # sarg
Como voc pode perceber, todos os backports vem desativados por default. Por isto
tivemos que informar qual o tipo de repositrio a ser utilizado!
Vamos observar seu arquivo de configurao. Fique a vontade e leia alguns comentrios para entender as funes do "SARG".
Pgina 265
Linux Force
Reinicie o Apache:
Pgina 266
Linux Force
Pgina 267
Linux Force
Vamos agora configurar o Squid para fazer autenticao usando a base de dados do
OpenLDAP j criada. bastante simples. Bata alterar a linha de configurao da
autenticao do usurio (auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/passwd) para a linha abaixo:
Reinicie o servio:
Pgina 268
Linux Force
Pgina 269
Captulo 13
Firewall
13.0.71 Cenrio
A fim de que ningum acesse dados indevidos da empresa ou mesmo de seus clientes, a empresa DEXTER COURIER deve contar com um excelente Firewall para
bloquear tentativas de invaso e liberar apenas o trfego necessrio aos servios
que ficam na mquina DMZ.
O que um firewall?
Linux Force
Firewall
Um firewall faz o filtro de pacotes que passam na rede. Para configurar um firewall
necessrio o conhecimento sobre a estrutura da rede em questo e dos diferentes
protocolos envolvidos na comunicao, isto , dos servios que a rede usa para que
eles no percam a comunicao. O objetivo em ter uma mquina fazendo o papel
de Firewall Gateway em nossa rede minimizar as tentativas de ataques que elas
recebem, tentando impedir possveis invases e levantamento de informaes.
Os sistema GNU/Linux com Kernel 2.6 trabalham com o "Iptables"para fazer o gerenciamento de regras de Firewall. Lembrando que o "Iptables" apenas um "frontend"que gerencia o suporte "Netfilter"no "Kernel".
Caractersticas do iptables :
Filtro de pacotes statefull => isso significa que o iptables capaz de atuar sobre
as camadas do protocolo TCP;
Modularidade => a configurao do kernel modular e com o netfilter no diferente, pois novas funcionalidades podem ser adicionadas sem muito esforo.
Um mdulo s ser usado se for da necessidade do administrador;
http://www.prefirolinux.com/iptables-firewall/74-firewall-e-iptables-tudo-quevoce-precisa-saber-sem-duvidas-o-melhor-conteudo-da-internet-parte-1-9.html
- IP de origem
Pgina 271
Linux Force
- IP de destino
- Porta de origem
- Porta de destino
- C digos de verifica o
- N mero do pacote
Firewall
Os cdigos de verificao servem para garantir a integridade dos dados que esto
sendo trafegados na rede. A funo bsica do IP cuidar do endereamento e entrega de pacotes. A funo bsica do TCP fazer verificaes de erros e numerao
de portas. Logo, os dados sero transmitidos de forma quebrada, em pacotes menores.
Existem 65.536 portas TCP e UDP. Elas so numeradas de 0 e 65.535. As portas
baixas esto na faixa entre 0 a 1023. Elas esto reservadas para servios mais
conhecidos como: servidor web, ftp, ssh, telnet, servidores de e-mail, compartilhamento de arquivos, como, por exemplo, Samba, NFS etc. Portas altas esto faixa
acima de 1023.
Relembrando...
10
11
12
13
14
15
No arquivo " / etc / services " podemos obter toda a rela o de portas !
Pgina 272
Linux Force
Firewall
13.0.75 TTL
Atravs de um simples ping, conseguimos deduzir o Sistema Operacional de uma
mquina. Por exemplo:
Roteadores Ciclades = 30
Linux = 64
Windows = 128
Cisco = 255
Pgina 273
Linux Force
Firewall
64
Pgina 274
Linux Force
Firewall
22.555 ms
6
22.796 ms
* * *
10
24.095 ms
17.721 ms
22.755 ms
29.581 ms
21.413 ms
22.924 ms
200.221.136.154 (200.221.136.154)
22.403 ms
23.011 ms
22.187
ms
10
11
11
...
12
30
* * *
* * *
Cada linha que aparece um nome um roteador por onde o pacote passa. Notem
que ele passa por vrios lugares! E quando pingo para o site da uol, ele d um valor
de TTL 54 + 10 hops dos pacotes = 64.
Por padro o comando traceroute procura por at 30 hops, mesmo que ele no encontre nada, que o caso de quando aparece ***.
Mas na linha de hop 8 por exemplo, apareceu *** e depois aparaceu um nome na
linha 9. Provavelmente temos uma mquina que est com o ping bloqueado ou ento
uma mquina com firewall, portanto ela no aparece quando o comando traceroute
faz as buscas.
Pgina 275
Linux Force
Firewall
Cada uma dessas tabelas possui o que chamamos de "chains". nelas onde vo
ser definidas as regras para o nosso "firewall". A traduo literal seria "correntes",
assim cada tabela teria uma corrente, onde cada elo corresponderia a uma regra.
Pgina 276
Linux Force
Firewall
INPUT
OUTPUT
- Regras de sa da de pacotes .
FORWARD
PREROUTING
POSTROUTING
OUTPUT
- Regras de sa da de pacotes .
Pgina 277
Linux Force
Firewall
Alvos:
Pgina 278
Linux Force
Firewall
13.0.79 Laboratrio
Vamos montar nosso "firewall", mas antes verifique como esto configuradas as polticas bsicas que esto definidas por padro:
target
destination
4
5
target
destination
7
8
target
destination
10
11
12
13
target
destination
14
15
16
target
destination
17
18
19
target
destination
Pgina 279
Linux Force
Firewall
Para deixar esse valor fixo, devemos deixar esse parmetro dentro de /etc/sysctl.conf.
Basta descomentar a linha 28:
# !/ bin / bash
clear
## Defini o de variaveis
Iptables
8
externa )
Pgina 280
Linux Force
Firewall
10
11
# IP da m quina Datacenter
12
# IP da m quina DMZ
13
# IP da m quina STORAGE
14
# IP da m quina SQUEEZE
15
# IP da m quina Windows XP
16
( interface externa )
17
( interface interna )
18
19
# Portas altas
# Defini o da Rede interna
20
21
# Carregando m dulos
22
modprobe ip_conntrack_ftp
23
modprobe ip_nat_ftp
24
25
ativar () {
26
# ## Limpando as regras
27
$IPT -F
28
$IPT -X
29
$IPT -t nat -F
30
$IPT -t nat -X
31
32
33
34
35
36
37
38
39
40
\ t \ t \ t $OK "
41
42
## Ativando Forward
43
Pgina 281
Linux Force
Firewall
44
45
46
47
48
49
50
\ t \ t \ t $OK "
51
52
# Regras de LOGs
53
"
"
"
\ t \ t \ t $OK "
57
58
59
60
61
62
63
64
65
66
\ t \ t \ t $OK "
67
68
## Liberando LoopBack
69
70
Pgina 282
Linux Force
71
Firewall
\ t \ t \ t $OK "
72
73
## Estabilizando
as conex es
74
75
76
77
\ t \ t \ t $OK "
78
79
80
81
82
83
84
85
86
87
88
89
\ t \ t \ t $OK "
\ t \ t \ t $OK "
90
91
92
93
94
\ t \ t \ t $OK "
95
96
97
98
99
\ t \ t \ t $OK "
100
101
102
Pgina 283
Linux Force
103
Firewall
104
\ t \ t \ t $OK "
105
106
107
108
109
done
110
\ t \ t \ t $OK "
111
\ t \ t \ t $OK "
112
\ t \ t \ t $OK "
113
114
115
116
117
echo
118
119
echo
120
121
desativar () {
122
# ## Limpando as regras
123
$IPT -F
124
$IPT -X
125
$IPT -t nat -F
126
$IPT -t nat -X
127
128
129
130
131
\ t \ t \ t $OK "
132
\ t \ t \ t $OK "
133
\ t \ t \ t $OK "
134
135
\ t \ t \ t $OK "
Pgina 284
Linux Force
136
Firewall
137
138
139
140
esac
Para que ele seja iniciado junto com sistema quando a mquina for ligada, podemos
colocar o "script"nos nveis de execuo:
Todas as regras que so feitas ficam na memria do computador. Caso ele seja
reiniciado, perderemos todas elas. Podemos utilizar os comandos "iptables-save"e
"iptables-restore".
Pgina 285
Captulo 14
Servidor OpenVPN
14.0.81 Cenrio
Visto que a empresa DEXTER COURIER possui alguns colaboradores fora do ambiente corporativo (home-office), ela precisa de uma forma segura para que eles
possam acessar a rede da empresa.
Linux Force
Servidor OpenVPN
net). O que torna esta rede de comunicao particular o fato das ferramentas de
"VPN"empregarem mtodos e protocolos de criptografia, criando um tnel para prover acesso seguro a partes da rede ou mesmo ligao entre "LANs"geograficamente
separadas, eliminando a necessidade de um canal de comunicao privativo de alto
custo fornecido pela operadora de telecomunicaes.
Tambm podemos utilizar uma ferramenta de "VPN"para implementar ou reforar a segurana de acesso h algum servio dentro de nossa rede.
Por exemplo, supomos que voc possui um software de gerao de notas fiscais
e os funcionrios acessam este terminal via "telnet", que um protocolo que no
implementa criptografia. Para corrigir esta situao e reforar a segurana deste
ambiente, voc poderia configurar uma "VPN"entre o computador dos usurios e o
servidor, melhorando assim a segurana deste servio.
Pgina 287
Linux Force
Servidor OpenVPN
Pgina 288
Linux Force
Servidor OpenVPN
http://www.gta.ufrj.br/grad/00_1/pedro/vpns.htm
Pgina 289
Linux Force
Servidor OpenVPN
Host-to-gateway: VPN criada para a proteo da conexo entre um ou mais usurios e uma rede especfica, por exemplo, entre os funcionrios longe da sede da
empresa e a rede da empresa.
Pgina 290
Linux Force
Servidor OpenVPN
http://www.gta.ufrj.br/grad/08_1/vpn/tiposarq.html
14.0.86 Laboratrio
Ns trabalharemos neste laboratrio com um par de chaves simtricas, ou seja,
usaremos a mesma chave tanto para o servidor "VPN"quanto para o cliente "VPN".
Logo, a chave deve ser gerada no servidor e replicada para o cliente via "SSH".
Pgina 291
Linux Force
Servidor OpenVPN
dev tun
ifconfig 10.0.0.1
port 5000
10.0.0.2
10
11
comp - lzo
12
13
verb 4
14
15
keepalive 10 120
16
17
persist - key
18
19
persist - tun
20
21
float
Pgina 292
Linux Force
Servidor OpenVPN
dev tun
ifconfig 10.0.0.2
remote 200.100.50. X
port 5000
comp - lzo
verb 4
10
keepalive 10 120
11
persist - key
12
persist - tun
13
float
10.0.0.1
Fri Aug 19 04:41:47 2011 us =606728 UDPv4 link local ( bound ) : [ undef ]
Pgina 293
Linux Force
Servidor OpenVPN
Fri Aug 19 04:42:12 2011 us =679101 UDPv4 link local ( bound ) : [ undef ]
tun0
Endere o de HW
00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00
3
P -a - P :10.0.0.2
Masc :255.255.255.255
MTU :1500
M trica :1
5
RX bytes :0 (0.0 B )
TX bytes :0 (0.0 B )
Pgina 294
Linux Force
Servidor OpenVPN
root@firewall :~ #
...
user nobody
group nogroup
root@squeeze :~ #
...
user nobody
group nogroup
Pgina 295
Linux Force
Servidor OpenVPN
root@firewall :~ # ls - lh
/ usr / share / doc / openvpn / examples / easy - rsa /2.0/
Veja que na lista de scripts cada um tem uma funo especfica para criao de
certificados e chaves. Vamos copiar o diretrio com os scripts para nossa instalao
do OpenVPN :
1
2
Acesse o diretrio com os scripts copiados e crie o subdiretrio onde sero armazenadas as chaves e certificado:
Pgina 296
Linux Force
Servidor OpenVPN
...
10
Pgina 297
Linux Force
11
Name : Tux
12
Servidor OpenVPN
13
14
15
...
16
17
18
19
20
21
22
Name []:
23
24
...
25
26
27
28
29
30
Pgina 298
Linux Force
Servidor OpenVPN
Liste o contedo do subdiretrio keys e verifique o arquivo com os parmetros DiffieHellman (dh2048.pem).
...
tls - server
10
Pgina 299
Linux Force
Servidor OpenVPN
Ainda na mquina servidor crie a chave e o certificado para a mquina cliente, com
o hostname da mquina cliente.
...
Name []:
10
11
...
12
13
14
15
Faa a cpia dos arquivos abaixo via ssh para a mquina cliente.:
1
2
...
tls - client
Pgina 300
Linux Force
Servidor OpenVPN
ca ca . crt
10
tls-client -> Habilita conexo TLS, ajudando a bloquear ataques DoS e flooding
na porta do OpenVPN.
Execute no servidor:
Execute no cliente:
root@firewall :~ # ifconfig
tun0
Endere o de HW
00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00
3
P -a - P :10.0.0.2
Masc :255.255.255.255
. . . e no cliente:
Pgina 301
Linux Force
Servidor OpenVPN
root@firewall :~ # ifconfig
tun0
Endere o de HW
00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00
3
Pgina 302
Captulo 15
Referncias Bibliogrficas
Julio Cesar Neves. Programao em Shell Linux. 6. edio. Brasport. 2006
The Linux documentation Project, website: http://www.tldp.org. Acesso em 28 de
maro de 2008.
Pritchard, Pessanha, Langfeldt, Stranger and Dean. Certificao Linux LPI 2. edio. AltaBooks. 2007
Gagn, Moving to Linux.
1 edio, Addilson Wesley
Rubem E. Ferreira, Guia de Administrao Linux.
2 edio, Novatec, 2008
Nelson Mendona e Tiago Vilas Boas. GNU Linux.
Editora Brasport.
Sites pesquisados:
Linux Force
Referncias Bibliogrficas
http://www.dicas-l.com.br
http://www.vivaolinux.com.br
http://pt.wikipedia.org/wiki/Sudo
http://wiki.ubuntu-br.org/RootSudo
http://pt.wikipedia.org/wiki/Pluggable_Authentication_Modules
http://ajmoreti.blogspot.com/2011/09/entendendo-e-configurando-o-pam.html
http://gnulinuxbr.com/2010/04/01/pam/
http://www.prefirolinux.com/pam/65-limitando-usuarios-com-o-pam.html
http://web.mit.edu/rhel-doc/3/rhel-sag-pt_br-3/s1-dhcp-configuring-server.html
http://www.isc.org/sw/dhcp/.
http://pt.wikipedia.org/wiki/Network-Attached_Storage
http://computerworld.uol.com.br/tecnologia/2007/10/30/ idgnoticia.2007-10-29.3996045044/
http://pt.wikipedia.org/wiki/Direct_Attached_Storage
http://pt.wikipedia.org/wiki/RAID
http://web.mit.edu/rhel-doc/3/rhel-sag-pt_br-3/s1-raid-approaches.html
http://placa-pai.blogspot.com/2011/02/raid-6.html
wester.com/linuxsamba.php
http://www.gta.ufrj.br/grad/99_1/guilherme/DNS_HTML/historia.htm
Pgina 304
Linux Force
Referncias Bibliogrficas
http://www.cooperati.com.br/wordpress/2011/10/20/dns-domain-name-system/
http://gnulinuxbr.com/2010/05/04/domain-name-system-servidor-dns-no-debian-parte1/
http://gnulinuxbr.com/2010/05/06/domain-name-system-%E2%80%93-servidor-dns-nodebian-%E2%80%93-parte-2/
http://gnulinuxbr.com/2010/05/17/domain-name-system-%E2%80%93-servidor-dns-nodebian-%E2%80%93-parte-3/
http://gnulinuxbr.com/2010/05/20/servidor-apache-no-debian-parte-1/
http://pt.kioskea.net/contents/crypto/ssl.php3
http://en.wikipedia.org/wiki/Secure_Sockets_Layer
http://www.prefirolinux.com/forum/viewtopic.php?f=2&t=12
http://www.vivaolinux.com.br/artigo/OpenLDAP-com-suporte-ao-MySQL
Pgina 305