Você está na página 1de 79

Administração de Redes Linux

Administração
de Redes Linux

Nota de Copyright

Copyright © 2005 Fabricio Vaccari Constanski

Permissionis grantedto copy, distributeand/or modify this documentunder


the termsof the GNUFree DocumentationLicense,Version1.2 or any
later versionpublishedby the Free SoftwareFoundation;
with no InvariantSections,no Front-CoverTexts, and no Back-Cover
Texts. A copy of the licenseis includedin the sectionentitled"GNU
Free DocumentationLicense".

É permitidaa cópia, distribuiçãoe/ou modificaçãodeste original


sob os termosda licençaGNUversão1.1 ou superiorpublicadapela Free
SoftwareFoundationdesdeque os trabalhosdele derivadosgarantama todosos
seus leitoresessemesmodireito e que as referênciasaos seus autoressejammantidas.
Umacópia da licençaestá incluídanestaapostila na seçãointituladade
"GNUFree DocumentationLicense".

Junho de 2005

Página 1
Administração de Redes Linux

Sumário
Sumário..................................................................................................................................................................2
1 Notasdo Autor.......................................................................................................................................................4
2 Rede...................................................................................................................................................................4
2.1 O que é umarede............................................................................................................................................4
2.2 Protocolode Rede...........................................................................................................................................4
2.3 Camadasde Rede...........................................................................................................................................4
2.4 RFCsde referênciasobreprotocolosde rede........................................................................................................5
2.5EndereçoIP....................................................................................................................................................5
2.6 Interfacede rede.............................................................................................................................................8
2.7 Roteamento....................................................................................................................................................9
2.8 Configuraçõesespeciaisde Rede.....................................................................................................................11
2.9 Exercício:.....................................................................................................................................................13
3 DHCP.................................................................................................................................................................13
3.1 Funcionamento..............................................................................................................................................13
3.2 Configurandoum servidorDHCP.......................................................................................................................13
3.3Testandoa configuraçãocomo PUMP................................................................................................................14
4 Serviçosde Rede.................................................................................................................................................14
4.1 ServiçosiniciadoscomoDaemonsde rede..........................................................................................................15
4.2 Serviçosiniciadosatravésdo inetd....................................................................................................................15
4.3 Segurançada Redee controlede Acesso...........................................................................................................17
4.4 Outrosarquivosde configuraçãorelacionadoscoma rede......................................................................................21
5 Algunscomandoúteis em rede................................................................................................................................21
5.1 netstat.........................................................................................................................................................21
5.2 traceroute.....................................................................................................................................................22
5.3 ping............................................................................................................................................................22
6 Servidortelnet .....................................................................................................................................................22
6.1 Introdução....................................................................................................................................................23
6.2 Características..............................................................................................................................................23
6.3 Arquivosde log criadospelo servidortelnet.........................................................................................................23
6.4 Instalação.....................................................................................................................................................23
6.5 (Re)Iniciandoo servidor..................................................................................................................................23
6.6 Controlede acesso........................................................................................................................................23
6.7 Recomendações............................................................................................................................................23
6.8 Fazendoconexõesao servidortelnet.................................................................................................................23
7 Servidorssh ........................................................................................................................................................24
7.1 Introdução....................................................................................................................................................24
7.2 Versão.........................................................................................................................................................24
7.3 Características..............................................................................................................................................24
7.4 Fichatécnicado Pacote:ssh ...........................................................................................................................25
7.5 Arquivosde log criadospelo servidorssh............................................................................................................25
7.6 Instalaçãodo servidoropenSSH.......................................................................................................................25
7.7 (Re)Iniciandoo servidor..................................................................................................................................25
7.8 ssh.............................................................................................................................................................26
7.9 scp.............................................................................................................................................................28
7.10 Servidorssh................................................................................................................................................29
7.11 Controlede acesso.......................................................................................................................................29
7.12 UsandoautenticaçãoRSA/DSA(chavepública/privada).......................................................................................29
7.13 Diferençasnas versõesdo protocolo................................................................................................................30
7.14 Exemplode sshd_configcomexplicaçõesdas diretivas........................................................................................31
8 ServidorDNS.......................................................................................................................................................36
8.1 O que é um nome?.........................................................................................................................................36

Página 2
Administração de Redes Linux
8.2Comofuncionaumaconsultade DNS.................................................................................................................37
8.3 Arquivosde configuraçãousadosna resoluçãode nomes......................................................................................38
8.4 Configurandoum servidorDNS.........................................................................................................................39
9 NFS(NetworkFile System).....................................................................................................................................45
9.1 Introdução....................................................................................................................................................45
9.2 O portmapper................................................................................................................................................45
9.3 Configurandoo ServidorNFS...........................................................................................................................46
9.4 Parando/Iniciandoo NFS.................................................................................................................................47
9.5 Checandoo que está sendoexportado...............................................................................................................47
9.6 Configurandoo ClienteNFS.............................................................................................................................47
9.7 MontagemAutomáticano Boot da Máquina.........................................................................................................47
10 NIS (NetworkInformationServices).........................................................................................................................48
10.1 Configurandoum clienteNIS..........................................................................................................................48
10.2 Configurandoum servidormaster(mestre)NIS..................................................................................................49
10.3 Configurandoum servidorslave(escravo)NIS...................................................................................................50
11 Postfix..............................................................................................................................................................51
11.1 Instalandoo Postfix......................................................................................................................................51
11.2 Funcionamentode um sistemade entregade mensagens....................................................................................51
11.3 Arquivode configuraçãomodelo(/etc/postfix/main.cf)..........................................................................................52
11.4Configurandoo Postfix comcomMailscannere Clamav(Anti-Virus)........................................................................55
11.5 Configurandoum servidorpop........................................................................................................................56
11.6Configurandoum servidorimap........................................................................................................................57
12 Samba..............................................................................................................................................................57
12.1 O que é o SAMBA........................................................................................................................................58
12.2 Instalandoo Samba......................................................................................................................................58
12.3 ConfiguraçãoServidorSAMBA........................................................................................................................58
12.4 Parando/Iniciandoo SAMBA...........................................................................................................................65
12.5 Clientede MáquinasWindows........................................................................................................................65
12.6 OutrosProgramas........................................................................................................................................65
13 Apache.............................................................................................................................................................66
13.1 Histórico.....................................................................................................................................................66
13.2 Instalandoo Apache.....................................................................................................................................66
13.3 Configuração..............................................................................................................................................66
13.4 Controlesde Acesso.....................................................................................................................................71
13.5 DomíniosVirtuais........................................................................................................................................72
14 Apêndice...........................................................................................................................................................74
14.1 Referênciasde auxílio ao desenvolvimentodo guia.............................................................................................74
14.2 Colaboradoresdo Guia..................................................................................................................................74
14.3 MarcasRegistradas......................................................................................................................................74
14.4 Sugestões:..................................................................................................................................................74
14.5 Assuntosprevistospara as futurasversões.......................................................................................................74
14.6 GNUFree DocumentationLicence...................................................................................................................75

Página 3
Administração de Redes Linux

1 Notas do Autor
Esta apostila é em sua maior parte baseadano Guia Foca Linux (http://focalinux.cipsga.org.br).
Esta apostila está formatada e seqüenciada para que seja utilizada de forma didática e de apoio em treinamentos
profissionalizantesem Linux. Está em formatode documentação,comalgunsexemplospráticos,masque tempor objetivoprincipal,
servir comoreferênciade pesquisasno dia a dia do uso do Linux.

2 Rede
Este capítulo descreveo que é uma rede, os principais dispositivos de rede no GNU/Linux, a identificaçãode cada um,
comoconfiguraros dispositivos,escolhade endereçosIP, roteamento.

2.1 O que é uma rede


Rede é a conexãode duas ou mais máquinascom o objetivo de compartilhar recursos entre uma máquinae outra. Os
recursospodemser:
● Compartilhamentodo conteúdode seu disco rígido (ou parte dele) com outros usuários. Os outros usuários poderãoacessar o
discocomose estivesseinstaladona própriamáquina).Tambémchamadode servidorde arquivos.
● Compartilhamento de uma impressora com outros usuários. Os outros usuários poderão enviar seus trabalhos para uma
impressorada rede. Tambémchamadode servidorde impressão.
● Compartilhamento de acesso a Internet. Outros usuários poderão navegar na Internet, pegar seus e-mails, ler noticias, bate-
papono IRC, ICQatravésdo servidorde acessoInternet. Tambémchamadode servidorProxy.
● Servidor de Internet/Intranet. Outros usuários poderão navegar nas páginas Internet localizadas em seu computador, pegar e-
mails, usar um servidorde IRCpara chat na rede, servidorde ICQ, etc
Comos ítens acimafuncionandoé possível criar permissõesde acessoda rede, definindoquemterá ou não permissão
para acessar cada compartilhamento ou serviço existente na máquina (www, ftp, irc, icq, etc), e registrando/avisando sobre
eventuaistentativasde violar a segurançado sistema,firewalls, pontes, etc.
Entre outras ilimitadas possibilidadesque dependemdo conhecimentodo indivíduo no ambiente GNU/Linux, já que ele
permitemuita flexibilidadepara fazer qualquercoisa funcionarem rede.
A comunicaçãoentre computadoresem umarede é feita atravésdo Protocolo de Rede.

2.2 Protocolo de Rede


O protocolo de rede é a linguagemusada para a comunicação entre um computador e outro. Existem vários tipos de
protocolos usados para a comunicaçãode dados, alguns são projetados para pequenasredes (como é o caso do NetBios) outros
para redesmundiais(TCP/IPque possuicaracterísticasde roteamento).
Dentre os protocolos, o que mais se destacaatualmenteé o TCP/IPdevido ao seu projeto, velocidadee capacidadede
roteamento.

2.3 Camadas de Rede


São organizações do protocolo TCP/IP que visam organizar e simplificar seu padrão e implementação pelos
desenvolvedores.
● Um padrão TCP é o conjunto de regras que devem ser seguidas para garantir a homogeneidade da comunicação entre
diversossistemasde diversosfabricantes(por exemplo,Mac comWindows, Windows comLinux, etc.).

Página 4
Administração de Redes Linux
● A implementação é o código escrito por cada desenvolvedor para integraçãoao sistemaoperacional seguindoas regras do
padrão para garantir a comunicação entre as máquinas, portanto, a implementação do protocolo TCP varia de fabricante
para fabricante.
Existem dois tipos de padrões TCP: Darpa e OSI. O padrão Darpa é dividido em 4 camadas e ainda é o padrão
atualmenteutilizado.O padrãoOSI é mais recente, divididoem 7 camadas,mas aindanão se tornouum padrãocomoo Darpa.
Segueabaixoos padrõese a descriçãode cadaumadas camadas:

Darpa
● Aplicação- www, ftp, dns, etc. Fazeminterfacecomas aplicaçõesdo sistema.

● Transporte- Protocolotcp e udp. Cuidamda parte de transportedos dadosdo sistema.

● Rede- IP, icmp, igmp, arp. Cuidade levar o pacotepara seu destino(rotas) e condiçõesde transmissão.

● Interface de Rede - Ethernet, FDDI, Token Ring. Define qual o método que a mensagemtransmitida será encapsulada
para envioao seu destino.
Apesardos padrõesDarpa e OSI, o protocoloTCP/IP é oficialmenteindependentedestascamadas.

2.4 RFCs de referência sobre protocolos de rede


Comoreferênciade pesquisa,segueabaixoa listagemde númerosde RFCspara protocolosde rede mais utilizados:
● IP: http://www.rfc-editor.org/rfc/rfc791.txt

● ICMP:http://www.rfc-editor.org/rfc/rfc792.txt

● TCP:http://www.rfc-editor.org/rfc/rfc793.txt

● UDP:http://www.rfc-editor.org/rfc/rfc768.txt

2.5 Endereço IP
O endereço IP são números que identificam seu computador em uma rede. Inicialmente você pode imaginar o IP
como um número de telefone. O IP é compostos por quatro bytes (32 bits) e a convençãode escrita dos números é chamadade
"notaçãodecimal pontuada". Por convenção,cada interface (placa usada p/ rede) do computadorou roteador tem um endereçoIP.
Tambémé permitido que o mesmoendereçoIP seja usado em mais de uma interface de uma mesmamáquina mas normalmente
cadainterfacetemseu próprio endereçoIP.
As Redes do Protocolo Internet são seqüências contínuas de endereços IP's. Todos os endereços dentro da rede tem
um número de dígitos dentro dos endereços em comum. A porção dos endereços que são comuns entre todos os endereços de
uma rede são chamadosde porção da rede. Os dígitos restantessão chamadosde porção dos hosts. O númerode bits que
são compartilhadospor todos os endereçosdentro da rede são chamadosde netmask (máscarada rede) e o papel da netmask
é determinarquais endereçospertencemou não a rede. Por exemplo,considereo seguinte:
     ­­­­­­­­­­­­­­­­­  ­­­­­­­­­­­­­­­
     Endereço do Host   192.168.110.23
     Máscara da Rede    255.255.255.0
     Porção da Rede     192.168.110.
     Porção do Host                .23
     ­­­­­­­­­­­­­­­­­  ­­­­­­­­­­­­­­­
     Endereço da Rede   192.168.110.0
     Endereço Broadcast 192.168.110.255

Página 5
Administração de Redes Linux
     ­­­­­­­­­­­­­­­­­  ­­­­­­­­­­­­­­­

Qualquer endereço que é finalizado em zero em sua netmask, revelará o endereço da rede que pertence. O
endereçoe rede é então sempreo menor endereçonuméricodentro da escalasde endereçosda rede e semprepossui a porção
host dos endereçoscodificadacomozeros.
O endereço de broadcast é um endereço especial que cada computador em uma rede "escuta" em adição a seu
próprio endereço. Este é um endereço onde os datagramas enviados são recebidos por todos os computadores da rede. Certos
tipos de dadoscomoinformaçõesde roteamentoe mensagensde alerta são transmitidospara o endereçobroadcast, assimtodo
computadorna redepoderecebe-las simultaneamente.
Existedois padrõesnormalmenteusadospara especificaro endereçode broadcast. O mais amplamenteaceito é para
usar o endereço mais alto da rede como endereçobroadcast. No exemplo acima este seria 192.168.110.255. Por algumasrazões
outros sites tem adotado a convençãode usar o endereço de rede como o endereço broadcast. Na prática não importa muito se
usar este endereço,mas você deveter certezaque todo computadorna rede esteja configuradopara escutar o mesmoendereço
broadcast.

Classes de Rede IP
Por razões administrativas após algum pouco tempo no desenvolvimento do protocolo IP alguns grupos arbitrários de
endereços foram formados em redes e estas redes foram agrupadas no que foram chamadas de classes. Estas classes
armazenamum tamanhopadrãode redesque podemser usadas.As faixasalocadassão:
     +­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­+
     | Classe  | Máscara de    | Endereço da Rede             |
     |         | Rede          |                              |
     +­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­+
     |    A    | 255.0.0.0     | 0.0.0.0    ­ 127.255.255.255 |
     |    B    | 255.255.0.0   | 128.0.0.0  ­ 191.255.255.255 |
     |    C    | 255.255.255.0 | 192.0.0.0  ­ 223.255.255.255 |
     |Multicast| 240.0.0.0     | 224.0.0.0  ­ 239.255.255.255 |
     +­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­+

O tipo de endereçoque vocêdeveutilizar dependeexatamentedo que estiver fazendo.

Referência rápida de máscara de redes


A tabela abaixo faz referênciaas máscarasde rede mais comunse a quantidadede máquinasmáximasque ela atinge.
Note que a especificaçãoda máscaratem influênciadiretana classede rede usada:
     Máscara  Máscara                 Número 
     (Forma   (Forma                  Máximo de 
     octal)   32 bits)                Máquinas
     
     Classe A:
     /8       /255.0.0.0              16,777,216
     
     Classe B:
     /16      /255.255.0.0            65,536
Página 6
Administração de Redes Linux
     /17      /255.255.128.0          32,768
     /18      /255.255.192.0          16,384
     /19      /255.255.224.0          8,192
     /20      /255.255.240.0          4,096
     /21      /255.255.248.0          2,048
     /22      /255.255.252.0          1,023
     /23      /255.255.254.0          512
     
     Classe C
     /24      /255.255.255.0          256
     /25      /255.255.255.128        128
     /26      /255.255.255.192        64
     /27      /255.255.255.224        32
     /28      /255.255.255.240        16
     /29      /255.255.255.248        8
     /30      /255.255.255.252        4
     /32      /255.255.255.255        1

Qualquer outra máscara fora desta tabela (principalmente para a classe A), deverá ser redimensionada com uma
calculadorade IP para chegara um númeroaproximadode redes/máquinasaproximadosque deseja.

Para instalar uma máquina usando o Linux em uma rede existente


Se você quiser instalar umamáquinaGNU/Linuxem umarede TCP/IPexistenteentãovocê devecontactarqualquerum
dos administradoresda sua rede e perguntaro seguinte:
● EndereçoIP de sua máquina

● EndereçoIP da rede

● EndereçoIP de broadcast

● Máscarada RedeIP

● Endereçodo Roteador

● Endereçodo Servidor de Nomes(DNS)

Você deve então configurar seu dispositivo de rede GNU/Linux com estes detalhes. Você não pode simplesmente
escolhe-los e esperarque sua configuraçãofuncione.

Endereços reservados para uso em uma rede Privada


Se você estiver construindouma rede privadaque nuncaserá conectadaa Internet, então você pode escolher qualquer
endereço que quiser. No entanto, para sua segurança e padronização, existem alguns endereços IP's que foram reservados
especificamentepara este propósito. Elesestãoespecificadosno RFC1597e são os seguintes:
     +­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­+
     |       ENDEREÇOS RESERVADOS PARA REDES PRIVADAS          |

Página 7
Administração de Redes Linux
     +­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­+
     | Classe  | Máscara de    | Endereço da Rede              |
     | de Rede | Rede          |                               |
     +­­­­­­­­­+­­­­­­­­­­­­­­­+­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­+
     |    A    | 255.0.0.0     | 10.0.0.0    ­ 10.255.255.255  |
     |    B    | 255.255.0.0   | 172.16.0.0  ­ 172.31.255.255  |
     |    C    | 255.255.255.0 | 192.168.0.0 ­ 192.168.255.255 |
     +­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­+

Vocêdevedecidir primeiroqual será a largurade sua redee entãoescolhera classede rede que será usada.

2.6 Interface de rede


As interfaces de rede no GNU/Linux estão localizadas no diretório /dev e a maioria é criada dinamicamente pelos
softwaresquandosão requisitadas.Este é o casodas interfacesppp e plip que são criadasdinamicamentepelos softwares.
Abaixo a identificação de algumas interfaces de rede no Linux (a ? significa um número que identifica as interfaces
seqüencialmente,iniciandoem 0):
● eth? - Placade redeEthernete WaveLan.

● ppp?- Interfacede rede PPP(protocolopontoa ponto).

● tun? - Interfacede tunel vpn

● slip? - Interfacede rede serial

● eql - Balanceadorde tráfegopara múltiplaslinhas

● plip? - Interfacede porta paralela

● arc?e, arc?s- InterfacesArcnet

