Notas de aula
Servidores Linux (Todas as Notas de Aula)
Sum ario
I
1
Exerc cios
d so e A
-U
. . . . . . . . . . . . . . . 1
u rn la o
te
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
o A t
as
o do sistema Inicializac a 4.1 O processo init . . . . . . o 4.2 Os scripts de inicializac a 4.3 init do System V . . . . . 4.4 Manipulando servic os . . . o de runlevels 4.5 Administrac a
In
II
III
5
DHCP
FI
-2
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
01
6
6 6 8 8 9 10 10 11 11 11
14
14 14 14 15 16 16
17
17 17 17
IV
8
DNS
u rn la o
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Laborat orio 2 - vde2, qemu e DHCP o do qemu e vde2 . . . . . . . . . 7.1 Passo 1 - Instalac a o do switch . . . . . . . . . . . . . . 7.2 Passo 2 - Criac a 7.3 Passo 3 - M aquinas qemu . . . . . . . . . . . . . . . o do servidor DHCP e clientes . 7.4 Passo 4 - Congurac a 7.4.1 Vericando o servidor . . . . . . . . . . . . 7.5 Passo 5 - IP xo para um servidor da rede . . . . . .
O software BIND 9.1 Componentes do BIND . o do BIND . 9.2 Congurac a 9.2.1 Servidor cache . o 9.3 Arquivos de congurac a
d so e A
. . . . . . . . . . . . . . . .
DNS - Domain Name System o . . . . . . . . . . . . . . 8.1 Introduc a 8.2 O espac o de nomes do DNS . . . . 8.2.1 TLDs - Top Level Domains 8.2.2 Registro de dom nio . . . .
te
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . .
as
o A t
11 Exerc cios
10 Arquivos de zona 10.1 Registros de Recursos - RRs . . 10.1.1 Campo nome . . . . . . 10.1.2 Campo ttl (time to live) . 10.1.3 Campo classe . . . . . 10.1.4 Campo tipo . . . . . . 10.2 Comandos em arquivos de zonas
In
. . . . . .
-U
FI
-2
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
01
21 21 21 22 22 22 22
Laborat orio 1 - Servidor DHCP o do servidor DHCP . . . . . . . . . . . 6.1 Passo1 - Instalac a o do servidor DHCP . . . . . . . . . 6.2 Passo2 - Congurac a o . . . . . . . . . . . . . . . 6.2.1 Dados da congurac a 6.2.2 Arquivo dhcpd.conf . . . . . . . . . . . . . . . . 6.2.3 Arquivo /etc/default/dhcp3-server . . . . . o do cliente DHCP . . . . . . . . . . 6.3 Passo3 - Congurac a o de rede . . . . . . . . . . . . . . . . 6.3.1 Congurac a o do funcionamento do servidor DHCP 6.4 Passo4 - Vericac a
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
18 18 19 19 19 20 20 20 21
23
23 23 24 24 25 25 26 26 26 27 28 28 29 29 29 30 31 31
o de nomes DNS 12 lab1: Resoluc a 12.1 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12.2 Introduc a 12.3 Atividade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 lab2: Servidor Prim ario e Secund ario 13.1 Objetivos . . . . . . . . . . . . . o de um dom 13.2 Criac a nio . . . . . . 13.3 A zona reversa . . . . . . . . . . 13.4 Transfer encia de zona . . . . . . .
32 32 32 33 35 35 35 39 41
16 Exerc cios
d so e A
. . . . . . . . . . . . . . .
o do Apache 15 Congurac a o . . . . . . . . . . . 15.1 Arquivo de congurac a o 15.1.1 Arquivos e Diretivas de congurac a o . . . . . . . . . . . . 15.1.2 Blocos de sec a 15.2 Virtual Hosts . . . . . . . . . . . . . . . . .
u rn la o
. . . . . . . . . . . . . . . . . . . .
as
17 lab1: apache 17.1 Objetivos . . . . . . . . . 17.2 Requisitos . . . . . . . . . 17.3 Iniciando o servidor . . . . 17.4 Entendendo os m odulos . . 17.5 Entendendo as permiss oes 18 lab2: apache 18.1 Objetivos . . o . 18.2 Autorizac a o 18.3 Autenticac a 18.4 Virtual Hosts
te
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . .
In
o A t
20 Refer encias
-U
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
FI
-2
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
01
43
43 43 43 44 44 44 44 45 48 48 50 50 50 50 50 51 51 51 51 52 53 54 55
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
VI
rewall - iptables
55
55 55 56 57 57 57 57 57 58
23 lab1: iptables 23.1 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23.2 Atividade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23.3 Salvando as regras da mem oria . . . . . . . . . . . . . . . . . . . o do script do rewall 24 Ativac a o do script - Debian . . . . . . . . . . . . . . . . . . . . . 24.1 Ativac a o do script - outras distribuic es . . . . . . . . . . . . . . 24.2 Ativac a o
u rn la o
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
VII
ssh
d so e A
-U
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
26 tcp wrappers
In
25 SSH - Secure Shell o . . . . . . . . 25.1 Introduc a o 25.2 M etodos de autenticac a o do cliente . 25.3 Congurac a o do servidor 25.4 Congurac a
te
. . . . . . . . . . . . . . . . . . . . . . . .
as
VIII
postx
o A t
FI
27 email o . . 27.1 Introduc a 27.2 Postx . . . . 27.3 Servidor POP 27.4 webmail . . .
. . . .
-2
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
22 Conceitos b asicos 22.1 regras, chains e tabelas . . . . . 22.1.1 Regras . . . . . . . . . 22.1.2 Chains - listas de regras 22.1.3 Tabelas . . . . . . . . . 22.1.4 Tabelas cont em chains .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
01
. . . . . . . . . . . . . . . 59 59 60 61 61 62 62
62
63 63 63 64 64 64
64
65 65 65 66 67 67 67 67
67 68 68
IX
squid
69
69 69 69 69
29 Conhecendo o squid o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29.1 Introduc a 29.2 Daemons e Utilit arios . . . . . . . . . . . . . . . . . . . . . . . . o . . . . . . . . . . . . . . . . . . . . . . 29.3 Arquivo de congurac a
30 ACLs - Access Control Lists o . . . . . . . . 30.1 Introduc a o . . 30.2 tags de congurac a o . . . . . . 30.3 Autenticac a o de usu 30.4 Criac a arios . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
31 Relat orios com sarg o e o comando sarg . . . . . . . . . . . . . . . . . . . 31.1 Congurac a 32 lab: squid 32.1 Limpeza do arquivo squid.conf . . . . . . . . . . . . . . . . . . . 32.2 Clientes com acesso ao proxy . . . . . . . . . . . . . . . . . . . . 32.3 Bloqueio de sites . . . . . . . . . . . . . . . . . . . . . . . . . .
u rn la o
te
. . . . . . . . . . . . . . . . . . . . . . . . 5
NFS
d so e A
-U
as
33 NFS - Network File System o . . . . . . . . . . . . . . . . . . 33.1 Introduc a 33.2 O servidor NFS . . . . . . . . . . . . . . . 33.3 Montagem do sistema de arquivos via NFS 33.4 tcp wrappers . . . . . . . . . . . . . . . .
In
XI
samba
o A t
FI
34 Conhecendo o Samba o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34.1 Introduc a 34.2 Daemons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34.3 Programas utilit arios . . . . . . . . . . . . . . . . . . . . . . . .
-2
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
01
70 70 70 71 71 71 71 72 72 72 73
73
73 73 74 74 75
75
75 75 76 76
35 Congurando o Samba 35.1 O arquivo smb.conf . . . . . . . . . . . . . . . . . . . . . . . . . o de um PDC . . . . . . . . . . . . . . . . . . . . . . 35.2 Congurac a o 36 Documentac a 37 lab: samba 37.1 Objetivos . . . . . . . . . . . . . 37.2 Utilit arios . . . . . . . . . . . . . 37.2.1 smbclient . . . . . . . . . 37.2.2 smbmount . . . . . . . . . 37.2.3 nmblokup . . . . . . . . . o do arquivo smb.conf 37.3 Congurac a 37.4 Controlador de Dom nio . . . . .
76 76 77
Ap endice
A Comandos do vim
u rn la o
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1
1.1
Rede no Linux
FI
o A t
Unix: dispositivos de rede em /dev Linux: Dispositivos de rede s ao criados dinamicamente Para ver quais dispositivos existem no sistema: cat /proc/net/dev 1 Nomenclatura:
possui arquivos para o ajuste de par ametros do kernel. D e uma olhada em /proc/sys/net/ipv4 e em /usr/src/linux/Documentation/proc.txt.
1 /proc
-U
as
o de interfaces Congurac a
Interfaces de rede
In
te
Parte I
d so e A
B qemu e vde2 o dos pacotes necess B.1 Instalac a arios o do switch virtual . . . . . B.2 Criac a B.3 Conex ao com a internet via DHCP B.4 M aquinas virtuais com o qemu . .
-2
. . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
79 79 80 80 80 81 81 82
01
85
85 85 86 86 86 86
79
lo - loopback eth0..n - Placa de rede Ethernet e WaveLan. ppp0..n - Interface de rede PPP (protocolo ponto a ponto). tr0..n - Token Ring ... Congurando interfaces ifcong - interface congure
es] [interface] ifcong [opc o es] ifcong interface [opc o Par ametro -a []arp []allmulti netmask addr hw ether
levantando interfaces:2
ifconfig lo 127.0.0.1 up
ifconfig eth0 172.16.0.3 hw ether 00:1a:92:64:ce:02 derrubando interfaces: ifconfig eth0 down
o A t
Diferentes enderec os IP para a mesma interface ifconfig eth0:0 192.168.4.1 netmask 255.255.255.0 ifconfig eth0:1 192.168.5.1 netmask 255.255.255.0
2 Note
padr ao.
FI
o de exemplo de eth1 ser que up pode ser omitido. Na congurac a a usada a m ascara-
-U
as
Interface Aliasing
In
te
d so e A
u rn la o
o Descric a mostra todas as interfaces, incluindo as n ao conguradas; Habilita ou desabilita o uso do protocolo ARP para esta interface. Habilita ou desabilita o modo promiscuous da interface. Congura a m ascara de rede IP para esta interface. Congura o enderec o de hardware para esta interface.
-2
01
1.2
Tabela de roteamento
Tabela de roteamento cat /proc/net/route netstat -rn /sbin/route -n
Flags U U UG
Metric 0 0 0
o de rotas Manipulac a route add -net 192.168.3.0 netmask 255.255.255.0 route add -net 192.168.10.64 netmask 255.255.255.192 gw 10.1.7.5
gw - indica o enderec o do gateway na mesma rede da origem. rotas para redes diretamente conectadas automaticamente adicionadas pelo ifcong rota padr ao (default gateway) route add default gw 192.168.3.254 man route
FI
o A t
No CentOS o diret orio o /etc/sysconfig/network-scripts. e 4 Aceita argumentos como start, stop, restart, ...; execute o script sem argumentos para saber quais s ao aceitos.
-U
as
In
1.3
d so e A
8
te
u rn la o
-2
01
1.4
o de DNS Congurac a
/etc/resolv.conf
o A t
lista dom nios a serem pesquisados para resolver nomes incompletos (search) enderec os IP dos servidores DNS a serem contatados para pesquisas de nomes (nameserver)
FI
-U
as
DNS - Domain Name System converte os nomes de m aquinas para enderec os IPs que todas as m aquinas da Internet possuem
In
te
o de cliente DHCP, e necess o dos pacotes N OTA : Para a congurac a aria a instalac a pump ou dhcp-client.
d so e A
auto eth0 # i f a c e e t h 0 i n e t dhcp # P a r a u s a r DHCP i f a c e eth0 i n e t s t a t i c # Para configuracao e s t a t i c a address 192.168.3.9 netmask 2 5 5 . 2 5 5 . 2 5 5 . 0 gateway 1 9 2 . 1 6 8 . 3 . 2 5 4 # p a c o t e r e s o l v c o n f deve e s t a r i n s t a l a d o p a r a uso das l i n h a s a b a i x o . # dns s e a r c h m a t h s . wu . edu . au wu . edu . au # a b a i x o , s a o o s DNS p u b l i c o s do OpenDNS (www. o p e n d n s . com ) # dns n a m e s e r v e r s 2 0 8 . 6 7 . 2 2 2 . 2 2 2 2 0 8 . 6 7 . 2 2 0 . 2 2 0
u rn la o
-2
01
# a r q u i v o / e t c / s y s c o n f i g / n e t w o r k / i f c f g e t h 0 DEVICE= e t h 0 # BOOTPROTO= dhcp # P a r a u s a r DHCP BOOTPROTO= s t a t i c # Para configuracao e s t a t i c a IPADDR = 1 9 2 . 1 6 8 . 3 . 9 NETMASK= 2 5 5 . 2 5 5 . 2 5 5 . 0 NETWORK= 1 9 2 . 1 6 8 . 3 . 0 BROADCAST= 1 9 2 . 1 6 8 . 3 . 2 5 5 GATEWAY= 1 9 2 . 1 6 8 . 3 . 2 5 4 ONBOOT= y e s
foo
multi on retorna todos os enderec os v alidos para um host no arquivo /etc/hosts; se off retorna apenas o primeiro
2
2.1
Utilit arios
ping
FI
o A t
5 http://www.sounerd.com.br/index.php?option=com_content&task=view&id= 40&Itemid=43
$ p i n g u o l . com . b r PING u o l . com . b r ( 2 0 0 . 2 2 1 . 2 . 4 5 ) 5 6 ( 8 4 ) b y t e s o f d a t a . 64 b y t e s from home . u o l . com . b r ( 2 0 0 . 2 2 1 . 2 . 4 5 ) : i c m p s e q =1 t t l =59 t i m e = 2 7 . 9 ms 64 b y t e s from home . u o l . com . b r ( 2 0 0 . 2 2 1 . 2 . 4 5 ) : i c m p s e q =2 t t l =59 t i m e = 2 0 . 5 ms ... <C t r l > < C > u o l . com . b r p i n g s t a t i s t i c s 3 p a c k e t s t r a n s m i t t e d , 3 r e c e i v e d , 0% p a c k e t l o s s , t i m e 2009ms r t t min / avg / max / mdev = 1 5 . 3 0 9 / 7 8 . 6 6 2 / 1 9 7 . 0 5 7 / 8 3 . 7 8 6 ms $
-U
as
d so e A
10
order hosts,bind checar o arquivo /etc/hosts (par ametro hosts) antes de tentar vericar um servidor de nomes (par ametro bind) e retornar um IP v alido
In
te
u rn la o
-2
/etc/host.conf es para a biblioteca resolver congurac o o de nomes deve procurar primeiro ao Dene aonde a biblioteca de resoluc a procurar primeiro no arquivo /etc/hosts e resolver um nome. O default e depois no DNS (bind).
01
- mostra a rota que os pacotes tomam para chegar a um host - usa pacotes UDP ou ICMP
t r a c e r o u t e t o www. g o o g l e . com ( 2 0 9 . 8 5 . 1 9 3 . 1 4 7 ) , 30 h o p s max , 40 b y t e p a c k e t s 1 10.11.0.1 (10.11.0.1) 2 9 . 3 0 4 ms 2 9 . 4 1 2 ms 2 9 . 5 0 2 ms 2 3 c9060003 . v i r t u a . com . b r ( 2 0 1 . 6 . 0 . 3 ) 4 0 . 5 6 3 ms 4 0 . 7 3 3 ms 4 0 . 8 8 6 ms 4 2 9 . p t t . a n s p . b r ( 2 0 0 . 1 3 6 . 3 4 . 2 9 ) 4 5 . 0 5 9 ms 4 7 . 0 6 2 ms 4 7 . 1 5 0 ms 5 2 0 9 . 8 5 . 2 5 0 . 2 4 2 ( 2 0 9 . 8 5 . 2 5 0 . 2 4 2 ) 4 7 . 2 4 1 ms 4 7 . 4 2 2 ms 4 9 . 3 6 7 ms 6 2 0 9 . 8 5 . 2 5 1 . 2 1 4 ( 2 0 9 . 8 5 . 2 5 1 . 2 1 4 ) 5 8 . 4 8 0 ms 2 9 . 2 0 1 ms 2 9 . 1 7 1 ms 7 br i n f 1 4 7 . g o o g l e . com ( 2 0 9 . 8 5 . 1 9 3 . 1 4 7 ) 2 0 . 0 2 9 ms 1 9 . 5 6 4 ms 1 9 . 5 0 2 ms
2.3
netstat
Au
In
11
Exemplo:
ta
FI A
No
Conex oes Internet Ativas (servidores e estabelecidas) Proto Recv-Q Send-Q Enderec o Local Enderec o Remoto tcp 0 0 0.0.0.0:80 0.0.0.0:* tcp 0 0 0.0.0.0:22 0.0.0.0:* tcp 0 0 0.0.0.0:631 0.0.0.0:* tcp 0 0 127.0.0.1:25 0.0.0.0:* tcp 0 0 192.168.0.2:32835 66.249.83.109:465 tcp 0 0 192.168.0.2:32804 66.249.83.109:995
Exerc cios
Estado OUC A OUC A OUC A OUC A ESTABELECIDA ESTABELECIDA
Us o
$ n e t s t a t nap Conexoes I n t e r n e t A t i v a s ( s e r v i d o r e s e e s t a b e l e c i d a s ) P r o t o RecvQ Send Q E n d e r e c o L o c a l E n d e r e c o Remoto tcp 0 0 0.0.0.0:80 0.0.0.0: tcp 0 0 0.0.0.0:22 0.0.0.0: tcp 0 0 0.0.0.0:631 0.0.0.0: tcp 0 0 127.0.0.1:25 0.0.0.0: tcp 0 0 192.168.0.2:32835 66.249.83.109:465 tcp 0 0 192.168.0.2:32804 66.249.83.109:995 tcp 0 0 127.0.0.1:80 127.0.0.1:33136 tcp 0 0 127.0.0.1:80 127.0.0.1:33138 udp 0 0 0.0.0.0:68 0.0.0.0: udp 0 0 0.0.0.0:631 0.0.0.0: Domain s o c k e t s UNIX a t i v o s ( s e r v i d o r e s e e s t a b e l e c i d a s ) ...
de
te
Estado OUCA OUCA OUCA OUCA ESTABELECIDA ESTABELECIDA ESTABELECIDA TIME WAIT
rn
o Descric a Mostra enderec os num ericos, sem tentar resolver os nomes da m aquina, porta ou usu ario; mostra os servic os em listening (estado ouc a); mostra a tabela selecionada a cada segundo, continuamente na tela at e que voc e o interrompa; somente servic os tcp; somente servic os udp; mostra o PID dos processos por tr as dos servic os.
la
- mostra conex oes de rede, tabelas de roteamento, estat sticas de interfaces, ...
20 11
2.2
traceroute
1. Considerando o texto acima responda: (a) Identique o comando que gerou esse texto.
(c) Identique as conex oes estabelecidas. (d) Explique o estado TIME WAIT.
(e) Utilize o comando host para identicar o FQDN (Fully Qualied Domain Name) de cada enderec o remoto mostrado no texto.
(a) Congure o IP das m aquinas X, A, B, C e D usando o ifcong o para a m (c) Escreva o(s) arquivo(s) de congurac a aquina X (a interface com a internet usa DHCP) Escreva os arquivos para o SuSE Linux Escreva o arquivo para Debian
(d) Crie as tabelas de rotas para as m aquinas A e B; (e) Crie as tabelas de rotas para as m aquinas C e D.
Refer encias
N F
o IA t
o [2] Nemeth, E, Snyder, G, Seebass, S, Hein, T.R., Manual de Administrac a o. Bookman, 2002. cap.2, p.54-78. do Sistema UNIX. 3a. edic a
P. LINUX: Rute Users Tutorial and Exposition (Version 1.0.0). Dispon vel em: http: //packages.debian.org/stable/doc/rutebook. Acesso em: 21 jul. 2006.cap.25.
[3] Sheer, P. LINUX: Rute Users Tutorial and Exposition (Version 1.0.0). Dispon vel em: http://packages.debian.org/stable/doc/rutebook. Acesso em: 21 jul. 2006.cap.25.
6 Sheer,
-U
as
[1] Nemeth, E, Snyder, G, Hein, T.R., Manual Completo do Linux - Guia do o. Pearson. S Administrador. 2a. edic a ao Paulo. 2007. cap. 12-14, p.191-259;
so
In
de
12
no
Au te r l
2. Considere duas LANs distantes que precisam se comunicar. Use os comandos ifcong e route para congurar a rede indicada na gura 16 .
-2
(b) Identique o servic o para cada porta no estado OUC A (sugest ao: procure em /etc/services).
01
192.168.0.2:49194 204.152.191.37:21 127.0.0.1:80 127.0.0.1:33136 127.0.0.1:80 127.0.0.1:33138 0.0.0.0:68 0.0.0.0:* 0.0.0.0:631 0.0.0.0:* ativos (servidores e estabelecidas)
N F
Prof. Alexander Luz Sperandio
o IA t
so In no
-U
as de Au te r l a -2 01
13
[4] Silva, G.M. Guia Foca GNU/Linux. Dispon vel em: http://focalinux. cipsga.org.br/guia/avancado/ch-cfgrede.htm. Acesso em: 05 ago. 2006.
Parte II
4
4.1
o do sistema Inicializac a
O processo init
Processo n umero 1 do sistema
o do sistema executa os scripts de inicializac a Sistemas BSD (Berkeley Software Distribution) init tem somente dois estados: monousu ario multiusu ario
o de monousu um n vel de execuc a ario o de multiusu v arios n veis de execuc a ario determinam quais dos recursos do sistema est ao habilitados
o A t
Sistemas BSD
FI
-U
as
4.2
o Os scripts de inicializac a
In
te
d so e A
u rn la o
VSZ 1508
-2
TIME COMMAND 0:00 i n i t [2]
01
h a links simb olicos para eles em /etc/rc0.d/, /etc/rc1.d/ e assim por diante Tarefas dos scripts congurar o nome do computador congurar o fuso hor ario vericar os discos com fsck montar os discos do sistema
remover arquivos de /tmp/ congurar interfaces de rede iniciar daemons e servic os de rede
es dos servic Esses scripts n ao devem ser alterados. Para isso as congurac o os o que os scripts consultam. cam em arquivos de congurac a Exemplo:
o A t
4.3
init do System V
FI
o (runlevels); sete n veis de execuc a cada um corresponde a um diret orio /etc/rc?.d/ com um conjunto particular de servic os; N vel 0 - desliga o sistema; N vel 1 - modo monousu ario;
-U
as
d so e A
15
# ! / bin / sh # s c r i p t p a r a i n i c i a r o c l i e n t e de s e r v i c o de DNS # d i n a m i c o p a r a no i p . com # c a s e $1 i n start ) echo S t a r t i n g noip . / usr / l o c a l / bin / noip ;; stop ) e c h o n S h u t t i n g down n o i p . k i l l p r o c TERM / u s r / l o c a l / b i n / n o i p ;; ) e c h o Usage : $0 { s t a r t | s t o p } exit 1 esac exit 0
In
te
u rn la o
-2
01
N veis 2 a 5 - n veis multiusu ario; N vel 6 - reinicializa o sistema. denido em /etc/inittab7 ; O runlevel padr ao e
$ grep id / etc / i n i t t a b id : 2 : i n i t d e f a u l t : $
4.4
Manipulando servic os
scripts aceitam argumentos como: start - inicializa servic o stop - derruba servic o
restart - mesmo que stop/start; reinicia servic o o reload - recarrega arquivo de congurac a ...
4.5
o de runlevels Administrac a
o A t
os que iniciam com S recebem o argumento start os que iniciam com K recebem o argumento stop
7O
FI
o criam os links para iniciar ou derrubar os servic ferramentas de adminstrac a os em cada runlevel.
ubuntu utiliza o upstart[?] ao inv es do arquivo /etc/inittab.
-U
as
links iniciam com S ou K seguido de n umero e nome do servic o ex.: S91apache, K08vmware
In
16
te
Exemplos de comandos: /etc/init.d/script - mostra os argumentos poss veis; /etc/init.d/script start - inicia o servic o; /etc/init.d/script stop - derruba o servic o.
d so e A
u rn la o
-2
01
N OTA : para que um servic o n ao seja iniciado em determinado runlevel basta remover o link ou apenas renome a-lo usando a letra inicial min uscula.
5
5.1
DHCP
o Introduc a
Dynamic Host Conguration Protocol.
o A t
FI
8 http://www.faqs.org/rfcs/
enderec o IP, m ascara, gateway es de inicializac o do TFTP informac o a es de trabalho UNIX criado originalmente para permitir que estac o sem disco inicializassem.
-U
as
5.2
Como funciona
In
d so e A
17
te
u rn la o
-2
01
DHCP
Parte III
DHCP generaliza os par ametros que podem ser fornecidos o (lease) adiciona o conceito de locac a Como funciona o DHCP cliente envia a mensagem DHCPDISCOVER IP destino 255.255.255.255, IP origem 0.0.0.0 servidores respondem com mensagem DHCPOFFER com sugest ao de enderec o e outros par ametros 9
cliente recebe DHCPOFFER e aceita enviando mensagem DHCPREQUEST servidor responde com ACK e aloca enderec o ou responde com NACK (negative acknowledgment) e o cliente deve reiniciar o processo de descobrimento o com ARP. Se o enderec antes de usar enderec o, cliente verica sua utilizac a o es j a est a em uso, cliente envia DHCPDECLINE e reinicia negociac o o e DHCPRELEASE cliente envia DHCPREQUEST para renovar a locac a o para desistir da locac a DHCP logs
#client dhclient dhclient dhclient dhclient dhclient : : : : :
FI
o A t
6.1
miss ao)
o em uso para instalar o servidor DHCP do Utilize as ferramentas da distribuic a ISC - pacote dhcp3-server.
-U
as
# server dhcpd : DHCPDISCOVER from 0 0 : 0 6 : 1 b : dc : 9 a : 0 9 v i a e t h 1 dhcpd : DHCPOFFER on 1 9 2 . 1 6 8 . 2 . 1 t o 0 0 : 0 6 : 1 b : dc : 9 a : 0 9 v i a e t h 1 dhcpd : DHCPREQUEST f o r 1 9 2 . 1 6 8 . 2 . 1 from 0 0 : 0 6 : 1 b : dc : 9 a : 0 9 v i a e t h 1 dhcpd : DHCPACK on 1 9 2 . 1 6 8 . 2 . 1 t o 0 0 : 0 6 : 1 b : dc : 9 a : 0 9 v i a e t h 1
d so e A
18
In
te
u rn la o
-2
01
6.2
6.2.1
1. Qual a rede a ser congurada (subnet)? 2. Qual a interface nessa rede? 3. Qual o intervalo de IPs a ser distribu do (range)? 4. Qual o gateway a ser distribu do (Option routers)?
5. Quais os IPs dos servidores DNS ((Option domain-name-servers))? 6.2.2 Arquivo dhcpd.conf
o do servidor DHCP. Um reUtilize seu editor preferido e inicie a congurac a fornecido ao nal do roteiro. sumo dos comandos do vi (pacote vim) e
authoritative;
FI
o A t
ddns-update-style none; - o sevidor DHCP pode atualizar o servidor DNS se o enderec o IP de um servidor na LAN foi mudado. o de servidores com IP No entanto, por n ao ser recomendada a utilizac a din amico, esse par ametro deve ser none;
option domain-name-servers - diz ao servidor DHCP quais servidores DNS atribuir aos clientes. Mais de um servidor DNS pode ser indicado, separados por v rgulas. 19
-U
as
subnet 192.168.0.0 netmask 255.255.255.0 { range 192.168.0.200 192.168.0.229; option subnet-mask 255.255.255.0; option routers 192.168.0.1; }
In
te
d so e A
ddns-update-style none;
u rn la o
-2
01
n authoritative - A vers ao 3 do servidor DHCP e ao-autorit aria por padr ao. Isso signica que se um cliente requisita um enderec o que o servidor n ao sabe nada a respeito e o enderec o est a incorreto para aquele segmento de enviar rede, o servidor NAO a um DHCPNAK (que diz ao cliente que o mesmo deveria parar de usar o enderec o).
INTERFACES="eth0 eth1"
6.3
ta
6.3.1
o de rede Congurac a
o de rede do Debian e o /etc/network/interfaces. O arquivo de congurac a o para a utilizac o de congurac o din Fac a a congurac a a a amica na interface com o servidor DHCP.
FI A
No
Us o
es GNU/Linux: H a tr es diferentes clientes DHCP dispon veis nas distribuic o dhcpcd, pump e dhclient (pacote dhcp3-client - ISC, no Debian). o do cliente DHCP Instale o pacote dhcp3-client. O arquivo de congurac a do ISC ca em /etc/dhcp3/dhclient.conf. o padr suciente para seu funUsualmente, a congurac a ao do cliente DHCP e cionamento. N ao modicaremos esse arquivo.
de
In
20
te
preciso atribuir uma interface ao servidor DHCP para ter o servic E o funcio atribu nando. A interface e da no arquivo /etc/default/dhcp3-server.
rn
6.2.3
Arquivo /etc/default/dhcp3-server
Au
la
Para mudar esse comportamento deve-se indicar no arquivo dhcpd.conf em quais segmentos de rede o servidor DHCP ser a autorit ario, usando a diretiva authoritative;
20 11
default-lease-time, max-lease-time - o cliente DHCP pode requisi o por um tempo determinado. Se n tar a congurac a ao zer isso, o servi o de rede por default-lease-time segundos, se o dor atribui a congurac a o por no m zer, receber a a congurac a aximo max-lease-time segundos;
# The loopback network interface auto lo iface lo inet loopback # The primary network interface auto eth0 iface eth0 inet dhcp
6.4
7.2
FI
o A t
O comando abaixo deve ser executado pelo root. Criar a um switch virtual em /tmp/vde1 com uma interface tap0 para conex ao com o host.
-U
as
In
Note o s mbolo # antes dos comandos. Signica que o comando deve ser executado como root. Quando utilizado o s mbolo $, o comando deve ser executado pelo usu ario.
21
te
7.1
d so e A
o de um switch virtual para a conex O pacote vde2 permite a criac a ao de v arias m aquinas qemu. o de Neste laborat orio, vamos instalar o pacote vde2 e testar a congurac a nosso servidor DHCP com v arias m aquinas conectadas em nosso switch virtual.
u rn la o
-2
01
7.3
$ vdeqemu -m 128 -hda debian5.img -boot c -net nic,macaddr=00:11:22:33:44:50 -net vde,sock=/tmp/vde1 -snapshot
7.4
7.4.1
Vericando o servidor
o o comando dhclient pode ser usado, como root, no cliente, para a obtenc a o via DHCP; da congurac a
7.5
FI
o A t
host fantasia { hardware ethernet 08:00:07:26:c0:a5; fixed-address 192.268.10.11; } Nesse cliente, renove o IP e conra o resultado.
-U
as
o de IP xo como demonstrado no exemplo abaixo, para um Fac a a congurac a dos clientes das m aquinas virtuais. O enderec o IP deve estar fora do intervalo distribu do anteriormente.
In
22
te
d so e A
u rn la o
o do servidor DHCP com visto no lab1-DHCP. Fac a a congurac a livre e deve ser congurada manualmente por voc Desta vez a interface tap0 e e com a rede que voc e escolher. Responda as perguntas do lab1-DHCP de acordo com suas escolhas para a interface tap0.
-2
o manual do IP das m Se necess ario, fac a a congurac a aquinas virtuais que foram levantadas e veja que elas conseguem se comunicar entre si (teste com ping).
01
Os scripts serverA.sh e serverX.sh utilizam o comando abaixo para levantar duas m aquinas virtuais a partir da imagens indicadas nos scripts (uma m aquina Debian, vers ao 5 e uma CentOS, vers ao 5.5). Cada uma com um enderec o MAC diferente, para que se comuniquem atrav es do switch virtual. Execute os scripts acima para obter as m aquinas rodando.
Refer encias
[1] Nemeth, E, Snyder, G, Hein, T.R., Manual Completo do Linux - Guia do o. Pearson. S Administrador. 2a. edic a ao Paulo. 2007. cap. 12, p.217-219; [2] Timme, Falko. How To Set Up A DHCP Server For Your LAN. Dispon vel em: http://www.howtoforge.com/dhcp_server_linux_debian_sarge. Acesso em: 26 ago. 2009. [3] Vuksan, Vladimir. DHCP mini-HOWTO. Dispon vel em: http://www. tldp.org/HOWTO/DHCP/index.html. Acesso em: 05 jan. 2004.
[4] Lemon, Ted. dhcpd.conf.5 - p agina de manual. Dispon vel em: http://www. bind9.net/dhcpd.conf.5. Acesso em: 28 ago. 2009.
Parte IV
8
8.1
Hist orico
FI
o A t
O DNS dene:
um espac o de nomes hier arquico para hosts e enderec os IP; uma tabela de hosts implementada como uma base de dados distribu da; um resolvedor (resolver) - rotinas de biblioteca que consultam essa base de dados; 23
-U
as
RFCs 1034, 1035 (1987) o b especicac a asica do DNS (modicada depois por v arias outras RFCs)
In
usavam mapeamento entre nomes e enderec os em um arquivo texto HOSTS.TXT /etc/hosts serve para uma rede pequena, mas n ao para uma crescente ARPANET
te
d so e A
u rn la o
DNS
-2
01
8.2
UNIX: diret orios subdiret orios e arquivos DNS: dom nios subdom nios e hosts
8.2.1
o A t
FI
ccTLDs - Country Code Top Level Domains12 c odigo de duas letras ISO para o pa s
-U
as
es de nomes de dom Duas classicac o nio, de primeiro n vel, s ao usadas10 : gTLDs - Generic Top Level Domains11
d so e A
24
In
te
u rn la o
-2
01
pa ses criam uma arquitetura organizacional com dom nios de segundo n vel ex.: .br, .fr, .com.br, .co.uk, ... 8.2.2 Registro de dom nio
O software BIND
vers oes: BIND 4, BIND 8 e BIND 9 BIND - Berkeley Internet Name Domain
as
In
Desenvolvido pelo ISC - http://www.isc.org/software/bind Unix, Linux, Windows (NT4, 2000) es do Linux pacote bind nas distribuic o
d so e A
-U
25
FI
o A t
te
u rn la o
9.2.4
Dom nios de DNS devem (RFC 1219) ser servidos por pelo menos dois servidores
-2
01
9.1
Componentes do BIND
o daemon named que responde a consultas; o servidor de nomes rotinas de biblioteca que resolvem consultas de host entrando em contato com servidores DNS; o resolvedor (resolver) interfaces de linha de comando para DNS: nslookup, dig e host.
9.2
o do BIND Congurac a
Servidor cache
9.2.1
armazena em cache os dados de consultas pr evias normalmente n ao tem zonas locais reduz signicativamente o tempo de espera especialmente em conex oes lentas
Forwarding
FI
o A t
-U
as
o de uma forwarder hierarchy congurac a o servidor de nomes repassa os pedidos para outro servidor ex.: o servidor DNS do seu provedor (ISP)
d so e A
26
In
te
u rn la o
-2
01
9.3
o Arquivos de congurac a
/etc/bind/named.conf o arquivo de congurac a db.root ou root.hints, ... arquivo de dicas, cont em os servidores raiz para servidores mestre: arquivos de dados de zona cont em os mapeamentos de enderec os de cada host
o A t
DNS secund ario (escravo - Slave Servers) servidor com autoridade que carrega a zona de outro servidor processo conhecido como zone transfer
FI
Exemplo de conguracao para um authoritative-only server master server para example.com slave (escravo) para o subdominio eng.example.com.
-U
as
servidor com autoridade aonde os dados de zona s ao mantidos carrega a zona de um arquivo local
In
27
te
d so e A
u rn la o
-2
named.conf tem formato pr oprio; todos os outros t em formatos de acordo o do DNS. com a especicac a
01
10
Arquivos de zona
10.1
o A t
Caractere arroba - nome da zona atual; ( ) - permite que os dados se estendam sobre linhas; * - caractere coringa (somente para o campo nome).
FI
-U
as
Formato b asico: [nome] [ttl] [classe] tipo dados Campos separados por espac os ou TABs e podem conter:
d so e A
28
In
te
u rn la o
-2
01
10.1.1
Campo nome
Cuidado:
tempo que o item de dados pode car armazenado em cache (s) normalmente, omitido exceto no arquivo hints (arquivo de dicas) diretiva $TTL no in cio do arquivo de zona obrigat oria no BIND9
valores altos economizam banda e a carga no DNS valores baixos permitem mudanc a r apida
10.1.3
Campo classe
3 valores:
es s 2 informac o ao guardadas na rede ChaosNet: vers ao do software do servidor DNS nome do host onde est a executando
FI
o A t
-U
as
HS de Hesiod (MIT)
CH de ChaosNet (obsoleto)
d so e A
29
In
te
u rn la o
-2
01
pode ser relativo ou absoluto absolutos terminam com ponto, s ao completos relativos s ao adicionados ao dom nio
host ou dom nio descrito pelo registro; primeira coluna ap os o primeiro, pode ser omitido => iniciar com espac o
10.1.4
Campo tipo
Muitos tipos de registros DNS 4 grupos: Registros de zona - identicam dom nios e seus servidores de nomes; Registros b asicos - associam nomes a enderec os e encaminham email; o e assinaturas nos arquivos de Registros de seguranc a - autenticac a zonas; es adicionais sobre hosts ou dom Registros opcionais - informac o nios.
FI
o A t
Registros opcionais:
CNAME - Canonical Name - Apelido ou aliases para um host o e extens LOC - Location - Localizac a ao geogr aca
es de servic SRV - Services - Fornece as localizac o os bem conhecidos es n TXT - Text - Coment arios ou informac o ao transcritas
-U
as
In
30
te
Registros de seguranc a:
d so e A
u rn la o
NS - Name Server - Identica servidores de zonas, delega subdom nios Registros b asicos
-2
01
10.2
Devem comec ar na primeira coluna e ocupar linha exclusiva H a quatro comandos: $ORIGIN nomeDeDom nio $INCLUDE nomeDeArquivo $TTL padr aottl
$GENERATE in cio-fim/[passo] lhs tipo rhs [coment ario] $ORIGIN e $TTL s ao especicados nas RFCs
11
Exerc cios
o do servidor de nomes do 2. D e o caminho e o nome do arquivo de congurac a BIND9. o options do arquivo de 3. Descreva o que fazem as linhas abaixo, na sec a o do BIND: congurac a (a) (b) (c)
(a)
In
o abaixo, descreva para que serve e em qual 4. Para cada trecho de congurac a arquivo ou diret orio ele pode ser encontrado.
zone "." { type hint; file "/etc/bind/db.root"; };
d so e A
directory "/var/cache/bind";
o A t
-U
as
FI
IN NS IN A
31
te
(b)
; ; ; ; ;
u rn la o
-2
01
(a) Indique a zona para a qual esse arquivo foi denido. (b) Escreva o signicado do arroba, utilizado em v arios pontos do arquivo. (c) Escreva as linhas do arquivo /etc/named.conf que denem a zona para esse arquivo. (d) Escreva as linhas do arquivo /etc/named.conf que denem a zona reversa. (e) Escreva o arquivo de zona, referente a zona reversa escrita no item anterior. (f) Escreva o signicado da linha: $TTL 1W
o 6. Escreva o arquivo de zona para a zona exercicio.com, denida na congurac a do servidor bind9. Dena as m aquinas:
pescada (servidor de email) com IP 200.146.79.163; tainha (servidor web) com IP 200.146.79.164; www como CNAME do host tainha.
12.1
Objetivos
FI
o seque recursivamente dentro da hierNa busca por uma m aquina, a requisic a arquia do DNS, comec ando pela raiz (.). Para encontrar o enderec o da m aquina prep.ai.mit.edu, o servidor de nomes tem que comec ar em algum lugar. Seu servidor n ao conhece nada sobre ai.mit.edu., mit.edu. ou edu.. Se o enderec o n ao existe no cache, a busca deve comec ar pela raiz. Os servidores raiz n ao respondem diretamente a consulta, ao inv es disso, fornecem uma refer encia de onde a resposta pode ser encontrada. Essa refer encia (referral) deve levar o seu servidor a um servidor que sabe a resposta.
o A t
-U
as
12.2
o Introduc a
In
12
32
te
$TTL 4D @ IN SOA pintado.exercicio.com. hostmaster.exercicio.com. ( 2006091801 3H 15M 1W 1D ; H - Hora, M - Minuto, W - Week, D - Dia)
d so e A
u rn la o
-2
(g) Para que serve e qual o signicado de cada um dos valores informados entre par enteses, no registro SOA?
01
o +norec - sem Vamos usar o comando dig para fazer a busca, usando a opc a es s recursividade - assim, n os fazemos esse trabalho. As outras opc o ao para reduzir es na sa a quantidade de informac o da de dig.
12.3
Atividade
> dig . ns
; < < > > DiG 9 . 2 . 4 < < > > . ns ; ; global options : printcmd ; ; Got a n s w e r : ; ; >>HEADER < < o p c o d e : QUERY, s t a t u s : NOERROR, i d : 32294 ; ; f l a g s : q r r d r a ; QUERY: 1 , ANSWER: 1 3 , AUTHORITY : 0 , ADDITIONAL : 10 ; ; QUESTION SECTION : ;. ; ; ANSWER SECTION : . . . . . . . . . . . . .
IN
FI
o A t
;; ;; ;; ;;
Query t i m e : 0 msec SERVER : 1 2 7 . 0 . 0 . 1 # 5 3 ( 1 2 7 . 0 . 0 . 1 ) WHEN: Mon Sep 11 1 4 : 2 3 : 3 0 2006 MSG SIZE r c v d : 388
-U
; ; ADDITIONAL SECTION : B . ROOTSERVERS . NET . C . ROOTSERVERS . NET . D . ROOTSERVERS . NET . E . ROOTSERVERS . NET . F . ROOTSERVERS . NET . G . ROOTSERVERS . NET . H . ROOTSERVERS . NET . I . ROOTSERVERS . NET . L . ROOTSERVERS . NET . M. ROOTSERVERS . NET .
d so e A
603702 603702 603702 603702 604539 603702 603702 603702 603702 603702 IN IN IN IN IN IN IN IN IN IN
In
517302 517302 517302 517302 517302 517302 517302 517302 517302 517302 517302 517302 517302
IN IN IN IN IN IN IN IN IN IN IN IN IN
as
33
te
A A A A A A A A A A
u rn la o
NS NS NS NS NS NS NS NS NS NS NS NS NS NS
M. ROOTSERVERS . NET . A . ROOTSERVERS . NET . B . ROOTSERVERS . NET . C . ROOTSERVERS . NET . D . ROOTSERVERS . NET . E . ROOTSERVERS . NET . F . ROOTSERVERS . NET . G . ROOTSERVERS . NET . H . ROOTSERVERS . NET . I . ROOTSERVERS . NET . J . ROOTSERVERS . NET . K . ROOTSERVERS . NET . L . ROOTSERVERS . NET .
192.228.79.201 192.33.4.12 128.8.10.90 192.203.230.10 192.5.5.241 192.112.36.4 128.63.2.53 192.36.148.17 198.32.64.12 202.12.27.33
-2
01
1 - use o comando dig . ns para procurar pelos root servers; E poss vel perguntar diretamente a um dos servidores raiz: dig @f.root-servers.net . ns Os root servers s ao carregados no cache do seu servidor DNS atrav es de um arquivo. D e uma olhada no arquivo named.conf.
; ; Got a n s w e r : ; ; >>HEADER < < o p c o d e : QUERY, s t a t u s : NOERROR, i d : 50054 ; ; f l a g s : q r ; QUERY: 1 , ANSWER: 0 , AUTHORITY : 8 , ADDITIONAL : 8 ; ; AUTHORITY SECTION : edu . edu . edu . edu . edu . edu . edu . edu . ; ; ADDITIONAL SECTION : L3 . NSTLD .COM. D3 . NSTLD .COM. A3 . NSTLD .COM. E3 . NSTLD .COM. C3 . NSTLD .COM. G3 . NSTLD .COM. M3 . NSTLD .COM. H3 . NSTLD .COM.
IN IN IN IN IN IN IN IN
A A A A A A A A
uma refer Isso e encia. Obtivemos uma Authority Section e nenhuma Answer Section. Obtivemos as autoridades do dom nio edu. 3 - Escolha um outra vez.
> d i g + n o r e c + n o q u e s + n o s t a t s +nocmd p r e p . a i . m i t . edu . @e3 . n s t l d . com . ; ; Got a n s w e r : ; ; >>HEADER < < o p c o d e : QUERY, s t a t u s : NOERROR, i d : 27952 ; ; f l a g s : q r ; QUERY: 1 , ANSWER: 0 , AUTHORITY : 3 , ADDITIONAL : 3 ; ; AUTHORITY SECTION : m i t . edu . m i t . edu . m i t . edu .
d so e A
172800 172800 172800 IN IN IN 172800 172800 172800 IN IN IN
In
o A t
; ; Got a n s w e r : ; ; >>HEADER < < o p c o d e : QUERY, s t a t u s : NOERROR, i d : 5949 ; ; f l a g s : q r r a ; QUERY: 1 , ANSWER: 0 , AUTHORITY : 4 , ADDITIONAL : 4 AUTHORITY SECTION : . m i t . edu . . m i t . edu . . m i t . edu . . m i t . edu .
;; ai ai ai ai
-U
as
Agora ele nos refere aos servidores no dom nio mit.edu. Escolha um.
IN IN IN IN
FI
21600 21600
IN IN
34
te
A A A NS NS NS NS A A
u rn la o
NS NS NS 18.72.0.3 18.70.0.160 18.71.0.151
FEDEX . a i . m i t . edu . LIFE . a i . m i t . edu . MINTAKA . LCS . m i t . edu . OSSIPEE . LCS . m i t . edu .
192.148.252.28 128.52.32.80
-2
01
IN IN IN IN IN IN IN IN
NS NS NS NS NS NS NS NS
L3 . NSTLD .COM. D3 . NSTLD .COM. A3 . NSTLD .COM. E3 . NSTLD .COM. C3 . NSTLD .COM. G3 . NSTLD .COM. M3 . NSTLD .COM. H3 . NSTLD .COM.
21600 21600
IN IN
A A
18.26.0.36 18.26.0.18
Agora devemos obter uma resposta (Answer Section). 4 - Escolha um dos servidores que tem autoridade sobre o dom nio ai.mit.edu
> d i g + n o r e c + n o q u e s + n o s t a t s +nocmd p r e p . a i . m i t . edu . @ l i f e . a i . m i t . edu . ; ; Got a n s w e r : ; ; >>HEADER < < o p c o d e : QUERY, s t a t u s : NOERROR, i d : 17192 ; ; f l a g s : q r a a ; QUERY: 1 , ANSWER: 1 , AUTHORITY : 0 , ADDITIONAL : 0 ; ; ANSWER SECTION : p r e p . a i . m i t . edu .
1800
IN
CNAME
f t p . gnu . o r g .
13
13.1
13.2
FI
; ; BIND reverse data file for local loopback interface ; $TTL 3D @ IN SOA ns.linux.bogus. root.linux.bogus. ( 1 ; Serial 8h ; Refresh 2H ; Retry 4D ; Expire 1D ) ; Minimum TTL ; NS ns.linux.bogus. 1.0.0 PTR localhost.
o A t
-U
as
In
O que signica:
d so e A
35
te
u rn la o
-2
01
Note o . ao nal de todos os dom nios completos e a sua inexist encia em named.conf H a 3 registros de recursos (RRs - Resource Records): SOA, NS e PTR SOA - Start of Authority NS - Name Server PTR - Domain Name Pointer - diz que o host 127.0.0.1 tem nome localhost
IN
as
IN
FI
o A t
Query time: 2 msec SERVER: 127.0.0.1#53(127.0.0.1) WHEN: Wed Sep 13 03:02:39 2006 MSG SIZE rcvd: 91
4 - Agora vamos a nossa tarefa principal, o dom nio linux.bogus. Vamos o zone em named.conf. inserir uma nova sec a
-U
In
IN
PTR
NS
36
te
PTR localhost.
;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 12545 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 0
d so e A
3 - Agora reinicie named (rndc reload deve resolver) e vamos usar o comando o -x, no comanodo dig faz uma consulta dig, para examinar nosso trabalho. A opc a a zona reversa.
u rn la o
ns.linux.bogus.
@ IN SOA ns.linux.bogus. root.linux.bogus. uma notac o especial, signicando origem; se refere a 127.in-addr.arpa. - @ e a - o dom nio denido em named.conf, no item zone o servidor de nomes do dom Diz ao DNS que m aquina e nio 127.in-addr.arpa, ns.linux.bogus; e - root.linux.bogus signica root@linux.bogus - o email do administrador;
-2
$TTL 3D O servidor fornece essa TTL (Time To Live) em respostas a queries, permitindo a outros servidores manter os dados em cache por esse intervalo;
01
- notify - permite aos servidores mestre (prim ario) noticar seus escravos (secund ario) de mudanc as em dados de zona. Por padr ao yes. 5 - Agora o arquivo de zona:
; Zone file for linux.bogus ; ; The full zone file ; $TTL 3D @ IN SOA ns.linux.bogus. hostmaster.linux.bogus. ( 199802151 ; serial, todays date + ; todays serial # 8H ; refresh, seconds 2H ; retry, seconds 4W ; expire, seconds 1D ) ; minimum, seconds ; NS ns ; Inet Address of name server MX 10 mail.linux.bogus. ; Primary Mail Exchanger MX 20 mail.friend.bogus. ; Secondary Mail Exchanger ; ns A 192.168.196.2 mail A 192.168.196.4
no registo SOA, ns.linux.bogus deve ser uma m aquina com um registro A. Seu nome n ao precisa ser ns, poderia ser qualquer outro hostname;
; <<>> DiG 9.2.4 <<>> any linux.bogus ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 803 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 2
FI
o A t
;; ANSWER SECTION: linux.bogus. 259200 linux.bogus. 259200 linux.bogus. 259200 linux.bogus. 259200
;; ADDITIONAL SECTION: ns.linux.bogus. 259200 IN A 192.168.196.2 mail.linux.bogus. 259200 IN A 192.168.196.4 ;; ;; ;; ;; Query time: 0 msec SERVER: 127.0.0.1#53(127.0.0.1) WHEN: Wed Sep 13 05:17:46 2006 MSG SIZE rcvd: 174
-U
as
d so e A
IN IN IN IN
H a um novo RR nesse arquivo: MX (Mail Exchanger - indica um hostname que ir a agir como servidor de email para o dom nio. O n umero antes do a prioridade, menor e mais priorit nome e ario.)
SOA ns.linux.bogus. hostmaster.linux.bogus. 199802151 28800 7200 2419200 86400 NS ns.linux.bogus. MX 10 mail.linux.bogus. MX 20 mail.friend.bogus.
In
37
te
u rn la o
-2
01
Au
In
38
7 - Carregue a nova base de dados com rndc reload e vamos ao dig. Com o tipo axfr dig pede por uma transfer encia de zona (zone transfer);
FI A
No
; <<>> DiG 9.2.4 <<>> linux.bogus axfr ;; global options: printcmd linux.bogus. 259200 IN SOA ns.linux.bogus. hostmaster.linux.bogus. 199802151 28800 7200 2419200 86400 linux.bogus. 259200 IN TXT "Linux.Bogus, your DNS consultants" linux.bogus. 259200 IN NS ns.linux.bogus. linux.bogus. 259200 IN NS ns.friend.bogus. linux.bogus. 259200 IN MX 10 mail.linux.bogus. linux.bogus. 259200 IN MX 20 mail.friend.bogus. donald.linux.bogus. 259200 IN A 192.168.196.3 donald.linux.bogus. 259200 IN MX 10 mail.linux.bogus. donald.linux.bogus. 259200 IN MX 20 mail.friend.bogus. donald.linux.bogus. 259200 IN TXT "DEK" ftp.linux.bogus. 259200 IN A 192.168.196.5 ftp.linux.bogus. 259200 IN MX 10 mail.linux.bogus. ftp.linux.bogus. 259200 IN MX 20 mail.friend.bogus. gw.linux.bogus. 259200 IN A 192.168.196.1 gw.linux.bogus. 259200 IN TXT "The router" localhost.linux.bogus. 259200 IN A 127.0.0.1 mail.linux.bogus. 259200 IN A 192.168.196.4 mail.linux.bogus. 259200 IN MX 10 mail.linux.bogus. mail.linux.bogus. 259200 IN MX 20 mail.friend.bogus. ns.linux.bogus. 259200 IN A 192.168.196.2
ta
Us o
de
te
rn
CNAME (Canonical Name) - um modo de dar v arios nomes a uma m aquina; um alias para ns; www e - registros MX, CNAME ou SOA n ao devem se referir a registros CNAME, mas somente a registros A;
la
; Zone file for linux.bogus ; The full zone file ; $TTL 3D @ IN SOA ns.linux.bogus. hostmaster.linux.bogus. ( 199802151 ; serial, todays date + todays serial # 8H ; refresh, seconds 2H ; retry, seconds 4W ; expire, seconds 1D ) ; minimum, seconds ; TXT "Linux.Bogus, your DNS consultants" NS ns ; Inet Address of name server NS ns.friend.bogus. MX 10 mail ; Primary Mail Exchanger MX 20 mail.friend.bogus. ; Secondary Mail Exchanger gw A 192.168.196.1 TXT "The router" ns A 192.168.196.2 www CNAME ns donald A 192.168.196.3 TXT "DEK" mail A 192.168.196.4 ftp A 192.168.196.5
20 11
ns.linux.bogus. 259200 IN MX 10 mail.linux.bogus. ns.linux.bogus. 259200 IN MX 20 mail.friend.bogus. www.linux.bogus. 259200 IN CNAME ns.linux.bogus. linux.bogus. 259200 IN SOA ns.linux.bogus. hostmaster.linux.bogus. 199802151 28800 7200 2419200 86400 ;; Query time: 1 msec ;; SERVER: 127.0.0.1#53(127.0.0.1) ;; WHEN: Wed Sep 13 09:29:13 2006 ;; XFR size: 24 records
Au
In
39
13.3
A zona reversa
Agora os programas podem converter os nomes em linux.bogus para enderec os necess aonde eles podem conectar. Tamb em e ario criar uma zona reversa, que torna o DNS capaz de converter enderec os em nomes. 9 - Ponha o texto abaixo em named.conf
zone "196.168.192.in-addr.arpa" { type master; notify no; file "pz/192.168.196"; };
ta
No
FI A
$TTL 3D @ IN
similar ao da zona 127.in-addr.arpa, que inclu Esse conte udo e mos antes no arquivo named.conf. Note que os n umeros 1, 2, 3, 4 e 5 s ao completados com a zona reversa 196.168.192.in-addr.arpa, denida no arquivo named.conf.
SOA ns.linux.bogus. hostmaster.linux.bogus. ( 199802151 ; Serial, todays date + todays serial
Us o
de
te
rn
la
20 11
8H ; Refresh 2H ; Retry 4W ; Expire 1D) ; Minimum TTL ns.linux.bogus. gw.linux.bogus. ns.linux.bogus. donald.linux.bogus. mail.linux.bogus. ftp.linux.bogus.
o (rndc 10 - Agora podemos dizer a named para recarregar a congurac a reload) e examinar a sa da de dig.
> dig -x 192.168.196.4
;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 58451 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1 ;; QUESTION SECTION: ;4.196.168.192.in-addr.arpa.
;; ANSWER SECTION: 4.196.168.192.in-addr.arpa. 259200 IN ;; AUTHORITY SECTION: 196.168.192.in-addr.arpa. 259200 IN ;; ADDITIONAL SECTION: ns.linux.bogus. ;; ;; ;; ;;
d so e A
259200 IN A
FI
o A t
; <<>> DiG 9.1.3 <<>> 196.168.192.in-addr.arpa. ;; global options: printcmd 196.168.192.in-addr.arpa. 259200 IN SOA hostmaster.linux.bogus. 199802151 28800 196.168.192.in-addr.arpa. 259200 IN NS 1.196.168.192.in-addr.arpa. 259200 IN PTR 2.196.168.192.in-addr.arpa. 259200 IN PTR 3.196.168.192.in-addr.arpa. 259200 IN PTR 4.196.168.192.in-addr.arpa. 259200 IN PTR 5.196.168.192.in-addr.arpa. 259200 IN PTR 196.168.192.in-addr.arpa. 259200 IN SOA hostmaster.linux.bogus. 199802151 28800 ;; Query time: 6 msec ;; SERVER: 127.0.0.1#53(127.0.0.1) ;; WHEN: Sun Dec 23 03:16:58 2001 ;; XFR size: 9 records
as
-U
In
40
te
AXFR
Query time: 4 msec SERVER: 127.0.0.1#53(127.0.0.1) WHEN: Sun Dec 23 03:16:05 2001 MSG SIZE rcvd: 107
u rn la o
PTR mail.linux.bogus. NS ns.linux.bogus. 192.168.196.2 ns.linux.bogus. \ 7200 2419200 86400 ns.linux.bogus. gw.linux.bogus. ns.linux.bogus. donald.linux.bogus. mail.linux.bogus. ftp.linux.bogus. ns.linux.bogus. \ 7200 2419200 86400
IN
PTR
-2
01
13.4
o do servidor dns /etc/bind/named.conf Arquivo de congurac a zone "tralala.fiap" { type master; file "/etc/bind/db.tralala"; allow-transfer { 192.168.6.102; }; }; zone "6.168.192.in-addr.arpa" { type master; file "/etc/bind/rev.tralala"; allow-transfer { 192.168.6.102; }; }; Arquivo master da zona tralala.ap $TTL @ 60 IN
Au
IN IN IN
SOA
; @
de
IN IN IN
Us o
NS NS MX 10
In
A A A CNAME CNAME 41
ello.tralala.fiap. root.tralala.fiap. ( 7 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ello.tralala.fiap. rede6b.tralala.fiap. mail.tralala.fiap. 192.168.6.122 192.168.6.102 192.168.6.122
ta
; www ftp
FI A
No
te
rn
la
20 11
Se a sua sa da n ao se parece com essa, procure pelas mensagens de erro em seu syslog (arquivos: /var/log/syslog ou /var/log/messages, dependendo o de sua distribuic o). da congurac a a
$TTL @
60 IN SOA ello.tralala.fiap. root.tralala.fiap. ( 7 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ello.tralala.fiap. ello.tralala.fiap. rede6b.tralala.fiap.
o: O servidor DNS secund ario tem o arquivo de congurac a zone "tralala.fiap" { type slave; file "db.tralala.bk"; masters { 192.168.6.122; }; }; zone "6.168.192.in-addr.arpa" { type slave; file "rev.tralala.bk"; masters { 192.168.6.122; }; };
Refer encias
[1] Nemeth, E, Snyder, G, Hein, T.R., Manual Completo do Linux - Guia do o. Pearson. S Administrador. 2a. edic a ao Paulo. 2007. cap. 15, p.260-336;
FI
o A t
[5] Albitz, P, Liu, C. DNS and BIND. 4th edition. OReilly, 2001. 622p.
[4] ISC, Inc. BIND 9 Administrator Reference Manual. Dispon vel em: ftp. isc.org/isc/bind9/cur/9.8/doc/arm/Bv9ARM.pdf. Acesso em: 14 ago. 2011.
-U
as
o [2] Nemeth, E, Snyder, G, Seebass, S, Hein, T.R., Manual de Administrac a o. Bookman, 2002. cap.16, p.434-529. do Sistema UNIX. 3a. edic a [3] Sheer, P. LINUX: Rute Users Tutorial and Exposition (Version 1.0.0). Dispon vel em: http://packages.debian.org/stable/doc/rutebook. Acesso em: 21 jul. 2006.cap.27.
d so e A
42
In
te
u rn la o
-2
; @ 122 102
IN IN IN
NS PTR PTR
01
Parte V
o do Apache Apresentac a
o Introduc a
o Introduc a simplesmente um programa que l Um servidor web e e um arquivo do disco o: r gido quando chega na porta 80, a requisic a
14.2
o Instalac a
FI
o A t
.zip - fontes para Win32 .msi - bin ario para Win32 .rpm - bin arios para RedHat, Fedora, OpenSuSE, Mandriva, TurboLinux,.. .deb - bin arios para Debian, Kurumin, ..
-U
as
o Instalac a H a bin arios dispon veis para v arios sistemas operacionais (http://mirror. pop-sc.rnp.br/apache/httpd/binaries/) inclusive Windows.
d so e A
43
In
te
u rn la o
-2
01
14.3
Iniciando o servidor
Iniciando o servidor
Teste com telnet localhost 80 Teste com o navegador http://localhost/ Arquivos de log em: /var/log/apache2/
15
15.1
o do Apache Congurac a
o Arquivo de congurac a
/etc/apache2/apache2.conf
uma diretiva por linha; o Ex.: include - inclui outros arquivos de congurac a
15.1.1
/etc/apache2/ports.conf
FI
o A t
/etc/apache2/httpd.conf es adicionais do usu Congurac o ario; vazio. /etc/sites-available/default o inicial de VirtualHost para o apache; ativado pelo link simb Congurac a olico /etc/apache2/sites-enabled/000-default;
-U
as
/etc/apache2/envvars o de vari Denic a aveis de ambiente para o apache; Ex.: usu ario e grupo que rodam o apache: www-data (Debian)
d so e A
44
In
te
u rn la o
-2
01
o de links simb s ao ativados atrav es da criac a olicos no diret orio /etc/apache2/mods-enabled/ a2enmod e a2dismod s ao scripts para ativar e desativar um m odulo, respectivamente. /etc/apache2/sites-available/ Virtual Hosts dispon veis;
o de links simb s ao ativados atrav es da criac a olicos no diret orio /etc/apache2/sites-enabled/ a2ensite e a2dissite s ao scripts para ativar e desativar um Virtual Host, respectivamente.
o Diretivas de congurac a
- atribu dos em apache2.conf a partir das vari aveis de ambiente do apache criadas no arquivo envvars; DirectoryIndex - arquivos-padr ao a serem abertos pelo apache; - arquivo: mods-available/dir.conf, ativado por padr ao em mods-enabled/dir.conf13 ;
FI
o A t
H a tamb em arquivos .load em mods-available/. Esses arquivos tamb em devem ter seus links simb olicos em mods-enabled/ pois fazem o apache carregar os m odulos necess arios para as es. Ex.: mods-available/dir.load . congurac o 14 http://httpd.apache.org/docs/2.0/sections.html
13
o de blocos de sec o14 Congurac a a poss o de blocos para a inclus E vel a denic a ao de diretivas aplic aveis apenas ao bloco. Exemplo: compartilhamento de um diret orio acess vel por:
-U
as
15.1.2
o Blocos de sec a
In
45
te
DocumentRoot - diret orio raiz dos arquivos fornecidos pelo apache (Ex.: arquivos .html); - arquivo: sites-available/default;
d so e A
u rn la o
-2
01
http://localhost/doc Alias /doc "/usr/share/doc/" <Directory /usr/share/doc> Options Indexes FollowSymLinks Order deny,allow deny from all allow from localhost </Directory>
es a um diret Directory - restric o orio do sistema de arquivos < Directory directory path > ... < /Directory >
DirectoryMatch - mesmo, mas aceita express oes regulares < DirectoryMatch regex > ... < /DirectoryMatch >
usados em: server cong, virtual host 15 es a arquivos do disco Files - restric o < Files f ilename > ... < /Files >
FilesMatch - aceita express oes regulares < FilesMatch regex > ... < /FilesMatch >
es ao diret Location - restric o orio especicado na URL < LocationURL path|URL > ... < /Location >
LocationMatch - o mesmo, mas aceita express oes regulares < LocationMatch regex > ... < /LocationMatch >
server cong, virtual host
FI
o A t
15 httpd.apache.org/docs/2.2/mod/directive-dict.html#Context
VirtualHost - diretivas se aplicam a um hostname ou IP espec co < VirtualHost addr[: port ] [addr[: port ]] ... > ... < /VirtualHost > server cong
-U
as
ifDefine - diretivas ser ao processadas se o teste for verdadeiro < I f De f ine [!] parameter name > ... < /I f De f ine >
server cong, virtual host, directory, .htaccess ifModule - diretivas ser ao processadas na aus encia ou presenc a de um m odulo espec co < I f Module [!]module name > ... < /I f Module > server cong, virtual host, directory, .htaccess
d so e A
46
In
te
u rn la o
-2
01
Diretiva Options16 Congura que caracter sticas s ao dispon veis em um diret orio particular. Options[+|]option[[+|]option]...
server cong, virtual host, directory (exceto Files), .htaccess All - Tudo exceto MultiViews (default) o de scripts CGI (mod cgi) ExecCGI - Permite a execuc a FollowSymLinks - O servidor seguir a links simb olicos
Indexes - Permite a listagem do diret orio se n ao h a um arquivo especicado pela diretiva DirectoryIndex o de conte Multiviews - Negociac a udo17 : permite o envio de p aginas no idioma requisitado pelo navegador do cliente Includes - Permite includes por mod include18
IncludesNOEXEC - Permite includes, mas os comandos #exec e #include de um script CGI s ao desativados seguido apenas se o arquivo alvo tiver SymLinksIfOwnerMatch - link simb olico e o mesmo dono do link
Outras diretivas
Allow/Deny
FI
o A t
Allow - lista os hosts que possuem permiss ao para acessar o diret orio
-U
as
Order - Controla o estado de acesso default e a ordem na qual Allow e Deny s ao avaliadas es Order Deny,Allow (default) - avalia o deny antes e ent ao garante as excec o baseadas na diretiva allow es baseadas na Order Allow,Deny - avalia o allow antes e ent ao garante as excec o diretiva deny Mutual Failure - indica que somente os hosts que aparecem na lista allow e n ao aparecem na lista deny possuir ao acesso
d so e A
47
In
te
u rn la o
-2
01
15.2
Virtual Hosts
<V i r t u a l H o s t 1 9 6 . 1 2 3 . 4 5 . 2 > ServerName www. domain3 . com DocumentRoot / o p t / a p a c h e / h t d o c s /www. domain3 . com / </ V i r t u a l H o s t >
FI
o A t
o deve ser atendida por um servidor web? 1. Que requisic a o do apache. 2. Fornec a o caminho e nome do arquivo principal de congurac a
-U
as
16
Exerc cios
In
te
<V i r t u a l H o s t 1 9 6 . 1 2 3 . 4 5 . 1 > ServerName www. domain2 . com DocumentRoot / o p t / a p a c h e / h t d o c s /www. domain2 . com / </ V i r t u a l H o s t >
d so e A
<V i r t u a l H o s t 1 9 6 . 1 2 3 . 4 5 . 1 > ServerName www. domain1 . com DocumentRoot / o p t / a p a c h e / h t d o c s /www. domain1 . com / </ V i r t u a l H o s t >
u rn la o
-2
Virtual Hosts Pr atica de rodar mais de um web site (www.empresa1.com e www.empresa2.com) nica m em uma u aquina.
01
Exemplos: Allow from localhost 192.168.0.1 Deny from all Allow from .net example.edu Allow from 10 172.20 192.168.2 Allow from 10.1.0.0/16 Allow from 10.1.0.0/255.255.0.0
(a) listen.conf (b) uid.conf (c) conf.d (e) vhosts.d 5. Como identicar na sa da do comando netstat, uma linha que conrme a o de um servidor web? execuc a 6. Como testar o funcionamento de um servidor web usando um browser?
o do servidor apache, listadas 7. Responda sobre as diretivas de congurac a abaixo: (a) DirectoryIndex (b) DocumentRoot (c) ServerName (d) ServerAdmin (f) User (g) Group
o, na congurac o 8. Explique o que puder sobre os exemplos de blocos de sec a a do apache, abaixo:
(c)
FI
o A t
-U
as
(b)
<VirtualHost *:80> ServerAdmin webmaster@dummy-host.example.com ServerName dummy-host.example.com DocumentRoot /srv/www/vhosts/dummy-host.example.com ErrorLog /var/log/apache2/dummy-host.example.com-error_log CustomLog /var/log/apache2/dummy-host.example.com-access_log combined <Directory "/srv/www/vhosts/dummy-host.example.com"> Options Indexes FollowSymLinks AllowOverride None Order allow,deny Allow from all </Directory> </VirtualHost>
In
49
te
(a)
d so e A
Alias /doc "/usr/share/doc/" <Directory /usr/share/doc> Options Indexes FollowSymLinks Order deny,allow deny from all allow from localhost </Directory>
u rn la o
-2
01
(d) default-server.conf
17
17.1
lab1: apache
Objetivos
Conhecer o servidor web apache Entender o funcionamento do servidor web Iniciar/parar o servidor o de p Entender as permiss oes de arquivos para a exibic a aginas
Conhecimentos b asicos de Linux o Linux instalada Distribuic a Servidor Web Apache2 instalado
17.3
Iniciando o servidor
1. H a um servidor apache instalado no sistema? Escreva como vericar. 2. Anote a vers ao:
4. Use o comando netstat -na e verique se o servidor web est a funcionando. Anote a linha que conrma isso. 5. Use o comando telnet para testar o servic o. Anote o que deve ser feito. 6. Use um navegador para testar o servic o. Anote o enderec o a ser acessado. Justique o uso desse enderec o.
FI
o A t
17.4
Entendendo os m odulos
necess Para o pr oximo passo e ario o m odulo userdir. Esse m odulo permite que um usu ario publique p aginas na web a partir de um diret orio public html em seu diret orio de usu ario. o de links simb Para habilitar um m odulo no apache, basta a criac a olicos no diret orio mods-enabled apontando para os m odulos existentes no diret orio mods-available. 50
-U
as
7. Abra um terminal e use o comando tail -f para visualizar o arquivo de log do apache. Copie aqui o comando que o servidor recebe do navegador acessada. quando a p agina inicial e
d so e A
In
te
u rn la o
-2
17.2
Requisitos
01
O script a2enmod pode ser utilizado para habilitar um m odulo no apache, o desse script e criar como mostrado abaixo, executado pelo usu ario root. A func a os links simb olicos necess arios no diret orio mods-enabled.
1. Verique as permiss oes desse diret orio com ls -ld /public html/
o na web, de um arquivo 2. Quais permiss oes s ao necess arias para a exibic a deste diret orio? Explique. 3. Crie um arquivo index.html nesse diret orio, com o conte udo abaixo e use o enderec o http://localhost/usuario para acess a-lo. <HTML> <H1> Oi, sou uma p agina html!!</H1> </HTML>
o desse arquivo na web? 5. Quais permiss oes s ao necess arias para a exibic a Explique.
18
18.1
lab2: apache
Objetivos
FI
o A t
18.2
o Autorizac a
1. Vamos especicar o acesso ao diret orio /usr/share/doc para localhost e proibir para outros: Alias /doc "/usr/share/doc/" <Directory /usr/share/doc> Options Indexes FollowSymLinks Order deny,allow 51
-U
as
d so e A
In
te
u rn la o
-2
01
17.5
# a2enmod userdir
O item Alias dene um nome, atrav es do qual ser a acessada a p agina no diret orio na sequ encia (entre aspas). Dessa forma pode-se usar o enderec o http://localhost/doc/ para acessar o diret orio /usr/share/doc. es dispon As opc o veis no item Options e o item Order est ao no item 12.6 do focalinux avanc ado.
o afetar Directory A restric a a o diret orio no disco especicado, conseq uentemente a p agina armazenada nele. Por exemplo: <Directory /var/www> Order deny,allow deny from all allow from 10.1.0.1 <Directory>
Au
In
52
3. Fac a um teste com o IP do seu vizinho e veja se ele consegue acessar as o na sua m p aginas de documentac a aquina
18.3
o Autenticac a
ta
No
FI A
o e preciso criar um arquivo de senhas. O comando htpasswd 1. Na autenticac a usado para isso. e usada 2. Para criar um arquivo com o nome senhaspara o usuario aluno, e a sintaxe: htpasswd -c -m senhas aluno note que o arquivo senhas precisa ter permiss ao de leitura para o usu ario que roda o apache;
Us o
de
te
# permite acesso ao localhost e a m aquina com esse IP # permite acesso a localhost e a todas as m aquinas com IP 10.1.1.*
rn
O acesso ao diret orio /var/www ser a permitido somente ao computador com o enderec o IP 10.1.0.1.
la
20 11
Alias /doc "/usr/share/doc/" <Directory /usr/share/doc> Options Indexes FollowSymLinks AuthName "Acesso a documentac ao" AuthType basic AuthUserFile /etc/httpd/senhas Require valid-user </Directory>
o acima permite o acesso sem senha para localhost e com A congurac a senha para outros IPs. Teste com o seu vizinho. o pode ser usada para a criac o de intranets, permitindo o Essa congurac a a acesso de fora para certos usu arios.
ta
18.4
o de hosts virtuais: 1. Congurac a um recurso que permite servir mais de um Virtual Hosts (sites virtuais) e site no mesmo servidor. Vamos testar o m etodo baseado em nome com um o: exemplo de um dominio para a nossa documentac a 53
FI A
No
Virtual Hosts
Us o
de
<Directory /usr/share/doc> Options Indexes MultiViews Order deny,allow deny from all allow from localhost AuthName "Acesso aos docs" AuthType basic AuthUserFile /etc/httpd/senhas require valid-user require user aluno satisfy any </Directory>
Au
In
te
rn
la
4. Crie o arquivo senhas no diret orio /var/www e d e permiss ao para todos lerem (ao inv es disso pode-se mudar o dono e grupo do arquivo para o usu ario e grupo que rodam o apache e dar permiss ao de leitura somente a esses)
20 11
4. Monitore o arquivo de log - use o comando tail -f arquivo - e acesse a p agina a partir do seu micro.
19
1. Vamos criar o dom nio seunome.sobrenome. Anote o dom nio criado: 2. Comece adicionando sua zona ao nal do arquivo named.conf
zone "seunome.seusobrenome" { type master; file "db.seunome"; };
FI
o A t
$TTL 3D @ IN SOA ns.seunome.sobrenome. root.seunome.sobrenome. ( 200609181 3H 15M 1W 1D ) NS ns.seunome.sobrenome. localhost A 127.0.0.1 ns A 10.1.1.7 www CNAME ns www2 A 10.1.1.7
-U
as
In
d so e A
54
te
u rn la o
-2
3. Crie o diret orio empresa no diret orio /var/log/apache - ou no diret orio o - e crie os arquivos access.log e error.log de log usado na sua distribuc a nesse diret orio - use o comando touch;
01
NameVirtualHost * <VirtualHost *> ServerName empresa.meudominio.org DocumentRoot /usr/share/doc TransferLog /var/log/apache/empresa/access.log ErrorLog /var/log/apache/empresa/error.log </VirtualHost>
6. Reinicie named e d e uma olhada nos logs es. Escreva como ele seria utilizado. 7. Use o dig para testar suas congurac o
(c) Vc consegue encontrar os sites usando o navegador? Se sim, qual o foi necess congurac a aria, al em do servidor named?
20
Refer encias
Refer encias
[3] Silva, G.M. Guia Foca GNU/Linux. Dispon vel em: http://focalinux. cipsga.org.br/guia/avancado/ch-s-apache.htm. Acesso em: 21 jul. 2006.
FI
o A t
rewall - iptables
21.1
21
O Firewall
o Introduc a
-U
as
Parte VI
In
te
[2] The Apache Software Foundation. Apache HTTP Server Version 2.0 Documentation. Dispon vel em: http://httpd.apache.org/docs/2.0/. Acesso em: 21 jul. 2006.
d so e A
[1] Sheer, P. LINUX: Rute Users Tutorial and Exposition (Version 1.0.0). Dispon vel em: http://packages.debian.org/stable/doc/rutebook. Acesso em: 21 jul. 2006.cap.36.
u rn la o
-2
8. Crie dois Virtual Hosts baseados em nome (Name Virtual Hosts) em seu o de named e responda as quest servidor Apache usando sua congurac a oes abaixo:
01
Impedir conex oes vindas da Internet para sua rede local NAT
21.2
iptables
uma estrutura de tabelas para o estabelecimento de regras. iptables e es (iptables Cada regra em uma tabela consiste de um n umero de comparac o o relativa as comparac es (iptables target)[?]. matches) e uma ac a o
o A t
Linux 2.4.x and 2.6.x kernel em diante Dividido em duas partes: Ferramentas em espac o de usu ario (iptables) M odulos do kernel (netlter) o dos m para a compilac a odulos:
Networking support -> Netorking options -> Network packet filtering framework
FI
-U
as
d so e A
56
In
te
u rn la o
-2
01
22
22.1
22.1.1
Conceitos b asicos
regras, chains e tabelas
Regras
...
, em mem regras s ao armazenadas no kernel, isto e oria iptables -A INPUT -s 123.123.123.1 -j DROP 22.1.2 Chains - listas de regras
locais onde as regras do rewall denidas pelo usu ario s ao armazenadas para operac ao do rewall Existem dois tipos de chains:
o A t
a tabela padr filter - Esta e ao nat - Usada para dados que geram outra conex ao (masquerading, source nat, destination nat, port forwarding, proxy transparente s ao alguns exemplos) es especiais de pacotes (como modi mangle - Utilizada para alterac o car o tipo de servic o (TOS), TTL ou MARK)
FI
-U
as
s ao locais usados para armazenar as chains e conjunto de regras com uma determinada caracter stica em comum existem 3 tabelas dispon veis no iptables:
In
57
te
d so e A
u rn la o
-2
01
22.1.4
Tabela lter - Cont em 3 chains: INPUT - Consultado para dados que chegam a m aquina OUTPUT - Consultado para dados que saem da m aquina
FORWARD - Consultado para dados que s ao redirecionados para outra interface de rede ou outra m aquina Tabela nat Network Address Translation - Cont em 3 chains:
OUTPUT - Consultado quando os pacotes gerados localmente precisam ser consultado para modicados antes de serem roteados. Este chain somente e conex oes que se originam de IPs de interfaces locais.
INPUT - os pacotes precisam ser modicados antes de serem enviados para o chain INPUT da tabela lter
FI
o A t
PREROUTING - os pacotes precisam ser modicados antes de ser enviados para o chain PREROUTING da tabela nat POSTROUTING - os pacotes precisam ser modicados antes de serem enviados para o chain POSTROUTING da tabela nat OUTPUT - os pacotes precisam ser modicados antes de serem enviados para o chain OUTPUT da tabela nat
-U
as
FORWARD - os pacotes precisam ser modicados antes de serem enviados para o chain FORWARD da tabela lter
d so e A
58
POSTROUTING - Consultado quando os pacotes precisam ser modicados o chain ideal para realizac o de SNAT e ap os o tratamento de roteamento. E a IP Masquerading
In
te
u rn la o
PREROUTING - Consultado quando os pacotes precisam ser modicados logo o chain ideal para realizac o de DNAT e redirecionamento que chegam. E a de portas
-2
01
Atravessando as tabelas
Um pacote chega da rede para a primeira decis ao de roteamento: antes da decis ao de roteamento: pode ter enderec o de destino mudado na chain PREROUTING (DNAT); depois segue para a decis ao de roteamento; destinado para a m se n ao e aquina local FORWARD (lter) destinada para a m se e aquina local INPUT (lter)
FI
o A t
xo; SNAT (Source NAT) - utilizado quando o IP da interface de sa da e din MASQUERADE - utilizado quando o IP da interface de sa da e amico;
23
23.1
lab1: iptables
Objetivos
-U
as
passa pela tabela lter OUTPUT; roteado para a Internet: depois da decis ao de roteamento, se o pacote e tem o enderec o de origem mudado na chain POSTROUTING (SNAT OU MASQUERADE)
In
te
DNAT (Destination NAT) - utilizado para mudar IP de destino e/ou porta, para direcionar o pacote para um servidor interno;
d so e A
u rn la o
-2
01
23.2
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
Atividade
# ! / bin / sh # i p t a b l e s f l u s h . sh # h t t p : / / i p t a b l e s t u t o r i a l . f r o z e n t u x . n e t / s c r i p t s / r c . f l u s h i p t a b l e s . t x t IPTABLES= / s b i n / i p t a b l e s # c o n f i g u r a a s p o l i t i c a s p a d r a o p a r a ACCEPT $IPTABLES P INPUT ACCEPT $IPTABLES P OUTPUT ACCEPT $IPTABLES P FORWARD ACCEPT $IPTABLES t n a t P PREROUTING ACCEPT $IPTABLES t n a t P POSTROUTING ACCEPT $IPTABLES t n a t P OUTPUT ACCEPT $IPTABLES $IPTABLES $IPTABLES $IPTABLES $IPTABLES t t t t t mangle mangle mangle mangle mangle P P P P P PREROUTING ACCEPT POSTROUTING ACCEPT INPUT ACCEPT OUTPUT ACCEPT FORWARD ACCEPT
Au
In
60
ta
3. Tente um ping em localhost 4. Liberando o loopback - V arios programas precisam do acesso a interface lo - loopback
FI A
No
Us o
de
iptables [-t tabela] [-P chain] [ACCEPT/DROP] - A pol tica padr ao determina o que acontecer a com um pacote quando ele chegar ao nal das regras contidas em um chain
te
rn
la
20 11
iptables -A INPUT -i lo -j ACCEPT iptables -A OUTPUT -o lo -j ACCEPT 5. Estados dos pacotes (m odulo ip conntrack) - Nessas regras s ao permitidos os pacotes estabelecidos e relacionados a conex oes geradas de nossa pr opria m aquina. NEW - Confere com pacotes que criam novas conex oes ESTABLISHED - Confere com conex oes j a estabelecidas
INVALID - Confere com pacotes que n ao puderam ser identicados por algum motivo. Como respostas de conex oes desconhecidas. iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT 6. Navegar:
23.3
o A t
FI
O script do rewall deve se executado automaticamente sempre que o sistema e iniciado, assim as regras do rewall s ao carregadas na mem oria e passam a proteger a m aquina e a rede por tr as dela.
24
-U
as
O comando iptables-restore recebe como entrada um arquivo com as regras salvas pelo comando iptables-save e restaura essas regras na mem oria. Usamos o redirecionamento para entrada, nesse caso: # iptables-restore < meufirewall.txt
In
utilizado para copiar as regras da mem O comando iptables-save e oria para a sa da padr ao (tela). Essa sa da pode ser redirecionada para um arquivo, como mostrado abaixo:
d so e A
61
iptables -A OUTPUT -p tcp --dport 80 -j ACCEPT iptables -A OUTPUT -p udp --dport 53 -j ACCEPT
te
u rn la o
-2
RELATED - Confere com pacotes relacionados indiretamente a uma conex ao, como mensagens de erro icmp, etc.
01
24.1
24.2
Refer encias
FI
o A t
[3] Russell, R. Linux 2.4 Packet Filtering HOWTO. Dispon vel em: http://www.netfilter.org/documentation/HOWTO/pt/ packet-filtering-HOWTO.html. Acesso em: 22 out. 2006.
-U
as
[2] Silva, G.M. Guia Foca GNU/Linux. Dispon vel em: http://focalinux. cipsga.org.br/guia/avancado/ch-fw-iptables.html. Acesso em: 21 out. 2006.
In
[1] Andreasson, O. Iptables Tutorial 1.2.1. Dispon vel em: http: //iptables-tutorial.frozentux.net/iptables-tutorial.html. Acesso em: 22 out. 2006.
d so e A
62
o do script do O arquivo /etc/rc.local pode ser utilizado para a execuc a usado para executar os u ltimos comandos, denidos pelo rewall. Esse arquivo e o de todos os servic o. administrador, ap os a inicializac a os do runlevel em utilizac a es do GNU/Linux possuem esse arquivo, inclusive a distribuiac o Todas as distribuic o a Debian;
te
u rn la o
-2
# arquivo /etc/network/interfaces auto lo iface lo inet loopback auto eth0 iface eth0 inet dhcp pre-up /etc/fwbuilder/firewall.fw $IFACE $IF_ADDRESS
01
o Debian e suas derivadas t A distribuic a em uma facilidade para rodar o script o de rede. do rewall de dentro do arquivo de congurac a o pre-up e capaz de rodar o script do rewall a partir do arquivo A opc a /etc/network/interfaces. o roda o comando informado logo que a interface de rede e ativada. Essa opc a Se o comando falha a interface permanece desativada. Dessa forma, a interface n ao ativada sem um rewall. e
Parte VII
ssh
25
25.1
Fornece conex ao segura (encriptada) entre dois hosts em uma rede insegura Conex oes X11 podem ser utilizadas no canal seguro Exemplos: ssh user@hostname scp user@hostname:arquivo . scp arquivo user@hostname:.
25.2
o M etodos de autenticac a
o do teclado Interac a pedida pelo teclado A senha e o por chave p Autenticac a ublica
o A t
FI
-U
as
In
Servidor verica se a chave privada fornecida bate com a chave publica em: $HOME/.ssh/authorized keys
te
Cliente usa sua chave privada (algoritmo RSA ou DSA) $HOME/.ssh/id dsa ou $HOME/.ssh/id rsa
d so e A
u rn la o
-2
01
25.3
o do cliente Congurac a
es de linha de comando (man ssh) Opc o -X habilita X11Forward -p porta do servidor ssh o por host (man ssh cong) Arquivo de congurac a /etc/ssh/ssh config (global) $HOME/.ssh/config (por usu ario)
$ cat / . ssh / config Host c l i e n t e 1 HostName s i t e f a m o s o . com . b r P o r t 9022 U s e r sadm I d e n t i t y F i l e / . ssh / idsadm $ ssh c l i e n t e 1
25.4
o do servidor Congurac a
26
tcp wrappers
FI
o A t
-U
as
In
d so e A
64
te
Arquivo /etc/ssh/sshd config (man sshd cong) Port 22 ListenAddress 0.0.0.0 PermitRootLogin no X11Forwarding yes AllowUsers aluno user@host
u rn la o
-2
01
Parte VIII
postx
27
27.1
email
o Introduc a
Sistemas de correio
MTA - Mail Transport Agent: envia e recebe emails via SMTP (o servidor de emails) ex.: sendmail, exim, qmail, postx, ...
agente de acesso: conecta o MUA ao local de armazenamento de mensagens servidores IMAP ou POP (ipopd): courier, cyrus
27.2
Postx
Postx
o A t
es do servidor /etc/postfix/main.cf - congurac o es padr man 5 postconf mostra os par ametros e suas congurac o ao /etc/postfix/master.cf - descreve como um daemon do postx deve rodar
FI
19 Fully
-U
as
nico processo e respons diferente da arquitetura do sendmail onde um u avel por tudo
o: Arquivos de congurac a
In
65
te
http://www.postfix.org/
d so e A
u rn la o
MDA - Mail Delivery Agent: deixa as mensagens recebidas em armazenamento local ex.: fetchmail, procmail, ...
-2
MUA - Mail User Agent: permite ao usu ario ler e compor mensagens ex.: evolution, Thunderbird, pine, mutt, ...
01
mydomain = dominio.com.br mydestination = $myhostname, localhost , destino nal das nomes de dom nios que devem ser tratados como local, isto e mensagens mynetworks = 127.0.0.1/8 192.168.0.0/24 redes ou IPs em que o postx ir a aceitar relay inet interfaces = all seleciona as interfaces onde o postx ir a esperar por conex oes
postconf - exibe ou altera o valor de par ametros de main.cf postqueue - controle das las postsuper - gerencia as las
27.3
Servidor POP
Servidor POP
FI
o A t
-U
as
Iniciado via o daemon xinetd edite /etc/xinetd.d/imap e reinicie xinetd para iniciar o servic o
d so e A
66
In
te
u rn la o
-2
repetido mais de uma vez no arquivo, somente a u ltima Quando um par ametro e v vez e alida. A ordem dos par ametros no arquivo main.cf n ao importa.
01
Squirrelmail http://www.squirrelmail.org/ iniciar imap server via xinetd criar arquivo /etc/cram-md5.pwd congurar squirrelmail
# cd / s r v / www / h t d o c s / s q u i r r e l m a i l # . / configure
http://localhost/squirrelmail
28
28.1
o da 1 - Devemos incluir nosso servidor de email no arquivo de congurac a zona seunome.sobrenome.: $TTL 3D @ IN SOA ns.seunome.sobrenome. root.seunome.sobrenome. ( 200609181 3H 15M 1W 1D ) NS ns.seunome.sobrenome. MX 5 mail.seunome.sobrenome. ns A 10.1.1.7 mail A 10.1.1.7 2 - reinicie named e teste se o DNS responde corretamente: dig mx seunome.sobrenome.
ta
FI A
No
Us o
de
In
67
28.3
o do DNS Congurac a
te
Nessa atividade vamos congurar o registro MX de um dom nio, procurado pelos servidores de email para o envio de mensagens, e congurar o servidor de email postx.
rn
28.2
Atividade
Au
la
20 11
27.4
webmail
28.4
o do sistema Congurac a
1 - Edite o arquivo /etc/mailname e substitua seu conte udo com o nome do seu dom nio. Esse ser a a origem dos emails enviados por essa m aquina. seunome.sobrenome 2 - Agora utilize o comando hostname para mudar o nome do host: # hostname mail
28.5
o do postx Congurac a
es abaixo: 1 - Edite o arquivo /etc/postfix/main.cf e altere as congurac o myhostname = mail.seunome.sobrenome mydomain = seunome.sobrenome
# /etc/init.d/postfix restart
FI
o A t
q - sair
h - listar os emails
20 O
-U
as
Digite mail para ver o email recebido. Alguns dos comandos aceitos s ao:
In
d so e A
68
te
u rn la o
-2
01
Parte IX
squid
29
29.1
Conhecendo o squid
o Introduc a
o Squid? O que e Servidor web proxy cache. ` internet. An alise de tr afego de acesso a
o de acesso por ACLs (Access Control List). Restric a Desempenho e Estabilidade. Economia de Banda. proxy? O que e
FI
o A t
sarg gera relat orios baseados nos logs de acesso do squid. (access.log).
29.3
o Arquivo de congurac a
-U
as
29.2
In
d so e A
69
Isolamento de Redes.
te
u rn la o
-2
01
30
30.1
ACL de bloqueio por palavra-chave (url regex -i) tag http access M etodo de bloqueio seletivo
FI
o A t
-U
as
d so e A
70
In
te
u rn la o
30.2
o tags de congurac a
-2
01
30.3
o Autenticac a
30.4
31
31.1
/etc/squid/sarg.conf
resolve ip yes
FI
o A t
o do sarg Utilizac a O comando crontab pode ser usado para rodar o comando sarg diariamente:
# m i n u t o h o r a d i a mes d i a d a s e m a n a comando 0 12 15 / u s r / b i n / s a r g && e c h o > / v a r / l o g / s q u i d / a c c e s s . l o g
O comando indicado ser a executado as 12:00, qualquer dia de qualquer m es, de segunda (1) a sexta (5)
-U
as
report type topsites users sites sites users date time denied auth failures site user time date
In
language Portuguese
d so e A
71
te
u rn la o
htpasswd /etc/squid/passwd outro user Adiciona outro usu ario a lista de senhas do squid.
-2
01
# A u t e n t i c a c a o dos U s u a r i o s ( Squid ) # usando n c s a a u t h # L e i a d o c u m e n t a c a o em / u s r / s h a r e / doc / s q u i d auth param b a s i c realm Squid a u t h p a r a m b a s i c p r o g r a m / u s r / l i b / s q u i d / n c s a a u t h / e t c / s q u i d / passwd auth param basic c h i l d r e n 5 auth param b a s i c realm D i g i t e sua senha auth param basic c r e d e n t i a l s t t l 2 hours auth param basic c a s e s e n s i t i v e off a c l a u t e n t i c a d o s p r o x y a u t h REQUIRED h t t p a c c e s s allow a u t e n t i c a d o s
32
32.1
lab: squid
Limpeza do arquivo squid.conf
Obtemos o arquivo sem coment arios e espac os em branco, como o exemplo abaixo:
h i e r a r c h y s t o p l i s t c g i b i n ? a c l QUERY u r l p a t h r e g e x c g i b i n \ ? n o c a c h e deny QUERY h os t s f il e / etc / hosts 1440 20% 10080 refresh pattern ftp : r e f r e s h p a t t e r n gopher : 1440 0% 1440 refresh pattern . 0 20% 4320 acl all src 0.0.0.0/0.0.0.0 a c l manager p r o t o c a c h e o b j e c t acl localhost src 127.0.0.1/255.255.255.255 acl to localhost dst 127.0.0.0/8 a c l S S L p o r t s p o r t 443 563 # h t t p s , snews a c l S S L p o r t s p o r t 873 # rsync a c l S a f e p o r t s p o r t 80 # http # ftp a c l S a f e p o r t s p o r t 21 a c l S a f e p o r t s p o r t 443 563 # h t t p s , snews a c l S a f e p o r t s p o r t 70 # gopher a c l S a f e p o r t s p o r t 210 # wais a c l S a f e p o r t s p o r t 1025 65535 # u n r e g i s t e r e d p o r t s a c l S a f e p o r t s p o r t 280 # h t t p mgmt # g s s h t t p a c l S a f e p o r t s p o r t 488 a c l S a f e p o r t s p o r t 591 # filemaker a c l S a f e p o r t s p o r t 777 # multiling http a c l S a f e p o r t s p o r t 631 # cups a c l S a f e p o r t s p o r t 873 # rsync # SWAT a c l S a f e p o r t s p o r t 901 a c l p u r g e method PURGE a c l CONNECT method CONNECT h t t p a c c e s s a l l o w manager l o c a l h o s t h t t p a c c e s s deny manager h t t p a c c e s s allow purge l o c a l h o s t h t t p a c c e s s deny p u r g e h t t p a c c e s s deny ! S a f e p o r t s h t t p a c c e s s deny CONNECT ! S S L p o r t s acl our networks src 172.20.0.0/24 192.168.2.0/24 127.0.0.1 h t t p a c c e s s allow our networks h t t p a c c e s s deny a l l h t t p r e p l y a c c e s s allow a l l i c p a c c e s s allow a l l coredump dir / var / spool / squid # P a r a o u s o do p r o x y c a c h e p e e r 1 9 2 . 1 6 8 . 6 0 . 8 p a r e n t 3128 3130 no q u e r y
FI
o A t
32.2
-U
as
d so e A
In
te
u rn la o
-2
01
$ g r e p v # s q u i d . c o n f . o r i g | g r e p v $ > s q u i d . c o n f
Dena as redes que podem acessar o servidor proxy e negue o acesso a todas as outras
acl our networks src 172.20.0.0/24 192.168.2.0/24 127.0.0.1 h t t p a c c e s s allow our networks h t t p a c c e s s deny a l l
32.3
Bloqueio de sites
2. Adicionar uma linha http access para negar o acesso a primeira acl e permitir o) o acesso a segunda (usando ! para negac a
h t t p a c c e s s deny b l o q u e a d o s ! n a o b l o q u e a d o s
3. Criar os arquivos block.txt e unblock.txt com palavras que ser ao proibidas es, respectivamente, uma por linha. e excec o Ex.: proibir a palavra yahoo em block.txt e permitir yahoogroups em unblock.txt.
Parte X
33.1
o Introduc a
o A t
servic os: portmap e nfs comandos: mount, umount arquivos: /etc/exports, /etc/fstab
FI
-U
as
In
33
73
te
NFS
d so e A
u rn la o
-2
01
33.2
O servidor NFS
o do servidor Congurac a
ro - read only
33.3
o do cliente Congurac a
rsize - n umero de bytes usados na leitura de arquivos wsize - n umero de bytes usados na escrita de arquivos es em d timeo - tempo limite para requisic o ecimos de segundo
FI
o A t
-U
as
es bloqueadas intr - permite aos usu arios interromperem as operac o (fazendo com que retorne um erro)
d so e A
/ mnt nfs
In
74
te
u rn la o
-2
es de gravac o de maneira assincrona. Mel async - processa solicitac o a o, mas possibilita a perda de dados no hora o desempenho na gravac a caso de queda.
01
/etc/exports
33.4
tcp wrappers
Parte XI
34
34.1
Conhecendo o Samba
o Introduc a
o Samba? O que e
Cliente de uma rede Windows Servidor de dom nio para clientes Windows Controle de acesso em n vel de usu ario
FI
o A t
-U
as
In
Protocolo SMB (Server Message Block) ou CIFS (Common Internet File System)
75
te
Servidor e conjunto de ferramentas para Unix para conversar com redes Windows
d so e A
u rn la o
samba
-2
01
34.2
Daemons
34.3
o para acesso a recursos de uma m smbclient - ferramenta de navegac a aquina SMB remota; possui interface similar a de um cliente FTP; smbmount, smbumount - monta/desmonta um compartilhamento de uma m aquina SMB remota; testparm - faz a checagem do arquivo smb.conf;
35.1
O arquivo smb.conf
FI
o A t
/etc/samba/smb.conf 21
21 smbd
-U
as
35
Congurando o Samba
d so e A
76
In
te
u rn la o
-2
01
o smbd - respons avel pelo compartilhamento de arquivos e impressoras, autenticac a o para clientes SMB; e autorizac a
nmbd - suporta o servic o de nomes NetBIOS e WINS. Participa no mecan o de rede; ismo de navegac a
es s nomes de sec o ao colocados entre colchetes ( [ ] ) a sec o principal de congurac o Ex.: [global ] e a a o cont es na forma: chave = valor cada sec a em congurac o Ex.: workgroup = meugrupo dene o grupo de trabalho onde o servidor samba estar a inserido. smb.conf
[global] workgroup = home netbios name = linux [share] path = /tmp comment = Arquivos [homes] guest ok = no read only = no
o global Sec a
FI
o A t
35.2
o de um PDC Congurac a
es para um PDC Modicac o ltimo arquivo de congurac o para obtermos um PDC. Uma Vamos modicar o u a m aquina Windows NT Server.
PDC
-U
as
guest ok - usu ario guest conecta sem senha. read only - se somente para leitura.
In
77
te
d so e A
u rn la o
Palavras-chave
-2
01
o global Sec a
announce as = NT Server security = user domain master = yes prefered master = yes
o com algumas vantagens para ser prefered master - Forc a uma eleic a eleito sempre como o controlador de dom nio
useradd -g domainmac -c Maquina de Dominio -s /bin/false -d /dev/null master$ arquivo /etc/samba/smbpasswd smbpasswd -m -a master
o das contas de m Criac a aquina automaticamente o global do arquivo smb.conf: Por, na sec a
FI
o A t
-U
as
d so e A
In
te
u rn la o
Contas de m aquinas de dom nio Uma conta de m aquina de dom nio garante que nenhum outro computador possa utilizar o mesmo nome de uma m aquina con avel e assim utilizar os compartilhamentos que ela tem permiss ao.
-2
announce as - Seleciona o nome com o qual o samba (nmbd) se anunciar a na lista de pesquisa de rede
01
Palavras-chave
o script que ser logon script - e a executado na m aquina cliente quando zer o logon logon drive - unidade de disco que ter a o homedir do usu ario mapeado. M aquinas NT/2000/XP
Palavras-chave
man pages
FI
o A t
37.1
Objetivos
Utilizar as ferramentas do pacote samba o b Utilizar uma congurac a asica do arquivo smb.conf Congurar um controlador de dom nio
-U
as
37
lab: samba
In
pacote samba-doc SAMBA Developers Guide Samba-3 by Example HOWTO and Reference Guide Using Samba, 2nd Edition
79
te
o, vers http://www.samba.org/ documentac a ao (3.0), fontes, bin arios, GUIs, es ao desenvolvedor,.. informac o
d so e A
36
o Documentac a
u rn la o
write list - Lista de usu arios separados por espac o ou v rgula que poder ao ler e gravar no compartilhamento. Caso o nome for iniciado por @, o nome especicado ser a tratado como um grupo UNIX (/etc/group) e todos o os usu arios daquele grupo ter ao acesso de gravac a
-2
01
37.2
37.2.1
Utilit arios
smbclient
Para a listagem dos compartilhamentos existentes em um servidor: smbclient -L servidor Lista os compartilhamentos de servidor;
smbclient //servidor/pasta -U aluno -W grupo Acessa o compartilhamento como usu ario aluno e grupo de trabalho grupo. Comandos como ls, put e get s ao aceitos para transfer encia de arquivos.
> smbclient -L w2k -U aluno -W home Password: Domain=[W2K] OS=[Windows 5.0] Server=[Windows 2000 LAN Manager] Sharename Type Comment -----------------IPC$ IPC IPC remoto temp Disk arquivos temporarios ADMIN$ Disk Administrac ao remota C$ Disk Recurso compartilhado padrao Domain=[W2K] OS=[Windows 5.0] Server=[Windows 2000 LAN Manager] Server --------Workgroup --------Comment ------Master -------
37.2.2
smbmount
Permite a montagem de um disco compartilhado por uma m aquina SMB re o. mota como uma partic a
FI
o A t
> smbmount //w2k/C$ mnt/ -o username=administrador Password: > ls mnt/ arcldr.exe Documents and Settings PDFs arcsetup.exe IO.SYS RECYCLER Arquivos de programas MSDOS.SYS System Volume Information AUTOEXEC.BAT NTDETECT.COM temp Bootfont.bin ntldr WINNT boot.ini pagefile.sys CONFIG.SYS PDF LIVRE
-U
as
d so e A
80
In
te
u rn la o
-2
01
37.2.3
nmblokup
03 - GRUPO = Nome Gen erico registrado por todos os membros do grupo de trabalho. 1c - GRUPO = Controladores de Dom nio / Servidores de logon na rede. 1e - GRUPO = Resolvedores de Nomes Internet (WINS).
37.3
FI
o A t
1. Editar o arquivo /etc/samba/smb.conf Faremos modicac o es para o Linux aparecer no ambiente de rede do Windows; 81
[global] # secao global workgroup = HOME # grupo de trabalho da maquina netbios name = linux # Nome da maquina na rede SMB # share1 e share2 sao secoes de compartilhamento [share1] path = /tmp # Diretorio do Unix a ser compartilhado comment = Diretorio temporario do sistema read only = no valid users = aluno [share2] path = /pub comment = Arquivos # Comentario sobre o compartilhamento [homes] # Compartilhamento dos diretorios de usuarios do Unix comment = Home oirectories browseable = no writable = yes create mask = 0700 directory mask = 0700
-U
as
d so e A
In
te
u rn la o
-2
01
2. testparm Para testar o novo arquivo smb.conf 3. Editar arquivo /etc/hosts.allow Samba vem com tcpwrappers: arquivos hosts.allow e hosts.deny controlam acesso pela rede; es sejam lidas 4. Reiniciar servidor samba para que as novas congurac o Os scripts que iniciam os servic os cam em /etc/init.d
37.4
o abaixo, faz com que o samba trabalhe como um PDC - Primary A congurac a Domain Controller.
# Global parameters [global] workgroup = HOME netbios name = LINUX server string = Linux Server passdb backend = tdbsam security = user log file = /var/log/samba/%m.log max log size = 500 # # # # # # #
FI
o A t
[homes] comment = Home Directories writable = Yes browseable = No create mask = 0600 directory mask = 0700
-U
o de dom # configurac a nio domain logons = Yes os level = 100 preferred master = Yes domain master = Yes wins support = Yes time server = Yes
as
In
# script de login para ser executado no windows logon script = logon.cmd logon path = \\%N\%U\profile #profiles no diret orio do usu ario logon drive = X: logon home = "\\%N\%U"
d so e A
82
add user script = /usr/sbin/useradd -m %u delete user script = /usr/sbin/userdel -r %u add group script = /usr/sbin/groupadd %g delete group script = /usr/sbin/groupdel %g add user to group script = /usr/sbin/groupmod -A %u %g delete user from group script = /usr/sbin/groupmod -R %u %g add machine script = /usr/sbin/useradd -s /bin/false -d /var/lib/nobody %u
te
u rn la o
-2
01
valid users = %S
[print$] comment = Printer Drivers Share path = /var/lib/samba/drivers write list = aluno, @admin printer admin = aluno, @admin [tmp] comment = Temporary file space path = /tmp read only = No guest ok = Yes
smbpasswd -a root
mkdir -p /var/lib/samba/netlogon/scripts
FI
o A t
5. Crie usu arios do sistema Linux que podem logar a partir do windows
-U
as
o dos scripts de 3. Crie o diret orio netlogon/scripts utilizado para a manutenc a logon
In
83
te
d so e A
u rn la o
-2
[printers] comment = All Printers path = /var/spool/samba printer admin = aluno, @admin create mask = 0600 printable = Yes browseable = No
01
[netlogon] comment = Network Logon Service path = /var/lib/samba/netlogon admin users = aluno, @admin guest ok = Yes browseable = No
useradd -s /bin/false user passwd user smbpasswd -a user 6. Congure o Windows para logar no dom nio Se o script logon.cmd for criado no sistema Linux, estar a no formato Unix; nesse caso, use o utilit ario unix2dos para convert e-lo para o formato DOS. o prompt de comando. No exemplo abaixo, # e # unix2dos logon.cmd # ls logon.cmd # file logon.cmd logon.cmd: ASCII text, with CRLF line terminators # dos2unix logon.cmd # file logon.cmd logon.cmd: ASCII text
FI
o A t
-U
as
d so e A
84
In
te
u rn la o
-2
01
Comandos b asicos o na posic o do cursor i - entra em edic a a < ESC > - volta para o modo de comandos :wq - salva (w) e sai (q) q! - sai sem salvar (! forc a)
Outros comandos :r arquivo - adiciona arquivo na linha abaixo do cursor :w nome - salva arquivo com o nome fornecido
o abrindo uma linha abaixo do cursor o - entra em edic a o abrindo uma linha acima do cursor O - entra em edic a
Au
In
85
qemu e vde2
ta
FI A
No
um virtualizador e emulador de m qemu e aquinas[?]. Usado como emulador, ele pode rodar sistemas e programas de uma m aquina/arquitetura (ex.: ARM) em uma m aquina diferente (ex.: PC); Quando usado como virtualizador, o qemu atinge performances pr oximas da nativa quando utilizado junto com o m odulo kqemu. Para o aproveitamento da o por hardware contida nos processadores atuais, deve-se utilizar o virtualizac a kvm. um software do projeto Virtual Square[?]. Esse projeto inclui v vde e arios criar um ambiente unicado que softwares e bibliotecas. O principal objetivo e permita a m aquinas virtuais, sistemas e redes se comunicarem e iteragirem entre si.
Us o
de
te
rn
la
20 11
Comandos do vim
B.1
B.2
B.3
O comando slirpvde pode ser executado pelo usu ario comum e permite a o de rede atrav conex ao do switch virtual a internet, fornecendo a congurac a es do protocolo DHCP, para as m aquinas no switch. $ slirpvde -s /tmp/vde1 --dhcp --network 172.20.0.0 --daemon o --network permite a especicac o da rede que ser A opc a a a distribu da via dhcp.
B.4
FI
o A t
# Exemplo de um dos scripts debian_vma.sh # $ vdeqemu -m 128 -hda debian5.img -boot c -net nic,macaddr=00:11:22:33:44:50 -net vde,sock=/tmp/vde1 -snapshot
o O comando dhclient pode ser utilizado nas m aquinas virtuais para a congurac a o padr via DHCP se essa j a n ao for a congurac a ao na m aquina virtual. Pode ser utilizado, tamb em na m aquina host, para congurar a interface tap0 via DHCP.
# dhclient tap0
-U
as
Os scripts debian vma.sh e debian vmb.sh utilizam o comando ATENC AO: vdeqemu para levantar duas m aquinas virtuais a partir da imagem do arquivo debian vm.img. Cada script levanta uma m aquina com um enderec o MAC diferente, para que se comuniquem atrav es do switch virtual. Execute esses scripts para obter as m aquinas rodando.
d so e A
86
In
te
u rn la o
-2
O comando abaixo deve ser executado pelo root. Criar a um switch virtual em /tmp/vde1 com uma interface tap0 para conex ao com o host. A interface tap0 deve ser congurada para o acesso a m aquina virtual a partir do host. O comando ifcong -a mostra todas as interfaces.
01
Note o s mbolo # antes dos comandos. Signica que o comando deve ser executado como root. Quando utilizado o s mbolo $, o comando deve ser executado pelo usu ario.