Escolar Documentos
Profissional Documentos
Cultura Documentos
www.4linux.com.br
Projetos na sua empresa
com a qualidade dos treinamentos
3 Servidor DHCP 31
3.0.16 Cenário . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.0.17 Proposta de solução . . . . . . . . . . . . . . . . . . . . . . . 31
3.0.18 Introdução teórica . . . . . . . . . . . . . . . . . . . . . . . . 31
3.0.19 Laboratório . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.0.20 Fixar IP via DHCP . . . . . . . . . . . . . . . . . . . . . . . . 38
i
Conteúdo 4Linux – www.4linux.com.br
4 Servidor NFS 43
4.1 Cenário . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
4.2 Proposta de solução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
4.3 Introdução teórica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
4.4 Conhecendo o NAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
4.5 NAS versus SAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
4.6 E o DAS? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
4.7 Laboratório . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
4.7.1 Configurando o Servidor . . . . . . . . . . . . . . . . . . . . 49
4.7.2 Configurando o Cliente . . . . . . . . . . . . . . . . . . . . . 53
6 Servidor Samba 85
6.0.6 Cenário . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
6.0.7 Proposta de solução . . . . . . . . . . . . . . . . . . . . . . . 85
6.0.8 Introdução teórica . . . . . . . . . . . . . . . . . . . . . . . . 86
6.0.9 subsection name . . . . . . . . . . . . . . . . . . . . . . . . . 87
13 Firewall 273
13.0.71 Cenário . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
13.0.72 Proposta de solução . . . . . . . . . . . . . . . . . . . . . . . 273
13.0.73 Introdução teórica . . . . . . . . . . . . . . . . . . . . . . . . 273
13.0.74 Revisando os conceitos de Rede . . . . . . . . . . . . . . . . 274
13.0.75 TTL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276
13.0.76 Tabelas do Iptables . . . . . . . . . . . . . . . . . . . . . . . 279
13.0.77 O que é uma chain? . . . . . . . . . . . . . . . . . . . . . . 279
13.0.78 Compreendendo as políticas básicas e o conceito das ex-
ceções . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280
13.0.79 Laboratório . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
13.0.80 Script de firewall . . . . . . . . . . . . . . . . . . . . . . . . . 283
Mas o que muitos não sabem (ou não aceitam!) é que podemos implementar o
mesmo ambiente usando software livre, sem custo de propriedade ou licenciamento,
além 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, autenticação de usuários,
redundância, entre outros.
1.0.2 Cenário
1
4Linux – www.4linux.com.br
Partindo deste cenário, iremos migrar a maioria das tecnologias para a plataforma
livre, conforme exemplificado na próxima figura.
Além das tecnologias exibidas na figura acima, podemos ainda implementar redun-
dância de discos com RAID, gerenciamento de unidades com o LVM, segurança de
acesso ao servidor com o uso do PAM, integração da rede Linux com algumas má-
quinas Windows por meio do Samba, além de outros serviços como FTP, DHCP, DNS
e VPN.
A cada dia de Curso iremos ensinar tais serviços, mostrando como seria o dia a dia
de uma empresa e conseguiremos verificar como a produtividade, desempenho e
confiabilidade se tornarão algo comum na vida do administrador! Na próxima página
você tem um espaço para realizar suas anotações, como os Ips das máquinas!
2.0.3 Cenário
A empresa DEXTER COURIER precisa que seu servidor seja configurado com as
devidas políticas de segurança, permitindo acesso local e remoto somente à equipe
de TI em horários previamente definidos. Além disto, é necessário ter todos os regis-
tros de login/logout, bem como as atividades realizadas nos servidores.
5
4Linux – www.4linux.com.br
Sempre que finalizamos a instalação de um servidor, temos que efetuar alguns ajus-
tes iniciais para que os serviços disponibilizados por ele seja acessível por todos os
usuários da rede que possuam permissão. Com isso temos todo o trabalho de fechar
possível brechas de segurança, como portas abertas, banner do aplicativo ou mesmo
algum bug na aplicação. Vamos efetuar os primeiros passos, como configurar um IP
fixo, resolução de Nomes-IPs, Hostname, arquivo Hosts e o(s) repositório(s).
2.0.6 Laboratório
Como todo servidor deve ter um IP fixo na rede, vamos efetuar esta configuração no
arquivo “/etc/network/interfaces”. Para isto, execute num terminal como “root” e
adicione o que está em negrito:
1 # Interface Loopback
2 auto lo
3 iface lo inet loopback
4
5 auto eth0
6 iface eth0 inet static
7 address 192.168. X .2
8 netmask 255.255.255.0
9 network 192.168. X .0
10 broadcast 192.168. X .255
11 gateway 192.168. X .1
1 root@datacenter :~ #
Ok! Com o servidor atualizado, vamos agora instalar os programas necessários para
o andamento do curso:
Agora vamos configurar o editor de textos VIM, habilitando linhas numeradas, desta-
que de busca no texto, ignorar o case e deixar o texto colorido, facilitando a leitura da
configuração. Insira no final do arquivo:
Caso deseje adicionar mais variáveis ou alias, fique à vontade! Concluída esta etapa,
vamos reler o arquivo para que as alterações sejam validadas:
Podemos incluir nessa lista de procedimentos limitar o software instalado àquele que
se destina a função desejada do sistema; aplicar e manter os “patches” de segurança
tanto no sistema operacional como na aplicação; revisar e modificar as permissões
dos sistemas de arquivos, em especial no que diz respeito a escrita e execução;
reforçar a segurança do login, impondo uma política de senhas fortes.
2.0.11 Laboratório
Observações importantes :
senha novamente.
• Sua senha não será mostrada na tela enquanto você a digita no terminal, ape-
nas será mostrada com asteriscos quando você digitá-la pela interface gráfica.
1 root@datacenter :~ # visudo
Com esta configuração demos total poder para o usuário infra, visto que iremos
bloquear o acesso de root posteriormente. Para melhorar a segurança do sistema
com o uso do sudo, em caso de esquecer o terminal aberto como usuário infra,
podemos configurar o sudo para sempre pedir a senha ao se digitar um comando.
Para isto, adicione no final do arquivo:
Configurando o SSH
Sabemos que não é fácil criar uma senha, ainda mais sendo ela para um servidor!
Para ajudar nessa árdua tarefa, podemos instalar um programa chamado pwgen,
que gera combinações de caracteres, formando assim senhas aleatórias!
Neste EXEMPLO verificamos que temos o servidor de e-mail EXIM, versão 4. Como
não iremos utilizá-lo, vamos remover seus links da inicialização para que eles não
sejam iniciados no boot. Execute o comando:
Outro comando importante (e que cai na prova da LPI) é o netstat. Ele possui alguns
parâmetros importantes para verificarmos as conexões estabelecidas em nosso ser-
vidor. Execute:
Logando o comando SU
Faça alguns testes com o comando “su”, ora acertando a senha, ora errando. Se
desejar faça com o auxílio do programa splitvt:
1 root@datacenter :~ # splitvt
Na outra execute os comandos com “su infra” e “su – infra”, errando a senha!
Tipos de PAM
Embora eles não sejam classificados, podemos dizer que há três tipos de PAM:
Java™ PAM ou JPam: O JPam atua como uma ponte entre a parte Java e o PAM
comum. Ele permite o uso dos módulos 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 módulos e controles, e cada tipo de módulo provê uma funcio-
nalidade diferente dentro do sistema. Vamos comentar primeiro os módulos:
• required: Checa a existência do módulo solicitado. Caso esse módulo falhe, so-
mente depois de verificar se todos os módulos do mesmo tipo estão disponíveis
é que o usuário será avisado;
Laboratório
Execute:
Podemos verificar também quais serviços trabalham com o PAM listando os arquivos
do /etc/pam.d:
Vamos fazer um teste simples que serve para bloquear usuários comuns. Abra o
arquivo "/etc/pam.d/login"e visualize o módulo "pam_nologin.so" na linha 36:
Para esse “módulo” funcionar ele necessita que o arquivo “nologin” esteja criado
dentro do diretório /etc. Execute:
Feito isto, tente logar com o usuário “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 :
Teste: Comente a linha 31 (tty3) e tente logar-se com o usuário root no TTY3!
Depois comente as linhas 29 a 34!
Uma maneira prática de usar o “PAM” é fazermos com que o usuário root não
tenha acesso direto ao login, forçando a logar com usuário 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:
Agora que ativamos o módulo pam_time.so, vamos negar o login do root no terminal.
Edite o arquivo “/etc/security/time.conf” e acrescente na última linha:
login - Serviço que irá ser controlado * - Terminal root - Usuário Al0000-2400 -
Dias e horários de filtragem.
Tente efetuar login como root em outro terminal e veja que não será possível! Apro-
veitando o “gancho” , vamos deixar configurada a negação de acesso ao root via ssh.
Mais uma camada de proteção, além da já configurada no arquivo de configuração
do ssh (/etc/ssh/sshd_config). Abra o arquivo /etc/pam.d/sshd e inclua na linha
9:
Como permitir acesso a grupos extras como, por exemplo, “audio”, ou “cdrom”?
Essa sintaxe quer dizer que usuário só pode ter acesso ao grupo “audio” se efetuar
o login entre 8hs e 18hs. Outro exemplo:
Essa sintaxe quer dizer que todos os usuários podem ter acesso ao grupo “audio”
e “games” aos sábados e domingos. Com o PAM, podemos limitar quais usuários
poderão ter acesso a utilizar ao comando “su”. Para isso, vamos criar um grupo
chamado “admins”
Agora vamos adicionar o usuário infra ao novo grupo. Com isto, apenas o usuário
infra poderá executar o comando “su”.
Crie uma política que não possibilite o uso do “su”, exceto pelos usuários do grupo
“admins”. Abra o arquivo /etc/pam.d/su, descomente a linha 15 e adicione ao final da
linha group=admins
1 teste@datacenter :~ $ su -
2 Senha :
3 su : Permiss ão negada
1 infra@datacenter :~ $ su -
2 Senha :
3 root@datacenter :~ #
Vamos falar agora sobre o “pam_limits”! Esse é um excelente recurso para limitar
praticamente todos os recursos da máquina a cada usuário. Pode-se inclusive deter-
minar o tempo de consumo de CPU e memória RAM. Vejamos o módulo ativado no
/etc/pam.d/login:
1 < usuario / grupo > < tipo_de_limite > < recurso > < valor_do_limite >
Quando o limite do tipo “soft” é alcançado, o sistema avisa que chegou no limite mas
não restringe nada. Se o limite for do tipo “hard”, o sistema simplesmente restringe o
recurso e não deixa passar. O “soft” então serve apenas para um “aviso” amigável,
então na dúvida o “hard” é quem manda!
Fique atento, a prova do LPI pode cobrar as opções que encontramos dentro
do arquivo “limits.conf”. Conhecer todas estas opções e seu pleno entendimento são
tarefas essenciais para ser um Administrador de Sistemas GNU/Linux.
Vamos realizar alguns testes. Primeiro iremos limitar o número de terminais conse-
cutivos que um usuário pode utilizar. Abra o arquio /etc/security/limits.conf e insira
a seguinte linha:
Dessa forma, limita-se o usuário teste para utilizar somente dois terminais consecu-
tivos. Segundo, vamos limitar o tamanho máximo de um arquivo criado pelo usuário
teste:
Para o teste, faça logout e logue-se novamente com o usuário teste e tente criar
arquivos maiores que 100MB (fsize 100000).
Outro fator importante na questão da segurança é o chamado Fork Bomb! Ele nada
mais é do que um processo criar sub-processos, em looping infinito, causando o
congelamento do servidor. Faça o teste com o usuário infra digitando:
Esse comando cria uma função na qual a função é jogada dentro dela mesma em
segundo plano, gerando o looping. Para parar o looping só desligando o servidor.
Para impedir isto, vamos limitar o número de processos gerados pelo usuário no
arquivo /etc/security/limits.conf
Após isto, faça novamente o teste usando o usuário infra. Vamos ver agora como
implementar mais segurança com as senhas dos usuários. Limitaremos a quantidade
de caracteres a composição da senha. Instale o programa libpam-cracklib.
1
2 root@datacenter :~ # vim / etc / pam .d/ common - password
3 24 # here are the per - package modules ( the " Primary " block )
4 25 password requisite pam_cracklib . so retry =3 minlen =6 difok =3
5 26 # password [ success =1 default = ignore ] pam_unix . so obscure
use_authtok try_first_pass sha512
6 27 password [ success =1 default = ignore ] pam_unix . so use_authtok
nullok md5
Agora logue com o usuário teste e tente mudar a senha para valores que o sistema
não aceite:
1 teste@datacenter :~ $ passwd
2 Mudando senha para teste .
3 Senha UNIX ( atual ):
4 Senha :
1 teste@datacenter :~ $ passwd
2
3 Mudando senha para teste .
4 Senha UNIX ( atual ):
5 Senha :
6 Redigite a nova senha :
7 passwd : senha atualizada com sucesso
http://lists.debian.org/debian-security-announce/
https://rhn.redhat.com/errata/rhel-server-errata.html
Servidor DHCP
3.0.16 Cenário
Criado e mantido pelo ISC (Internet Systems Consortium), um grupo sem fins lu-
crativos dedicado a desenvolver serviços de infra-estrutura usados na Internet, in-
31
4Linux – www.4linux.com.br
cluindo o Bind e o NTPD. Caso esteja curioso, a página com o código fonte é a:
http://www.isc.org/sw/dhcp/. O protocolo DHCP (Dynamic Host Configuration Pro-
tocol) funciona nas camadas 2 e 3 do modelo OSI e é amplamente utilizado para
oferecer endereço IP a um "host"que ainda não 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 estações, enviando um pacote com um dos endereços IP disponíveis
e os demais dados da rede. Os pacotes de broadcast são endereçados ao ende-
reço "255.255.255.255" e retransmitidos pelo switch da rede para todas as portas,
diferente dos pacotes endereçados a um endereço específico, que são transmitidos
apenas na porta relacionada a ele.
ao "host"requisitante;
• DHCPNAK - Caso o cliente não aceite aquele endereço IP, ele enviará um
"DHCPNAK"para o servidor, e realizará o "DHCPDISCOVER"novamente.
de endereços. Assim que o cliente se loga pela primeira vez na rede, ele recebe
um endereçamento definitivo;
3.0.19 Laboratório
Agora vamos iniciar nossa configuração num arquivo zerado. Abra-o e insira o con-
teúdo abaixo:
1 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 ;
Configurando os LOGs
Com isso todos os logs com origem da facility local7 (facility essa que representa o
serviço de DHCP) em qualquer priority (indica o nível de importância do log) serão
logados no /var/log/dhcpd.log.
1
2 root@squeeze :~ # vim / etc / network / interfaces
3 auto eth0
4 iface eth0 inet dhcp
Para este cenário ser possível adicione no final do arquivo de configuração "/etc/dhcp/dhcpd.con
o que está abaixo:
1 host squeeze {
2 hardware ethernet 00:00:00:00:00:00;
3 fixed - address 192.168. X .10;
4 }
5 host windowsxp {
Você deve trocar o MAC Address informado aqui pelo de suas estações.
Configurações adicionais
No que diz respeito ao servidor, podemos ainda verificar alguns arquivos para diag-
nosticar problemas ou mesmo extrair relatórios. Vejamos:
Este arquivo armazena o banco de dados de aluguel do cliente DHCP. Este arquivo
não deve ser modificado manualmente. As informações de aluguel DHCP de cada
endereço IP recentemente atribuído são armazenadas automaticamente no banco
de dados de aluguel. As informações incluem datas do aluguel e os endereços MAC
da placa de interface de rede usada para recuperar o aluguel.
tempos para que não fique muito grande. Primeiramente, todos os aluguéis conhe-
cidos são salvos em um banco de dados temporário de aluguel. Então, o arquivo
dhcpd.leases é renomeado para dhcpd.leases , e o banco de dados temporário é
salvo como dhcpd.leases.
O daemon DHCP pode ser finalizado (killed) ou o sistema pode falhar (crash) após
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 não existe, mas
é necessário para iniciar o serviço. Não crie um novo arquivo de aluguel. Se você
o fizer, todos os aluguéis antigos serão perdidos e causarão muitos problemas. A
solução correta é renomear o arquivo backup dhcpd.leases como dhcpd.leases e
então iniciar o daemon.
Pelo lado do cliente podemos acompanhar quais os endereços IPs que já recebeu
analisando o arquivo “/var/lib/dhcp/dhclient.leases”:
. . . ou o arquivo /var/lib/dhcp/dhclient.eth0.leases
1 lease {
2 interface " eth0 ";
3 fixed - address 192.168. X .110;
4 option subnet - mask 255.255.255.0;
5 option dhcp - lease - time 3600;
6 option dhcp - message - type 5;
7 option dhcp - server - identifier 192.168. X .110;
8 renew 5 2011/06/24 00:14:42;
9 rebind 5 2011/06/24 00:14:42;
10 expire 5 2011/06/24 00:14:42;
11 }
E para finalizar, evite colocar 2 servidores DHCP na mesma rede, pois isto irá gerar
alguns transtornos para os clientes!
Servidor NFS
4.1 Cenário
Vamos utilizar um computador com GNU/Linux servindo como Storage da rede, con-
tendo os diretórios necessários para o acesso dos membros da empresa. Vamos
configurar grupos e usuários com as devidas permissões de acesso, além de geren-
ciar as quotas por grupo.
43
4.4 Conhecendo o NAS 4Linux – www.4linux.com.br
sem os dados remotos como se estivessem no micro local. Por esse motivo o
“NFS” é uma solução interessante para centralização de diretórios pessoais e recur-
sos compartilhados em rede, já que as operações de backup e manutenção poderão
ser centralizadas. Para isto o NFS faz uso do Remote Procedure Call.
Para que os clientes possam acessar o servidor NFS, é necessário que os seguintes
serviços estejam sendo executados no servidor: portmapper - converte números dos
processos RPC em números no protocolo TCP/IP. Através deste daemon, os clientes
conseguem o número da porta do servidor NFS;
cado. Inspirados pelo sucesso dos servidores de arquivos da Novell, IBM e Sun,
várias empresas desenvolveram servidores dedicados para armazenamento de da-
dos. Enquanto a 3Com estava entre as primeiras empresas a fabricar NAS dedicados
para sistemas operacionais de desktop, a Auspex Systems foi a primeira a desen-
volver um servidor NFS dedicado para uso com UNIX. Um grupo de engenheiros da
Auspex se separou da empresa no início dos anos 90 para criar o filtro integrado
NetApp, o qual suportava tanto o CIFS (Windows) quanto o NFS (UNIX), e tinha es-
calabilidade superior e maior facilidade de instalação. Aqui inicia o mercado para
dispositivos NAS proprietários.
Sistemas NAS podem conter mais de um HD, podendo também contar com a tec-
nologia RAID (Redundant Arrays of Independent Disks), centralizando a respon-
sabilidade de servir os arquivos em uma rede e deste modo liberando recursos de
outros servidores desta rede. Os protocolos utilizados pelo NAS são 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 estão sendo usados pelo mundo corporativo há algum tempo,
porém, com a redução dos custos destes dispositivos e com a popularização de re-
des domésticas, diversos produtos NAS surgiram para o mercado pessoal. Estes
dispositivos NAS de uso doméstico são baseados em processadores baratos ro-
dando uma versão embarcada de Linux. Além do baixo custo, estes aparelhos têm
baixo consumo de energia e têm uma instalação relativamente simples. Existem
alternativas open source para implementações caseiras de NAS, como:
FreeNAS (http://www.freenas.org/)
Openfiler (http://www.openfiler.com/)
NASLite (http://www.serverelements.com/)
LG-N4B1-NAS-Blu-ray
Seagate-Blackarmor-NAS 440
A tecnologia foi adotada por legiões de usuários da Network Appliance e por usuários
de Windows para hospedar o Microsoft Exchange e o SQL Server. Também 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 partições diferentes no resto do tráfego
da LAN e, ao fazer isso, aumentar a velocidade de banco de dados com grande
quantidade de transações, sistemas ERP e CRM.
4.6 E o DAS?
Essa técnica é mais adequada para pequenos servidores que oferecem acesso a
arquivos para diversos PCs ou usuários de um pequeno escritório. É uma forma
confiável para armazenar aplicações que rodam em um servidor.
Os principais protocolos usados pelo DAS são ATA, SATA, eSATA, SCSI, SAS e
Fibre Channel.
4.7 Laboratório
Como a finalidade deste servidor é prover apenas espaço em disco, vamos realizar
uma configuração simples com NFS, compartilhando dois diretórios.
2 .
3 75 sunrpc 111/ tcp portmapper # RPC 4.0 portmapper
4 76 sunrpc 111/ udp portmapper
5 .
6 298 nfs 2049/ tcp # Network File System
7 299 nfs 2049/ udp # Network File System
1 root@storage :~ # rpcinfo -p
2 programa vers ão protocolo porta
3 100000 2 tcp 111 portmapper
4 100000 2 udp 111 portmapper
5 100024 1 udp 47545 status
6 100024 1 tcp 57409 status
7 100021 1 udp 52472 nlockmgr
8 100021 3 udp 52472 nlockmgr
9 100021 4 udp 52472 nlockmgr
10 100021 1 tcp 39468 nlockmgr
11 100021 3 tcp 39468 nlockmgr
12 100021 4 tcp 39468 nlockmgr
13 100003 2 tcp 2049 nfs
14 100003 3 tcp 2049 nfs
15 100003 4 tcp 2049 nfs
16 100003 2 udp 2049 nfs
17 100003 3 udp 2049 nfs
18 100003 4 udp 2049 nfs
19 100005 1 udp 46126 mountd
20 100005 1 tcp 60630 mountd
21 100005 2 udp 46126 mountd
22 100005 2 tcp 60630 mountd
23 100005 3 udp 46126 mountd
24 100005 3 tcp 60630 mountd
root_squash - opção padrão, faz com que o usuário root não tenha privilégios dentro
do compartilhamento NFS montado;
async - Útil em redes locais pois permite que o NFS transfira arquivos de forma
assíncrona, sem precisar esperar pela resposta do cliente a cada pacote enviado,
aumenta um pouco a velocidade de transferência de dados;
1 root@storage :~ # exportfs -r
Monte os compartilhamentos:
1 root@datacenter :~ # mount
2 192.168. X .4:/ srv / dexter on / srv / storage type nfs (rw , addr =192.168. X
.4)
3 192.168. X .4:/ srv / dexter on / srv / lixeiras type nfs (rw , addr =192.168. X
.4)
Como vimos, com a opção “root_squash” ativada por padrão o root não consegue
criar arquivos/diretórios dentro do compartilhamento! Vamos alterar o /etc/exports
no servidor “Storage” e permitir que o root grave no compartilhamento, habilitando a
opção “no_root_squash”:
[ http://web.mit.edu/rhel-doc/3/rhel-sag-pt_br-3/ch-raid-intro.html ]
57
4Linux – www.4linux.com.br
Via Software: Feito por aplicativos e módulos do sistema operacional. O “RAID” via
software só entra em funcionamento depois que o “Kernel” é carregado na memória
do computador. A principal vantagem é a facilidade de configuração e a flexibilidade,
já que podemos trabalhar com vários discos diferentes. A principal desvantagem é a
dependência da correta configuração do sistema operacional.
Via Hardware: Feito por uma placa controladora que conecta um disco ao outro. A
principal vantagem é o desempenho, já que um “RAID” via hardware é mais rápido
[ http://web.mit.edu/rhel-doc/3/rhel-sag-pt_br-3/s1-raid-approaches.html ]
Tipos de RAID
RAID 0 (Stripping): Este é o único nível de “RAID” que não implementa redundân-
cia. Sua finalidade é aumentar o desempenho de leitura e gravação, uma vez que ao
gravar, divide os dados em partes iguais e armazena cada fragmento em um disco
diferente simultaneamente. Por isto, com dois discos, a velocidade de leitura pra-
ticamente dobra. Com três discos, triplica. E assim por diante. São necessários
ao menos dois discos para implementar “RAID 0” e eles podem ser de tamanhos
diferentes.
RAID 1 (Mirroring): O nível mais utilizado. Sua principal finalidade é prover redun-
dância dos dados. Esta é garantida pela duplicação dos dados que são gravados
em cada par de discos, logo, se um deles falhar, o outro continuará operando e man-
tendo a informação disponível, até que a substituição do disco defeituoso seja feita.
O ganho de desempenho está na leitura, uma vez que os dados são lidos em par-
tes iguais e simultaneamente de todos os discos. A desvantagem desse nível é que
só metade do volume total de armazenamento nos discos utilizados ficará disponí-
vel para o sistema operacional. É preciso no mínimo dois discos para implementar
“RAID 1”, sempre em pares.
[ http://www.hardware.com.br/termos/raid-6 ]
Combinações de RAID
RAID 10: Combina as vantagens do RAID 0 e RAID 1 num único sistema. Fornece
segurança efetuando espelhamento de todos os dados num conjunto secundário de
discos enquanto utiliza listagem em cada conjunto de discos para acelerar as trans-
ferências de dados. O RAID 10 permite no máximo 2 discos avariados de 2 pares
diferentes.
O volume de disco RAID 10 é ideal para organizações que executam bases de dados
e outras aplicações com base em transações que requerem eficiência de armazena-
mento e proteção de dados críticos.
RAID 0+1: É uma combinação dos níveis 0 (Striping) e 1 (Mirroring), onde os da-
dos são divididos entre os discos para melhorar o rendimento, mas também utilizam
outros discos para duplicar as informações. Assim, é possível utilizar o bom rendi-
mento do nível 0 com a redundância do nível 1. No entanto, é necessário pelo menos
4 discos para montar um RAID desse tipo. Tais características fazem do RAID 0 + 1
o mais rápido e seguro, porém o mais caro de ser implantado. Falhando 1 disco, o
sistema vira um RAID 0.
Vantagens:
Desvantagens:
• RAID 50
• RAID 60
• RAID 100
"O LVM (Logical Volume Manager) é um recurso incluído no Kernel Linux a partir da
versão 2.4 que cria uma camada de abstração entre o sistema operacional e os HDs
(ou outras unidades de armazenamento utilizadas, como o RAID por exemplo). Ele
adiciona alguns complicadores adicionais na configuração, mas, em compensação
oferece um conjunto de vantagens bastante interessantes.
Imagine que no LVM o sistema não vê HDs e partições, mas sim um ou mais volumes
lógicos. Cada volume se comporta como se fosse uma partição, que é formatada e
montada da forma usual. Estes volumes são agrupados em um grupo de volumes
lógicos (logical volume group) que se comporta de forma similar a um HD.
O pulo do gato é que o grupo de volumes lógicos pode combinar o espaço de vários
HDs e ser modificado conforme necessário, incorporando mais HDs. Os volumes
lógicos dentro dele também podem ser redimensionados livremente conforme for
necessário.
Se você precisa de mais espaço dentro do volume referente à pasta /home, por
exemplo, você poderia reduzir o tamanho de um dos outros volumes do sistema (que
estivesse com espaço 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, é
possível até mesmo adicionar, remover ou substituir HDs, fazendo as alterações ne-
cessárias nos volumes lógicos, com o servidor ligado!
É importante enfatizar que o LVM é apenas uma mudança na forma como o sistema
acessa os discos, ele não é um substituto para o RAID. No LVM você pode agrupar
vários HDs em um único grupo de volumes lógicos, 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 espaço para ter uma
camada de redundância.
O grupo de volumes lógicos criado pelo instalador é visto pelo sistema como "/dev/vg01"e
os volumes lógicos dentro dele são vistos como "/dev/vg01/lv01", "/dev/vg01/lv02",
etc. Os nomes podem ser alterados da maneira que quiser. Naturalmente, é possí-
vel também deixar de usar o LVM, voltando ao sistema normal de particionamento.
Nesse caso, você só precisa deletar os volumes e o grupo de volumes lógicos e criar
a partições desejadas usando o espaço disponível.
http://www.hardware.com.br/dicas/entendendo-lvm.html
Uma implementação melhor do LVM é em conjunto com volumes RAID, pois no caso
de falhar um dos discos, continuamos com a leitura/gravação nos demais. Em re-
lação ao usuário, o mesmo nem saberá que tem toda esta estrutura por trás da
manipulação dos dados!
Primeiro crie uma partição primária em cada um dos discos com o espaço total do
disco, sendo esta partição do tipo Linux raid autodetect (fd):
CASO não apareça as partições, instale o pacote parted e execute o utilitário part-
probe, verificando posteriormente:
Se for instalar num servidor sem RAID, terá que fazer a instalação:
Vamos fazer uso do utilitário splitvt (instalado anteriormente), que faz uma divisão
na tela do terminal, facilitando a execução dos comando e verificação de logs. Para
usar esta combinação, digite no terminal splitvt e veja a saída:
Configurando o RAID-5
Veja a saída:
Neste exemplo criamos o RAID-5, porém ele não 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 saída em:
Bom, agora que o RAID está criado e ajustado para gravação, vamos configurar
o arquivo /etc/mdadm/mdadm.conf:
Verifique a montagem:
1 root@datacenter :~ # df -hT
2 / dev / md1 ext4 9 ,9 G 151 M 9 ,7 G 2% / mnt / raid
Perceba que se você não configurar corretamente o mdadm.conf o RAID não irá
funcionar. Volte ao arquivo e descomente as linhas, reiniciando o RAID:
Na tela do splitvt, acompanhe o que acontece com cada comando executado. Vamos
inicialmente simular uma falha no disco “sdd1”. Digite:
1 root@datacenter :~ # jobs -l
2 root@datacenter :~ # kill -9 < PID_do_testaraid .sh >
3 root@datacenter :~ # cd ; umount / mnt / raid
Laboratório – LVM
1 PV ( Phisical Volume )
2 pvs - sa í da resumida
3 pvscan - sa í da simples
4 pvdisplay - sa í da detalhada
5
6 VG ( Volume Group )
7 vgs - sa í da resumida
8 vgscan - sa í da simples
9 vgdisplay - sa í da detalhada
10
11 LV ( Logical Volume )
12 lvs - sa í da resumida
13 lvscan - sa í da simples
14 lvdisplay - sa í da detalhada
Vamos verificar nossos “Volumes Lógicos” por meio dos comandos detalhados, to-
mando como base para a produção de relatórios. Primeiro o PV:
1 root@datacenter :~ # pvdisplay
Agora do VG:
1 root@datacenter :~ # vgdisplay
2 --- Volume group ---
3 VG Name root_vg
4 VG Status resizable
5 VG Size 79 ,07 GiB
6 PE Size 4 ,00 MiB
7 Total PE 20241
8 Alloc PE / Size 4290 / 16 ,76 GiB
9 Free PE / Size 15951 / 62 ,31 GiB
1 root@datacenter :~ # lvdisplay
2 --- Logical volume ---
3 LV Name / dev / root_vg / lv_raiz
4 VG Name root_vg
5 LV Size 9 ,31 GiB
6 Current LE 2384
Agora que sabemos como gerar um relatório do LVM e vimos como foi criado na
instalação do sistema, passemos para a criação de um novo VG para se trabalhar
com os perfis dos usuários do Samba. Primeiro devemos adicionar um PV, sendo
neste caso o volume RAID-5 criado anteriormente:
1 root@datacenter :~ # pvdisplay
2 --- Physical volume ---
3 "/ dev / md1 " is a new physical volume of " 9 ,98 GiB "
4 --- NEW Physical volume ---
5 PV Name / dev / md1
6 VG Name
7 PV Size 9 ,98 GiB
Perceba que o sistema nos informa de que o /dev/md1 é um novo volume físico e
que não faz parte de nenhum VG! Sendo assim, vamos criar um novo VG com este
PV (/dev/md1):
Após estes procedimentos, teremos uma unidade lógica mapeada e pronta para uso!
Vamos gravar alguns dados nesta unidade para realizarmos alguns testes.
Vamos supor que o espaço alocado para a unidade lógica não irá atender às neces-
sidades da empresa! Neste caso teremos que aumentar o espaço da unidade lógica,
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:
Pronto! Agora monte a partição e veja o tamanho e o total dos dados que nela
estavam:
Agora suponha que, seja lá qual for o motivo, você precise reduzir o espaço 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 partição. Depois devemos checar a integridade da
partição para finalmente executar o comando que fará o “resizing”.
Neste exemplo temos uma partição de 8GB e eu desejo reduzir apenas 5GB. Vamos
supor que eu tenha cerca de 3,5GB de dados. Então, para não quebrar a partição
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 partição:
Os comando acima reduziram de forma lógica o tamanho da partição para que depois
possamos reduzir de forma física. Agora é só montar e checar os dados!
6 21 M / mnt / lvm /
7 Para remover a estrutura dos testes , fa ç amos o seguinte :
8 root@datacenter :~ # umount / mnt / lvm
9 root@datacenter :~ # lvremove / dev / samba_vg / samba_lv
10 Do you really want to remove active logical volume samba_lv ? [y/n ]:
y
11 Logical volume " samba_lv " successfully removed
12
13 -------- Se fosse o caso de remover tudo , use os comandos abaixo
--------
14
15 root@datacenter :~ # vgremove samba_vg
16 Volume group " samba_vg " successfully removed
17 root@datacenter :~ # pvremove / dev / md1
18 Labels on physical volume "/ dev / md1 " successfully wiped
A fim de deixarmos nosso ambiente estruturado para a gravação dos perfis do SAMBA,
vamos refazer o LVM da seguinte forma:
Agora vamos editar o /etc/fstab e incluir no final do arquivo este novo ponto de mon-
tagem. Use o comando abaixo e deixe a entrada conforme o exemplo:
3 UUID =4 f9871d2 -92 bd -48 ea -8 d86 -3190 b7afb1f1 / srv / samba ext4 defaults
0 0
Servidor Samba
6.0.6 Cenário
A melhor solução é um servidor GNU/Linux com Samba pois, além de ser gratuito,
possui muitas funcionalidades e flexibilidade, tornando-o superior aos servidores com
código proprietário. O servidor deverá atender aos seguintes requisitos:
85
4Linux – www.4linux.com.br
• domínio com perfil móvel (roaming profile); autenticação de usuários; nome net-
bios; gerador de logs nível 1; gravação de arquivos com extensão mp3, mpg,
mpeg, avi, wav e jpg vetada no compartilhamento; arquivos com extensões .ini
e .log deverão ficar ocultos; sistema de lixeira para cada compartilhamento; im-
pressora compartilhada; acesso restrito à rede local; mapeamento de unidade
de rede por grupo; possibilidade do usuário alterar sua senha; criação de ar-
quivo/diretório em letra minúscula; compartilhamento oculto para uso da equipe
de suporte; codificação dos caracteres para ambos os sistemas; relatórios de
quem está conectado ao servidor.
“O Samba é um servidor para Linux (e outros sistemas baseados em Unix) que per-
mite o gerenciamento e compartilhamento de recursos em redes formadas por com-
putadores com o Windows. Assim, é possível usar o Linux como servidor de arquivos,
servidor de impressão, entre outros, como se a rede utilizasse servidores Windows
(NT, 2000, XP, 2003 ou 2008).
O Samba é uma criação de Andrew Tridgell. O que aconteceu foi que Tridgell pre-
cisava montar um espaço em disco em seu PC para um servidor Unix. Esse PC
rodava o sistema operacional MS-DOS e, inicialmente, foi utilizado o sistema de ar-
quivos NFS (Network File System) para o acesso. Porém, um aplicativo precisava de
suporte ao protocolo NetBIOS (não suportado pelo NFS). A solução encontrada por
Tridgell não foi tão simples: ele escreveu um sniffer (pequeno programa para captura
de tráfego de dados em rede) que permitisse analisar o tráfego de dados gerado
pelo protocolo NetBIOS, fez engenharia reversa no protocolo SMB (Server Message
Block) e o implementou no Unix. Isso fez com que o servidor Unix aparecesse como
um servidor de arquivos Windows em seu PC com DOS.
O código foi disponibilizado publicamente por Tridgell em 1992. Porém, tempos de-
pois, o projeto foi posto de lado até que um determinado dia Tridgell decidiu conectar
o PC de sua esposa ao seu computador com Linux. Porém, não encontrou nenhum
meio melhor que seu código para fazer isso e assim o utilizou.
Através de contatos feitos por e-mail, Tridgell descobriu que as documentações dos
protocolos SMB e NetBIOS estavam atualizadas e assim voltou a dedicar-se ao pro-
jeto. Porém, uma empresa entrou em contato com ele reivindicando os direitos sobre
o nome usado no software até então. Diante disso, Andrew Tridgell teve a idéia de
procurar em um dicionário uma palavra que tivesse as letras s, m e b (de SMB). A
busca retornou apenas as palavras "salmonberry", "samba", "sawtimber"e "scram-
ble", 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 progra-
madores e com milhares de usuários de sua solução espalhados pelo mundo. “ [
http://www.infowester.com/linuxsamba.php
O que é um Domínio?
É necessário uma eleição quando existe mais de uma máquina querendo ser domínio
na rede. Existem algumas opções na configuração do smb.conf na seção global que
fazem com que o nosso servidor leve vantagem nesta eleição. Veremos isto mais
adiante.
1 root@datacenter :~ # cp / etc / samba / smb . conf / etc / samba / smb . conf . distro
Fique atento, as opções que iremos estudar agora poderão ser cobradas na
prova do LPI nível 2.
Segundo, vamos montar a estrutura de nosso servidor Samba, com a lista dos usuá-
rios, grupos e permissões. A empresa Dexter Courier possui o seguinte quadro de
funcionários:
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 usuário e salve em /root/lista_users.txt do servidor, assim poderemos
utilizar scripts na criação e administração do Samba.
A senha padrão para todos será 123456. É óbvio que no “mundo real” isto não
ocorrerá. A ideia aqui é facilitar os testes! Agora vamos criar os grupos...
1 root@datacenter :~ # mkdir -p \
A fim de agilizar a preparação de nosso cenário, vamos montar um script para alterar
o diretório home e profile dos usuários, criar o diretório da lixeira e ingressar os
usuários no Samba. Depois dê permissão de execução e execute o script!
85 only guest = no
86 valid users = @comercial
87 write list = @comercial
88 force create mode = 660
89 force directory mode = 750
90 veto files = /*. mp3 /*. mpg /*. mpeg /*. avi /*. jpg /
91 hide files = /*. ini /*. log /
92 [ logistica ]
93 path = / srv / storage / logistica
94 available = yes
95 read only = no
96 public = no
97 only guest = no
98 valid users = @logistica
99 write list = @logistica
100 force create mode = 660
101 force directory mode = 750
102 veto files = /*. mp3 /*. mpg /*. mpeg /*. avi /*. jpg /
103 hide files = /*. ini /*. log /
104 [ rh ]
105 path = / srv / storage / rh
106 available = yes
107 read only = no
108 public = no
109 only guest = no
110 valid users = @rh
111 write list = @rh
112 force create mode = 660
113 force directory mode = 750
114 veto files = /*. mp3 /*. mpg /*. mpeg /*. avi /*. jpg /
115 hide files = /*. ini /*. log /
116 [ suporte ]
117 path = / srv / storage / suporte
118 available = yes
119 read only = no
120 public = no
121 only guest = no
159 browseable = no
160 [ homes ]
161 comment = Diretorio pessoal
162 path = / srv / samba / homes /% U
163 public = no
164 valid users = %U
165 read only = no
166 browseable = no
167 [ profiles ]
168 comment = Perfis mó veis
169 path = / srv / samba / profiles
170 public = no
171 guest ok = yes
172 read only = no
173 browseable = no
174 create mask = 0600
175 directory mask = 0700
176 [ drivers$ ]
177 comment = Drivers Windows
178 path = / srv / storage / drivers
179 public = no
180 inherit permissions = yes
181 valid users = @suporte
182 write list = @suporte
183 only guest = no
184 read only = no
185 force create mode = 600
186 force directory mode = 700
187 veto files = /*. mp3 /*. mpg /*. mpeg /*. avi /*. jpg /
188 hide files = /*. ini /*. log /
1 root@datacenter :~ # testparm
2 Load smb config files from / etc / samba / smb . conf
3 rlimit_max : rlimit_max (1024) below minimum Windows limit (16384)
E agora copie os “scripts de logon” fornecidos pelo Instrutor para o local correto, a
fim de que os usuários Windows possam mapear as unidades da rede:
4.Reinicie a máquina com Windows XP. Depois disto, siga as próximas figuras:
https://bugzilla.samba.org/attachment.cgi?id=4988&action=view
Após clicar em OK irá aparecer uma mensagem de erro, Clique OK para ignorar e
depois reinicialize o computador:
Quando surgir a tela de login, clique em “Trocar Usuário” => “Outro Usuário” e digite
o usuário do Domínio DEXTER:
Servidor DNS
Cenário
A empresa DEXTER COURIER precisa configurar um servidor DNS para que os ser-
viços disponibilizados por ela possam ser acessados externamente (Internet) por no-
mes ao invés de IP. A empresa pretende registrar dois domínios junto ao http://registro.br:
dexter.com.br e mandark.com.br.
O servidor DNS será montado na máquina DMZ, podendo ser acessada pelo mundo
externo (após configuração do firewall), sendo replicada para a máquina Datacenter.
Faremos o seguinte:
109
4Linux – www.4linux.com.br
“Durante os anos 70, Arpanet era uma pequena comunidade de algumas centenas
de hosts. Um único arquivo, HOSTS.TXT, continha toda a informação necessária
sobre os hosts. Este arquivo continha nome para endereçar cada host conectado a
ARPANET.
O arquivo era mantido pela Network Information Center (NIC) e distribuido por um
único host, Stanford Research Institute’s Network Information Center (SRI-NIC). Os
administradores da ARPANET enviavam ao NIC, por e-mail, quaisquer mudanças
que tivessem sido efeituadas e periodicamente SRI-NIC era atualizado, assim como
o arquivo HOSTS.TXT. As mudanças eram compiladas em um novo HOSTS.TXT
uma ou duas vezes por semana. Com o crescimento da ARPANET, entretanto, este
esquema tornou-se inviável. O tamanho do arquivo HOST.TXT crescia na proporção
em que crescia o número de hosts. Além disso, o tráfego gerado com o processo
de atualização crescia em proporções ainda maiores uma vez que cada host que era
incluído não só significava uma linha a mais no arquivo HOST.TXT, mas um outro
host atualizando a partir do SRI-NIC.
• Nomes que coincidiam : dois hosts do arquivo HOSTS.TXT não podiam ter o
mesmo nome. Porém, apesar do NIC poder designar endereços únicos para
cada host, ele não tinha nenhuma autoridade sobre os nomes dados aos mes-
mos. Não havia nada que pudesse evitar que alguém adicionasse um host com
um nome conflitante, interrompendo o sistema de algum outro host já existente.
[http://www.gta.ufrj.br/grad/anteriores98/dns-ticiana/historia.htm ]
Características
• Arquitetura cliente/servidor;
• Os nós abaixo do domínio raiz são chamados domínios de nível mais elevado -
TLD (top level domains);
• Sua quantidade e nomes são impostos pela ICANN - Internet Corporation for
Assigned Names and Numbers;
• Uma vez delegado um domínio, sua nova autoridade pode delegar subdomínios
sem necessitar notificar a entidade responsável pelo domínio pai;
7.0.12 Resolução
• recursiva
• iterativa
Resolução Recursiva
5.Se não encontrar, ele checa o arquivo "/etc/resolv.conf"para saber a quais "name-
servers"deve solicitar a informação;
8.Se não encontrar em seu "cache", o servidor em questão vai diretamente ao servi-
dor raiz e transfere a consulta - www.exemplo.com.br?;
9.O servidor raiz não faz "cache", e também não é autoridade sobre zonas de baixo
nível, então ele apenas responde uma parte da questão: "Não sei quem é, mas sei
quem pode responder melhor: br.";
11.".br"retorna o mesmo tipo de resposta, porém como uma dica mais próxima: "Não
sei quem é, mas sei quem pode responder melhor: com.br.";
12.Passos 10 e 11 são efetuados mais uma vez, e agora a resposta é "Não sei quem
é, mas sei quem pode responder melhor: exemplo.com.br.";
13.Após repetir o passo 10, finalmente a resposta será da autoridade sobre o domínio
exemplo.com.br. Vai ser respondido o IP, juntamente ao TTL do registro, ou será
respondido "inexistente";
14.O servidor de nomes fará "cache"da resposta, ao mesmo tempo que a repassa
para o resolvedor original;
Resolução Iterativa
Por esta razão, um "FQDN"deve terminar com um ".", que representa a raiz da ár-
vore. Os "aliases"podem ser outros "hostnames"canônicos, ou simples sufixos, para
simplificar a escrita de determinados endereços. Após a instalação do sistema, o ar-
quivo "hosts"costuma conter uma entrada referente ao IP da interface "loopback", e
uma entrada para cada outra interface presente na máquina para qual um endereço
foi atribuído. “
[http://gnulinuxbr.com/2010/05/04/domain-name-system-servidor-dns-no-
debian-parte-1/ ]
Por exemplo:
1 127.0.0.1 localhost
2 192.168.1.50 micro50 . dexter . com . br . micro50
Pode ser acrescentadas quantas entradas forem necessárias, inclusive para IPs ex-
ternos. Atualmente, os sistemas baseados em Debian já contém entradas para en-
dereçamento "IPv6", que seguem a mesma lógica. Poderá ver isto executando:
2 ...
3 # The following lines are desirable for IPv6 capable hosts
4 ::1 ip6 - localhost ip6 - loopback
5 fe00 ::0 ip6 - localnet
6 ff00 ::0 ip6 - mcastprefix
7 ff02 ::1 ip6 - allnodes
8 ff02 ::2 ip6 - allrouters
• nslookup
Dentre suas vantagens está o fato de ter uma biblioteca de resolução independente
do sistema, e consultar um servidor por vez, dentre os listados no "/etc/resolv.conf".
Apesar da consulta ser mais lenta, torna a triagem mais controlável. Dentre os pro-
blemas mais crônicos do "nslookup"estão: respostas confusas e erros indefinidos.
• host
• dig
O comando "dig"é o acrônimo para "Domain Information Groper", que significa algo
como "aquele que busca por informações de domínio no escuro", e ao mesmo
tempo, a palavra "dig"em inglês significa literalmente "escavar". Acho que mencionar
estas curiosidades demonstra o esforço de imaginação dos criadores do "dig"e, não
à toa, ele é o comando de pesquisa mais poderoso no pacote de utilitários "BIND".
No "dig"há dezenas de opções e incontáveis combinações entre elas, por isso con-
sultar o "man"e, sobretudo, ter um forte domínio do funcionamento do sistema de
nomes de domínio, é necessário para domá-lo.
23
24 root@dmz :~ # dig -t mx gmail . com .
25 ;; ->> HEADER <<- opcode : QUERY , status : NOERROR , id : 59238
26 ;; flags : qr rd ra ; QUERY : 1, ANSWER : 5, AUTHORITY : 0, ADDITIONAL : 0
27 ;; QUESTION SECTION :
28 ; gmail . com . IN MX
29 ;; ANSWER SECTION :
30 gmail . com . 1425 IN MX 40 alt4 . gmail - smtp - in .l. google . com .
31 gmail . com . 1425 IN MX 5 gmail - smtp - in .l. google . com .
32 gmail . com . 1425 IN MX 10 alt1 . gmail - smtp - in .l. google . com .
33 gmail . com . 1425 IN MX 20 alt2 . gmail - smtp - in .l. google . com .
34 gmail . com . 1425 IN MX 30 alt3 . gmail - smtp - in .l. google . com .
35 ;; Query time : 136 msec
36 ;; SERVER : 4.2.2.2 # 53(4.2.2.2)
37 ...
38
39 root@dmz :~ # dig -x 200.212.122.137
40 ;; ->> HEADER <<- opcode : QUERY , status : NOERROR , id : 64293
41 ;; flags : qr rd ra ; QUERY : 1, ANSWER : 2, AUTHORITY : 0, ADDITIONAL : 0
42 ;; QUESTION SECTION :
43 ;137.122.212.200. in - addr . arpa . IN PTR
44 ;; ANSWER SECTION :
45 137.122.212.200. in - addr . arpa . 43200 IN CNAME 137.128 -
46 191.122.212.200. in - addr . arpa .
47 137.128 -191.122.212.200. in - addr . arpa . 3600 IN PTR boca .4 linux . com . br
.
48 ;; Query time : 524 msec
49 ;; SERVER : 4.2.2.2 # 53(4.2.2.2)
50 ...
51
52 root@dmz :~ # dig + trace www .4 linux . com . br .
53 ; <<>> DiG 9.7.3 <<>> + trace www .4 linux . com . br .
54 ;; global options : + cmd
55 . 30820 IN NS h. root - servers . net .
56 . 30820 IN NS l. root - servers . net .
57 . 30820 IN NS m. root - servers . net .
58 . 30820 IN NS i. root - servers . net .
Além dos arquivos citados acima, temos o arquivo "db.root"(no RedHat fica em "/var/-
named/named.ca") que relaciona os endereços dos 13 servidores raiz e é lido como
"zona hint", que será explicada adiante.
Execute o tcpdump para verificar os pacotes saindo de uma porta alta até a porta
53/udp de seu servidor:
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 memória pelo tempo limite estabelecido pela autoridade so-
bre o domínio consultado. Dessa forma, independente da quantidade de máquinas
da rede, as consultas serão feitas na Internet apenas uma vez a cada intervalo de
atualização.
Nosso servidor recém instalado já está operando como servidor "cache". Faça uma
consulta e verifique o “Query time”. Repita o procedimento:
Para que a partir de agora todas as nossas aplicações utilizem o potencial de nosso
servidor "cache", edite o arquivo "/etc/resolv.conf" e mantenha apenas as linhas a
seguir:
DICA: Não é necessária a configuração deste arquivo, pois mesmo sem ele
o servidor continua efetuando as consultas e resolvendo os nomes, além de fazer
cache!
Um cuidado muito importante que devemos tomar com servidores "cache"é limitar
quem está autorizado a utilizar esse serviço. Por padrão, o nosso "BIND"está libe-
rado para acesso público, ou seja, se houver uma interface conectada diretamente a
Internet, qualquer outro computador no mundo pode mandar nosso servidor procurar
um determinado endereço. Ficamos vulneráveis a abusos! “
[ http://gnulinuxbr.com/2010/05/06/domain-name-system-%E2
“ Cada domínio na Internet tem sua autoridade, que nada mais é do que um servi-
dor onde as informações daquele domínio são criadas, mantidas ou alteradas. Mas
como um domínio pode se subdividir em inúmeros outros domínios, surge um outro
conceito: Zonas.
slave - O "BIND"também vai responder por esse domínio, mas nenhuma criação ou
alteração respectiva a essa "zona"será feita localmente neste servidor. Os dados
serão sempre transferidos de um servidor "master".
stub - Este tipo de "zona"não é previsto em nenhuma "RFC"e foi implementado ape-
nas no "BIND". Assemelha-se a uma "zona slave"mas replica do "master"apenas os
registros do tipo "NS". Em desuso.
hint - Específica para o "BIND"onde ele deve começar uma busca recursiva quando
estiver operando como "cache". Por padrão, há uma "zona hint"criada com os ende-
reços dos 13 "root servers".
forward - Serve para orientar o "BIND"a encaminhar a consulta sobre uma determi-
nada "zona"para outro servidor em especial. O encaminhamento de consultas tam-
bém pode ser especificado de maneira global no arquivo "named.conf.options".
• "$TTL"
• "$ORIGIN"
• "$INCLUDE"
classe - Podem ser "CH", "HS"ou "IN". O padrão é "IN", de Internet, e não precisa
ser declarada. CH = CHAOS e HS = Hesiod
dados - Diferentes tipos de dados são definidos para diferentes tipos de registros.
Para um registro tipo "A"temos um endereço IP por exemplo.
[ http://gnulinuxbr.com/2010/05/17/domain-name-system-%E2%80%93-
servidor-dns-no-debian-%E2%80%93-parte-3/ ]
Agora iremos configurar o "Bind9", lembrando que estamos fazendo um teste interno,
restringindo as consultas apenas para a rede local, certifique-se de que os arquivos
"/etc/resolv.conf" e "/etc/hosts" estejam corretos. Vamos configurar as duas zonas
de nossos domínios no arquivo "/etc/bind/named.conf.local":
refresh - Tempo que o servidor secundário vai aguardar até checar se há atualizações
no servidor primário;
negative caching TTL - Se a zona expirar, esse será o tempo pelo qual um servi-
dor "cache"armazenará a informação "NXDOMAIN"antes de iniciar uma nova busca
recursiva. O máximo são 3 horas.
Se o comando retornar ao “prompt” significa que está correto! Agora vamos checar
a configuração da zona que temos autoridade:
8 ;; AUTHORITY SECTION :
9 dexter . com . br . 86400 IN NS ns1 . dexter . com . br .
10 ;; ADDITIONAL SECTION :
11 mail . dexter . com . br . 86400 IN A 192.168. X .3
12 ns1 . dexter . com . br . 86400 IN A 192.168. X .3
13 ;; Query time : 1 msec
14 ;; SERVER : 127.0.0.1 # 53(127.0.0.1)
15 ;; WHEN : Mon Aug 1 13:12:16 2011
16 ;; MSG SIZE rcvd : 102
Configurando o RNDC
Vamos limitar o seu uso apenas no próprio servidor, para isso vamos alterar o arquivo
“/etc/bind/named.conf.local.”
Para configurar o RNDC devemos primeiro gerar a chave criptográfica. Sendo assim,
execute:
Para vermos o que está em cache no DNS, podemos usar os comandos abaixo:
DNS reverso é um recurso que permite que outros servidores verifiquem a auten-
ticidade do seu servidor. Para isso, ele checa se o endereço IP atual bate com o
endereço IP informado pelo servidor DNS. Os servidores de e-mail irão recusar seus
e-mails ou classificá-los como spam caso o DNS reverso não esteja configurado.
É de suma importância para que o serviço de e-mail não seja detectado como
spam ao enviar um e-mail;!
Reinicie o Bind9:
Antes de configuramos a máquina slave, vamos deixar nosso bind autorizado a trans-
ferir as zonas para esta máquina. Acrescente no arquivo “named.conf.local” o que
está em negrito:
Explicando as inclusões:
notify yes - o servidor mestre envia uma mensagem DNS NOTIFY para os servi-
dores escravos para fazê-los conferir o arquivo de zona imediatamente. Isso é feito
also-notify - diz para o servidor também notificar o endereço fornecido entre cha-
ves.
Devemos configurar também o arquivo de registro da zona DNS dos domínios que
temos autoridade. Primeiro o domínio dexter.com.br. Coloque no final do arquivo:
Reinicie o Bind9:
Reinicie o Bind9:
1 root@datacenter :~ # cat / var / log / daemon . log | grep named | grep trans
Para o servidor DNS funcionar fora da rede local é interessante desabilitar a opção
de recursão, pois isto evitará abusos, como por exemplo, alguma máquina usar o
servidor da empresa DEXTER COURIER para fazer consultas de DNS.
É um recurso que diz quais servidores podem enviar e-mails em nome do seu
domínio. O objetivo é evitar que seu domínio seja usado para forjar remetentes
falsos, facilitando o envio de spam mundo afora!
• mx - Servidor de e-mail;
Arrumando o DHCP
Com isto iremos atualizar nosso “/etc/resolv.conf”, apontando para o DNS localizado
na rede. Visualize o arquivo:
Servidor Apache
Cenário
147
4Linux – www.4linux.com.br
Assim sendo, um único processo será responsável por executar novos processos
que serão utilizados para aguardar novas conexões e responder as requisições exis-
tentes. Este modo é ideal para quem precisa manter compatibilidade com aplicações
e bibliotecas que NÃO SUPORTAM o modo "thread".
MPM Worker
Neste modo, o apache mantém uma série de "threads"ociosas, fazendo com que
novas conexões sejam processadas e respondidas de uma maneira mais rápida do
que no modo "Pre Fork". Infelizmente nem toda aplicação se dá bem com "threads",
como o "PHP5", por exemplo.
8.0.28 Laboratório
Visto que o servidor irá agregar tanto o site da Dexter como o Moodle no domínio
Mandark, e que ambos deverão possuir acesso externo, faremos o ambiente na
máquina “DMZ”. Apenas o MySQL ficará na máquina “Datacenter”. Inicie ambas
as máquinas e vamos fazer a instalação do WebServer e SGBD, lembrando que
precisamos desabilitar a proteção contra execução de arquivos no /tmp. Após a
instalação, ative a proteção novamente. Execute na máquina “DMZ”:
1 http ://192.168. X .3
A variável "ServerRoot"define o local onde o Apache deve procurar por seus arquivos
de configuração. No exemplo abaixo, os arquivos de configuração serão procurados
em "/etc/apache2":
ServerRoot /etc/apache2
O usuário e grupo que executa o apache são definidos pelas variáveis abaixo:
ErrorLog /var/log/apache2/error.log
1 LogFormat " \% h \% l \% u \% t \" \% r\" \% > s \% b \" \% Refereri \" \" \% User -
Agenti \"" combined
3 lrwxrwxrwx 1 root root 27 Ago 3 20:21 php5 . load -> ../ mods -
available / php5 . load
4 root@dmz :~ # apache2ctl -M | grep php
5 Syntax OK
6 php5_module ( shared )
O PHP5 é ativado por padrão durante a instalação do módulo, porém, caso neces-
sário, habilite o suporte manualmente:
Para testar o PHP, crie um arquivo com o nome "index.php"(no diretório /var/www/)
com o conteúdo a seguir e abra no seu "browser":
O que é o Moodle?
Tornou-se muito popular entre os educadores de todo o mundo como uma ferramenta
para criar sites de web dinâmicos para seus alunos. Para funcionar, ele precisa ser
instalado em um servidor web com suporte a PHP e banco de dados MYSQL.
Crie o usuário “webdesign” para ter acesso via FTP ao nosso site e poder efetuar as
atualizações:
1 mysql > alter database moodle default character set utf8 COLLATE
utf8_unicode_ci ;
2 Query OK , 1 row affected (0.04 sec )
8.0.33 VirtualHost?
Finalmente temos que ativar os dois sites no Apache para que eles possam subir
quando digitarmos seu domínio na URL:
4 TraceEnable Off
1 root@dmz :~ # apache2ctl -S
2 ...
3 port 80 namevhost www . dexter . com . br (/ etc / apache2 / sites -
enabled / dexter . com . br :1)
4 port 80 namevhost www . mandark . com . br (/ etc / apache2 / sites -
enabled / mandark . com . br :1)
5 Syntax OK
Vamos configurar o Moodle, que deverá ser acessado através do browser: No Nave-
gador, digite:
http://www.mandark.com.br
Irá abrir a tela de instalação e configuração do Moodle. Preste atenção para não
cometer erros, ok! Escolha o idioma Português.
Instalação do sistema.
SSL (Secure Socket Layer) é o protocolo que encripta toda a transmissão entre o cli-
ente e um servidor, indicado para criar páginas seguras. Sites de comércio eletrônico
utilizam essa camada de segurança, portanto o SSL é um padrão Web que permite
trafegar dados sensíveis e confidenciais com segurança através da internet.
Veja que o módulo SSL está habilitado para “ouvir” na porta 443:
1 root@dmz :~ # openssl req - new - key / etc / ssl / dexter . key - out \
2 / etc / ssl / dexter . csr
3
4 Country Name (2 letter code ) [ AU ]: BR
5 State or Province Name ( full name ) [ Some - State ]: São Paulo
6 Locality Name (eg , city ) []: São Paulo
7 Organization Name (eg , company ) [ Internet Widgits Pty Ltd ]: Dexter
Courier
8 Organizational Unit Name (eg , section ) []: Depto . TI
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 opção de auto assinar seu o certificado,
lembrando que, neste caso, o cliente dirá que o certificado não foi reconhecido por
uma unidade certificadora!
1 root@dmz :~ # openssl x509 - req - days 365 -in / etc / ssl / dexter . csr \
2 - signkey / etc / ssl / dexter . key - out / etc / ssl / dexter . crt
3 Signature ok
4 subject =/ C= BR / ST =S\ xC3 \ xA3o Paulo /L=S\ xC3 \ xA3o Paulo /O= Dexter
Courier / OU = Depto . TI / CN = Admin / emailAddress = root@dexter . com . br
5 Getting Private key
Explicando:
Ative o “mod_rewrite” para que, toda vez que alguém acessar seu site, seja auto-
maticamente redirecionado para o site com HTTPS ativado:
http://www.dexter.com.br
Clique em “Obter Certificado”, depois deve ticar a opção “Salvar esta exceção per-
manentemente” e por último em “Confirmar exceção de segurança”.
Servidor FTP
9.0.39 Cenário
185
4Linux – www.4linux.com.br
Em relação ao modo de conexão do servidor FTP, ele pode atuar como servidor
ativo ou passivo. No modo ativo, os comandos são enviados por uma porta alta
(acima de 1024) pelo cliente e são recebidas pela porta 21 no servidor, enquanto
que os dados são transmitidos pelo servidor ao cliente através da porta 20.
Neste modo, um firewall mal configurado pode dar uma falsa sensação de funciona-
mento do FTP, pois a conexão e os comandos FTP funcionarão normalmente, porém,
na hora da transferência de arquivos, ocorrerá uma falha de desconexão ou time out,
dependendo do tipo de servidor.
Modo Ativo
Modo Passivo
No nosso servidor FTP vamos desativar o modo Anonymous, pois ele será usado
apenas pelo webdesigner pode fazer upload dos arquivos da empresa DEXTER. O
usuário root não poderá fazer acesso ao servidor FTP. Para esta configuração, iremos
utilizar a máquina “DMZ”.
9.0.42 Laboratório
Para instalar o vsftpd, primeiro permita a execução de binário na partição /tmp, depois
instale o pacote e efetue o bloqueio novamente:
12 xferlog_enable = Yes
13 ## Utiliza a porta FTP - DATA para transfer ê ncia de arquivos ( vamos
usar ## FTP Passivo )
14 connect_from_port_20 = No
15 ## Definindo timeout para sess ão e conex ão de dados em 2 minutos
(120 ## segundos )
16 idle_session_timeout =120
17 data_connection_timeout =120
18 ## Não permitir que o usu á rio veja arquivos que não sejam seus
19 chroot_local_users = YES
Caso você queira bloquear mais algum usuário para que ele não acesse o servidor
FTP, coloque o nome dele no arquivo! Crie o arquivo “/srv/www/dexter/.message” e
coloque a mensagem abaixo:
1
2 root@dmz :~ # vim / srv / www / dexter /. message
3 ============================================================
4 ## Este sistema é para uso exclusivo da empresa DEXTER .
5 ## Todas as atividades ser ão registradas .
6 ## É vetada a utiliza ção deste sistema para transfer ê ncia de
7 ## arquivos protegidos por qualquer lei de direito autoral
8 ## ou arquivos que infrinjam a legisla ção vigente .
9 ============================================================
Agora vamos fazer alguns testes de acesso ao FTP, mas antes instale os clientes
FTP, tanto para o modo texto como para o gráfico. Execute na máquina “Sque-
eze”:
Para abrir o aplicativo, vá em Aplicativos -> Internet -> Filezilla. Na tela que abrir,
entre com os seguintes dados:
Servidor Postfix
10.0.45 Cenário
Hoje em dia é muito raro uma empresa não possuir uma conta de e-mail! A comu-
nicação proporcionada por esta ferramenta é muito abrangente, por isso a empresa
DEXTER COURIER precisa que cada colaborador tenha seu e-mail. Como ela não
tem interesse em pagar um plano de hospedagem e deixar seu servidor de e-mail
nas mãos sabe-se lá de quem, quer que ele ele seja instalado e configurado dentro
de seu DataCenter. Além disto, precisa de segurança na autenticação dos usuários
e uso de protocolo seguro em relação aos e-mails que sua equipe irá utilizar.
197
4Linux – www.4linux.com.br
O que é um MTA?
O que é um MUA?
Mail User Agent (MUA) é o nome designado para o programa cliente de e-mail.
Podemos citar como exemplos o Thunderbird , Evolution e o Microsoft Outlook
O que é um MDA?
Mail Delivery Agente (MDA) é um intermediário entre o MTA e o MUA. Ele é usado
para aplicar filtros antispam, remover vírus em anexos e fazer encaminhamento de
e-mails para outros endereços. Exemplos de MDA: Procmail, Fetchmail, Binmail,
Dovecot, Maildrop, Postdrop etc.
O que é o SMTP?
“Na década de 70, as primeiras mensagens eram enviadas pela "ARPAnet", ante-
cessora da atual Internet. A troca de mensagens era feita em sua maioria por es-
tudantes, pesquisadores e profissionais dos grandes centros de pesquisa, restrita
a poucos usuários que tinham acesso a essa rede. As mensagens eram enviadas
através de um protocolo semelhante ao atual "SMTP", que foi definido apenas em
1982.
http://www.prefirolinux.com/forum/viewtopic.php?f=2&t=12
10.0.50 Laboratório
Aceite remover os pacotes do exim4 para continuar com a instalação. Irá surgir a tela
abaixo, então selecione “Site Internet”.
MailBox ou Mbox - é o formato padrão para caixa de correio do Postfix. Este formato
armazena todas as mensagens em um único arquivo de texto. Esses arquivos são
Desvantagens:
Desvantagem:
13 ## Define a origem local , que por padr ão é o mesmo FQDN que est á em
14 ## / etc / mailname .
15 myorigin = dexter . com . br
16 ## Dom í nios que o seu servidor pode receber mensagens .
17 mydestination = dexter . com .br , smtp . dexter . com .br , mail . dexter . com .
br , webmail . dexter . com .br , pop . dexter . com .br , imap . dexter . com .br ,
localhost
18 ## Essa op ção só é usada se o seu servidor faz Relay para outros
19 ## servidores de e - mail .
20 relayhost =
21 ## Nesse campo deveremos colocar apenas os IP ’s que podem realmente
22 ## fazer relay em seu servidor . CUIDADO , se adicionarmos IP ’s ou
23 ## classes demais , o servidor poder á virar alvo de spammers .
24 mynetworks = 127.0.0.0/8 192.168. X .0/24
25 ## Padr ão de entrega das mensagens . Nesse caso é usado o mbox .
26 mailbox_command = procmail -a " $EXTENSION "
27 ## Tamanho má ximo de caixa - postal para entrega local
28 mailbox_size_limit = 0
29 ## Interfaces de rede na qual o Postfix pode fazer bind , ou seja ,
30 ## estabelecer conex õ es . O padr ão do Debian seria todas as
interfaces .
31 inet_interfaces = all
32 ## Tamanho má ximo da mensagem
33 message_size_limit = 25000000
34 ## Em alguns clientes , podemos adicionar um sinal espacial ao endere
ço
35 ## de e - mail para direcionar mensagens a uma determinada pasta
36 recipient_delimiter = +
Agora que temos o servidor ativado, devemos criar os usuários que usarão os servi-
ços de correio eletrônico. Para isso, utilize um script com base na lista utilizada na
criação dos usuários do Samba:
Após a inclusão dos usuários, vamos realizar alguns testes usando o telnet:
1 root@dmz :~ # mailq
O que é o POP?
Para coletar suas mensagens, o usuário pode utilizar o protocolo POP (Post Office
Protocol). O POP é mais antigo. Através do POP o usuário baixa as mensagens
para seu computador local e as exclui do servidor. A desvantagem é que, se o usuário
desejar acessar suas mensagens de outros locais, não poderá fazer. O POP não é
utilizado para armazenamento permanente de mensagens. A porta 110 é padrão por
este protocolo. Quando implementada uma camada de segurança ao POP, deverá
trabalhar na porta 995.
O que é o IMAP?
O IMAP (Internet Message Access Protocol) foi projetado para permitir que o usuá-
rio armazene as mensagens permanentemente no servidor. Com o IMAP o usuário
pode acessar todas as mensagens a partir de qualquer lugar no mundo. O IMAP
também tem uma implementação mais disseminada das conexões TLS seguras. A
porta 143 é utilizada por este protocolo. IMAP sobre TLS é a porta 993. Vamos então
instalar nosso MDA:
4 # ## adicionar :
5 home_mailbox = Maildir /
6 DEFAULT = $HOME / Maildir /
7 MAILDIR = $HOME / Maildir /
Vamos agora criar as caixas postais. Para isto vamos criar uma script:
Reinicie os serviços :
1 root@dmz :~ # echo " Reuniao amanha as 15 hs ." | mail -s " Reuniao com
Cliente 4 Linux " dexterclem@dexter . com . br
2 root@dmz :~ # cat \
3 / home / dexterclem / Maildir / new /1313109656. Vfd00I607a1M156000 . dmz
4 Return - Path : < root@dexter . com .br >
5 X - Original - To : dexterclem@dexter . com . br
6 Delivered - To : dexterclem@dexter . com . br
7 Received : by dmz ( Postfix , from userid 0)
8 id 222 E07E1 ; Thu , 11 Aug 2011 21:40:56 -0300 ( BRT )
9 Date : Thu , 11 Aug 2011 21:40:56 -0300
10 From : root@dexter . com . br
11 To : dexterclem@dexter . com . br
12 Subject : Reuniao com Cliente 4 Linux
13 Message - ID : <4 e447698 . M8zZc0OB8yim8VHd % mandarkglory@dexter . com .br >
14 User - Agent : Heirloom mailx 12.4 7/29/08
15 MIME - Version : 1.0
16 Content - Type : text / plain ; charset =us - ascii
17 Content - Transfer - Encoding : 7 bit
18 Reuniao amanha as 15 hs .
Podemos criar "aliases"(apelidos) para que um usuário possa receber vários e-mails
diferentes na mesma conta. Edite o arquivo de alias e crie um para o seu usuário,
no formato "usuario_de_alias: usuario_real":
1 root@dmz :~ # echo " Teste de Alias " | mail -s " Teste de alias " \
2 ouvidoria@dexter . com . br
3 root@dmz :~ # cat \
4 / home / mandarkglory / Maildir / new /1313111359. Vfd00I607aM81600 . dmz
5 Date : Thu , 11 Aug 2011 22:09:19 -0300
6 From : root@dexter . com . br
7 To : ouvidoria@dexter . com . br
8 Subject : Teste de alias
9 Message - ID : <4 e447d3f .+ kR8VGISl9eSI9ON % root@dexter . com .br >
10 User - Agent : Heirloom mailx 12.4 7/29/08
11 MIME - Version : 1.0
12 Content - Type : text / plain ; charset = utf -8
13 Content - Transfer - Encoding : 8 bit
14 Teste de Alias
Configurando o Webmail
Selecione a opção 1:
Selecione a opção 1:
TLS significa Transport Layer Security e é uma camada de segurança para o sis-
tema de autenticação que já foi configurado. O sistema de autenticação não traz
segurança, pois o mesmo ocorre em texto puro, sem encriptação. Com isso, as se-
nhas podem ser capturadas com um sniffer. Portanto, mãos à obra! Começaremos
criando o diretório onde ficará chave de criptografia; depois gere a chave neste dire-
tório:
Altere a permissão do arquivo de chave para que somente o root tenha acesso:
1 root@dmz :~/ etc / postfix / ssl # openssl req - new - key smtpd . key - out \
2 smtpd . csr
3 Enter pass phrase for smtpd . key : 123456
4 ...
5 Country Name (2 letter code ) [ AU ]: BR
6 State or Province Name ( full name ) [ Some - State ]: São Paulo
7 Locality Name (eg , city ) []: São Paulo
8 Organization Name (eg , company ) [ Internet Widgits Pty Ltd ]: Dexter
9 Organizational Unit Name (eg , section ) []: Depto . TI
10 Common Name (eg , YOUR name ) []: Admin
11 Email Address []: root@dexter . com . br
12 Please enter the following ’ extra ’ attributes
13 to be sent with your certificate request
14 A challenge password []:123456
15 An optional company name []: Dexter
1 root@dmz :~/ etc / postfix / ssl # openssl x509 - req - days 365 -in \
2 smtpd . csr - signkey smtpd . key - out smtpd . crt
3 Signature ok
4 subject =/ C= BR / ST =S\ xC3 \ xA3o Paulo /L=S\ xC3 \ xA3o Paulo /O= Dexter / OU =
Dpto . TI / CN = Admin / emailAddress = root@dexter . com . br
5 Getting Private key
6 Enter pass phrase for smtpd . key : 123456
1 root@dmz :~/ etc / postfix / ssl # openssl rsa -in smtpd . key - out \
2 smtpd . key . unencrypted
3 Enter pass phrase for smtpd . key : 123456
4 writing RSA key
1 root@dmz :~/ etc / postfix / ssl # mv smtpd . key smtpd . key - original
2 root@dmz :~/ etc / postfix / ssl # mv smtpd . key . unencrypted smtpd . key
1 root@dmz :~/ etc / postfix / ssl # openssl req - new - x509 - extensions \
2 v3_ca - keyout cakey . pem - out cacert . pem - days 365
3 ...
4 Enter PEM pass phrase : 123456
5 Verifying - Enter PEM pass phrase : 123456
6 ...
7 Country Name (2 letter code ) [ AU ]: BR
8 State or Province Name ( full name ) [ Some - State ]: São Paulo
9 Locality Name (eg , city ) []: São Paulo
Durante a instalação irá surgir uma tela como a da próxima figura, avisando sobre o
certificado digital ser assinado por uma empresa confiável!
Reinicie o Postfix:
Para configurarmos o recebimento de e-mail via IMAP, vá no menu Edit -> Configurar
contas -> Nova conta. Agora faça como abaixo:
Servidor OpenLDAP
11.0.51 Cenário
231
4Linux – www.4linux.com.br
“Este é um protocolo de rede que roda sobre o TCP/IP que permite organizar os
recursos de rede de forma hierárquica, como uma árvore de diretório, onde temos
primeiramente o diretório raiz, em seguida a rede da empresa, o departamento e
por fim o computador do funcionário e os recursos de rede (arquivos, impressoras,
etc.) compartilhados por ele. A árvore de diretório pode ser criada de acordo com a
necessidade.
O LDAP pode ser usado em qualquer tipo de rede TCP/IP e é um padrão aberto,
permitindo que existam produtos para várias plataformas.
Uma das suítes 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?
http://www.otrampolim.com.br/coluna/3675/bruno-lopes-
siqueira/cotidiano/openldap
Como o LDAP, utiliza o tráfego de dados via TCP/IP, podendo ser implementado em
diversas plataformas em redes IPV4 e IPV6, possibilitando também autenticação,
mecanismos de segurança no uso de certificados e criptografia, podendo ser confi-
gurado para restringir acesso a "socket layer", ter múltiplas instâncias de banco de
dados, múltiplas "threads", permite replicação e configuração do serviço de acordo
com a sua necessidade através dos "schemas".
Podemos destacar o Apache, DNS, FTP, Kerberos, MySQL, PAM, Postfix, Samba,
Squid, SSL, Clusters entre outros.
O que é um diretório?
Diretório significa algo usado para indicar direções. Um exemplo simples: Uma
lista telefônica. A lista é organizada de maneira hierárquica para que a informação
buscada seja encontrada de forma eficiente. Em um diretório você pode pesquisar,
inserir, alterar e apagar itens.
1 c - Representa pa ís ( country )
2 o - Representa uma organiza ção como uma empresa ( organization )
3 ou - Representa um departamento ( organization unit )
4
5 Alguns atributos de entradas :
6 cn - Representa um nome ( common name )
7 uid - Representa a identidade de um usu á rio ( user ID )
8 gn - Representa o nome pr ó prio de uma pessoa ( given name )
9 sn - Representa o sobrenome de uma pessoa ( surname )
Laboratório
Após criar o arquivo slapd.conf em /etc/ldap, vamos parar o serviço slapd e fazer
nossas alterações:
1 root@datacenter :~ # rm -r slapd .d
Crie um novo:
Se aparecer essa mensagem está tudo certo! As linhas 36 e 42 são apenas infor-
mações referentes a privilégios do administrador em relação à base! Agora altere o
dono e grupo para openldap para o novo diretório slapd.d:
O que é um LDIF?
Agora que temos os arquivos “.ldif”, vamos inseri-los na base de dados do OpenL-
DAP. Você precisará da senha de administrador da base. Inicie pelo arquivo da base,
depois insira os grupos e finalmente os usuários:
Vamos agora aprender como alterar o dado de um usuário que está no OpenLDAP.
Para isto temos que criar um arquivo ldif:
Vamos aprender agora uma forma alternativa (e mais fácil!) para administrar a base
OpenLDAP, através do phpldapadmin. Você vai precisar ter o Apache instalado no
servidor do OpenLDAP e mais alguns pacotes mostrados abaixo:
http://192.168.X.2/phpldapadmin/index.php
DICA: Para ter certeza que o seu backup é seguro, é importante realizá-lo em
um período livre de gravações, ou com o servidor slapd desligado.
Para nos certificarmos de que a base realmente foi removida, execute o comando
slapcat novamente, mas tenha certeza de que você não está sobrescrevendo o seu
backup:
1 root@datacenter :~ # slapcat
Pare o servidor:
Inicie o slapd:
Execute o comando slapcat novamente para termos certeza que o backup foi restau-
rado:
1 root@datacenter :~ # slapcat
12.0.55 Cenário
Muitas empresas empregam o uso de PROXY, seja para fazer cache, seja para filtrar
conteúdo. A implementação do servidor proxy Squid é amplamente utilizada, possi-
bilitando assim suprir as necessidades da empresa Dexter. Além disto, faremos uso
do SquidGuard, um poderoso filtro de conteúdo.
Imagine que os seus usuários necessitem acessar com frequência um site de notí-
cias. A cada requisição, o navegador Web resolve o DNS deste site, faz a requisição
247
4Linux – www.4linux.com.br
ao servidor Web encontrado e traz o conteúdo até o usuário. Agora, imagine que 500
clientes estão acessando este site. Desperdício de banda, não acha?
As soluções Web Proxy foram desenvolvidas justamente para contornar este pro-
blema. Imagine o mesmo cenário acima, só que desta vez, ao invés de consultar o
site, o navegador consulta o "Web Proxy"previamente configurado, e então o servi-
dor "proxy"faz a consulta ao site, só que antes de entregar a requisição ao cliente,
o servidor "proxy"armazena o conteúdo do site em um diretório num disco rígido e,
quando um segundo cliente acessar o mesmo site, o servidor "proxy"verifica se o
conteúdo esta armazenado em "cache".
“Em um proxy manual, o navegador sabe que é necessário fazer uma requisição ao
servidor "proxy", então temos uma série de funções que o "browser"pode solicitar,
como forçar a atualização do "cache", verificar se as credenciais de autenticação
foram fornecidas previamente, ou seja, o cliente sabe que deve falar com um "proxy"e
fará a requisição direto a este. Além disso, o servidor, por sua vez, possui o número
IP do cliente que fez aquela requisição, o que possibilita criar regras específicas e
controle de logs mais apurados.
http://www.linuxnaveia.com/mais-artigos/215-squid-configuracao-basica.html
http://www.hardware.com.br/livros/servidores-linux/configurando-servidor-
proxy-com-squid.html
http://www.hardware.com.br/livros/servidores-linux/configurando-servidor-
proxy-com-squid.html
As ACLs (Access Control List) são regras para navegação via proxy. Vale ressaltar
que as ACLs são lidas na ordem em que aparecem e podem ser combinadas, tome
muito cuidado ao criar ou alterar uma nova regra. Veja a documentação online no
endereço http://www.squid-cache.org para as configurações não citadas!
Nesta regra será definido todos os parâmetros em sequência, separados por espaço,
utilizado para regras com poucos parâmetros.
Já nesta outra forma será definido um arquivo para adição dos parâmetros dispostos,
um por linha, utilizado para regras com muitos parâmetros. Todas as ACLs são tra-
tadas com CASE-SENSITIVE. Para definir como CASE-INSENTIVE, utilize a opção
“-i” logo após o tipo de ACL.
• src => ACL do tipo src (origem) trata sobre um determinado IP ou uma faixa de
IP com que o cliente chega ao Proxy.
• time => ACL do tipo time (tempo) trata de um determinado momento baseado
em dia da semana e hora.
• url_regex => ACL do tipo url_regex (expressão regular na URL) trata de uma
determinada entrada na URL. Pode-se fazer muitas regras baseadas em ex-
pressões regulares, porém é preciso conhecer muito bem sobre o assunto.
• port => ACL do tipo port (porta) trata da porta de destino da navegação.
"ACL’S"de origem e destino podem ser cobrados na LPI-2, bem como sua
forma de utilização.
Esses são os tipos básicos de "ACL’s", porém uma "ACL"sozinha não faz absoluta-
mente nada. Durante o laboratório veremos como tornar as "ACL’s"úteis com con-
figurações que permitem utilizá-las para bloqueio e liberação de sites, domínios e
horários.
1
2 LEMBRETE - Tipos de ACL
3
4 src - Filtro por rede ou endere ço IP ;
5 time - Filtro por hora e dia da semana ;
6 urlpath_regex - filtro de complemento de uma " url ";
7 url \ _regex - Filtro de uma " string " na " url ";
8 dstdomain - Filtro de uma " url ";
9 proxy \ _auth - Filtro por usu á rios autenticados ;
10 arp - Filtro por " MAC Address ";
11 maxconn - Filtro por conex õ es ;
12 proto - Filtro por protocolos ;
13 port - Filtro por porta .
• http_access => Permite ou nega acessos baseados nas ACLs pré definidas.
É utilizado seguido de allow ou deny. Se a ACL for precedida de um ponto
de exclamação significa que será a negação da ACL. As regras serão lidas na
ordem em que aparecem.
Seguem exemplos :
1 # squid -k reconfigure
12.0.64 Laboratório
Controlar o que deve ou não deve ser acessível na internet a partir da rede interna é
uma das opções mais interessantes oferecidas pelo "Squid". Então, para que possa-
mos entender como trabalhar com "ACL’s", vamos criar o seguinte cenário: qualquer
"host"na minha rede deve ser impedido de navegar em qualquer domínio ".com",
tendo como única exceção o site "www.globo.com". Como fazer isso?
Crie uma ACL com a rede de origem, uma ACL para domínios ".com" e uma ACL
para o domínio "globo.com". Insira as linhas abaixo da entrada “Minhas ACL’s” no
“/etc/squid/squid.conf”:
Visto que não é recomendável efetuar um restart no serviço do Squid devido à de-
mora em checar todas as suas entradas em cache, execute o comando abaixo para
reler o arquivo squid.conf:
Informe o endereço do seu servidor Proxy e a porta a ser utilizada. Marque a utiliza-
ção do proxy para todos os protocolos:
Para exemplificar o uso de "blacklists"e "whitelists", vamos criar duas "ACL’s", uma
negando qualquer "url"que contenha a palavra "linux" e outra liberando os sites
"www.linux.com" e "www.4linux.com.br":
Reinicie o squid:
Na versão do Debian Squeeze o Sarg não está no repositório oficial, por isto teremos
que inserir o repositório backports. O que seria então backports? O backports é um
repositório paralelo ao projeto Debian. Ele é mantido pelos desenvolvedores e
pela equipe de segurança do Debian. Esse repositório reúne novos programas e
novas versões de programas compilados sobre o stable.
2 # ## adicionar
3 deb http :// www . backports . org / debian squeeze - backports main contrib \
non - free
Depois atualize:
Como você pode perceber, todos os backports vem desativados por default. Por isto
tivemos que informar qual o tipo de repositório a ser utilizado!
Vamos observar seu arquivo de configuração. Fique a vontade e leia alguns comen-
tários para entender as funções do "SARG".
Reinicie o Apache:
Vamos agora configurar o Squid para fazer autenticação usando a base de dados do
OpenLDAP já criada. É bastante simples. Bata alterar a linha de configuração da
autenticação do usuário (auth_param basic program /usr/lib/squid/ncsa_auth /etc/s-
quid/passwd) para a linha abaixo:
Reinicie o serviço:
Firewall
13.0.71 Cenário
A fim de que ninguém acesse dados indevidos da empresa ou mesmo de seus cli-
entes, a empresa DEXTER COURIER deve contar com um excelente Firewall para
bloquear tentativas de invasão e liberar apenas o tráfego necessário aos serviços
que ficam na máquina “DMZ”.
O que é um firewall?
273
4Linux – www.4linux.com.br
Um firewall faz o filtro de pacotes que passam na rede. Para configurar um firewall
é necessário o conhecimento sobre a estrutura da rede em questão e dos diferentes
protocolos envolvidos na comunicação, isto é, dos serviços que a rede usa para que
eles não percam a comunicação. O objetivo em ter uma máquina fazendo o papel
de Firewall Gateway em nossa é rede é minimizar as tentativas de ataques que elas
recebem, tentando impedir possíveis invasões e levantamento de informações.
Os sistema GNU/Linux com Kernel 2.6 trabalham com o "Iptables"para fazer o ge-
renciamento de regras de Firewall. Lembrando que o "Iptables"é apenas um "fron-
tend"que gerencia o suporte "Netfilter"no "Kernel".
Características do iptables :
• Filtro de pacotes statefull => isso significa que o iptables é capaz de atuar sobre
as camadas do protocolo TCP;
http://www.prefirolinux.com/iptables-firewall/74-firewall-e-iptables-tudo-que-
voce-precisa-saber-sem-duvidas-o-melhor-conteudo-da-internet-parte-1-9.html
Os dados são transmitidos na Internet agrupados em pacotes TCP (de maneira ge-
ral). Esses pacotes TCP podem conter até 1460 bytes de dados. Além dos dados,
40 bytes adicionais vão junto no pacote. Nesses 40 bytes a mais seguem:
1 - IP de origem
2 - IP de destino
3 - Porta de origem
4 - Porta de destino
5 - Có digos de verifica ção
6 - Nú mero do pacote
Os códigos de verificação servem para garantir a integridade dos dados que estão
sendo trafegados na rede. A função básica do IP é cuidar do endereçamento e en-
trega de pacotes. A função básica do TCP é fazer verificações de erros e numeração
de portas. Logo, os dados serão transmitidos de forma quebrada, em pacotes meno-
res.
Existem 65.536 portas TCP e UDP. Elas são numeradas de 0 e 65.535. As portas
baixas estão na faixa entre 0 a 1023. Elas estão reservadas para serviços mais
conhecidos como: servidor web, ftp, ssh, telnet, servidores de e-mail, compartilha-
mento de arquivos, como, por exemplo, Samba, NFS etc. Portas altas estão faixa
acima de 1023.
Relembrando...
13.0.75 TTL
1 Roteadores Ciclades = 30
2 Linux = 64
3 Windows = 128
4 Cisco = 255
5 Linux + Iptables = 255
Cada linha que aparece um nome é um roteador por onde o pacote passa. Notem
que ele passa por vários lugares! E quando pingo para o site da uol, ele dá um valor
de TTL 54 + 10 hops dos pacotes = 64.
Por padrão o comando traceroute procura por até 30 hops, mesmo que ele não en-
contre 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 máquina que está com o ping bloqueado ou então
uma máquina com firewall, portanto ela não aparece quando o comando traceroute
faz as buscas.
Cada uma dessas tabelas possui o que chamamos de "chains". É nelas onde vão
ser definidas as regras para o nosso "firewall". A tradução literal seria "correntes",
assim cada tabela teria uma corrente, onde cada elo corresponderia a uma regra.
Local onde vão ser definidas as regras para o nosso firewall. Cada Tabela possui
suas CHAINS. As da tabela filter são as seguintes:
Parâmetros:
Alvos:
13.0.79 Laboratório
Vamos montar nosso "firewall", mas antes verifique como estão configuradas as po-
líticas básicas que estão definidas por padrão:
Para deixar esse valor fixo, devemos deixar esse parâmetro dentro de /etc/sysctl.conf.
Basta descomentar a linha 28:
Segue aqui um "script"com todas as regras necessárias para nosso servidor entrar
em produção. Esse "script"pode ser adicionado aos níveis de execução do sistema,
para ser carregado sempre que a máquina for ligada. Vamos chamar nosso "script"de
"firewall":
44
45 ## Liberando acesso a Internet para rede local
46 $IPT -A FORWARD -s $REDE -j ACCEPT
47 $IPT -A FORWARD -d $REDE -j ACCEPT
48 $IPT -t nat -A POSTROUTING -o $INTERNA -s $REDE -j MASQUERADE
49 $IPT -t nat -A POSTROUTING -o $EXTERNA -s $REDE -j MASQUERADE
50 echo -e " Liberando Acesso à Rede internet \t\t\t $OK "
51
52 # Regras de LOGs
53 $IPT -A INPUT -j LOG --log - prefix " Logs do Firewall : INPUT " --log
- level CRIT
54 $IPT -A OUTPUT -j LOG --log - prefix " Logs do Firewall : OUTPUT " --
log - level CRIT
55 $IPT -A FORWARD -j LOG --log - prefix " Logs do Firewall : FORWARD "
--log - level CRIT
56 echo -e " Iniciando regras de LOG \t\t\t $OK "
57 ## Liberando SSH na má quina Firewall
58 $IPT -t filter -A INPUT -p tcp -s 0/0 -- sport 1024:65535 -d
$IPVALIDO -- dport 50000 -j ACCEPT
59 $IPT -t filter -A OUTPUT -p tcp -s $IPVALIDO -- sport 50000 -d 0/0 --
dport 1024:65535 -j ACCEPT
60
61 ## Liberando SSH nas má quinas INTERNAS
62 $IPT -t nat -A PREROUTING -p tcp -s 0/0 -- sport 1024:65535 -d
$FIREWALL -- dport 51000 -j DNAT --to - destination $DATACENTER
:51000
63 $IPT -t nat -A PREROUTING -p tcp -s 0/0 -- sport 1024:65535 -d
$FIREWALL -- dport 52000 -j DNAT --to - destination $DMZ :52000
64 $IPT -t nat -A PREROUTING -p tcp -s 0/0 -- sport 1024:65535 -d
$FIREWALL -- dport 53000 -j DNAT --to - destination $STORAGE :53000
65 $IPT -t nat -A PREROUTING -p tcp -s 0/0 -- sport 1024:65535 -d
$FIREWALL -- dport 54000 -j DNAT --to - destination $SQUEEZE :54000
66 echo -e " Liberando Acesso às VM teste \t\t\t $OK "
67
68 ## Liberando LoopBack
69 $IPT -A OUTPUT -d 127.0.0.1 -j ACCEPT
70 $IPT -A INPUT -d 127.0.0.1 -j ACCEPT
103 $IPT -A FORWARD -p tcp -s $REDE -- sport $PA -d 0/0 -- dport 443 -j
ACCEPT
104 echo -e " Liberando Acesso ao Servidor Web \t\t\t $OK "
105
106 ## Redirecionando acesso externo para o site , e - mail e ftp da DEXTER
na DMZ
107 for PORTA in 20 21 25 80 110 143 443 465 587 993 995; do
108 $IPT -t nat -A PREROUTING -d $IPVALIDO -p tcp -- dport $PORTA -j DNAT
-to - destination \ $DMZ : $PORTA
109 done
110 echo -e " Redirecionando Acesso ao Servidor Web \t\t\t $OK "
111 echo -e " Redirecionando Acesso ao Servidor MTA \t\t\t $OK "
112 echo -e " Redirecionando Acesso ao Servidor FTP \t\t\t $OK "
113
114 ## Redirecionando para o Servidor de DNS na DMZ
115 $IPT -t nat -A PREROUTING -d $IPVALIDO -p udp -- dport 53 -j DNAT --
to - destination $DMZ :53
116 echo -e " Redirecionando Acesso ao Servidor DNS \t\t\t $OK "
117 echo
118 echo " >>> Firewall ativado ! <<<"
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 $IPT -P INPUT ACCEPT
128 $IPT -P OUTPUT ACCEPT
129 $IPT -P FORWARD ACCEPT
130 echo 0 > / proc / sys / net / ipv4 / ip_forward
131 echo -e " Limpando Regras da Tabela Filter \t\t\t $OK "
132 echo -e " Limpando Regras da Tabela NAT \t\t\t $OK "
133 echo -e " Definindo a pol í tica padr ão como ACCEPT \t\t\t $OK "
134 echo " >>> Firewall destativado ! <<<"
135 }
Para que ele seja iniciado junto com sistema quando a máquina for ligada, podemos
colocar o "script"nos níveis de execução:
Todas as regras que são feitas ficam na memória do computador. Caso ele seja
reiniciado, perderemos todas elas. Podemos utilizar os comandos "iptables-save"e
"iptables-restore".
Servidor OpenVPN
14.0.81 Cenário
Visto que a empresa DEXTER COURIER possui alguns colaboradores fora do am-
biente corporativo (home-office), ela precisa de uma forma segura para que eles
possam acessar a rede da empresa.
Com a flexibilidade das conexões proporcionadas com Internet hoje em dia, vimos
um crescente aumento de colaboradores que necessitam estar em muitos lugares e
ao mesmo tempo conectados na empresa. Para isto devemos montar uma estrutura
de VPN com autenticação criptografada, elevando assim a segurança dos acessos
externos.
289
4Linux – www.4linux.com.br
net). O que torna esta rede de comunicação particular é o fato das ferramentas de
"VPN"empregarem métodos e protocolos de criptografia, criando um túnel para pro-
ver acesso seguro a partes da rede ou mesmo ligação entre "LAN’s"geograficamente
separadas, eliminando a necessidade de um canal de comunicação privativo de alto
custo fornecido pela operadora de telecomunicações.
Por exemplo, supomos que você possui um software de geração de notas fiscais
e os funcionários acessam este terminal via "telnet", que é um protocolo que não
implementa criptografia. Para corrigir esta situação e reforçar a segurança deste
ambiente, você poderia configurar uma "VPN"entre o computador dos usuários e o
servidor, melhorando assim a segurança deste serviço.
O IP Security Tunnel Mode (IPSec) da IETF permite que pacotes IP sejam crip-
tografados e encapsulados com cabeçalho adicional deste mesmo protocolo para
serem transportados numa rede IP pública ou privada. O IPSec é um protocolo de-
senvolvido para IPv6, devendo, num futuro bem próximo, se constituir como padrão
para todas as formas de VPN. O IPSec sofreu adaptações possibilitando, também, a
sua utilização com o Ipv4. “
http://www.gta.ufrj.br/grad/00_1/pedro/vpns.htm
http://www.gta.ufrj.br/grad/08_1/vpn/tiposarq.html
14.0.86 Laboratório
Também é necessário ter o OpenVPN no cliente. Neste caso iremos usar a máquina
Squeeze para teste da VPN:
Vamos deixar o OpenVPN sem privilégios de root . Para isto adicione no final
da configuração do servidor e cliente as opções “user” e “group”, assim o
OpenVPN será executado como usuário nobody e grupo nogroup.
Você pode adicionar uma assinatura que será verificada antes do processamento
de todos os pacotes UPD. Em nossa configuração do servidor vamos habilitar as
seguintes opções:
Para gerar os certificados e chaves, o OpenVPN traz junto à sua instalação uma série
de scripts chamados “easy-rsa”. Eles podem ser encontrados em /usr/share/doc/openvpn/examples
rsa/2.0/
Veja que na lista de scripts cada um tem uma função específica para criação de
certificados e chaves. Vamos copiar o diretório com os scripts para nossa instalação
do OpenVPN :
Acesse o diretório com os scripts copiados e crie o subdiretório onde serão armaze-
nadas as chaves e certificado:
11 Name : Tux
12 Email Address [ root@dexter . com . br ]: root@dexter . com . br
13
14 root@firewall :/ etc / openvpn /2.0 # ./ build - key - server server
15 ...
16 Country Name (2 letter code ) [ BR ]: BR
17 State or Province Name ( full name ) [ SP ]: SP
18 Locality Name (eg , city ) [ SaoPaulo ]: SaoPaulo
19 Organization Name (eg , company ) [ DEXTER ]: DEXTER
20 Organizational Unit Name (eg , section ) []: Admin
21 Common Name (eg , your name or your server ’s hostname ) [ server ]:
22 Name []:
23 Email Address [ root@dexter . com . br ]: root@dexter . com . br
24 ...
25 Certificate is to be certified until Aug 16 08:41:49 2021 GMT (3650
days )
26 Sign the certificate ? [y/n ]: y
27
28 1 out of 1 certificate requests certified , commit ? [y/n]y
29 Write out database with 1 new entries
30 Data Base Updated
Ainda na máquina servidor crie a chave e o certificado para a máquina cliente, com
o hostname da máquina cliente.
Faça a cópia dos arquivos abaixo via ssh para a máquina cliente.:
• tls-client -> Habilita conexão TLS, ajudando a bloquear ataques DoS e flooding
na porta do OpenVPN.
Execute no servidor:
Execute no cliente:
1 root@firewall :~ # ifconfig
2 tun0 Link encap :Não Especificado Endere ço de HW
00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00
3 inet end .: 10.0.0.1 P -a -P :10.0.0.2 Masc :255.255.255.255
. . . e no cliente:
1 root@firewall :~ # ifconfig
2 tun0 Link encap :Não Especificado Endere ço de HW
00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00
3 inet end .: 10.0.0.2 P -a -P :10.0.0.1 Masc :255.255.255.255
Referências Bibliográficas
Julio Cesar Neves. Programação em Shell Linux. 6.ª edição. Brasport. 2006
Pritchard, Pessanha, Langfeldt, Stranger and Dean. Certificação Linux LPI 2.ª edi-
ção. AltaBooks. 2007
Editora Brasport.
Sites pesquisados:
307
4Linux – www.4linux.com.br
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
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-parte-
1/
http://gnulinuxbr.com/2010/05/06/domain-name-system-%E2%80%93-servidor-dns-no-
debian-%E2%80%93-parte-2/
http://gnulinuxbr.com/2010/05/17/domain-name-system-%E2%80%93-servidor-dns-no-
debian-%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