● sl?, ax? - Interfacesde rede AX25(respectivamentepara kernels2.0.xx e 2.2.xx.

● fddi? - Interfacesde redeFDDI.

● dlci??, sdla? - InterfacesFrameRelay, respectivamentepara para dispositivosde encapsulamentoDLCIe FRAD.

● nr? - InterfaceNet Rom

● rs? - InterfacesRose

● st? - InterfacesStrip (StarmodeRadioIP)

● tr? - TokenRing

A interface loopback
A interface loopback é um tipo especial de interface que permite fazer conexões com você mesmo. Todos os
computadoresque usamo protocolo TCP/IPutilizamesta interface e existemvárias razões porque precisa fazer isto, por exemplo,
você pode testar vários programasde rede sem interferir com ninguémem sua rede. Por convenção, o endereço IP 127.0.0.1 foi
escolhido especificamentepara a loopback, assim se abrir uma conexãotelnet para 127.0.0.1, abrirá uma conexãopara o próprio
computadorlocal.
A configuração da interface loopback é simples e você deve ter certeza que fez isto (mas note que esta tarefa é
normalmentefeita pelos scripts padrõesde inicializaçãoexistentesem sua distribuição).
root@localhost:~# ifconfig lo 127.0.0.1

Página 8
Administração de Redes Linux
Caso a interface loopback não esteja configurada, você poderá ter problemasquando tentar qualquer tipo de conexão
comas interfaceslocais, tendoproblemasaté mesmocomo comandoping.

Atribuindo um endereço de rede a uma interface (ifconfig)


Após configuradafisicamente, a interface precisa receber um endereçoIP para ser identificadana rede e se comunicar
com outros computadores, além de outros parâmetros como o endereço de broadcast e a máscara de rede. O comando
usadopara fazer isso é o ifconfig (interfaceconfigure).
Para configurar a interface de rede Ethernet (eth0) com o endereço 192.168.1.1, máscara de rede 255.255.255.0,
podemosusar o comando:
root@localhost:~# ifconfig eth0 192.168.1.1 netmask 255.255.255.0 up

O comando acima ativa a interface de rede. A palavra up pode ser omitida, pois a ativação da interface de rede é o
padrão.Para desativara mesmainterfacede rede, basta usar usar o comando:
root@localhost:~# ifconfig eth0 down

Digitando ifconfig são mostradas todas as interfaces ativas no momento, pacotes enviados, recebidos e colisões de
datagramas. Para mostrar a configuraçãosomenteda interface eth0, use o comando: ifconfig eth0 Em sistemasDebian, o arquivo
corretopara especificaros dadosdas interfacesé o /etc/network/interfaces.
Um exemplo do arquivo /etc/network/interfaces
# Interface de rede loopback
auto lo
iface lo inet loopback

# Interface de rede primária com ip fixo
auto eth0
iface eth0 inet static
        address 192.168.0.1 # Endereço IP da interface
        netmask 255.255.255.0 # Máscara de rede
        network 192.168.0.0 # Endereço IP da rede
        broadcast 192.168.0.255 # Endereço de broadcast
        gateway 192.168.0.100 # Roteador (gateway) padrão (default)
        # dns­* opções que atualizam o /etc/resolv.conf de forma automática
        # (opcional) – (Veremos DNS mais adiante)
        dns­nameservers 192.168.0.100
        dns­search fabriciovc.net

# Interface de rede secundária com DHCP
auto eth1
iface eth1 inet dhcp

Página 9
Administração de Redes Linux
2.7 Roteamento
Roteamentoé quandouma máquinacom múltiplas conexõesde rede decide onde entregar os pacotesIP que recebeu,
para que cheguemao seu destino.
Pode ser útil ilustrar isto com um exemplo. Imagine um simples roteador de escritório, ele pode ter um link intermitente
com a Internet, um númerode segmentosethernet alimentandoas estaçõesde trabalho e outro link PPPintermitentefora de outro
escritório. Quandoo roteadorrecebeum datagramade qualquerde suas conexõesde rede, o mecanismoque usa determinaqual a
próxima interface deve enviar o datagrama. Computadores simples também precisam rotear, todos os computadores na Internet
tem dois dispositivos de rede, um é a interface loopback (explicada acima) o outro é um usado para falar com o resto da rede,
talvezumaethernet, talvezumainterfaceserial PPPou SLIP.
OK, viu comoo roteamentofunciona?cadacomputadormantémumalista de regrasespeciaisde roteamento,chamada
tabela de roteamento. Esta tabela contémcolunasque tipicamentecontémno mínimotrês campos, o primeiro é o endereço
de destino, o segundoé o nome da interface que o datagramadeve ser roteado e o terceiro é opcionalmenteo endereço
IP da outra máquina que levará o datagrama em seu próximo passo através da rede. No GNU/Linux você pode ver a tabela de
roteamentousandoum dos seguintescomandos:
root@localhost:~# cat /proc/net/route
root@localhost:~# route ­n
root@localhost:~# netstat ­r

O processo de roteamento é muito simples: um datagrama(pacote IP) é recebido, o endereço de destino (para quem
ele é) é examinado e comparado com cada item da tabela de roteamento. O item que mais corresponder com o endereço é
selecionadoe o datagramaé direcionadoa interfaceespecificada.
Se o campo gateway estiver preenchido, então o datagrama é direcionado para aquele computador pela interface
especificada,casocontrárioo endereçode destinoé assumidosendoumaredesuportadapela interface.

Configurando uma rota no Linux


A configuração da rota é feita através da ferramenta route. Para adicionar uma rota para a rede 192.168.1.0, por
exemplo,acessívelatravésda interfaceeth0 bastadigitar o comando:
root@localhost:~# route add ­net 192.168.1.0 gw 192.168.100

Para apagara rota acimada tabela de roteamento, basta substituir a palavraadd por del.
A palavra net quer dizer que 192.168.1.0é um endereçode rede. Para especificar uma máquinade destino, basta usar
a palavra -host. Endereçosde máquina de destino são muito usadas em conexões de rede apenas entre dois pontos (como ppp,
plip, slip). Por padrão, a interface é especificadacomo último argumento. Caso a interface precise especifica-la em outro lugar, ela
deveráser precedidada opção-dev.
Para adicionaruma rota padrãopara um endereçoque não se encontrena tabela de roteamento,utiliza-se o gateway
padrão da rede. Atravésdo gatewaypadrãoé possível especificar um computador(normalmenteoutro gateway)que os pacotes
de rede serão enviados caso o endereçonão confira com os da tabela de roteamento. Para especificar o computador 192.168.1.1
comogateway padrão usamos:
root@localhost:~# route add default gw 192.168.1.1

O gateway padrão podeser visualizadoatravésdo comando...


root@localhost:~# route ­n 

... e verificandoo campogateway. A opção gw acima, especifica que o próximoargumentoé um endereçoIP (de uma
redejá acessívelatravésdas tabelasde roteamento).
O computador gateway está conectado a duas ou mais redes ao mesmo tempo. Quando seus dados precisam ser
enviadospara computadoresfora da rede, eles são enviados através do computador gateway e o gateway os encaminhamao

Página 10
Administração de Redes Linux
endereçode destino. Desta forma, a resposta do servidor tambémé enviadaatravés do gateway para seu computador(é o caso
de umatípica conexãocoma Internet).
A nossaconfiguraçãoficaria assim:
root@localhost:~# route add ­net 192.168.1.0 gw 192.168.100
root@localhost:~# route add default gw 192.168.1.1

Caso deseje que a rota que está adicionandoseja mantida sempre que a máquina seja ligada, você pode adicionar a
rota desejadano arquivo/etc/network/interfaces.A linha é igual à digitadana linha de comando,mascomum UP na frente.
# Interface de rede primária
auto eth0
iface eth0 inet static
        address 192.168.0.1 # Endereço IP da interface
        netmask 255.255.255.0 # Máscara de rede
        network 192.168.0.0 # Endereço IP da rede
        broadcast 192.168.0.255 # Endereço de broadcast
        gateway 192.168.0.100 # Roteador (gateway) padrão (default)
        up route add ­net 192.168.1.0 gw 192.168.100

2.8 Configurações especiais de Rede


Este capítulo descreve alguns tipos de configuraçõesque podemser feitas em rede utilizando os recursos disponíveis
do Linux. Aqui não estão todas as aplicações, pois o sistemaé bastante flexível e o próprio time de desenvolvimentodo kernel não
demonstroulimitaçõesquantoas formasde se construir umarede :-)

IP Alias
Este recurso permite configurar uma interfacede rede para responderpor um ou mais IPs, que não precisampertencer
a mesma faixa. Para usuários externos, a impressão é que a rede tem "muitas" máquinas, quando na realidade apenas uma
respondepor todosestesendereçosvirtuais. Podemoscitar algumasutilizaçõesúteis desterecurso:
● Simularumaredecomdiversasmáquinas

● Construir virtual hosts baseadosem IP

● Definir endereçamentossecundáriospara fins de análisee depuraçãode pacotes(principalmentecomoarmadilhaspara trojans)

● Colocação de serviços com operação restritas a interfaces em funcionamento através de faixas específicas usando as
configuraçõesda interfacevirtual
● Transiçãode IP de servidoresde formatransparente

● Entre muitas outras. A idéia aqui é mostrar a simplicidadede se configurar este recursoe entender o processo, que é bastante
simples.
Para configurar o recurso de IP Alias é necessário apenas que a opção IP Aliasing Support seja habilitada no
kernel (como módulo ou embutida). Em nosso exemplo abaixo, temos uma rede com a interface eth0 configurada com o IP
192.168.0.1 (classe C privada) e queremosadicionar uma interface virtual que atenda pelo IP 172.16.0.1 (classe B privada) e
depoisseguir os seguintespassos:
1. Ative a interfacede rede comifconfig ou ifup (casoestejausandoa Debian).
2. Crie umainterfacevirtual usandoo comando

Página 11
Administração de Redes Linux
root@localhost:~# ifconfig eth0:0 172.16.0.1

Isto criará uma nova interface chamada eth0:0 que passará a responder pelo IP 172.6.0.1. É permitido o uso de nomes para
especificara interfacevirtual, como:

eth0:rede1
eth0:rede2

eth0:escritório.
3. Digite ifconfig para ver as configuraçõesde sua novainterfacede rede. Useo ping tambémpara vê-la:
root@localhost:~# ping 172.16.0.1
root@localhost:~# ifconfig
eth0      Encapsulamento do Link: Ethernet  Endereço de HW 00:80:AE:B3:AA:AA
          inet end.: 192.168.1.1  Bcast:192.168.1.255  Masc:255.255.255.0
          UP BROADCASTRUNNING MULTICAST  MTU:1500  Métrica:1
          RX packets:979 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1228 errors:0 dropped:0 overruns:0 carrier:0
          colisões:1 txqueuelen:100 
          RX bytes:71516 (69.8 Kb)  TX bytes:1146031 (1.0 Mb)
          IRQ:10 Endereço de E/S:0x300 

eth0:0    Encapsulamento do Link: Ethernet  Endereço de HW 00:80:AE:B3:AA:AA
          inet end.: 192.168.1.10  Bcast:192.168.1.255  Masc:255.255.255.0
          UP BROADCASTRUNNING MULTICAST  MTU:1500  Métrica:1
          IRQ:10 Endereço de E/S:0x300

Noteque o MACAddressda placaeth0 e eth0:0são o mesmo,indicandoque a mesmainterfaceatendeambosos IPs.


4. Se necessárioajusteas rotas ou gatewaycomo comandoroute
Para desativarumainterfacede rede virtual, utilize a sintaxe:
root@localhost:~# ifconfig eth0:0 down
root@localhost:~# ifdown eth0:0

Se o teste com o ping não funcionar, verifique se possui o suporte a IP Alias no kernel, se o módulo precisa ser
carregadomanualmente(casoseu kernel não esteja compiladocomo kmod) ou se existe um firewall restritivobloqueandoseu IP.
Na distribuição Debian a configuração de uma interface virtual pode ser feita de forma idêntica a interfaces estáticas
padrão:
auto eth0
iface eth0 inet static
address 192.168.1.1
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
Página 12
Administração de Redes Linux

auto eth0:0
iface eth0:0 inet static
address 172.16.0.1
netmask 255.255.0.0
network 172.16.0.1
broadcast 172.16.255.255

OBS1: Quandovocêdesativaumainterfacefísica (eth0), todasas interfacesvirtuaistambémsão desativadas.


OBS2: Caso utilize um firewall (principalmente com a política padrão permissiva), esteja atento as modificações que
precisa realizar para não comprometer a segurançade sua máquina. Caso tenha dados consideradosseguros em sua máquina e
estejaem dúvidasobreas implicaçõesde segurançado IP Alias em sua máquina,consulteseu administradorde redes.
OBS3: Note que somenteos 4 primeiroscaracteresserão mostradosna saída do ifconfig, desta formaprocure utilizar
no máximo esta quantidade de caracteres para evitar problemas durante uma futura administração do servidor, no caso de
esquecimentodo nomecompletoda interfacevirtual).

2.9 Exercício:
1. Dividam-se em dois grupos e configuremcada grupo a sua rede de forma individual de forma que as redes dos gruposnão se
enchergem.
2. Configuremumarede individualentre duasmáquinas(umade cadagrupo)diferentedas
3. redesdos dois grupospara que elas funcionemcomoroteadores.
4. Configurem o sistema de roteamente para que as redes dos grupos se enchergem através do roteamento entre as duas
máquinas.

3 DHCP
O DHCP(DynamicHost Configuration Protocol) é um protocolo baseadono protocolo BOOTPque permite a atribuição
dinâmicade endereçosIP para clientesque se conectema um servidorDHCP.

3.1 Funcionamento
Quando um cliente de dhcp inicializa a interface de rede, ele envia um broadcast com uma requisição
DHCPDISCOVERpara todos os endereços da rede. Caso haja algum servidor DHCPnesta rede ouvindo por requisições, ele irá
respondercomum DHCPOFFER.Assimque o cliente recebera respostaserá iniciadaumanegociaçãode informaçõesondeserão
enviadasas característicaspara essecliente, tais como:IP, Gatewaydefault, máscarade rede, nome,domínioe servidor(es)DNS.

3.2 Configurando um servidor DHCP


O Servidor DHCPutilizadono Linux é o DHCPD.A sua configuraçãoé realizadacriando-se o arquivo de configuração/
etc/dhcpd.conf.
A descriçãodos tópicosmais importantesdeste arquivode configuraçãosegueabaixo:
shared­network FABRICIOVC { # Nome da rede
subnet 192.168.0.0 netmask 255.255.255.0 { # Rede local
range 192.168.0.150 192.168.0.200; # Range DHCP

Página 13
Administração de Redes Linux
option domain­name "fabriciovc.net"; # Domínio DNS
option domain­name­servers 192.168.0.100; # Servidor DNS
option routers 192.168.0.100; # Roteador
max­lease­time 86400; #24hs # Tempo do IP do cliente em seg.
host micro01 { # Nome do micro
hardware ethernet 08:00:2b:4c:29:32; # Endereço MAC
fixed­address 192.168.0.1; # Enderço IP
}
host micro02 { # Nome do micro
hardware ethernet 08:00:2b:4c:29:33; # Endereço MAC
fixed­address 192.168.0.2; # Enderço IP
}
}
}

Para finalizar, é importantelembrar que é necessário especificar em qual(is) interface(s) que o DHCpirá funcionar. Isso
é feito no arquivo/etc/default/dhcp.
# Defaults for dhcp initscript
# sourced by /etc/init.d/dhcp
# installed at /etc/default/dhcp by the maintainer scripts
# On what interfaces should the DHCP server (dhcpd) serve DHCP requests?
#       Separate multiple interfaces with spaces, e.g. "eth0 eth1".
INTERFACES="eth0"

3.3 Testando a configuração com o PUMP


A sintaxe do pumpsegueabaixo:
pump [opções] interface

Opções do pump:

Opção Descrição
-i interface Definea interfacede rede a ser configurada
-h host Especificao nomedo servidordhcpa ser consultado
-s interface Exibeinformaçõessobrea interfaceespecificada
-k Limpaas configurações

Página 14
Administração de Redes Linux
4 Serviços de Rede
Serviços de rede é o que está disponívelpara ser acessadopelo usuário. No TCP/IP,cadaserviçoé associadoa um
número chamado porta que é onde o servidor espera pelas conexões dos computadores clientes. Uma porta de rede pode se
referenciadatanto pelo númerocomopelo nomedo serviço.
Abaixo,algunsexemplosde portaspadrõesusadasem serviçosTCP/IP:
● 21 - FTP(transferênciade arquivos)

● 22 – SSH(conexãoremotasegura)

● 23 - Telnet (terminalvirtual remoto)

● 25 - Smtp(enviode e-mails)

● 53 - DNS(resolvedorde nomes)

● 80 - http (protocolowww- transferênciade páginasInternet)

● 110 - Pop-3 (recebimentode mensagens)

● 119 - NNTP(usadopor programasde noticias)

● 143 – Imap(recebimentode mensagensvia webmail)

O arquivopadrãoresponsávelpelo mapeamentodo nomedos serviçose das portasmais utilizadasé o /etc/services.

4.1 Serviços iniciados como Daemons de rede


Serviços de rede iniciados como daemons ficam residente o tempo todo na memória esperando que alguém se
conecte (tambémchamadode modo standalone). Um exemplode daemon é o servidor proxy squid e o servidor web Apache
operandono mododaemon.
Alguns programas servidores oferecem a opção de serem executados como daemons ou através do inetd. É
recomendávelescolherdaemon se o serviçofor solicitadofreqüentemente(comoé o casodos servidoreswebou proxy).
Para verificar se um programaestá rodando como daemon, basta digitar ps ax e procurar o nome do programa, em
casopositivoele é um daemon.
Normalmente os programas que são iniciados como daemons possuem seus próprios recursos de
segurança/autenticaçãopara decidir quemtem ou não permissãode se conectar.

4.2 Serviços iniciados através do inetd


Serviços iniciados pelo inetd são carregados para a memória somente quando são solicitados. O controle de quais
serviçospodemser carregadose seus parâmetros,são feitos atravésdo arquivo/etc/inetd.conf.
Um daemon chamado inetd lê as configurações deste arquivo e permanece residente na memória, esperando pela
conexão dos clientes. Quando uma conexão é solicitada, o daemon inetd verifica as permissões de acesso nos arquivos /
etc/hosts.allow e /etc/hosts.deny e carrega o programa servidor correspondente no arquivo /etc/inetd.conf. Um arquivo também
importantenesteprocessoé o /etc/servicesque faz o mapeamentodas portase nomesdos serviços.
Alguns programas servidores oferecem a opção de serem executados como daemons ou através do inetd. É
recomendávelescolherinetd se o serviçonão for solicitadofreqüentemente(comoé o casode servidoresftp, telnet, talk, etc).

/etc/inetd.conf
O arquivo/etc/inetd.confé um arquivode configuraçãopara o daemonservidorinetd. Sua funçãoé dizer ao inetd o que
fazer quando receber uma requisição de conexão para um serviço em particular. Para cada serviço que deseja aceitar conexões,
vocêprecisadizer ao inetd qual daemonservidorexecutare comoexecuta-lo.

Página 15
Administração de Redes Linux
Seu formatoé tambémmuito simples. É um arquivo texto com cada linha descrevendoum serviço que deseja oferecer.
Qualquer texto em uma linha seguindo uma "#" é ignorada e considerada um comentário. Cada linha contém sete campos
separadospor qualquernúmerode espaçosem branco(tab ou espaços).O formatogeral é o seguinte:
serviço  tipo_soquete  proto  opções.num  usuário  caminho_serv  opções_serv

● serviço: É o serviçorelevantea este arquivode configuraçãopegodo arquivo/etc/services.

● tipo_soquete: Este campodescreveo tipo do soqueteque este item utilizará, valores permitidossão: stream, dgram, raw, rdm,
ou seqpacket. Isto é um pouco técnico de natureza, mas como uma regra geral, todos os serviços baseados em tcp usam
streame todos os protocolosbaseadosem udp usamdgram. Somentealgunstipos de daemonsespeciais de servidoresusam
os outrosvalores.
● protocolo: O protocolo é consideradoválido para esta item. Isto deve bater com um item apropriado no arquivo /etc/services e
tipicamenteserá tcp ou udp. Servidoresbaseadosno SunRPC(Remote Procedure Call), utilizamrpc/tcpou rpc/udp.
● opções: Existem somente duas configurações para este campo. A configuração deste campo diz ao inetd se o programa
servidor de rede libera o soquete após ele ser iniciado e então se inetd pode iniciar outra cópia na próxima requisição de
conexão,ou se o inetd deveaguardare assumirque qualquerservidorjá em execuçãopegaráa novarequisiçãode conexão.
Este é um pequenotruque de trabalho, mas comouma regra, todos os servidores tcp devemter este parâmetro ajustadopara
nowait e a maior parte dos servidoresudp deve tê-lo ajustadopara wait. Foi alertado que existemalgumasexcessõesa isto,
assimdeixoisto comoexemplose não estiver seguro.
O número especificado após o "." é opcional e define a quantidade máxima de vezes que o serviço poderá ser executado
durante 1 minuto. Se o serviço for executadomais vezes do que este valor, ele será automaticamentedesativadopelo inetd e
umamensagemserá mostradano log do sistemaavisandosobreo fato.
Parareativar o serviçointerrompido,reinicie o inetd com: killall -HUPinetd. O valor padrãoé 40.
● usuário: Este campodescreveque conta de usuário usuário no arquivo /etc/passwdserá escolhidacomodono do daemonde
rede quandoeste for iniciado. Isto é muito útil se você deseja diminuir os riscos de segurança. Você pode ajustar o usuário de
qualqueritem para o usuário nobody, assimse a segurançado servidor de redes é quebrada, a possibilidadede problemasé
minimizada.Normalmenteeste campoé ajustadopara root, porquemuitosservidoresrequeremprivilégiosde usuárioroot para
funcionaremcorretamente.
● caminho_servidor:Este campoé o caminhopara o programaservidor atual que será executado.

● argumentos_servidor: Este campoinclui o resto da linha e é opcional. Você pode colocar neste campoqualquer argumentoda
linhade comandoque desejepassarpara o daemonservidorquandofor iniciado.
Uma dica que pode aumentar significativamente a segurança de seu sistema é comentar (colocar uma #no inicio da
linha) os serviçosque não serãoutilizados.
Abaixoum modelode arquivo/etc/inetd.confusadoem sistemasDebian:
# /etc/inetd.conf:  veja inetd(8) para mais detalhes.

# Banco de Dados de configurações do servidor Internet

# Linhas iniciando com "#:LABEL:" ou "#<off>#" não devem 

# ser alteradas a não ser que saiba o que está fazendo!

# Os pacotes devem modificar este arquivo usando update­inetd(8)

# <nome_serviço> <tipo_soquete> <proto> <opções> <usuário> <caminho_servidor> <args>

#:INTERNO: Serviços internos

#echo           stream  tcp nowait  root    internal

Página 16
Administração de Redes Linux
#echo           dgram   udp wait    root    internal

#chargen        stream  tcp nowait  root    internal

#chargen        dgram   udp wait    root    internal

#discard        stream  tcp nowait  root    internal

#discard        dgram   udp wait    root    internal

#daytime        stream  tcp nowait  root    internal

#daytime        dgram   udp wait    root    internal

time            stream  tcp nowait  root    internal

#time           dgram   udp wait    root    internal

#:PADRÕES: Estes são serviços padrões.

#:BSD: Shell, login, exec e talk são protocolos BSD.

#shell          stream  tcp nowait    root        /usr/sbin/tcpd  /usr/sbin/in.rshd
#login          stream  tcp nowait    root        /usr/sbin/tcpd  /usr/sbin/in.rlogind

#exec           stream  tcp nowait    root        /usr/sbin/tcpd  /usr/sbin/in.rexecd

talk            dgram   udp wait.10   nobody.tty  /usr/sbin/tcpd  /usr/sbin/in.talkd

ntalk           dgram   udp wait.10   nobody.tty  /usr/sbin/tcpd  /usr/sbin/in.ntalkd

#:MAIL: Mail, news e serviços uucp.

smtp            stream  tcp nowait.60 mail        /usr/sbin/exim exim ­bs

#:INFO: Serviços informativos

#:BOOT: O serviço Tftp é oferecido primariamente para a inicialização. Alguns sites

# o executam somente em máquinas atuando como "servidores de inicialização".

#:RPC: Serviços baseados em RPC

#:HAM­RADIO: serviços de rádio amador

#:OTHER: Outros serviços

4.3 Segurança da Rede e controle de Acesso


Deixe-me iniciar esta seçãolhe alertandoque a segurançada rede em sua máquinae ataquesmaliciosossão uma arte
complexa.Umaregra importanteé: "Nãoofereçaserviçosde rede que não desejautilizar".
Muitas distribuiçõesvem configuradascom vários tipos de serviços que são iniciados automaticamente. Para melhorar,
mesmo que insignificantemente, o nível de segurança em seu sistema você deve editar se arquivo /etc/inetd.conf e comentar
(colocaruma"#") as linhasque contémserviçosque não utiliza.

Página 17
Administração de Redes Linux
Bons candidatossão serviçostais como: shell, login, exec, uucp, ftp e serviçosde informaçãotais comofinger, netstat e
sysstat.
Existemtodosos tiposde mecanismosde segurançae controlede acesso,eu descrevereios mais importantesdeles.

O mecanismo de controle de acessos tcpd


O programa tcpd que você deve ter visto listado no mesmo arquivo /etc/inetd.conf, oferece mecanismosde registro e
controle de acesso para os serviços que esta configuradopara proteger. Ele é um tipo de firewall simples e fácil de configurar que
podeevitar tiposindesejadosde ataquese registrar possíveistentativasde invasão.
Quando é executado pelo programa inetd, ele lê dos arquivos contendo regras de acesso e permite ou bloqueia o
acessoao servidorprotegendoadequadamente.
Ele procura nos arquivos de regras até que uma regra confira. Se nenhuma regra conferir, então ele assume que o
acesso deve ser permitido a qualquer um. Os arquivos que ele procura em seqüência são: /etc/hosts.allow e /etc/hosts.deny. Eu
descrevereicadaum destesarquivosseparadamente.
Para uma descrição completa desta facilidade, você deve verificar a página de manual apropriada (hosts_access(5) é
um bompontode partida).

/etc/hosts.allow
O arquivo /etc/hosts.allow é um arquivo de configuração do programa /usr/sbin/tcpd. O arquivo hosts.allow contém
regrasdescrevendoque hosts tempermissãode acessarum serviçoem sua máquina.
O formatodo arquivoé muito simples:
# /etc/hosts.allow
#
# lista de serviços: lista de hosts : comando
# alguns comandos se encontram em /usr/sbin

● lista de serviços: É uma lista de nomes de serviços separados por vírgula que esta regra se aplica. Exemplos de nomes de
serviçossão: ftpd, telnetde fingerd.
● lista de hosts: É uma lista de nomes de hosts separada por vírgula. Você também pode usar endereços IP's aqui.
Adicionalmente, você pode especificar nomesde computadoresou endereçoIP usandocaracterescoringaspara atingir grupos
de hosts.
Exemplosincluem:
● gw.vk2ktj.ampr.orgpara conferir comum endereçode computadorespecífico

● uts.edu.aupara atingir qualquerendereçode computadorfinalizandocomaquelestring.

● 200.200.200.para conferir comqualquerendereçoIP iniciandocomestes dígitos.

Existemalgunsparâmetrosespeciaispara simplificara configuração,algunsdestessão:


● ALL atingetodosendereços.

● LOCALatingequalquercomputadorque não contémum "." (ie. está no mesmodomíniode sua máquina)

● PARANOIDatingequalquercomputadorque o nomenão conferecomseu endereço(falsificaçãode nome).

Existe tambémum últimoparâmetroque é tambémútil:


● EXCEPTlhe permitefazer umalista de exceções.

● comando: É um parâmetro opcional. Este parâmetro é o caminho completo de um comandoque deverá ser executado toda a
vez que esta regra conferir. Ele pode executar um comandopara tentar identificar quem esta conectado pelo host remoto, ou
gerar umamensagemvia E-Mail ou algumoutro alerta para um administradorde rede que alguémestá tentandose conectar.
Página 18
Administração de Redes Linux
Existemum númerode expansõesque podemser incluídas,algunsexemploscomunssão:
● %h expandeo endereçodo computadorque está conectadoou endereçose ele não possuir um nome

● %d o nomedo daemonsendochamado.

Se o computador tiver permissão de acessar um serviço através do /etc/hosts.allow, então o /etc/hosts.deny não será
consultadoe o acessoserá permitido.
Comoexemplo:
# /etc/hosts.allow
#
# Permite que qualquer um envie e­mails
in.smtpd: ALL
# Permitir telnet e ftp somente para hosts locais e myhost.athome.org.au
in.telnetd, in.ftpd: LOCAL, myhost.athome.org.au
# Permitir finger para qualquer um mas manter um registro de quem é
in.fingerd: ALL: (finger @%h | mail ­s "finger from %h" root)

Qualquer modificação no arquivo /etc/hosts.allow entrará em ação após reiniciar o daemon inetd. Isto pode ser feito
como comandokill -HUP[pid do inetd], o pid do inetd podeser obtidocomo comandops ax|grepinetd.

/etc/hosts.deny
O arquivo /etc/hosts.deny é um arquivo de configuração das regras descrevendo quais computadores não tem a
permissãode acessarum serviçoem sua máquina.
Ummodelosimplesdestearquivose parececomisto:
# /etc/hosts.deny
#
# Bloqueia o acesso de computadores com endereços suspeitos
ALL: PARANOID
#
# Bloqueia todos os computadores
ALL: ALL

A entrada PARANOIDé realmente redundante porque a outra entrada nega tudo. Qualquer uma destas linhas pode
fazer umasegurançapadrãodependendode seu requerimentoem particular.
Tendo um padrão ALL: ALL no arquivo /etc/hosts.deny e então ativandoespecificamenteos serviços e permitindo
computadoresque vocêdesejano arquivo/etc/hosts.allowé a configuraçãomais segura.
Qualquer modificação no arquivo /etc/hosts.deny entrará em ação após reiniciar o daemon inetd. Isto pode ser feito
como comandokill -HUP[pid do inetd], o pid do inetd podeser obtidocomo comandops ax|grepinetd.

Verificando a segurança do TCPD e a sintaxe dos arquivos


O utilitário tcpdchké útil para verificar problemasnos arquivoshosts.allowe hosts.deny. Quandoé executadoele verifica
a sintaxedestesarquivose relata problemas,casoeles existam.
Outro utilitário útil é o tcpdmatch, o que ele faz é permitir que você simule a tentativa de conexões ao seu sistema e
observarser ela será permitidaou bloqueadapelosarquivoshosts.allowe hosts.deny.
Página 19
Administração de Redes Linux
É importantemostrar na prática comoo tcpdmatchfuncionaatravésde um exemplosimulandoum teste simplesem um
sistemacoma configuraçãopadrãode acessorestrito:
● O arquivohosts.allowcontémas seguinteslinhas:

ALL: 127.0.0.1
in.talkd, in.ntalkd: ALL
in.fingerd: 192.168.1. EXCEPT 192.168.1.30

A primeira linha permite o loopback (127.0.0.1) acessar qualquer serviço TCP/UDP em nosso computador, a segunda linha
permite qualquerum acessaros servidor TALK(nós desejamosque o sistemanos avise quandoalguémdesejar conversar)e a
terceirasomentepermiteenviar dadosdo finger para computadoresdentrode nossarede privada(excetopara 192.168.1.30).
● O arquivohosts.denycontéma seguintelinha:

ALL: ALL

Qualqueroutra conexãoserá explicitamentederrubada.


Vamosaos testes, digitando:
root@localhost:~# tcpdmatch in.fingerd 127.0.0.1 (verificar se o endereço
127.0.0.1 tem acesso ao finger): 
client:   address  127.0.0.1
server:   process  in.fingerd
matched:  /etc/hosts.allow line 1
access:   granted

Ok, temosacessogarantidocomespecificadopela linha1 do hosts.allow(a primeiralinha que confereé usada). Agora


root@localhost:~# tcpdmatch in.fingerd 192.168.1.29
client:   address  192.168.1.29
server:   process  in.fingerd
matched:  /etc/hosts.allow line 3
access:   granted

O acessofoi permitidoatravésda linha 3 do hosts.allow. Agora


root@localhost:~# tcpdmatch in.fingerd 192.168.1.29
client:   address  192.168.1.30
server:   process  in.fingerd
matched:  /etc/hosts.deny line 1
access:   denied

O que aconteceu? como a linha 2 do hosts.allow permite o acesso a todos os computadores 192.168.1.* exceto
192.168.1.30, ela não bateu, então o processamentopartiu para o hosts.denyque nega todos os serviçospara qualquer endereço.
Agoraum últimoexemplo:
root@localhost:~# tcpdmatch in.talkd www.debian.org
client:   address  www.debian.org
server:   process  in.talkd
matched:  /etc/hosts.allow line 2

Página 20
Administração de Redes Linux
access:   granted

Ok, na linha 2 qualquercomputadorpode te chamarpara conversarvia talk na rede, mas para o endereçoDNSconferir
comum IP especificado,o GNU/Linuxfaz a resoluçãoDNS,convertendoo endereçopara IP e verificandose ele possui acesso.
No lugar do endereço também pode ser usado a forma daemon@computador ou cliente@computador para verificar
respectivamenteo acessode daemonse clientede determinadoscomputadoresaos serviçosda rede.
Como pode ver o TCPD ajuda a aumentar a segurança do seu sistema, mas não confie nele além do uso em um
sistema simples, é necessário o uso de um firewall verdadeiro para controlar minuciosamente a segurança do seu sistema e dos
pacotes que atravessamos protocolos, roteamento e as interfaces de rede. Se este for o caso aprenda a trabalhar a fundo com
firewallse implementea segurançada sua rede da formaque melhorplanejar.

4.4 Outros arquivos de configuração relacionados com a rede

/etc/services
O arquivo /etc/services é um banco de dados simples que associa um nome amigável a humanos a uma porta de
serviço amigável a máquinas. É um arquivo texto de formato muito simples, cada linha representa um item no banco de dados.
Cadaitemé divididoem três camposseparadospor qualquernúmerode espaçosem branco(tab ou espaços).Os campossão:
nome      porta/protocolo        apelido     # comentário

● name:Umapalavrasimplesque representao nomedo serviçosendodescrito.

● porta/protocolo: Este campoé divididoem dois sub-campos.

● porta - Umnúmeroque especificao númeroda porta em que o serviçoestará disponível. Muitosdos serviçoscomunstem
designadosum númerode serviço. Estesestãodescritosno RFC-1340.
● protocolo - Este sub-campopode ser ajustado para tcp ou udp. É importante notar que o item 18/tcp é muito diferente
do item 18/udp e que não existe razão técnica porqueo mesmoserviço precisa existir em ambos. Normalmenteo senso
comum prevalece e que somente se um serviço esta disponível em ambos os protocolos tcp e udp, você precisará
especificarambos.
● apelidos:Outrosnomespodemser usadospara se referir a entradadesteserviço.

● comentário: Qualquertexto aparecendoem umalinha após um caracter "#" é ignoradoe tratadocomocomentário.

/etc/protocols
O arquivo /etc/protocols é um banco de dados que mapeia números de identificação de protocolos novamente em
nomes de protocolos. Isto é usado por programadores para permiti-los especificar protocolos por nomes em seus programas e
tambémpor alguns programastal como tcpdump permitindo-os mostrar nomes ao invés de números em sua saída. A sintaxe
geral deste arquivoé:
nomeprotocolo  número  apelidos

5 Alguns comando úteis em rede

5.1 netstat
Mostraconexõesde rede, tabelade roteamento,estatísticasde interfaces,conexõesmasquerade,e mensagens.
netstat [opções] 

Página 21
Administração de Redes Linux
Opções do netstat
● -i [interface]: Mostraestatísticasda interface[interface].

● -a: Mostratodasas opçõespossíveis

● -n: Usa endereçosnuméricosao invés de tentar resolvernomesde hosts, usuáriose portas

● -t: MostraportasTCP

● -u: MostraportasUDP

● -c: Mostraa listagema cadasegundoaté que a CTRL+C seja pressionado.

Se não for especificadanenhumaopção,os detalhesdas conexõesatuais serãomostrados.

5.2 traceroute
Mostra o caminho percorrido por um pacote para chegar ao seu destino. Este comando mostra na tela o caminho
percorrido entre os Gateways da rede e o tempo gasto de retransmissão. Este comando é útil para encontrar computadores
defeituososna rede casoo pacotenão esteja chegandoao seu destino.
traceroute [host/IP de destino] 

Exemplos:
root@localhost:~# traceroute www.debian.org
root@localhost:~# traceroute www.linux.org

DICA: Use tambémo mtr para traçar rotas.

5.3 ping
Verifica se um computadorestá disponível na rede. Este comandoé muito utilizadopor algunsprogramasde conexãoe
administradorespara verificar se uma determinadamáquina está conectadana rede e tambémpara verificar o tempo de resposta
de cada máquinada rede. O ping envia pacotesICMSECHO_REQUESTpara um computador, este quandorecebeo pacote envia
umarespostaao endereçode origemavisandoque está disponívelna rede.
ping [opções][IP/DNS] 

Opções do ping
● -c [num]: Envianum pacotesao computadorde destino.

● -f : Flood ping. Envia novos pacotes antes de receber a resposta do pacote anterior. Para cada requisição enviada, um "." é
mostradona tela e para cada resposta recebida, um backspaceé mostrado. Somenteo usuário root pode utilizar esta opção e
podete auxiliar muitona detecçãode erros de transmissãode pacotesem interfacesdas máquinasem sua rede.
● -i [seg]: Aguarda[seg] segundosantesde enviar cadapacote.

● -q: Nãomostraas requisiçõesenquantosão enviadas,somentemostraas linhasde sumáriono inicio e términodo programa.

● -s [tamanho]:Especificao tamanhodo pacoteque será enviado.

● -v, --verbose:Saídadetalhada,tanto os pacotesenviadoscomorecebidossão listados.

Exemplo:
root@localhost:~# ping 192.168.1.1
root@localhost:~# ping www.br.debian.org

Página 22
Administração de Redes Linux
6 Servidor telnet
Este capítulo ensinacomoinstalar, configurar, usar e fazer restriçõesde acessoao servidortelnet. Tambémé explicada
a utilizaçãodo clientetelnet e o suportea criptografia(ssl).

6.1 Introdução
O serviço telnet é oferece o login remoto em seu computador, que lhe permite trabalhar conectadoa distância comose
estivesse em frente a ela. Ele substitui o rlogin e possui muitas melhorias em relação a ele, como o controle de acesso,
personalizaçãode seçãoe controlede terminal.

6.2 Características
● Conexãorápida(não utiliza transmissãode dadoscriptografada),recomendadopara ambientesseguros.

● Possuiumaversãocomsuportea criptografiavia ssl.

● Possuicontrolede acessotcpd (usando/etc/hosts.allowe /etc/hosts.deny).

● A maioriados sistemasoperacionaistrazemeste utilitário por padrãocomosistemade acessoremotoa máquinasUNIX.

● Suportea terminaisANSI(corese códigosde escapeespeciaispara o console) e umagrandevariedadede outros terminais.

6.3 Arquivos de log criados pelo servidor telnet


Mensagens do servidor telnet relacionadas com seções são enviadas para /var/log/daemon.log. Adicionalmente, as
mensagenssobreautenticação(serviçosde login) são registradaspelos módulosPAMem /var/log/auth.log.

6.4 Instalação
root@localhost:~# apt­get install telnet telnetd 

O servidortem o nomein.telnetde este deveráser usadopara ajustar o controlede acessonos arquivosacima.

6.5 (Re)Iniciando o servidor


O arquivo que controla o funcionamento do servidor telnet é o /etc/inetd.conf e o controle de acesso sendo feito pelos
arquivos /etc/hosts.allow e /etc/hosts.deny. Será necessário reiniciar o servidor inetd caso algum destes três arquivos seja
modificado:
root@localhost:~# /etc/init.d/inetd stop
root@localhost:~# /etc/init.d/inetd start

A porta de operaçãopadrãoé a 23 e podeser modificadano arquivo/etc/services.

6.6 Controle de acesso


É feito pelos arquivoshosts.allowe hosts.deny(Comojá visto anterirmente).

6.7 Recomendações
O serviço telnet utiliza texto plano para seção (exceto nas versões cliente/servidor "-ssl"). Os dados transmitidos por
serviçosque utilizamtexto planopodemser capturadospor snifferse trazer perigoao seu sistema.
É recomendável somente executar o servidor telnet padrão em ambientes seguros (como em uma rede interna) e a
versãocom suporte a ssl para fazer conexõesvia redes inseguras(comoa Internet). O serviço ssh (Visto adiante) é uma excelente

Página 23
Administração de Redes Linux
alternativa ao telnet, além de possuir outras características adicionais que justifiquem seu uso, além de programas cliente para
Linuxe Windows.

6.8 Fazendo conexões ao servidor telnet


Use o comando...
root@localhost:~# telnet [endereço] [porta] 

...pararealizarconexõescomumamáquinarodandoo servidortelnet.
Adicionalmenteas seguintesopçõespodemser usadas:
Exemplos:
# Conecta­se ao servidor telnet rodando na porta 23 de sua própria máquina
root@localhost:~# telnet localhost

# Conecta­se ao servidor telnet 200.200.200.200 operando na porta 53454
telnet 200.200.200.200 53454

7 Servidor ssh
Este capítulo documentaa instalação, configuraçãoe personalizaçãodo servidor de shell segurosshd, alémde explicar
as vantagensda utilizaçãodos serviços criptográficos. A utilizaçãodo programacliente ssh tambémé explicada, além de utilitários
usados para geração de chaves pública/privada para o ssh (autenticação RSA/DSA - o que é, vantagens), cópia de arquivos e
métodosde autenticaçãousandoo métodode chavepública/privadaRSA.
Ambasas versões1 e 2 do ssh são documentadasneste capítulo. Opçõesespecíficasdo protocolo1 ou 2 do ssh serão
destacadas.

7.1 Introdução
O serviço de ssh permite fazer o acesso remoto ao console de sua máquina, em outras palavras, você poderá acessar
sua máquina como se estivesse conectado localmente ao seu console (substituindo o rlogin e rsh). A principal diferença com
relação ao serviço telnet padrão, rlogin e rsh é que toda a comunicação entre cliente/servidor é feita de forma encriptada usando
chavespúblicas/privadasRSApara criptografiagarantindoumatransferênciasegurade dados.
A velocidadedo consoleremotoconectadovia Internet é excelente(melhor que a obtida pelo telnet e serviçosr*) dando
a impressãode uma conexão em tempo real (mesmoem links discados de 9.600 KB/s), a compactaçãodos dados tambémpode
ser ativada para elevar ainda mais a velocidade entre cliente-servidor ssh. Além do serviço de acesso remoto, o scp possibilita a
transferência/recepçãosegurade arquivos(substituindoo rcp).
Em conexões sem criptografia (rsh, rlogin) os dados trafegam de forma desprotegida e caso exista algum sniffer
instaladoem sua rota coma máquinadestino,todo o que fizer poderáser capturado(incluindosenhas).

7.2 Versão
É assumido que esteja usando a versão 2.0 do ssh. As explicações contidas aqui podem funcionar para versões
posteriores, mas é recomendável que leia a documentaçãosobre modificações no programa(changelog) em busca de mudanças
que alteremo sentidodas explicaçõesfornecidasaqui.

7.3 Características
Abaixoas principaiscaracterísticasdo serviçossh (Openssh).
Página 24
Administração de Redes Linux
● Conexãode dadoscriptografadaentre cliente/servidor.

● Cópiade arquivosusandoconexãocriptografada.

● Suportea ftp criptografado(sftp).

● Suportea compactaçãode dadosentre cliente/servidor.

● Controlede acessodas interfacesservidaspelo servidorssh.

● Suportea controlede acessotcp wrappers.

● Autenticaçãousandoum par de chavespública/privadaRSAou DSA.

● Algoritmode criptografialivre de patentes.

● Suportea PAM.

● Suportea caracteresANSI(corese códigosde escapeespeciaisno console).

7.4 Ficha técnica do Pacote: ssh


Utilitários:
● ssh - Clientessh (consoleremoto).

● slogin - Link simbólicopara o programassh.

● sshd - Servidorde shell segurossh.

● scp - Programapara transferênciade arquivosentre cliente/servidor

● ssh-keygen- Gerachavesde autenticaçãopara o ssh

● sftp - Clienteftp comsuportea comunicaçãosegura.

● sftp-server- Servidorftp comsuportea comunicaçãosegura.

● ssh-add - Adicionachavesde autenticaçãoDSAou RSAao programade autenticação.

● ssh-agent - Agente de autenticação, sua função é armazenar a chave privada para autenticação via chave pública (DSA ou
RSA).
● ssh-keyscan- Scaneiapor chavespúblicas de autenticaçãode hosts especificados. O principal objetivo é ajudar na construção
do arquivolocal know_hosts.
● ssh-copy-id - Usadopara instalaçãodo arquivoidentity.pubem umamáquinaremota.

Arquivosde configuração:
● /etc/ssh/sshd_config- Arquivode configuraçãodo servidorssh.

● /etc/ssh/ssh_config- Arquivode configuraçãodo clientessh.

● ~/.ssh/config- Arquivode configuraçãopessoaldo clientessh.

7.5 Arquivos de log criados pelo servidor ssh


Detalhessobrea execuçãodo servidorsshd (comoinicio, autenticaçãoe término)são enviadasao syslogdo sistema.A
prioridade e nível são definidosno arquivode configuração/etc/ssh/sshd_config

7.6 Instalação do servidor openSSH


root@localhost:~# apt­get install ssh

Por padrão o servidor sshd é instalado como daemon, também é possível executa-lo via inetd mas isto não é
aconselhável.

Página 25
Administração de Redes Linux
7.7 (Re)Iniciando o servidor
O arquivoque controlao funcionamentodo daemondo ssh é controladopelo arquivo/etc/init.d/ssh.
Para parar e iniciar o serviçoSSH,use:
root@localhost:~# /etc/init.d/ssh stop
root@localhost:~# /etc/init.d/ssh start

A execuçãodo ssh atravésde inetd é automáticaquandoé feita umarequisiçãopara a porta 22.

7.8 ssh
Esta é a ferramentausada para seções de console remotos. O arquivo de configuraçãode usuários é ~/.ssh/config e o
arquivoglobal /etc/ssh/ssh_config. Paraconectara um servidorssh remoto:
root@localhost:~# ssh usuario@ip/nome_do_servidor_ssh

Casoo nomedo usuárioseja omitido, seu login atual do sistemaserá usado.


● O uso da opção-C é recomendadopara ativar o modode compactaçãodos dados(útil em conexõeslentas).

● A opção -l usuário pode ser usada para alterar a identificação de usuário (quando não é usada, o login local é usado como
nomede usuárioremoto).
● Umaporta alternativapodeser especificadausandoa opção-p porta (a 22 é usadapor padrão).

Na primeira conexão, a chave pública do servidor remoto será gravada em ~/.ssh/know_hosts e verificada a cada
conexão como checagem de segurança para se certificar que o servidor não foi alvo de qualquer ataque ou modificação não
autorizadadas chaves.Por padrão,o clienteutilizaráo protocolossh versão1, a opção-2 permiteusar o protocoloversão2.
Exemplos:
# Conecta­se ao servidor remoto usando o login do usuário atual
ssh ftp.sshserver.org

# Conecta­se ao servidor remoto usando o login john (via ssh versão 2)
ssh ­2 ftp.sshserver.org ­l john

# Conecta­se ao servidor remoto usando compactação e o login john
ssh ftp.sshserver.org ­C ­l john

# Semelhante ao exemplo acima, usando o formato "login@ip"
ssh john@ftp.sshserver.org ­C

# Conecta­se ao servidor remoto usando compactação, o login john, 
# ativa o redirecionamento do agente de autenticação (­A) e redirecionamento 
# de conexões X11 (­X). Veja a próxima seção para entender como o 
# suporte a redirecionamento de conexões do X funciona. 
ssh ftp.sshserver.org ­C ­A ­X ­l john

Página 26
Administração de Redes Linux
Redirecionamento de conexões do X
O redirecionamentode conexõesdo X Windowpoderá ser habilitadoem ~/.ssh/configou /etc/ssh/ssh_configou usando
as opções -A -X na linha de comando do ssh (as opções -a e -x desativam as opções acima respectivamente). Uma variável
$DISPLAY é criadaautomaticamentepara fazer o redirecionamentoao servidorX local.
Ao executar um aplicativo remoto, a conexãoé redirecionadaa um DISPLAYproxy criado pelo ssh (a partir de :10, por
padrão) que faz a conexão com o display real do X (:0), ou seja, ele pulará os métodos de autenticação xhost e cookies. Por
medidas de segurança é recomendável habilitar o redirecionamento individualmente somente se você confia no administrador do
sistemaremoto.
Exemplo de configuração do ssh_config
# Permite Redirecionamento de conexões para o próprio computador (nomes de 
# máquinas podem ser especificadas). 
Host 127.0.0.1
ForwardAgent yes
ForwardX11 yes

# Opções específicas do cliente para conexões realizadas a 192.168.1.4 usando 
# somente o protocolo 2
Host 192.168.1.4
# As 2 linhas abaixo ativam o redirecionamento de conexões do X
ForwardAgent yes
ForwardX11 yes
PasswordAuthentication yes
Port 22
Protocol 2
Cipher blowfish

# Opções específicas do cliente para conexões realizadas a 192.168.1.5 usando 
# somente o protocolo 1
Host 192.168.1.5
# As 2 linhas abaixo desativam o redirecionamento de conexões do X
ForwardAgent no
ForwardX11 no
PasswordAuthentication yes
Port 22
Protocol 1
Cipher blowfish

Página 27
Administração de Redes Linux
# CheckHostIP yes
# RhostsAuthentication no
# RhostsRSAAuthentication yes
# RSAAuthentication yes
# FallBackToRsh no
# UseRsh no
# BatchMode no
# StrictHostKeyChecking yes
# IdentityFile ~/.ssh/identity
# IdentityFile ~/.ssh/id_dsa
# IdentityFile ~/.ssh/id_rsa1
# IdentityFile ~/.ssh/id_rsa2
# EscapeChar ~

Cliente ssh para Windows


O putty é um cliente ssh Win32 que possui suporte aos protocolos versão 1 e 2 do ssh, aceita compactação além de
funcionartambémcomoclientetelnet. Seu tamanhoé pequeno,apenasum executávele requer220KBde espaçoem disco.

7.9 scp
Permitea cópia de arquivosentre o cliente/servidorssh. A sintaxeusadapor este comandoé a seguinte:
scp [origem] [destino] ­p [porta] ­r(recursivo)

Os parâmetros de origem e destino são semelhantes ao do comandocp mas possui um formato especial quando é
especificadoumamáquinaremota:
● Umcaminhopadrão- Quandofor especificadoum arquivolocal. Por exemplo:/usr/src/arquivo.tar.gz.

● usuario@host_remoto:/diretório/arquivo - Quando desejar copiar o arquivo de/para um servidor remoto usando sua conta de
usuário. Por exemplo:gleydson@ftp.debian.org:~/arqs.
A opção -C é recomendável para aumentar a taxa de transferência de dados usando compactação. Caso a porta
remotado servidorsshdseja diferentede 22, a opção-p porta deveráser especificada.
Exemplos:
# Para copiar um arquivo local chamado /pub/teste/script.sh para 
# meu diretório pessoal em ftp.sshserver.org
scp ­C /pub/teste/script.sh fabricio@ftp.sshserver.org:~/

# Para fazer a operação inversa a acima (copiando do servidor remoto para o 
# local) é só inverter os parâmetros origem/destino: 
scp ­C fabricio@ftp.sshserver.org:~/script.sh /pub/teste

# Para copiar o arquivo local chamado /pub/teste/script.sh para 

Página 28
Administração de Redes Linux
# o diretório /scripts dentro do meu diretório pessoal em ftp.sshserver.org 
# com o nome teste.sh
scp ­C /pub/teste/script.sh fabricio@ftp.sshserver.org:~/scripts/teste.sh

# O exemplo abaixo faz a transferência de arquivos entre 2 computadores
# remotos: O arquivo teste.sh é lido do servidor server1.ssh.org e copiado para
# server2.ssh.org (ambos usando o login gleydson)
scp ­C fabricio@server1.ssh.org:~/teste.sh fabricio@server2.ssh.org:~/

Cliente scp para Windows


O pscp faz a tarefa equivalenteao scp no windows.

7.10 Servidor ssh

sshd
Este é o daemonde controle da conexãoencriptadavia protocolo ssh, transferência de arquivos e shell interativo. Seu
arquivode configuraçãoprincipalé /etc/ssh/sshd_config.
OBS1: É recomendávelque o arquivo /etc/ssh/sshd_config seja lido somentepelo dono/grupo, por conter detalhesde
acessode usuários,grupose intervaloentre a geraçãode chavede seção.
OBS2: Se estiver ocorrendofalhasno acessoao servidorssh, verifiqueas permissõesnos arquivos/etc/hosts.allowe /
etc/hosts.deny(o nomedo serviçoé sshd). Mesmooperandocomodaemon,o servidor utiliza estes arquivospara fazer um controle
de acessoadicional.

7.11 Controle de acesso


É definido pelas opções ListenAddress, AllowUsers, DenyUsers, AllowGroups, DenyGroups e PermitRootLogin do
arquivode configuraçãosshd_confige via tcpd (arquivoshosts.allowe hosts.deny).

7.12 Usando autenticação RSA/DSA (chave pública/privada)


Este método de autenticação utiliza o par de chaves pública (que será distribuído nas máquinas que você conecta) e
outra privada (que ficará em seu diretório pessoal) para autenticação. A encriptação e decriptação são feitas usando chaves
separadase não é possível conseguira chavede decriptaçãousandoa chavede encriptação.É possível inclusivegerar umachave
semsenhapara efetuaro logonem um sistemaou execuçãode comandosremotos.
Para autenticarem umaversão2 do ssh (usandochaveRSA2 ou DSA):
1. Gereum par de chavespública/privadausandoo comando:
root@localhost:~# ssh­keygen ­t rsa ­f ~/.ssh/id_rsa
ou 
root@localhost:~# ssh­keygen ­t dsa ­f ~/.ssh/id_dsa

Página 29
Administração de Redes Linux
Um par de chaves RSA/DSA será gerado. Para alterar o tamanho da chave use a opção -b tamanho. Depois de gerar a
chave, o ssh-keygenpedirá uma frase-senha (é recomendávelter um tamanhomaior que 10 caracterese podemser incluídos
espaços). Se não quiser digitar uma senha para acesso ao sistema remoto, tecle <Enter> quando perguntado. Mude as
permissõesdo diretório ~/.sshpara 750.
ATENÇÃO Nunca distribua sua chave privada, nem armazene-a em servidores de acesso públicos ou outros métodos que
permitem outros terem acesso a ela. Se precisar de uma cópia de segurança, faça em disquetes e guarde-a em um lugar
seguro.
2. Instale a chavepúblicano servidorremotoque desejase conectarcopiandoo arquivocom:
root@localhost:~# cd ~/.ssh
root@localhost:~# scp id_rsa.pub usuario@serv_remoto:~/.ssh/authorized_keys
ou
root@localhost:~# scp id_dsa.pub usuario@serv_remoto:~/.ssh/authorized_keys

Caso o arquivo remoto ~/.ssh/authorized_keys não exista, ele será criado. Seu formato é idêntico ao ~/.ssh/know_hosts e
contémumachavepúblicapor linha.
CUIDADO: Você poderá ter várias chaves dentro do arquivo ~/.ssh/authorizes_keys. para isso, ao invés de copiar o arquivo
id_rsa.pubou id_dsa.pubdiretamente,copie para outro diretório qualquerdo sistemae depoisconcatenecom...
root@localhost:~# cat id_rsa.pub >> authorized_keys
ou
root@localhost:~# cat id_dsa.pub >> authorized_keys

3. Agorautilize o ssh para entrar no sistemaremotousandoo métodode chavepública/privada.Entre coma senhaque usou para
gerar o par de chavespúblico/privado(ele entrarádiretamentecaso não tenhadigitadoumasenha).
OBS: Deverá ser levado em consideração a possibilidade de acesso físico ao seu diretório pessoal, qualquer um que tenha
possede sua chaveprivadapoderáter acessoao sistemaremoto.O tipo de chavecriadapor padrãoé a rsa1 (compatívelcom
as versões1 e 2 do ssh). A opção-t [chave] poderáser usada(ao gerar a chave)para selecionaro métodode criptografia:
● rsa1 - Cria umachaversa compatívelcoma versão1 e 2 do ssh (esta é a padrão).

● rsa - Cria umachaversa compatívelsomentecoma versão2 do ssh.

● dsa - Cria umachavedsa compatívelsomentecoma versão2 do ssh.

4. Paratrocar a senhautilize o comando...


root@localhost:~# ssh­keygen ­p ­t tipo_chave ­f ~/.ssh/identity 

... será pedidasua senhaantigae a novasenha(no mesmoestilo do passwd). Opcionalmentevocêpodeutilizar a sintaxe..:


root@localhost:~# ssh­keygen ­p ­f ~/.ssh/identity ­P senha_antiga ­N
senha_nova

...que troca a senha em um único comando (útil para ser usado em scripts junto com a opção -q para evitar a exibição de
mensagensde saídado ssh-keygen).

7.13 Diferenças nas versões do protocolo


Retiradada páginade manualdo sshd:

Página 30
Administração de Redes Linux
Protocolo SSH versão 1
Cada servidor possui uma chave RSA específica (1024 bits por padrão) usada para identifica-lo. Quandoo sshd inicia,
ele gera umachaveRSAdo servidor (768 bits por padrão, valor definidopor ServerKeyBits)que é recriadaa cada hora (modificado
por KeyRegenerationIntervalno sshd_config) e permanecesempreresidentena RAM.
Quandoum cliente se conectao sshd respondecom sua chavepública da máquinae chavesdo servidor. O cliente ssh
comparaa chaveRSAcomseu bancode dados(em~/.ssh/know_hosts) para verificar se não foi modificada.
Estando tudo OK, o cliente gera um número aleatório de 256 bits, o encripta usando ambas as chaves de máquina e
chavedo servidor e envia este númeroao servidor. Ambosos lados então usameste númeroaleatório comochavede seçãoque é
usadopara encriptartodasas comunicaçõesseguintesna seção.
O resto da seção usa um método de embaralhamento de dados convencional, atualmente Blowfish ou 3DES (usado
como padrão). O cliente seleciona o algoritmo de criptografia que será usado de um destes oferecidos pelo servidor. Após isto o
servidor e cliente entram em um diálogo de autenticação. O cliente tenta se autenticar usando um dos seguintes métodos de
autenticação:
● ~/.rhostsou ~/.shosts(normalmentedesativada).

● ~/.rhostsou ~/.shostscombinadocomautenticaçãoRSA(normalmentedesativada).

● AutenticaçãoRSApor respostade desafio.

● Autenticaçãobaseadaem senha.

A autenticação usando Rhosts normalmente é desativada por ser muito insegura mas pode ser ativada no arquivo de
configuração do servidor se realmente necessário. A segurança do sistema não é melhorada a não ser que os serviços rshd,
rlogind, rexecde rexd estejamdesativados(assim,o rlogin e rsh serãocompletamentedesativadosna máquina).

Protocolo SSH versão 2


A versão 2 funciona de forma parecida com a 1: Cada máquina possui uma chave RSA/DSAespecífica usada para se
identificar. A diferença é que quando o sshd inicia, ele não gera uma chave de servidor. A segurança de redirecionamento é
oferecida através da concordância do uso de uma chave Diffie-Hellman. Esta concordância de chave resulta em uma seção com
chavecompartilhada. O resto da seção é encriptadausandoum algoritmosimétrico, comoBlowfish, 3DES, CAST128,Arcfour, 128
bit AES,ou 256 bit AES.
O clienteque selecionao algoritmode criptografiaque será usadoentre os oferecidospelo servidor. A versão2 também
possui integridade de seção feita através de um código de autenticaçãode mensagemcriptográfica (hmac-sha1 ou hmac-md5). A
versão 2 do protocolo oferece um método de autenticação baseado em chave pública (PubkeyAuthentication) e o método de
autenticaçãoconvencionalusandosenhas.

7.14 Exemplo de sshd_config com explicações das diretivas


Abaixo segue um exemplo deste arquivo que poderá ser adaptado ao seu sistema. O objetivo é ser ao mesmotempo
útil para sua configuraçãoe didático:
# Modelo personalizado para o guia Foca GNU/Linux baseado na configuração 
# original do FreeBSD. 
# Autor: Gleydson Mazioli da Silva
# Data: 20/09/2001. 

# Porta padrão usada pelo servidor sshd. Múltiplas portas podem ser 
# especificadas separadas por espaços.
Port 22

Página 31
Administração de Redes Linux

# Especifica o endereço IP das interfaces de rede que o servidor sshd 
# servirá requisições. Múltiplos endereços podem ser especificados 
# separados por espaços. A opção Port deve vir antes desta opção
ListenAddress 0.0.0.0

# Protocolos aceitos pelo servidor, primeiro será verificado se o cliente é 
# compatível com a versão 2 e depois a versão 1. Caso seja especificado 
# somente a versão 2 e o cliente seja versão 1, a conexão será descartada. 
# Quando não é especificada, o protocolo ssh 1 é usado como padrão.
Protocol 2,1

# As 4 opções abaixo controlam o acesso de usuários/grupos no sistema.
# Por padrão o acesso a todos é garantido (exceto o acesso root se 
# PermitRootLogin for "no"). AllowUsers e AllowGroups definem uma lista 
# de usuários/grupos que poderão ter acesso ao sistema. Os coringas 
# "*" e "?" podem ser especificados. Note que somente NOMES são válidos, 
# UID e GID não podem ser especificados. 

# As diretivas Allow são processadas primeiro e depois Deny. O método que 
# estas diretivas são processadas é idêntico a diretiva 
# "Order mutual­failure" do controle de acesso do Apache: 
# O usuário deverá TER acesso via AllowUsers e AllowGroups e NÃO ser bloqueado
# por DenyUsers e DenyGroups para ter acesso ao sistema. Se uma das diretivas 
# não for especificada, "*" é assumido como padrão. 
# Estas permissões são checadas após a autenticação do usuário, porque 
# dados a ele pelo /etc/passwd e PAM são obtidos após o processo de 
# autenticação. 
#AllowUsers fabricio teste?
#DenyUsers root adm
#AllowGroups users
#DenyGroups root adm bin

# Permite (yes) ou não (no) o login do usuário root
PermitRootLogin no

Página 32
Administração de Redes Linux
# Chaves privadas do servidor (as chaves públicas possuem um ".pub" adicionado
# no final do arquivo. 
HostKey /etc/ssh/ssh_host_key
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key

# Tamanho da chave. 768 bits é o padrão
ServerKeyBits 768

# Tempo máximo para login no sistema antes da conexão ser fechada
LoginGraceTime 600

# Tempo para geração de nova chave do servidor (segundos). O padrão é 
# 3600 segundos (1 hora). 
KeyRegenerationInterval 3600

# Ignora os arquivos ~/.rhosts e ~/.shosts
IgnoreRhosts yes

# Ignora (yes) ou não (no) os arquivos ~/.ssh/known_hosts quando for usado 
# para a opção RhostsRSAAuthentication. Se você não confia neste mecanismo 
# ajuste esta opção para yes.
IgnoreUserKnownHosts no

# Checa por permissões de dono dos arquivos e diretório de usuário antes de 
# fazer o login. É muito recomendável para evitar riscos de segurança 
# com arquivos lidos por todos os usuários. 
StrictModes yes

# Permite (yes) ou não (no) o redirecionamento de conexões X11. A segurança 
# do sistema não é aumentada com a desativação desta opção, outros métodos
# de redirecionamento podem ser usados
X11Forwarding yes

# Especifica o número do primeiro display que será usado para o
# redirecionamento X11 do ssh. Por padrão é usado o display 10 como inicial

Página 33
Administração de Redes Linux
# para evitar conflito com display X locais
X11DisplayOffset 10

# Mostra (yes) ou não (no) a mensagem em /etc/motd no login. O padrão é "no".
PrintMotd no

# Mostra (yes) ou não (no) a mensagem de último login do usuário. O padrão é
# "no".
PrintLastLog no

# Permite (yes) ou não (no) o envio de pacotes keepalive (para verificar se o 
# cliente responde. Isto é bom para fechar conexões que não respondem mas 
# também podem fechar conexões caso não existam rotas para o cliente 
# naquele momento (é um problema temporário). Colocando esta opção como 
# "no" por outro lado pode deixar usuários que não tiveram a oportunidade
# de efetuar o logout do servidor dados como "permanentemente conectados"
# no sistema. Esta opção deve ser ativada/desativada aqui e no programa 
# cliente para funcionar. 
KeepAlive yes

# Facilidade e nível das mensagens do sshd que aparecerão no syslogd
SyslogFacility AUTH
LogLevel INFO

# Especifica se somente a autenticação via arquivos ~/.rhosts e 
# /etc/hosts.equiv é suficiente para entrar no sistema. Não é muito bom usar
# "yes" aqui.
RhostsAuthentication no

# Mesmo que o acima com o acréscimo que o arquivo /etc/ssh/ssh_known_hosts
# também é verificado. Também evite usar "yes" aqui.
RhostsRSAAuthentication no

# Especifica se a autenticação via RSA é permitida (só usado na versão 1 do 
# protocolo ssh). Por padrão "yes". 
RSAAuthentication yes

Página 34
Administração de Redes Linux

# Permite autenticação usando senhas (serve para ambas as versões 1 e 2 do
# ssh). O padrão é "yes". 
PasswordAuthentication yes

# Se a PasswordAuthentication for usada, permite (yes) ou não (no) login 
# sem senha. O padrão é "no".
PermitEmptyPasswords no

# Ativa senhas s/key ou autenticação PAM NB interativa. Nenhum destes é 
# compilado por padrão junto com o sshd. Leia a página de manual do 
# sshd antes de ativar esta opção em um sistema que usa PAM. 
ChallengeResponseAuthentication no

# Verifica se o usuário possui emails ao entrar no sistema. O padrão é "no".
# Este módulo também pode estar sendo habilitado usando PAM (neste caso 
# cheque a configuração em /etc/pam.d/ssh). 
CheckMail no

# Especifica se o programa login é usado para controlar a seções de shell 
# interativo. O padrão é "no".
UseLogin no

# Especifica o número máximo de conexões de autenticação simultâneas feitas 
# pelo daemon sshd. O valor padrão é 10. Valores aleatórios podem ser 
# especificados usando os campos "inicio:taxa:máximo". Por exemplo, 
# 5:40:15 rejeita até 40% das tentativas de autenticação que excedam o 
# limite de 5 até atingir o limite máximo de 15  conexões, quando 
# nenhuma nova autenticação é permitida.
MaxStartups 10
#MaxStartups 10:30:60

# Mostra uma mensagem antes do nome de usuário/senha
Banner /etc/issue.net

# Especifica se o servidor sshd fará um DNS reverso para verificar se o 

Página 35
Administração de Redes Linux
# endereço confere com a origem (isto é útil para bloquear conexões 
# falsificadas ­ spoofing). O padrão é "no". 
ReverseMappingCheck yes

# Ativa o subsistema de ftp seguro. Para desabilitar comente a linha 
# abaixo
Subsystem  sftp    /usr/lib/sftp­server

8 Servidor DNS
DNS significa Domain Name System(sistema de nomes de domínio). O DNS converte os nomes de máquinas para
endereçosIPs que todas as máquinasda Internet possuem.Ele faz o mapeamentodo nomepara o endereçoe do endereçopara o
nome e algumas outras coisas. Um mapeamento é simplesmente uma associação entre duas coisas, neste caso um nome de
computador,comowww.cipsga.org.br,e o endereçoIP destamáquina(ou endereços)como200.245.157.9.
O DNS foi criado com o objetivo de tornar as coisas mais fáceis para o usuário, permitindo assim, a identificação de
computadores na Internet ou redes locais através de nomes (é como se tivéssemos apenas que decorar o nome da pessoa ao
invés de um número de telefone). A parte responsável por traduzir os nomes como www.nome.com.br em um endereço IP é
chamadade resolvedor de nomes.
O resolvedor de nomes pode ser um bancode dadoslocal (controlador por um arquivo ou programa)que converte
automaticamente os nomes em endereços IP ou através de servidores DNS que fazem a busca em um banco de dados na
Internete retornamo endereçoIP do computadordesejado.UmservidorDNSmais difundidona Interneté o bind.
Através do DNS é necessário apenas decorar o endereço sem precisar se preocupar com o endereço IP (alguns
usuáriossimplesmentenão sabemque isto existe...)

8.1 O que é um nome?


Você deve estar acostumadocom o uso dos nomes de computadores na Internet, mas pode não entender como eles
são organizados.Os nomesde domíniona Internet são uma estrutura hierárquica, ou seja, eles tem uma estrutura semelhanteaos
diretóriosde seu sistema.
Um domínio é uma família ou grupo de nomes. Um domínio pode ser colocadoem um sub-domínio. Um domínio
principal é um domínio que não é um sub-domínio. Os domínios principais são especificados na RFC-920. Alguns exemplos de
domíniosprincipaiscomunssão:
● COM- OrganizaçõesComerciais

● EDU- OrganizaçõesEducacionais

● GOV- OrganizaçõesGovernamentais

● MIL - OrganizaçõesMilitares

● ORG- OutrasOrganizações

● NET- Organizaçõesrelacionadascoma Internet

● Identificadordo País - Sãoduasletras que representamum país em particular(BR, US, ...).

Cada um dos domínios principais tem sub-domínios. Os domínios principais baseados no nome do país são
freqüentemente divididos em sub-domínios baseado nos domínios .com, .edu, .gov, .mil e .org. Assim, por exemplo, você pode
finaliza-lo com: com.aue gov.aupara organizaçõescomerciaise governamentaisna Austrália; note que isto não é uma regra geral,
as organizações de domínio atuais dependem da autoridade na escolha de nomes de cada domínio. Quando o endereço não
especificao domínioprincipal, comoo endereçowww.unicamp.br, isto quer dizer que é umaorganizaçãoacadêmica.

Página 36
Administração de Redes Linux
O próximo nível da divisão representa o nome da organização. Subdomínios futuros variam em natureza,
freqüentementeo próximonível do sub-domínio é baseadona estrutura departamental da organizaçãomas ela pode ser baseada
em qualquercritério consideradorazoávele significantespelos administradoresde rede para a organização.
A porção mais a esquerda do nome é sempre o nome único da máquina chamado hostname, a porção do nome a
direita do hostname é chamado nome de domínio e o nome completo é chamado nome do domínio completamente
qualificado (Fully Qualified Domain Name).
Usandoo computadorwww.debian.org.brcomoexemplo:
● br - País ondeo computadorse encontra

● org - Domínioprincipal

● debian- Nomede Domínio

● www- Nomedo computador

A localização do computador www.debian.org.br através de servidores DNS na Internet obedece exatamente a


seqüênciade procuraacima.Os administradoresdo domíniodebian.org.brpodemcadastrarquantossub-domíniose computadores
quiserem(comowww.non-us.debian.org.brou cvs.debian.org.br).

8.2 Como funciona uma consulta de DNS

1. Clientesolicita tradução(resolução)de nomespara o servidorDNSque está configuradono cliente


2. Servidor DNS “local” verifica se o domínio é responsabilidade dele. Se for, ele mesmojá resolve, se não for, ele encaminhaa
solicitaçãopara a Internic.
DNS LOCAL: Clientesempreprecisater especificadoum endereçoIP de DNSpara resoluçãode nomes.
INTERNIC: Órgãomundial responsávelpelo controle do domínio“.” na internet mundial. 13 servidoresespelhadoscom link e
hardwarede boa qualidadeque guardaminformaçõesprimordiaispara que o DNSmundial funcionecorretamente.

Página 37
Administração de Redes Linux
3. Internicverificaqual domínioestá sendopesquisado.Aqui na explicação,vou utilizar www.google.com.br. Nessecaso, o Internic
consultao domínio“.” e descobrena verdadeé um “.br”, cuja Fapespé responsávelpelo controledestazona.
FAPESP: Órgão nacional responsável pelo controle da zona “.br” e todas as sub-zonas a cima. Ex.: “.com.br”, “.inf.br”,
“.org.br”, etc.
4. Fapesp verifica em seu bando de DNS quais são os servidores DNS responsáveis pelo domínio “google.com.br”. Verificado, a
solicitaçãoé encaminhada para os DNSresponsáveis.
DNS: Servidores que realizam a tradução “IP-NOME”, “NOME-IP”. Para funcionamento na Internet, precisam ser no mínimo
dois, sendoum Mastere um Slavee no máximoquatro, sendoum Mastere três Slaves.
5. Os DNSresponsáveisverificamondese encontraa máquinawwwdestedomínio.
6. A solicitaçãoé encaminhadapara essamáquinae a mesmarespondea solicitaçãopara o cliente.
CLIENTE: A informaçãodo IP do servidor wwwque o DNSforneceupara o cliente, fica armazenadana máquinaem memória
por um período aproximado de 24 horas, ou seja, é comum acontecer de um site estar fora do ar para determinados
equipamentos,mas na verdadeeles podemestar operandoem outro IP, mas o DNSnão sabe disso, pois a informaçãode DNS
ainda não propagou de forma completa. Essa configuração pode ser alterada na configuração do servidor DNS na variável
$TTL.

8.3 Arquivos de configuração usados na resolução de nomes


Abaixoa descriçãodos arquivosusadosno processode resolverum nomeno sistemaGNU/Linux.

/etc/resolv.conf
O /etc/resolv.conf é o arquivo de configuraçãoprincipal do código do resolvedor de nomes. Seu formato é um arquivo
texto simples com um parâmetropor linha e o endereçode servidoresDNSexternossão especificadosnele. Existemtrês palavras
chavesnormalmenteusadasque são:
● domain:Especificao nomedo domíniolocal.

● search: Especificauma lista de nomesde domínioalternativosao procurar por um computador, separadospor espaços.A linha
searchpodeconter no máximo6 domíniosou 256 caracteres.
● nameserver: Especifica o endereço IP de um servidor de nomes de domínio para resolução de nomes. Pode ser usado várias
vezes.
Comoexemplo,o /etc/resolv.confse parececomisto:
domain fabriciovc.net
search fabriciovc.net
nameserver 192.168.0.100
nameserver 192.168.0.101

Este exemploespecifica que o nomede domínioa adicionarao nomenão qualificado(i.e. hostnamessem o domínio) é
fabriciovc.net e que se o computador não for encontrado naquele domínio então a procura segue para o domínio fabriciovc.net
diretamente. Duas linhas de nomes de servidores foram especificadas, cada uma pode ser chamada pelo código resolvedor de
nomespara resolvero nome.

/etc/hosts
O arquivo /etc/hosts faz o relacionamentoentre um nome de computador e endereço IP local. Recomendadopara IPs
constantemente acessados e para colocação de endereços de virtual hosts (quando deseja referir pelo nome ao invés de IP). A
inclusão de um computador neste arquivo dispendaa consulta de um servidor de nomes para obter um endereço IP, sendo muito
útil para máquinas que são acessadas frequentemente. A desvantagem de fazer isto é que você mesmo precisará manter este
arquivo atualizado e se o endereço IP de algum computador for modificado, esta alteração deverá ser feita em cada um dos
Página 38
Administração de Redes Linux
arquivos hosts das máquinas da rede. Em um sistema bem gerenciado, os únicos endereços de computadores que aparecerão
nestearquivoserãoda interfaceloopbacke os nomesde computadores.
# /etc/hosts
127.0.0.1      localhost.localdomain       localhost
192.168.0.1    servidor.fabriciovc.net     fabriciovc

Você pode especificar mais que um nome de computador por linha como demonstrada pela primeira linha, a que
identificaa interfaceloopback.
OBS: Caso encontre problemasde lentidão para resolver nomes e até para executar os aplicativos (como o mc, etc),
verifiquese existemerros nestearquivode configuração.
Estes sintomas se confundemcom erros de memória ou outro erro qualquer de configuração de hardware, e somem
quando a interface de rede é desativada (a com o IP não loopback). Isto é causados somente pela má configuração do arquivo /
etc/hosts. O bomfuncionamentodo Unix dependeda boa atençãodo administradorde sistemaspara configurar os detalhesde seu
servidor.

8.4 Configurando um servidor DNS

Pacotes Necessários
● bind9

● bind9-docl

● dnsutils

Configurando o /etc/bind/named.conf
Este arquivo descreve quais domínios este servidor é responsável (é servidor primário ou secundário). Servidores
primários são os reais “donos” do domínio, ou seja, só serão válidas as alterações feitas no servidor primário do domínio. Cada
domíniotemapenas1 servidorprimário.
Servidores secundários funcionam como "cópia" do primário. A função básica é de ajudar o servidor primário,
principalmentequandoeste está “fora do ar”. Sugere-se que cada domínio tenha pelo menos1 servidor secundário e que seja em
umarede diferente.
// Esta é o arquivo primário de configuração do servidor de nomes BIND DNS
//
// Incluindo opções adicionais do arquivo named.conf.options
include "/etc/bind/named.conf.options";

// Reduzindo informações de logs desnecessárias
logging {
category lame­servers { null; };
category cname { null; };
};

Página 39
Administração de Redes Linux
// Definindo os “root servers”
zone "." {
        type hint;
        file "/etc/bind/db.root";
};

// Definindo zonas locais de encaminhamento, reverso e broadcast
zone "localhost" {
        type master;
        file "/etc/bind/db.local";
};
zone "127.in­addr.arpa" {
        type master;
        file "/etc/bind/db.127";
};
zone "0.in­addr.arpa" {
        type master;
        file "/etc/bind/db.0";
};
zone "255.in­addr.arpa" {
        type master;
        file "/etc/bind/db.255";
};

// Zonas adicionais deverão ser incluídas aqui
include "/etc/bind/named.conf.local";

Configurando o /etc/bind/named.conf.local

//
// Zonas adicionais deverão ser definidas aqui
zone “fabriciovc.net” {
        type master;
        file “/etc/bind/md.fabriciovc.net”;
        //allow­transfer { 192.168.0.101; };
};
zone “0.168.192.in­addr.arpa” {

Página 40
Administração de Redes Linux
        type master;
        file “/etc/bind/mr.0.168.192”;
        //allow­transfer { 192.168.0.101; };
};
zone “debian.org.br” {
        type slave;
        file “/etc/bind/sd.debian.org.br”;
        masters { 200.205.143.25; };
};
zone “0.0.10.in­addr.arpa” {
        type slave;
        file “/etc/bind/sr.0.0.10”;
        masters { 200.205.143.25; };
};

Cada zone define um novo domínio. Quando se quer especificar um domínio reverso, pegar o endereço da rede
(somente a parte fixa da rede), colocar na ordem inversa e adicionar .in-addr.arpa. O arquivo acima refere-se ao reverso da rede
192.168.0.0.
O type descreveo tipo de responsabilidadesobreaqueledomínio.
Tipos:
● hint: consultar root-serversse não conhecero domínio;

● master: este DNSe servidorprimáriodeste domínio;

● slave: este DNSe servidorsecundáriodestedomínio.

O itemfile contémo nomedo arquivoque conteráa descriçãodo domínio..


O item masters define qual e o servidor primário do domínio e só será usado quando se está configurando um
servidorsecundário.

Configurando o /etc/bind/md.fabriciovc.net
$TTL    86400
@       IN      SOA     fabriciovc.net. root.fabriciovc.net. (
                     2005051701         ; Serial (Serial)
                          14400         ; Refresh (Releitura de config.)
                           3600         ; Retry (Nova tentativa de releit)
                         604800         ; Expire (Limite de tentativas)
                          86400 )       ; Negative Cache TTL (Tempo de cache)
;
@       IN      NS      fabriciovc.net.
@       IN      NS      ns.fabriciovc.net.

Página 41
Administração de Redes Linux
@       IN      MX      0 mx.fabriciovc.net.
@       IN      A       192.168.0.100
;
ns      IN       A      192.168.0.100
www     IN       A      192.168.0.100
pop     IN       A      192.168.0.100
smtp    IN       A      192.168.0.100
mail    IN       A      192.168.0.100
ftp     IN       A      192.168.0.100

micro01 IN       A      192.168.0.1
micro02 IN       A      192.168.0.2
micro03 IN       A      192.168.0.3
micro04 IN       A      192.168.0.4
micro05 IN       A      192.168.0.5

Configurando o /etc/bind/mr.fabriciovc.net
$TTL    86400
@       IN      SOA     fabriciovc.net. root.fabriciovc.net. (
                     2005051701         ; Serial (Serial)
                          14400         ; Refresh (Releitura de config.)
                           3600         ; Retry (Nova tentativa de releit)
                         604800         ; Expire (Limite de tentativas)
                          86400 )       ; Negative Cache TTL (Tempo de cache)
;
@       IN      NS      fabriciovc.net.
;
100     IN      PTR     ns.fabriciovc.net.
;
1       IN      PTR     micro01.fabriciovc.net.
2       IN      PTR     micro02.fabriciovc.net.
3       IN      PTR     micro03.fabriciovc.net.
4       IN      PTR     micro04.fabriciovc.net.
5       IN      PTR     micro05.fabriciovc.net.

Página 42
Administração de Redes Linux
Configurando o /etc/bind/sd.debian.org.br
Este não precisa ser configurado pois se refere a um domínio slave. O conteúdo deste arquivo será copiado
autimaticamentedo servidormasterespecificadona configuraçãozone do domíniodebian.org.br.

Explicando as opções utilizadas


● @ (Caractere Coringa): Representao domínioem si. Ele interpretao que está em SOA.

● SOA (Start of Authorization): Descreveumazonade autoridade;

● NS (NameServer): Declaraquais são os servidoresde nomedessedomínio;

● MX (Mail Exchanger): Indicaqual o trocadorde e-mail para o domínio;

● IN (Internet Name): Referênciaao endereçoIP

● A (Address): Mapeiaum nomede máquinaa um endereçoIP;

● PTR (Pointer): MapeiaendereçosIP para nomesde máquina(usadoapenasna configuraçãode domínioreverso);

Parando/Iniciando o named
Atenção: Por padrão, na instalação, o diretório /etc/bind pertenceao usuário root e ao grupo root, mas o DNSroda
comousuário bind e grupobind. Destaforma, se estiver configuradopara o DNSatuar comosecundáriode algumdomínio, o bind
não terá permissãopara gravaro arquivodo domínionestediretório. Para corrigir isto, executeo comando:
root@localhost:~# chown ­R bind.bind /etc/bind

Depoispare e inicie o bind.


root@localhost:~# /etc/init.d/bind9 stop
root@localhost:~# /etc/init.d/bind9 start

Verificando Domínios (nslookup)


O nslookupé umaferramentapoderosapara:
● Verificaçãoda configuraçãode domínios;

● Por conseguir verificar servidores de nomes remotos, pode-se simular a requisição de resolução de um nome feita pelos
aplicativosnormais;
● Permite ao administrador do servidor primário checar se os servidores secundários estão funcionando corretamente (e vice-
versa)

Utilização
O nslookupirá se conectar(sempre)no nameserverdefinidono arquivo/etc/resolv.conf.
O nslookupestá sempreem um determinadomodo de pesquisa (query-type. Para mudar o modo de pesquisa, digite o
comando:
root@localhost:~# nslookup
set query=TIPO

ondeo "TIPO"podeser:
● A: Este é o mododefault da inicializaçãodo programa.Se vocêdigitar um nomede máquinaele procuraráo endereçoIP dela;

● SOA: Se vocêdigitar um domínio,procuraráo registro SOAdessedomínio;

Página 43
Administração de Redes Linux
● NS: Se você digitar um domínio, procurará quais são os servidores de nome desse domínio. Tambémmostrará os endereços
IP dos nameservers;
● PTR: Se você digitar um endereço IP, procurará o nome da máquina (reverso). Tambémos nameservers e seus respectivos
endereçosIP;
● MX: Se você digitar um domínio, procurará quais são os trocadores de e-mail desse domínio, suas respectivas prioridades e
seusrespectivosendereçosIP;
➔ ANY: Trará tudo o que puderencontrarsobrea máquinaou o domínioque você especificar.

Se vocêprecisarfazer consultasem um outro servidor, poderátrocar de servidorcomo comando:


server NOME_OU_IP_DO_SERVIDOR

Exemplos ( o símbolo> indicao promptdo nslookup):


root@localhost:~# nslookup

Default Server: ns.fabriciovc.net
Address: 10.0.0.100

> set query=a
> www.fabriciovc.net

Server: ns.fabriciovc.net
Address: 192.168.0.100

Name: www.fabriciovc.net
Address: 192.168.0.100

Outros aplicativos de lookup


Podemosaindautilizar os comandoshost ou dig para realizaras pesquisas.

Sintaxe do host
host [opções] host/domínio

Exemplo.:
Devolveinformaçõessobreo registro MXdo domíniofabriciovc.net:
root@localhost:~# host –t MX fabriciovc.net

Devolveinformaçõessobreo host www.fabriciovc.net(por default o registro A):


root@localhost:~# host www.fabriciovc.net

Devolveinformaçõessobreo registro PTRdo IP 192.168.0.1:


root@localhost:~# host –t PTR 192.168.0.1

Página 44
Administração de Redes Linux
Sintaxe do dig
dig [opções] host/domínio

Exemplo:
Devolveinformaçõessobreo registro MXdo domínioelaborata.com.br:
root@localhost:~# dig –t MX fabriciovc.net

Devolveinformaçõessobreo host www.elaborata.com.br (por default o registro A):


root@localhost:~# dig www.fabriciovc.net

Devolve informações sobre o registro PTR do IP 192.168.0.1 (A notação de ip deve ser como a exemplificada para
pesquisade reverso):
root@localhost:~# dig –t PTR 1.0.168.192.in­addr.arpa

9 NFS (Network File System)

9.1 Introdução
NFS (Network File System) é um sistema de arquivos de rede, ou seja, permite o compartilhamento de forma
transparentediretóriosentre máquinasde umarede.
Atenção:
● Faz o compartilhamentode diretóriospreviamente montadospara umarede, ou seja, não permite, por exemplo,exportar um
CD, masse esseCDestá montado,digamos,no /media/cdrom,entãoo /mnt/cdrompoderáser exportado;
● O NFSsó funcionaráse o kernel tiver suportea NFS!Normalmenteo kernel da instalaçãojá tem suporte.

9.2 O portmapper
O portmapper no Linux é chamado de portmap. Todo serviço que utiliza RPC (Remote Procedure Call) para
comunicaçãose “cadastra”no portmapindicandoqual porta estaráutilizando.
Os programasque quiseremfazer algumacomunicaçãocoma sua máquinaatravésde RPCconsultamo portmappara
saberem que porta se encontrao serviçonecessitado.
Atenção:
● Se o portmapnão estiver rodando,não é possível exportar nemmontar nadavia NFS;

● O portmapestá sujeito às regrasdos arquivos/etc/hosts.allowe /etc/hosts.deny.

Para o uso do NFS as seguintes linhas devem estar contidas no /etc/hosts.allow (no caso do /etc/hosts.deny estar
configuradopara negartudo):
portmap:  [rede a ser oferecido o serviço]
nfsd: [rede a ser oferecido o serviço]
lockd: [rede a ser oferecido o serviço]
mountd: [rede a ser oferecido o serviço]
statd: [rede a ser oferecido o serviço]
rquotad: [rede a ser oferecido o serviço]

Página 45
Administração de Redes Linux
Exemplo:
portmap: 192.168.0.
nfsd: 192.168.0.
lockd: 192.168.0.
mountd: 192.168.0.
statd: 192.168.0.
rquotad: 192.168.0.

9.3 Configurando o Servidor NFS


Primeiramenteprecisamosinstalar os pacotesdo NFS.
root@localhost:~# apt­get install nfs­common nfs­kernel­server

Os diretórios que serão exportados são listados no arquivo /etc/exports. Basicamente, declara-se qual diretório a
exportar, quemterá acessoe comquais permissõesterá acesso.Certifique-se de que o portmapesteja rodando.
As opçõespara exportarum diretório, sempreentre parênteses,são:
● ro: Apenasleitura;

● rw: Leiturae escrita;

● root_squash: Se o root da outra máquinaacessarserá consideradocomoum usuáriosempoder algum;

● no_root_squash: Se o root da outra máquina acessar será considerado com os mesmos poderes que o root desta
máquina;
Exemplos de configuração do /etc/exports:
# Exportando um diretório com acesso ilimitado:
/tmp (rw)

# Exportando um diretório com acesso apenas de leitura:
/mnt/cdrom (ro)
# Exportando um diretório apenas para duas máquinas com permissão de escrita:
/home 192.168.0.1(rw) 192.168.0.2(rw)

# Exportando um diretório somente para a rede local com permissão de escrita:
/home 192.168.0.*(rw) ou
/home 192.168.0.0/24(rw)ou
/home 192.168.0.0/255.255.255.0(rw)

# Exportando um diretório para todos do meu domínio, sem poderes de root:
/home *.fabricio.net(rw,root_squash,sync)

DICA: Depoisde alterar o arquivo/etc/exports,execute...


root@localhost:~# exportfs ­r
Página 46
Administração de Redes Linux
...paraque os diretóriospossamser exportadossemque vocêprecisereiniciar o daemonNFS.

9.4 Parando/Iniciando o NFS


root@localhost:~# /etc/init.d/nfs­common stop
root@localhost:~# /etc/init.d/nfs­kernel­server stop
root@localhost:~# /etc/init.d/nfs­common start
root@localhost:~# /etc/init.d/nfs­kernel­server start

9.5 Checando o que está sendo exportado


Para checaro que a sua máquinaestá sendoexportado,utilize o comando:
root@localhost:~# showmount ­e [IP ou nome da máquina (opcional)]

9.6 Configurando o Cliente NFS


Para montarremotamenteum diretório exportado,bastausar o comandomountcomas seguintesopções:
root@localhost:~# mount ­t nfs servidor:/diretorio/origem /ponto/montagem

Exemplo:
# Montar o diretório /mnt/cdrom da máquina ns.elaborata.br no diretório /
mnt/cdrom local:
root@localhost:~# mount ­t nfs ns.fabriciovc.net:/mnt/cdrom /mnt/cdrom

9.7 Montagem Automática no Boot da Máquina


Para que um diretório seja montado automaticamente na inicialização da máquina, basta adicionar no /etc/fstab
colocandoservidor:/diretórioinvésda partiçãoa ser montada.
Ex.: (seme comopçõesextras)
# /etc/fstab
ns.fabriciovc.net:/mnt/cdrom /mnt/cdrom nfs defaults
users.fabriciovc.net:/home /home nfs soft,bg

Opções de Montagem
Existem algumas opções que devem ser consideradas e adicionadas se necessário. Elas controlam a maneira que o
clienteNFStrata umaquedano servidorou na rede. Existemduasopçõesdistintaspara tratar falhas:
● fg: Se a primeiratentativade montagemfalhar, tentaránovamenteem seguida;

● bg: Se a primeiratentativade montagemfalhar, tentaránovamenteem background;

● soft: O cliente NFS relatará um erro ao processo que quer acessar um arquivo em um sistema de arquivo NFS montado.
Algunsprogramaspodemtratar esseerro comserenidade,a maiorianão, simplesmenteabortando;
● hard: O programa que acessa um arquivo em um sistema de arquivo NFS montado irá esperar até que o servidor volte a
responder. O processo não poderá ser interrompido ou morto (killed). Quando o servidor NFS estiver online novamente o
programacontinuaráa sua execuçãosemse incomodarcomoque aconteceu;
● intr: Mesmoutilizandoo parâmetrohard, faz comque aplicativosque recebamum Ctrl-C possamabortar.

Página 47
Administração de Redes Linux
10 NIS (Network Information Services)
Um servidor NIS é uma máquina que contém um grupo de mapas (arquivos) que são postos à disposição da rede. O
servidor de arquivos não precisa ser o servidor NIS, a menos que ele seja a única máquina na rede que possua discos. Existem
dois tipos de servidoresNIS, mestrese escravos.
Atenção: Para que o NIS "funcione", e necessário que o portmapesteja rodando, tanto na máquinasservidoras NIS
quantonas estaçõesclientesNIS.
Os processos de configuração do NIS, foram retirados da documentação do NIS em /
usr/share/doc/nis/nis.debian.howto.gz(original em inglês).
nis.debian.howto 3.10-1 15-Nov-2003 miquels@cistron.nl

10.1 Configurando um cliente NIS


Primeiramenteinstale os pacotesnecessáriospara o NIS funcionarcorretamente.São eles: netbase,portmape nis.
root@localhost:~# apt­get install netbase portmap nis

Importante: O portmapdeveestar rodandono sistemapara que o NIS funcionecorretamente.


Durante o processo de instalação do nis, o sistema irá lhe perguntar o domínio NIS que está configurado no sistema.
Este nome de domínio fica armazenadoem /etc/defaultdomain. Lembre-se que esse nome de domínio é case-sentitive, ou seja,
letrasmaiúsculassão diferentesque letras minúsculas.
Se o servidor NIS estiver em sua rede local (ou seja, se ele não for a própria máquinacliente), você poderá especificar
no arquivo /etc/yp.conf o nome do servidor NIS da rede para facilitar a busca das informações na rede. Lembre-se que se você
configurarnestearquivoum nome,o DNSdeveestar funcionandocorretamentepara que o nomepossaser encontradona rede.
Vocêtambémpoderáconferir o arquivo/etc/default/nispara configuraçõesmais detalhadas.
NOTA: Colocaremosaqui apenasas opçõesque normalmentesão alteradas.
# /etc/defaults/nis Opções de configuração do daemon NIS.

# Se é um servidor NIS (valore spossíveis: false, slave, master)
NISSERVER=false

# Se é um cliente (iniciar o ypbind?)
NISCLIENT=true

# Servidor Mestre NIS. Se está configurado como servidor NIS escravo, rode o
# ypinit antes de iniciar o NIS (/usr/lib/yp/ypinit)
NISMASTER=

Apósessasconfigurações,pare e inicie o NIS.


root@localhost:~# /etc/init.d/nis stop
root@localhost:~# /etc/init.d/nis start

Página 48
Administração de Redes Linux
Usando usuários, grupos e senhas como cliente NIS
Primeiramente verifique o arquivo /etc/nsswitch.conf e verifique se as entradas estão de acordo com a configuração
necessáriado NIS.
passwd:   compat
group:    compat
shadow:   compat
netgroup: nis

Depoisaltereos arquivosde usuários,grupose senhaspara o funcionamentocorretocomo NIS.

Alterando o /etc/passwd
Edite o /etc/passwdcomo seu editor favorito ou como comando...
root@localhost:~# vipw (se estiver utilizando Debian)

... e incluano final do arquivo...


+::::::

Alterando o /etc/group
Edite o /etc/groupcomo seu editor favorito ou como comando...
root@localhost:~# vigr (se estiver utilizando Debian)

... e incluano final do arquivo...


+:::

Alterando o /etc/shadow
Edite o /etc/shadowcomo seu edito favorito e incluano final do arquivo...
+::::::::

10.2 Configurando um servidor master (mestre) NIS


Primeiramenteinstale os pacotesnecessáriospara o NIS funcionarcorretamente.São eles: netbase,portmape nis.
root@localhost:~# apt­get install netbase portmap nis

Importante: O portmapdeveestar rodandono sistemapara que o NIS funcionecorretamente.


Durante o processo de instalação do nis, o sistema irá lhe perguntar o domínio NIS que está configurado no sistema.
Este nome de domínio fica armazenadoem /etc/defaultdomain. Lembre-se que esse nome de domínio é case-sentitive, ou seja,
letrasmaiúsculassão diferentesque letras minúsculas.
Depois configure o arquivo /etc/ypserv.securenets. Neste arquivo você defique quais redes poderão utilizar essa
máquinacomoservidorNIS.
# Sempre aceitar acesso da máquina local (localhost)
# MÁSCARA       ENDEREÇO IP
255.0.0.0       127.0.0.0

Página 49
Administração de Redes Linux
# Aqui você habilita acesso à rede. POR FAVOR, AJUSTE ESSA LINHA!
# MÁSCARA       ENDEREÇO IP
0.0.0.0         0.0.0.0

Agorahabilite a opçãoNISSERVER=masterno arquivo/etc/default/nis.


Apósessasconfigurações,pare e inicie o NIS.
root@localhost:~# /etc/init.d/nis stop
root@localhost:~# /etc/init.d/nis start

Essaaçãoirá habilitar os serviçosypserv(servidorNIS) e o daemonyppasswdd(opçãopara troca de senhavia NIS).

Configurações adicionais do Servidor NIS


Vocêpoderáexecutaro comando...
root@localhost:~# /usr/lib/yp/ypinit ­m

... para configurar qual(is) servidor(es) irá(ão) trabalhar como servidor NIS. essa opção é obrigatória caso você possua
servidoresescravosna rede (configuraçãoque veremosadiante).
Arqui você irá especificar quais servidoresestarão em funcionamentona rede. Quandonão existiremmais servidoresa
sereminclusosna lista, pressioneCTRL+Dpara finalizar a lista. Casovoc possuaapenasum servidor (máquinalocal), mantenhao
nomeda máquinalocal e finalizeda mesmaforma(CTRL+D).
LEMBRE-SE: Sempre que alguma inclusão, exclusão ou alteração for realizada em relação a usuários, grupos ou
senhas,vocêdeveráatualizara baseda dadosdo NIS da seguinteforma.
root@localhost:~# cd /var/yp ; make

10.3 Configurando um servidor slave (escravo) NIS


Primeiramenterealizeumaconfiguraçãode clienteNIS (veja Configurandoum clienteNIS)
Depoisalterea opçãoNISSERVER=slavepara habilitar a máquinacomo slaveno arquivoi/etc/default/nis.
Você tambémprecisaráalterar o arquivc Makefile em /var/yp alterandoa opçãoNOPUSHpara “false” (NOPUSH=false)
para que os mapas de usuários, grupos e senhas possam ser encaminhados para o(s) servidor(es) slave(s) sempre que
necessários.
Nãoesqueçade executaro comando...
root@localhost:~# /usr/lib/yp/ypinit ­m

... no servidorNIS masterpara configurarquais serãoas máquinasservidoresescravosNIS.


Apósessasconfigurações,pare e inicie o NIS.
root@localhost:~# /etc/init.d/nis stop
root@localhost:~# /etc/init.d/nis start
root@localhost:~# /usr/lib/yp/ypinit ­s nome_do_servidor_mestre_nis

Destaforma,o servidorslaveNIS irá tranferir os mapasdo servidormestre.

11 Postfix
O Postfix é um MTAque vem se destacandopor sua fácil configuração.Ele vem se consolidandocomouma alternativa
ao Sendmail em razão de suas características, como maior robustez, melhor desempenho e maior facilidade na manutenção e
Página 50
Administração de Redes Linux
configuração. Além do mais o Postfix é capaz de emular várias funções do Sendmail, evitando assim modificaçõesnas aplicações
que utilizamo Sendmail.
Outra característicaimportantedo Postfix é a sua construçãomodular, facilitandoa manutençãodo código e permitindo
a implementaçãode novasfuncionalidadesmaisfacilmente.

11.1 Instalando o Postfix


root@localhost:~# apt­get install postfix procmail

11.2 Funcionamento de um sistema de entrega de mensagens

● MUA: Clientede correio. Enviapor SMTP(porta 25) e recebepor POP(porta 110) ou IMAP(porta 143 - webmail)

● MTA: ServidorSMTP(porta 25) de envio de correio

● MDA: Resposávelpela entregadas mensagensna CaixaPostal destino

● DNS: ServidorDNS

● DNS-MX: ServidorDNSresponsávelpelo recebimentodas mensagens

Página 51
Administração de Redes Linux
11.3 Arquivo de configuração modelo (/etc/postfix/main.cf)
# /etc/postfix/main.cf

# Este parâmetro especifica o texto do código 220 no servidor SMTP. CUIDADO:
# Não habilite a exibição da versão aqui, pois fornecendo a versão do programa,
# pode se utilizar essa informação para verificar possíveis brexas de segurança
# do software, podendo ser utilizado para invasões.
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)

# este parâmetro envia notificações de novos e­mails ("new mail") quando o
# comando "biff y". Normalmente por questos de desempenho, deixamos
# desabilitado.
biff = no

# Este parâmetro quando desabilitado, possibilita o envio de e­mails para o
domínio local sem que o MUA (cliente) os especifique.
append_dot_mydomain = no

# Descomente esta linha para gerar aviso de delay de e­mail
#delay_warning_time = 4h

# Este parâmetro especifica o nome do sistema de e­mail. Normalmente é o nome
# da máquina com o seu domínio.
myhostname = home.fabriciovc.net

# Este parâmetro normalmente é o $myhostname sem o nome da máquina. É o nome
# que será colocado após o @ no envio das mensagens.
mydomain = fabriciovc.net

# Os apelidos são utilizados para encaminhamento de mensagens. Sempre que o
# arquivo principal de aliases /etc/aliase for alterado, o comando "newaliases"
# ou "postalias /etc/aliases" deverá ser executado para (re)gerar a base de
# dados de aliases. Note que aqui é especificado um arquivo que conterá os e­
# mails aliases. Verifique o formato do arquivo no final desta configuração.
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases

Página 52
Administração de Redes Linux

# Este parâmetro especifica qual é o domínio principal que está sendo
# utilizado. O padrão é usar $myhostname mas quando você utiliza múltiplos
# domínios, é recomendado o uso desta opção.
#myorigin = /etc/mailname
#myorigin = $myhostname
#myorigin = $mydomain

# Este parâmetro especifica a lista de domínios que serão aceitos pelo Postfix.
# O padrão é $myhostname + $localhost.$mydomain mas podem ser colocados quantos
# domínios forem necessários.
mydestination = home.fabriciovc.net, localhost.fabriciovc.net, localhost

# Este parâmetro restringe qual(is) dominio(s) os e­mails serão definidos como 
# domínio(s) local(is).
relay_domains = $mydestination

# Este parâmetro define para qual servidor SMTP os e­mails deverão ser enviados
# para serem entregues no destino. Se nenhuma opção for especificada, os e­
# mails serão encaminhados diretamente para o destino.
relayhost = 

# Este parâmetro especifica quais as redes serão aceitas pelo Postfix.
# Especifique todas as interfaces que gostaria de utilizar.
mynetworks = 127.0.0.0/8, 192.168.0.0/24

# Esse parâmetro especifica um comando externo opcional que será utilizado para
# entrega das mensagens.
mailbox_command = procmail ­a "$EXTENSION"

# Este parâmetro especifica o tamanho máximo que o usuário pode individualmente
# armazenar mensagens no sistema de arquivo local. O padrão é 51200000 Bytes,
# aproximadamente 48 MB. Para tamanho ilimitado, deixe 0 (zero).
mailbox_size_limit = 0

# Este parâmetro especifica o tamanho máximo da mensagem que pode ser enviada

Página 53
Administração de Redes Linux
# em Bytes. O padrão é 10240000 Bytes, Aproximadamente 9 MB.
message_size_limit = 10240000

# Este parâmetro especifica o separador de nomes e endereços (user+foo).
# Comentado por padrão.
#recipient_delimiter = +

# Este parâmetro especifica o caminho no $HOME onde as mensagens serão
# armazenadas. Por padrão, o caminho var/spool/mail/user ou /var/mail/user é
# utilizado para mailbox. Caso seja especificada a opção "Maildir/" para 
# estilo qmail, o caminho deverá se definido manualmente.
home_mailbox = Mailbox
#home_mailbox = Maildir/

# este parâmetro especifica em qual diretório as mensagens deverão ser
# entregues.
#mail_spool_directory = /var/mail
mail_spool_directory = /var/spool/mail

# Este parâmetro especifica quais interfaces serão usadas para o sistema de 
# e­mails. o Padrão é cdeixar all.
inet_interfaces = all

# Permite a verificação de expressões regulares no cabeçalho ou corpo da
# mensagem, podendo descartar mensagens indesejadas antes das mesmas chegarem
# ao destino. Note que aqui é especificado um arquivo que conterá as expressões
# regulares a serem verificadas. Verifique o formato do arquivo no final desta
# configuração.
header_checks = regexp:/etc/postfix/header_checks
body_checks = regexp:/etc/postfix/body_checks

# Este parâmetro permite que se especifique um anti­virus a ser utilizado.
#content_filter = clamav

Para mais opções, verifique a página de manual do postconf(5).
root@localhost:~# man 5 postvonf.

Página 54
Administração de Redes Linux
/etc/aliases
# /etc/aliases
mailer­daemon: postmaster
postmaster: root
nobody: root
hostmaster: root
usenet: root
news: root
webmaster: root
www: root
ftp: root
abuse: root
noc: root
security: root
root: fabricio

/etc/postfix/header_checks
/^Subject.*(sexy|sexo|sex).*/Reject

11.4 Configurando o Postfix com com Mailscanner e Clamav (Anti-Virus)


Pacotesa sereminstalados:
root@localhost:~# apt­get install clamav clamav­freshclam clamav­daemon
mailscanner postfix

Para realizara atualizaçãodo anti-virus, execute:


root@localhost:~# freshclam

Nãoesqueçade colocaressecomandono crontabpara que a lista de e-mails estejasempreatualizada.

A seguir, configureo mailscannermodificandoo arquivo/etc/MailScanner/Mailscanner.conf.


Run As User = postfix
Run As Group = postfix
Incoming Queue Dir = /var/spool/postfix/hold
Outgoing Queue Dir = /var/spool/postfix/incoming
MTA = postfix
Virus Scanners = clamav

Configureo postfix editandoo /etc/postfix/main.cfe inserindoa seguinteregra:


header_checks = regexp:/etc/postfix/header_checks

Página 55
Administração de Redes Linux
Crie o arquivo/etc/postfix/header_checkse adicinea seguinteregra:
/^Received:/ HOLD

Modifiqueo arquivo/etc/default/mailscannere descomentea seguintelinha:


run_mailscanner=1

Modifiqueas permissõesdos segrintesarquivos/diretórios.


root@localhost:~# chown ­R postfix.postfix /var/spool/MailScanner
root@localhost:~# chown ­R postfix.postfix /var/lib/MailScanner
root@localhost:~# chown ­R postfix.postfix /var/run/MailScanner
root@localhost:~# chown ­R postfix.postfix /var/lock/subsys/MailScanner

Reinicieos serviços.
root@localhost:~# /etc/init.d/clamav­daemon stop
root@localhost:~# /etc/init.d/clamav­freshclam stop
root@localhost:~# /etc/init.d/mailscanner stop
root@localhost:~# /etc/init.d/postfix stop
root@localhost:~# /etc/init.d/clamav­daemon start
root@localhost:~# /etc/init.d/clamav­freshclam start
root@localhost:~# /etc/init.d/mailscanner start
root@localhost:~# /etc/init.d/postfix start

Verifiqueos logs para ver se não é mostradanenhumafalha.


Agora teste enviando um e-mail com um virus para qualquer destinatário deste equipamento e verifique se está
funcionandocorretamente.
Umvirus podeser baixadoem http://www.eicar.com/anti_virus_test_file.htm

Verificando virus no seu diretório $HOME:


root@localhost:~# clamscan ­ri /home

11.5 Configurando um servidor pop


Servidor pop é utilizado para receber os e-mails através de um MUA (cliente de e-mail). No Debian, existe um pacote
chamadoipopdque poderáser utilizadonemnecessidadede maioresconfigurações.Execute...
root@localhost:~# apt­get install ipopd

...para instalá-lo e marqueas opões padrão que ele pede. A porta 110 que é utilizada pelo pop3 será habilitada aravés
do daemondo inetd que podeser configuradono /etc/inetd.conf.
/etc/inetd.conf
pop3    stream  tcp     nowait  root    /usr/sbin/tcpd    /usr/sbin/ipop3d

11.6 Configurando um servidor imap


Servidor imap é utilizadopara trabalharcom um Webmail. No Debian, existe um pacotechamadouw-imapdque poderá
ser utilizadonemnecessidadede maioresconfigurações.Execute...

Página 56
Administração de Redes Linux
root@localhost:~# apt­get install uw­imapd

...para instalá-lo e marqueas opões padrão que ele pede. A porta 143 que é utilizada pelo imap será habilitada aravés
do daemondo inetd que podeser configuradono /etc/inetd.conf.
/etc/inetd.conf
imap2    stream  tcp     nowait  root    /usr/sbin/tcpd    /usr/sbin/imapd

Testando o login com o telnet:


root@localhost:~# telnet localhost 143
Connected to home.
Escape character is '^]'.
* OK [CAPABILITY IMAP4REV1 X­NETSCAPE LOGIN­REFERRALS STARTTLS LOGINDISABLED]
home IMAP4rev1 2003.337 at Sat, 20 Mar 2004 06:57:18 +0000 (UTC)
a login myusername mypassword
a NO LOGIN failed
a logout

Caso apareça a mensagemLOGINDISABLEDna mensagemdo telnet acima, edite o arquivo /etc/c-client.cf e insira as
linhasa seguir (a primeiralinha é necessária,realmente!).
I accept the risk
set disable­plaintext nil

Testeo login como telnet novamente:


root@localhost:~# telnet localhost 143
Connected to home.
Escape character is '^]'.
* OK [CAPABILITY IMAP4REV1 X­NETSCAPE LOGIN­REFERRALS STARTTLS AUTH=LOGIN]
home IMAP4rev1 2003.337 at Sat, 20 Mar 2004 06:57:18 +0000 (UTC)
a login myusername mypassword
a OK [CAPABILITY IMAP4REV1 X­NETSCAPE IDLE NAMESPACE MAILBOX­REFERRALS
BINARY SCAN SORT THREAD=REFERENCES THREAD=ORDEREDSUBJECT MULTIAPPEND]
User myusername authenticated

12 Samba

12.1 O que é o SAMBA


O Samba implementa o protocolo NETBIOS(não o NETBEUI) utilizado em redes Windows, com a exigência de que a
rede seja TCP/IP. Sendoassim, faz com que a máquinase comporte, perante a rede, comose fosse uma máquinaWindows(e as
máquinasWindowsnão desconfiamdisto).
Como Sambaé possível:
Página 57
Administração de Redes Linux
● Compartilhardiretórios;

● Compartilharimpressoraslocais do Linuxou até impressorasremotas(atuandocomoum GATEWAYde impressão);

● Gerenciar usuários (logins, logon script, perfis de usuário, segurança) podendo substituir servidores Windows NT e Windows
2000;
● Acessar"pastas"e impressorasde máquinasWindows( Sambacomoclientede máquinasWindows).

12.2 Instalando o Samba


root@localhost:~# apt­get install samba smbclient smbfs

12.3 Configuração Servidor SAMBA

# Este é o arquivo de configuração do Samba do Debian GNU/Linux.
# Você pode consultar a página de manual smb.conf(5) para uma explicação mais
# detalhada das opções listadas aqui.

# Toda linha que inicie com um ; (ponto e vírgula) ou um # (cerquilha, 
# sustenido) é um comentário e é ignorado. Neste exemplo, usaremos "#"
# para comentários e ";" para as partes da configuração que você
# talvez queira habilitar.

# ATENÇÃO: Sempre que modificar este arquivo execute o comando
# "testparm" para verificar se não há nenhum erro de sintaxe.
#
#====================== Configurações Globais ==============================

[global]

## Identificação ###

# workgroup = nome do domínio ou grupo de trabalho (workgroup)
workgroup = FABRICIOVC

# Descrição/ comentário sobre a máquina
server string = Samba Server

# Windows Internet Name Serving Support Section : Suporte a WINS ­ Torna este
# servidor Samba um servidor de WINS.

Página 58
Administração de Redes Linux
; wins support = yes

# Especifica qual servidor WINS utilizar, obrigatoriamente tornando este 
# servidor Samba cliente de WINS (esta opção não pode estar presente se a opção
# acima estiver como "yes").
; wins server = w.x.y.z

# DNS Proxy ­ informa ao Samba se deverá tentar resolver os nomes NetBIOS
# através de consultas ao DNS. O default é "no".
dns proxy = no 

# Todos os nomes NetBIOS devem resolver para um endereço IP. Esta opção permite
# escolher a ordem para resolução destes nomes (default: host lmhosts wins
# bcast). “hos”t significa usar a resolução através do Unix (/etc/hosts, DNS,
# NIS). Esta opção normalmente é retirada para evitar buscas ao DNS.
; name resolve order = wins lmhosts bcast

#### Mensagens e LOGs ####

# Isto informa ao Samba para usar arquivos de log separados para cada máquina
# que conectar.
log file = /var/log/samba/log.%m

# Tamanho máximo do arquivo de logs (em Kbytes).
max log size = 1000

####### Autenticação #######

# Modo de segurança. A opção security = user é indicada pois pedirá senha
# sempre que um compartilhamento for acessado. Consulte 
#/usr/share/doc/samba­doc/htmldocs/ServerType.html e a documentação do samba
# para mais detalhes.
security = user

# Se você quiser usar senhas criptografadas (a mesma criptografia que o
# Windows 95, 98 e NT utilizam), marque esta opção como yes. Problemas: você

Página 59
Administração de Redes Linux
# terá que dar “manutenção” no /etc/smbpasswd (criar/remover usuários, mudar
# senhas, etc.). Se você não usar esta opção (ou marcar "no"), as máquinas
# Windows terão que enviar a senha sem criptografia alguma ("plain text"). Para
# desabilitar a criptografia, você que alterar essas opções no registro do
# windows.
# Verifique a seção 'encrypt passwords' no manual do samba em smb.conf(5) para
#maiores detalhes.
encrypt passwords = true

# Obs.: Para Win95, precisa habilitar o suporte à criptografia no Regedit. Para
# o Win98, não há necessidade de maiores configurações. Para Win2000/XP/2003, é
# necessário criar uma conta para a máquina no passwd do Linux para que a mesma
# possa ingressar na rede.

# Se você está utilizando encrypted passwords, é necessário incluir as senhas
# dos usuários no Samba. Especifique aqui qual tipo de bando de dados você
# gostaria de usar.
passdb backend = smbpasswd

# Caso você utilize o  Win2000/XP/2003, comente essa linha para que possamos
# utilizar o root como administrador do domínio.
invalid users = root

########## Impressão ##########

# Se você quiser que a lista de impressoras seja carregada automaticamente ao
# invés de configurá­las individualmente, você precisará desta opção.
load printers = yes

# Não seria necessário configurar qual o sistema de impressão a menos que o seu
# não seja padrão. Nesta versão são suportados os seguintes sistemas de
# impressão: bsd, sysv, plp, lprng, aix, hpux, qnx.
printing = lprng
# Normalmente as impressoras estão definidas no arquivo /etc/printcap.
printcap name = /etc/printcap

Página 60
Administração de Redes Linux
######## Compartilhamento de Arquivos ########

# Preservação de maiúsculas e minúsculas (nomes de arquivos). ATENÇÃO: Estas
# opções podem ser modificadas para cada compartilhamento. Arquivos criados
# terão nome "igual" (maiúsculas/minúsculas) ao que o cliente passou (yes) ou
#serão forçados com o default (no). O default é "yes".
; preserve case = no

# Arquivos DOS (formato 8.3) normalmente são escritos totalmente em letra
# maiúscula (yes), mas podem ser forçados com o padrão default (no). O default
# é "yes".
; short preserve case = no

# Por default, os arquivos serão criados com todas as letras minúsculas (lower)
# mas podemos alterar para maiúscula (upper).
; default case = lower

# Normalmente as buscas por nome de arquivo serão feitas independente de
# maiúsculas ou minúsculas (no).
; case sensitive = no

############ Misc ############

# Esta opção permite customizar a configuração para cada máquina que conectar.
# O %m será substituído pelo nome dessa máquina.
; include = /etc/samba/smb.conf.%m

# A maioria das pessoas descobrirá que esta opção resulta em melhor
# performance.
socket options = TCP_NODELAY

#### Opções Adicionais ###

# Esta opção é importante por questões de segurança. Permite restringir
# conexões apenas das máquinas da sua rede local. Este exemplo restringe o
# acesso a duas redes classe C (máscara 255.255.255.0) e à interface de

Página 61
Administração de Redes Linux
# loopback (127.0.0.1).
hosts allow = 192.168.0. 127.

# Configura o Samba para usar múltiplas interfaces. Se você tiver múltiplas
# interfaces de rede então liste­as aqui (endendereçoIP / #bitsMáscara).
interfaces = 192.168.0.100/24

# Faz com que este servidor Samba seja anunciado para em outras redes com
# "workgroups" arbitrários. Se não for especificado o workgroup, será utilizado
# o default.
remote announce = 192.168.0.255/GRUPO

# Opções para o controle das listagens:
# Escolha se este servidor será o master (principal) para listagens desta rede.
# Se não houver um “master” na rede, haverá uma "eleição" para escolhê­lo.
;local master = no

# Determina a precedência deste servidor em uma eleição para servidor master.
; os level = 33

# Especifica se o Samba será o master para as listagens de todo o domínio. Não
# utilize esta opção se já tiver um Windows NT (Primary Domain Controller)
# fazendo isso.
; domain master = yes 

# Faz com que o Samba force uma eleição local na sua inicialização e dá uma
# maior chance de ganhar esta eleição.
; preferred master = yes

# Use apenas se tiver um NT server na sua rede que já está configurado como
# "primary domain controller".
; domain controller = <NT­Domain­Controller­SMBName>

# Habilite esta opção se você quiser que o Samba seja o servidor de logons do
# domínio para máquinas Windows95.
; domain logons = yes

Página 62
Administração de Redes Linux

#==================== Definições de Compartilhamento ===================

[homes]
   comment = Home Directories
   browseable = no
   writable = no
   create mask = 0700
   directory mask = 0700

;[netlogon]
;   comment = Network Logon Service
;   path = /home/samba/netlogon
;   guest ok = yes
;   writable = no
;   share modes = no

[printers]
   comment = All Printers
   browseable = no
   path = /tmp
   printable = yes
   public = no
   writable = no
   create mode = 0700

[print$]
   comment = Printer Drivers
   path = /var/lib/samba/printers
   browseable = yes
   read only = yes
   guest ok = no
;   write list = root, @ntadmin

# Compartilhando o CDROM
;[cdrom]

Página 63
Administração de Redes Linux
;   comment = Samba server's CD­ROM
;   writable = no
;   locking = no
;   path = /cdrom
;   public = yes

# O proximo parâmetro permite a montagem automática do CDROM quando o mesmo for
# acessado. O formato é parecido com o /etc/fstab.
#       /dev/scd0   /cdrom  iso9660 defaults,noauto,ro,user   0 0
#
# O CDROM é desmontado automaticamente quando o uso for finalizadpo.#
;   preexec = /bin/mount /cdrom
;   postexec = /bin/umount /cdrom

# Configuraçõescomuns na configuração de um compartilhamento
#
# [Nome](Nome do Compartilhamento => não exceder 12 caracteres)

# path = /diretório (diretório a compartilhar)
# comment = comentário (descrição do compartilhamento)
# public = yes (“completo e sem senha” ?)
# read only = no (apenas leitura)
# writeable = yes (permite gravação)
# valid users = fulano @admin (usuários ou grupo válidos)
# invalid users = ciclano @nada (usuários ou grupo inválidos)
# read list = fulano @ler (independente do "read only", só podem ler)
# write list = fulano @ler (independente do "read only", podem
 ler/gravar)
# create mode = 666 (permissões default estilo chmod)
# force directory mode = 777 (permissões default estilo chmod)
# force user = root (o acesso será com os "poderes" do usuário
 root) 
# force group = adm (o acesso será com os "poderes" do grupo
 adm)

Página 64
Administração de Redes Linux
12.4 Parando/Iniciando o SAMBA
Para facilitar o uso, normalmente não é necessário que o Samba seja reiniciado manualmente a cada alteração no
arquivo. Normalmente, na próxima requisição feita por uma máquina cliente o Samba reconhece a mudança no arquivo e faz a
ativação automaticamente. Exceções: casos de mudanças drásticas como alterar modo de segurança, ativar/desativar como
controladordo domínio.
Bom,se precisar, para parar o Samba,basta:
root@localhost:~# /etc/init.d/samba stop

e para iniciar,
root@localhost:~# /etc/init.d/samba start

12.5 Cliente de Máquinas Windows


Há dois programasque acompanhamo Sambaque permitemque máquinasLinuxacessemáquinasWindows:

smbmount
Permite que um diretório remotoseja montadolocalmente(comose fosse NFS). É indispensável o suporte a SMB
no kernel (o kernel de instalação sempre tem esse suporte). Obviamente, apenas root poderá utilizar este comando. O comando
mountprecisarádo smbmountpara poder montaro diretório remoto.
Exemplos:
root@localhost:~# mount ­t smbfs //MICRO04/dados /mnt/dados
root@localhost:~# mount ­t smbfs ­o username=teste,password=senha //
MICRO04/dados /mnt/dados

smbclient
Permite a qualquer usuário acessar uma máquina Windowsde maneira similar ao ftp, ou seja, você terá um “prompt”
ondepoderálistar os diretóriosremotos,enviar ou puxar arquivos.Normalmente:
root@localhost:~# smbclient '\\maq\pasta'

Os apóstrofos(') são necessáriospara evitar que o shell queira interpretaras barras(\\) e as retire da linha de comando.
Se não funcionar, de acordocoma mensagemde erro, tente usar os parâmetros(são os mesmosusadospelo smbmount):

12.6 Outros Programas


Dois programas(gráficos)muitobons podemser usadospara facilitar o acessoà rede Windows:
● xSMBrowser: http://www.public.iastate.edu/~chadspen/

● LinNeighborhood: http://www.bnro.de/~schmidjo/

Todossão muito bons(e fáceis de instalar). O LinNeighborhoodtem umainterfacemais amigável.

13 Apache

Página 65
Administração de Redes Linux
13.1 Histórico
O Apache é o servidor de Web mais utilizando no mundo até hoje. Vários fatores influenciamneste fato, tais como o
desempenho, estabilidade, portabilidade, personalização ( API modularizada) além da vasta documentação e o licenciamento
permitir a sua utilizaçãosemmuitosrestrições.
O apache é derivado do daemon http que foi desenvolvido por Rob McCool no NCSA ( National Supercomputing
Applications).
O Nome Apache vem de APAtCHyServer, devida a quantidade de correções de bugs que foram realizadas no httpd
versão1.3 antesdo lançamentoda sua primeiraversãooficial (0.6.2) em abril de 1995.

13.2 Instalando o Apache


root@localhost:~# apt­get install apache apache­doc apache2­utils

13.3 Configuração
A configuração do Apache é realizada basicamente em um único arquivo, o httpd.conf, normalmente encontrado em /
etc/apache/http.conf.
A sua configuraçãoé baseada em diretivas.O início de uma diretiva é informado utilizando-se o nome da diretiva e os
argumentosque ela pode conter entre os sinais < e > , ex.: <Diretiva argumento(s)>, seguido do seu conteúdo, e o fim da diretiva
contéma / (barra) antesdo nomeda diretiva, ex.: <\Diretiva>.

O Arquivo httpd.conf
Abaixoseguea descriçãodos tópicosmais importantesdeste arquivode configuração:
##
## httpd.conf – Arquivo de Configuração do Servidor HTTP Apache
##
### Section 1: Global Environment
# Método de trabalho do Apache (Standalone = Daemon)
ServerType standalone

# Diretório que contém os arquivos de configuração do Apache
ServerRoot /etc/apache

# Tempo em segundos antes de enviar ou receber tempo de conexão excedido. 
Timeout 300

# Define o número mínimo de processos ociosos que devem ser mantidos. 
MinSpareServers 1

# Define o número máximo de processos ociosos que devem ser mantidos. 
MaxSpareServers 10

Página 66
Administração de Redes Linux

# Define o número inicial de processos que o Apache irá iniciar no seu
carregamento.
StartServers 1

# Define a quantidade máxima de conexões simultâneas
MaxClients 100

# A diretiva Listen pode ser utilizada para permitir o Apache "ouvir" em um
# outra porta ou endereço ip além da porta e ip padrão.
#Listen 3000
#Listen 12.34.56.78:80

# Módulos adicionais suportados pelo apache
Include /etc/apache/modules.conf

### Section 2: 'Main' server configuration
# Porta padrão de trabalho do Apache
Port 80

# Usuário e Grupo do apache
User www­data
Group www­data

# E­mail do administrador de páginas do apache
ServerAdmin webmaster@localhost

# Nome do servidor de páginas que será utilizado.
ServerName localhost
#
#ServerName new.host.name

# Diretório onde as páginas .htm(l) serão armazenadas
DocumentRoot /var/www

# Opções para o DocumentRoot

Página 67
Administração de Redes Linux
<Directory /var/www/>
    Options Indexes Includes FollowSymLinks MultiViews
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

# Habilitar diretórios de páginas pessoal públicas para os usuários
<IfModule mod_userdir.c>
    UserDir public_html
    <Directory /home/*/public_html>
        AllowOverride FileInfo AuthConfig Limit
        Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
        <Limit GET POST OPTIONS PROPFIND>
            Order allow,deny
            Allow from all
        </Limit>
        <Limit PUT DELETE PATCH PROPPATCH MKCOL COPY MOVE LOCK UNLOCK>
            Order deny,allow
            Deny from all
        </Limit>
    </Directory>
</IfModule>

# Definindo os formatos dos arquivos index
<IfModule mod_dir.c>
    DirectoryIndex index.html index.htm index.shtml index.cgi index.php
</IfModule>

# Habilitando suporte ao sistema de autenticação htaccess
AccessFileName .htaccess
<Files ~ "^\.ht">
    Order allow,deny
    Deny from all
</Files>

Página 68
Administração de Redes Linux
# Arquivo e Nível de Log
ErrorLog /var/log/apache/error.log
LogLevel warn
#CustomLog /var/log/apache/access.log common
#CustomLog /var/log/apache/referer.log referer
#CustomLog /var/log/apache/agent.log agent
CustomLog /var/log/apache/access.log combined

# Alguns apelidos (Alias) de diretórios do sistema
<IfModule mod_alias.c>
    Alias /icons/ /usr/share/apache/icons/

    <Directory /usr/share/apache/icons>
         Options Indexes MultiViews
         AllowOverride None
         Order allow,deny
         Allow from all
    </Directory>

#    Alias /images/ /usr/share/images/

    <Directory /usr/share/images>
         Options MultiViews
         AllowOverride None
         Order allow,deny
         Allow from all
    </Directory>
</IfModule>

<IfModule mod_alias.c>
    ScriptAlias /cgi­bin/ /usr/lib/cgi­bin/
    <Directory /usr/lib/cgi­bin/>
        AllowOverride None
        Options ExecCGI ­MultiViews +SymLinksIfOwnerMatch
        Order allow,deny
        Allow from all

Página 69
Administração de Redes Linux
    </Directory>
</IfModule>

<IfModule mod_alias.c>
 Alias /doc/ /usr/share/doc/
</IfModule>
<Location /doc>
  order deny,allow
  deny from all
  allow from 127.0.0.0/255.0.0.0
  Options Indexes FollowSymLinks MultiViews
</Location>

### Section 3: Virtual Hosts

# Configurando Domínios Virtuais

#NameVirtualHost 12.34.56.78:80
#NameVirtualHost 12.34.56.78

# Exemplo padrão
#<VirtualHost ip.address.of.host.some_domain.com>
#    ServerAdmin webmaster@host.some_domain.com
#    DocumentRoot /www/docs/host.some_domain.com
#    ServerName host.some_domain.com
#    ErrorLog logs/host.some_domain.com­error.log
#    CustomLog logs/host.some_domain.com­access.log common
#</VirtualHost>

#<VirtualHost _default_:*>
#</VirtualHost>

# Incluindo outras configurações
Include /etc/apache/conf.d

Página 70
Administração de Redes Linux
13.4 Controles de Acesso
Em alguns casos um determinado diretório de um site ou até todo o site requer um sistema de controle de acesso
baseadona origemda requisiçãoou em umaautenticaçãocomusuárioe senha.
Podemos definir dentro da diretiva Directory de um determinado diretório como será feito o acesso a esse diretório.
Qualquer controle de acesso definido em um diretório pai é automaticamente herdado para os diretórios filho (subdiretórios desta
árvore).
Portanto se houver algum controle de acesso no diretório raiz de páginas do Apache todos os seus subdiretórios
tambémobedecerãoa esse controle a não ser que uma diretiva Directoryseja utilizadapara redefinir o acessoa algumdiretório na
árvore.
O controlede Acessosdo Apachepodeser feito de 02 maneiras:Mandatárioou Discriminatório.
Controles mandatários podem ser definidos com as diretivas Allow e Deny, a sequência de leitura destas diretivas é
definidacoma diretivaOrder.
Exemplo:
<Directory /var/www/>
AllowOverride AuthConfig
Order Deny,Allow 
Deny From All 
Allow from 192.168.0.0/255.255.255.0 
</Directory> 

No exemplo acima definimosque o diretório /var/wwwsó pode ser acessadopor hosts da rede 192.168.0.0. Para isso
primeirodefinimosque a ordemde leitura das diretivasAllowe Deny(definidasna diretivaOrder) será:
● PrimeiroVerificar a quemse negaacesso;

● Depoisverificar a quemse permiteacesso;

● Casohaja algumadiscrepânciavaleráo que é lido por último;

Portantonegamostudo para todose permitimosacessoa hosts da rede19.168.0.0commáscarade classeC.


O controle discriminatório é realizadoutilizando-se a diretiva AllowOverride. Essa diretiva define o que pode sobrepor a
configuraçãodefault, inclusiveo que foi definidoem Allowe Deny.
Para definir uma restrição baseada em um arquivo de configuração podemos utilizar a opção AuthConfig em
AllowOverride. Neste caso em qualquer diretório acessado na estrutura de páginas será procurado um arquivo (por default .
htaccess)que conteráinformaçõessobrecomodeveser feito o controlede acessosa essediretório.
Abaixotemosum exemplodessearquivoe a descriçãode suasopções:
AuthName "Acesso Restrito" 
AuthType Basic 
AuthUserFile /var/www/seguranca/.password 
AuthGroupFile /var/www/seguranca/.group 
Require valid­user 
Satisfy Any 

No exemploacima o nomeda autenticação( esse nome será exibido na janela de pedido de autenticaçãogerado pelo
browser)foi definidocomoAcessoRestrito.

Página 71
Administração de Redes Linux
O tipo de autenticação foi definido como Basic. As opções para esse campo são Basic ou Digest, sendo que Digest
define um sistemade autenticaçãomais seguro, incluindo criptografia, ao contrário de Basic que utilizado uma codificaçãoBase64
enviandoos dadossemcriptografá-los.
AuthUserFiledefineo arquivoque conteráa lista de usuáriose senhasa seremutilizadasno processode autenticação.
Essearquivoé criadocomo comandohtpasswdcoma seguintesintaxe:
root@localhost:~# htpasswd ­c <caminho para o arquivo> <usuário> 

Exemplo:
root@localhost:~# hpasswd ­c /var/www/seguranca/.password user1

O parâmetro-c só será utilizadopara criar o arquivo, para novasinserçõesesseparâmetrodeveser retiradoda linha de


comandoou o arquivode senhasserá recriado.
Para a inserçãode novosusuáriosa sintaxeé a seguinte:
root@localhost:~# htpasswd <caminho para o arquivo> <usuário novo>

Exemplo:
root@localhost:~# htpasswd /var/www/seguranca/htpasswd user2
AuthGroupFiledefineo arquivoque conteráos gruposde usuáriospara efeitosde autenticação.
Essearquivopodeser criadomanualmenterespeitando-se a seguintesintaxe:
grupo:usuario1 usuario2 usuario3 ...

LINK: Maioresinformaçõesem: http://httpd.apache.org/docs/howto/auth.html#basic

13.5 Domínios Virtuais


O conceito de ServidoresVirtuais permite que um mesmoprocessodo Apacheatendarequisiçõespara vários domínios
diferentes,inclusivecomconteúdosdiferentes.
Domíniosvirtuais são definidoscoma diretiva VirtualHost. Praticamentequalquerdiretiva definidana seção02 pode ser
redefinida dentro de uma diretiva VirtualHost, assim podemos customizar o diretório onde as páginas deste domínio serão
armazenadas, os arquivos de log, e-mail do administrador, restrições de acesso a diretórios e outras mais, para que o domínio
virtual tenhaa sua própriaconfiguração.
Existem02 tipos de DomíniosVirtuais: Baseadoem IP ou Baseadoem Nome.

Domínios Virtuais baseados em IP:


Neste caso cada domínio configuradono Apachetem seu próprio endereçoIP e sua entradano DNSapontandopara o
site desejado.
Algunsexemplosda configuraçãode domíniosbaseadosem IP seguemabaixo:
<VirtualHost www.dominio1.com > 
DocumentRoot /var/www/dominio1 
ServerName www.dominio1.com 
ErrorLog logs/dominio1/error_log 
CustomLog logs/dominio1/access_log common 
</VirtualHost> 

NOTA: Lembre-se que cadadomínionecessitade um IP fixo diferente.

Página 72
Administração de Redes Linux
Domínios Virtuais baseados em Nome
Emalgunscasosnão há a disponibilidadede IP's para todosos domíniosnecessários.
Assim podemoscriar domínios virtuais baseados no nome requisitado pelo cliente (browser). Isso é possível porque o
protocoloHTTPpermitea inclusãodo nomedo host no cabeçalhoda requisição.
Para o correto funcionamentodesse tipo de domínio virtual devemhaver entradasno DNS para todos os nomesque o
endereço IP a ser utilizado irá responder (isso pode ser feito com o registro CNAME). Também deve-se utilizar a diretiva
NameVirtualHostpara especificarqual(is) IP(s) o Apachedeveráreceberrequisiçõespara domínios virtuais.
Abaixotemosalgunsexemplosde configuraçãode somíniosvirtuaisbaseadosem nome:
NameVirtualHost 200.200.200.200 

<VirtualHost 200.200.200.200> 
DocumentRoot /var/www/dominio1 
ServerName www.dominio1.com 
ErrorLog logs/dominio1/error_log 
CustomLog logs/dominio1/access_log common 
</VirtualHost> 

NOTA: Lembre-se que neste casovários domíniospodemutilizar o mesmoIP fixo.

Página 73
Administração de Redes Linux

14 Apêndice

14.1 Referências de auxílio ao desenvolvimento do guia


● http://focalinux.cipsga.org.br

14.2 Colaboradores do Guia


Entre as principaiscolaboraçõesaté a versãoatual, possocitar as seguintes:
● Fabricio Vaccari Constanski (fabrivc@gmail.com): Consultor de TI, Administrador de Redes e voluntário do projeto
Debian-PRe Kernel_ptBR.
● Gleydson Mazili da Silva (gleydson@cipsga.org.br): Responsávelpelo Foca GNU/Linux.

● Outros Colaboradores: Direitos mantidos. Favor consultar o site do Foca Linux para consultar outros colaboradores do
GuiaFocaLinux(http://focalinux.cipsga.org.br).

14.3 Marcas Registradas


Todasas marcasregistradascitadasnesteguia são propriedadesde seus respectivosautores.

14.4 Sugestões:
Sugestõespara esta apostilaspodemser encaminhadaspor e-mail para fabrivc@gmail.com.
Sugestõespara o Guia FocaLinuxpodemser encaminhadaspor e-mail para gleydson@cipsga.org.br.

14.5 Assuntos previstos para as futuras versões


● Maior detalhamentosobre: ● Maior detalhamentoem Samba

● ModeloOSI/ISO ● Maior detalhamentoem Apache

● TCP/IP ● ServidorIMAP

● ServidorFTP ● Webmail

Página 74
Administração de Redes Linux

14.6 GNU Free Documentation Licence


http://www.gnu.org/copyleft/fdl.html
Version1.2, November2002
Copyright(C) 2000,2001,2002 Free SoftwareFoundation,Inc.
59 TemplePlace,Suite 330, Boston,MA 02111-1307 USA
Everyoneis permittedto copy and distributeverbatimcopies
of this licensedocument,but changingit is not allowed.
0. PREAMBLE
The purposeof this Licenseis to makea manual, textbook,or other functionaland useful document"free" in the senseof
freedom: to assure everyone the effective freedom to copy and redistribute it, with or without modifying it, either commercially or
noncommercially. Secondarily, this Licensepreservesfor the author and publisher a way to get credit for their work, while not being
consideredresponsiblefor modificationsmadeby others.
This License is a kind of "copyleft", which means that derivative works of the document must themselves be free in the
samesense.It complementsthe GNUGeneralPublic License,whichis a copyleft licensedesignedfor free software.
We have designed this License in order to use it for manuals for free software, because free software needs free
documentation: a free programshould come with manuals providing the same freedomsthat the software does. But this License is
not limited to software manuals; it can be used for any textual work, regardless of subject matter or whether it is published as a
printedbook. Werecommendthis Licenseprincipallyfor workswhosepurposeis instructionor reference.
1. APPLICABILITY AND DEFINITIONS
This License applies to any manual or other work, in any medium, that contains a notice placed by the copyright holder
saying it can be distributed under the terms of this License. Such a notice grants a world-wide, royalty-free license, unlimited in
duration, to use that work under the conditions stated herein. The "Document", below, refers to any such manual or work. Any
memberof the public is a licensee, and is addressedas "you". You accept the licenseif you copy, modify or distribute the work in a
wayrequiringpermissionundercopyrightlaw.
A "ModifiedVersion"of the Documentmeansany work containingthe Documentor a portion of it, either copiedverbatim,
or with modificationsand/or translatedinto anotherlanguage.
A "Secondary Section" is a named appendix or a front-matter section of the Document that deals exclusively with the
relationship of the publishers or authors of the Document to the Document's overall subject (or to related matters) and contains
nothing that could fall directly within that overall subject. (Thus, if the Document is in part a textbook of mathematics, a Secondary
Sectionmaynot explainany mathematics.)The relationshipcould be a matter of historical connectionwith the subject or with related
matters, or of legal, commercial, philosophical, ethical or political positionregardingthem.
The "Invariant Sections" are certain Secondary Sections whose titles are designated, as being those of Invariant
Sections, in the notice that says that the Document is released under this License. If a section does not fit the above definition of
Secondarythen it is not allowedto be designatedas Invariant. The Documentmay contain zero Invariant Sections. If the Document
doesnot identify any InvariantSectionsthen there are none.
The "Cover Texts" are certain short passages of text that are listed, as Front-Cover Texts or Back-Cover Texts, in the
notice that says that the Documentis released under this License. A Front-Cover Text may be at most 5 words, and a Back-Cover
Text maybe at most 25 words.
A "Transparent" copy of the Documentmeans a machine-readable copy, representedin a format whose specification is
available to the general public, that is suitable for revising the document straightforwardly with generic text editors or (for images
composedof pixels) generic paint programsor (for drawings) some widely available drawing editor, and that is suitable for input to
text formatters or for automatic translation to a variety of formats suitable for input to text formatters. A copy made in an otherwise
Transparent file format whose markup, or absenceof markup, has been arrangedto thwart or discouragesubsequent modification
by readers is not Transparent. An image format is not Transparent if used for any substantial amount of text. A copy that is not
"Transparent"is called"Opaque".

Página 75
Administração de Redes Linux
Examples of suitable formats for Transparent copies include plain ASCII without markup, Texinfo input format, LaTeX
input format, SGMLor XML using a publicly available DTD, and standard-conformingsimple HTML, PostScript or PDF designedfor
human modification. Examples of transparent image formats include PNG, XCF and JPG. Opaque formats include proprietary
formats that can be read and edited only by proprietary word processors, SGMLor XML for which the DTD and/or processingtools
are not generally available, and the machine-generated HTML, PostScript or PDF produced by some word processors for output
purposesonly.
The "Title Page"means, for a printed book, the title page itself, plus such followingpagesas are neededto hold, legibly,
the material this License requires to appear in the title page. For works in formats which do not have any title page as such, "Title
Page"meansthe text near the most prominentappearanceof the work's title, precedingthe beginningof the bodyof the text.
A section "Entitled XYZ" meansa namedsubunit of the Documentwhosetitle either is precisely XYZor containsXYZ in
parenthesesfollowingtext that translates XYZ in another language. (Here XYZstandsfor a specific section namementionedbelow,
such as "Acknowledgements", "Dedications", "Endorsements", or "History".) To "Preserve the Title" of such a section when you
modifythe Documentmeansthat it remainsa section"EntitledXYZ"accordingto this definition.
The Document may include Warranty Disclaimers next to the notice which states that this License applies to the
Document. These Warranty Disclaimers are consideredto be includedby reference in this License, but only as regards disclaiming
warranties:any other implicationthat theseWarrantyDisclaimersmayhaveis void and has no effect on the meaningof this License.
2. VERBATIM COPYING
You may copy and distribute the Document in any medium, either commercially or noncommercially, provided that this
License, the copyright notices, and the license notice saying this Licenseapplies to the Documentare reproducedin all copies, and
that you add no other conditionswhatsoeverto those of this License. You may not use technical measuresto obstruct or control the
reading or further copying of the copies you make or distribute. However, you may accept compensation in exchangefor copies. If
you distributea large enoughnumberof copiesyou must also followthe conditionsin section3.
You mayalso lend copies, underthe sameconditionsstatedabove,and you maypublicly displaycopies.
3. COPYING IN QUANTITY
If you publish printed copies (or copies in media that commonlyhave printed covers) of the Document, numberingmore
than 100, and the Document's license notice requires Cover Texts, you must enclose the copies in covers that carry, clearly and
legibly, all theseCoverTexts: Front-CoverTexts on the front cover, and Back-CoverTexts on the back cover. Both coversmust also
clearly and legibly identify you as the publisher of these copies. The front cover must present the full title with all words of the title
equally prominent and visible. You may add other material on the covers in addition. Copyingwith changeslimited to the covers, as
long as they preservethe title of the Documentand satisfy theseconditions,can be treatedas verbatimcopyingin other respects.
If the required texts for either cover are too voluminousto fit legibly, you should put the first ones listed (as many as fit
reasonably)on the actual cover, and continuethe rest onto adjacentpages.
If you publish or distribute Opaque copies of the Document numbering more than 100, you must either include a
machine-readable Transparent copy along with each Opaque copy, or state in or with each Opaque copy a computer-network
location from which the general network-using public has access to download using public-standard network protocols a complete
Transparent copy of the Document, free of added material. If you use the latter option, you must take reasonably prudent steps,
when you begin distribution of Opaque copies in quantity, to ensure that this Transparent copy will remain thus accessible at the
statedlocationuntil at least one year after the last time you distributean Opaquecopy (directly or throughyour agentsor retailers) of
that editionto the public.
It is requested,but not required,that you contact the authorsof the Documentwell beforeredistributingany large number
of copies, to give thema chanceto provideyou with an updatedversionof the Document.
4. MODIFICATIONS
You may copy and distribute a Modified Version of the Document under the conditions of sections 2 and 3 above,
provided that you release the Modified Version under precisely this License, with the Modified Version filling the role of the
Document, thus licensing distribution and modification of the Modified Version to whoever possesses a copy of it. In addition, you
must do thesethingsin the ModifiedVersion:

Página 76
Administração de Redes Linux
● A. Use in the Title Page (and on the covers, if any) a title distinct from that of the Document, and from those of previous
versions(which should, if there were any, be listed in the History section of the Document). You may use the sametitle as
a previousversionif the original publisherof that versiongivespermission.
● B. List on the Title Page, as authors, one or more personsor entities responsiblefor authorshipof the modificationsin the
Modified Version, together with at least five of the principal authors of the Document (all of its principal authors, if it has
fewer than five), unlessthey releaseyou fromthis requirement.
● C. State on the Title pagethe nameof the publisherof the ModifiedVersion,as the publisher.

● D. Preserveall the copyrightnoticesof the Document.

● E. Addan appropriatecopyrightnoticefor your modificationsadjacentto the other copyrightnotices.

● F. Include, immediately after the copyright notices, a license notice giving the public permission to use the Modified
Versionunder the termsof this License,in the form shownin the Addendumbelow.
● G. Preserve in that license notice the full lists of Invariant Sections and required Cover Texts given in the Document's
licensenotice.
● H. Includean unalteredcopyof this License.

● I. Preservethe sectionEntitled"History", Preserveits Title, and add to it an itemstatingat least the title, year, newauthors,
and publisher of the Modified Version as given on the Title Page. If there is no section Entitled "History" in the Document,
create one stating the title, year, authors, and publisher of the Document as given on its Title Page, then add an item
describingthe ModifiedVersionas statedin the previoussentence.
● J. Preservethe network location, if any, given in the Documentfor public access to a Transparent copy of the Document,
and likewise the network locations given in the Documentfor previous versions it was based on. These may be placed in
the "History" section. You may omit a network location for a work that was published at least four years before the
Documentitself, or if the original publisherof the versionit refers to givespermission.
● K. For any section Entitled "Acknowledgements" or "Dedications", Preserve the Title of the section, and preserve in the
sectionall the substanceand tone of eachof the contributoracknowledgementsand/ordedicationsgiventherein.
● L. Preserve all the Invariant Sections of the Document, unaltered in their text and in their titles. Section numbers or the
equivalentare not consideredpart of the sectiontitles.
● M. Deleteany sectionEntitled"Endorsements".Sucha sectionmaynot be includedin the ModifiedVersion.

● N. Do not retitle any existingsectionto be Entitled"Endorsements"or to conflict in title with any Invariant Section.

● O. Preserveany WarrantyDisclaimers.

If the Modified Version includesnew front-matter sectionsor appendicesthat qualify as SecondarySectionsand contain
no material copied from the Document, you may at your option designatesomeor all of these sections as invariant. To do this, add
their titles to the list of Invariant Sectionsin the ModifiedVersion'slicensenotice. Thesetitles must be distinct from any other section
titles.
You may add a sectionEntitled "Endorsements", providedit containsnothingbut endorsementsof your ModifiedVersion
by variousparties--for example,statementsof peer reviewor that the text has been approvedby an organizationas the authoritative
definitionof a standard.
You may add a passage of up to five words as a Front-Cover Text, and a passageof up to 25 words as a Back-Cover
Text, to the end of the list of CoverTexts in the ModifiedVersion.Only one passageof Front-CoverText and one of Back-CoverText
may be added by (or through arrangements made by) any one entity. If the Document already includes a cover text for the same
cover, previously added by you or by arrangementmade by the same entity you are acting on behalf of, you may not add another;
but you mayreplacethe old one, on explicit permissionfromthe previouspublisherthat addedthe old one.
The author(s)and publisher(s)of the Documentdo not by this Licensegive permissionto use their namesfor publicity for
or to assert or imply endorsementof any ModifiedVersion.
5. COMBINING DOCUMENTS

Página 77
Administração de Redes Linux
You may combinethe Documentwith other documentsreleasedunder this License,under the termsdefinedin section 4
abovefor modifiedversions,providedthat you includein the combinationall of the Invariant Sectionsof all of the original documents,
unmodified, and list them all as Invariant Sections of your combined work in its license notice, and that you preserve all their
WarrantyDisclaimers.
The combinedwork needonly containone copyof this License,and multipleidenticalInvariantSectionsmaybe replaced
with a single copy. If there are multiple Invariant Sections with the same name but different contents, make the title of each such
sectionuniqueby addingat the end of it, in parentheses,the nameof the original author or publisherof that sectionif known,or else
a uniquenumber.Makethe sameadjustmentto the sectiontitles in the list of Invariant Sectionsin the licensenoticeof the combined
work.
In the combination, you must combine any sections Entitled "History" in the various original documents, forming one
section Entitled "History"; likewisecombineany sections Entitled "Acknowledgements", and any sections Entitled "Dedications". You
must delete all sectionsEntitled"Endorsements."
6. COLLECTIONS OF DOCUMENTS
You may make a collection consisting of the Document and other documents released under this License, and replace
the individual copies of this License in the various documentswith a single copy that is includedin the collection, provided that you
followthe rules of this Licensefor verbatimcopyingof eachof the documentsin all other respects.
You may extract a single documentfrom such a collection, and distribute it individually under this License, providedyou
insert a copy of this Licenseinto the extracteddocument, and follow this Licensein all other respects regardingverbatimcopyingof
that document.
7. AGGREGATION WITH INDEPENDENT WORKS
A compilation of the Document or its derivatives with other separate and independent documents or works, in or on a
volumeof a storageor distributionmedium,is called an "aggregate"if the copyright resulting from the compilationis not used to limit
the legal rights of the compilation's users beyondwhat the individual works permit. Whenthe Documentis includedin an aggregate,
this Licensedoesnot apply to the other worksin the aggregatewhichare not themselvesderivativeworksof the Document.
If the Cover Text requirement of section 3 is applicable to these copies of the Document, then if the Document is less
than one half of the entire aggregate, the Document's Cover Texts may be placed on covers that bracket the Document within the
aggregate,or the electronicequivalentof covers if the Documentis in electronicform. Otherwisethey must appearon printedcovers
that bracketthe wholeaggregate.
8. TRANSLATION
Translation is considered a kind of modification, so you may distribute translations of the Document under the terms of
section 4. Replacing Invariant Sections with translations requires special permission from their copyright holders, but you may
includetranslationsof someor all Invariant Sectionsin addition to the original versionsof these Invariant Sections. You may include
a translation of this License, and all the license notices in the Document, and any Warranty Disclaimers, provided that you also
include the original English version of this License and the original versions of those notices and disclaimers. In case of a
disagreement between the translation and the original version of this License or a notice or disclaimer, the original version will
prevail.
If a section in the Document is Entitled "Acknowledgements", "Dedications", or "History", the requirement (section 4) to
Preserveits Title (section1) will typically requirechangingthe actual title.
9. TERMINATION
You may not copy, modify, sublicense, or distribute the Document except as expressly provided for under this License.
Any other attempt to copy, modify, sublicense or distribute the Document is void, and will automatically terminate your rights under
this License. However, parties who have received copies, or rights, from you under this License will not have their licenses
terminatedso long as suchparties remainin full compliance.
10. FUTURE REVISIONS OF THIS LICENSE
The Free SoftwareFoundationmay publish new, revisedversionsof the GNUFree DocumentationLicensefrom time to
time. Such new versionswill be similar in spirit to the present version, but may differ in detail to addressnew problemsor concerns.
See http://www.gnu.org/copyleft/.

Página 78
Administração de Redes Linux
Each version of the License is given a distinguishing version number. If the Document specifies that a particular
numberedversion of this License"or any later version" applies to it, you have the option of followingthe terms and conditionseither
of that specified version or of any later version that has been published (not as a draft) by the Free Software Foundation. If the
Document does not specify a version number of this License, you may choose any version ever published (not as a draft) by the
Free SoftwareFoundation.

Página 79

Você também pode gostar