Escolar Documentos
Profissional Documentos
Cultura Documentos
Administração
de Redes Linux
Nota de Copyright
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.
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.
● 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.
● 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 |
++
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.
● EndereçoIP da rede
● EndereçoIP de broadcast
● Máscarada RedeIP
● Endereçodo Roteador
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.
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.
● rs? - InterfacesRose
● 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.
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)
dnsnameservers 192.168.0.100
dnssearch 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.
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
... 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
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
● 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
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
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.
Página 13
Administração de Redes Linux
option domainname "fabriciovc.net"; # Domínio DNS
option domainnameservers 192.168.0.100; # Servidor DNS
option routers 192.168.0.100; # Roteador
maxleasetime 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
fixedaddress 192.168.0.1; # Enderço IP
}
host micro02 { # Nome do micro
hardware ethernet 08:00:2b:4c:29:33; # Endereço MAC
fixedaddress 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"
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)
● 25 - Smtp(enviode e-mails)
● 53 - DNS(resolvedorde nomes)
/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
● 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 updateinetd(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
#:HAMRADIO: serviços de rádio amador
#:OTHER: Outros serviços
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.
/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
● 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 emails
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.
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
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.
/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
● 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.
/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.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].
● -t: MostraportasTCP
● -u: MostraportasUDP
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
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.
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.
6.4 Instalação
root@localhost:~# aptget install telnet telnetd
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.
...pararealizarconexõescomumamáquinarodandoo servidortelnet.
Adicionalmenteas seguintesopçõespodemser usadas:
Exemplos:
# Conectase ao servidor telnet rodando na porta 23 de sua própria máquina
root@localhost:~# telnet localhost
# Conectase 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 PAM.
● 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.
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
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
● 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:
# Conectase ao servidor remoto usando o login do usuário atual
ssh ftp.sshserver.org
# Conectase ao servidor remoto usando o login john (via ssh versão 2)
ssh 2 ftp.sshserver.org l john
# Conectase 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
# Conectase 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 ~
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:~/
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.
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).
...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).
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çã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).
# 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 mutualfailure" 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/sftpserver
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...)
● EDU- OrganizaçõesEducacionais
● GOV- OrganizaçõesGovernamentais
● MIL - OrganizaçõesMilitares
● ORG- OutrasOrganizações
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
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.
/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.
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 lameservers { 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.inaddr.arpa" {
type master;
file "/etc/bind/db.127";
};
zone "0.inaddr.arpa" {
type master;
file "/etc/bind/db.0";
};
zone "255.inaddr.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”;
//allowtransfer { 192.168.0.101; };
};
zone “0.168.192.inaddr.arpa” {
Página 40
Administração de Redes Linux
type master;
file “/etc/bind/mr.0.168.192”;
//allowtransfer { 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.inaddr.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;
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.
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
● 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;
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.
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
Sintaxe do host
host [opções] host/domínio
Exemplo.:
Devolveinformaçõessobreo registro MXdo domíniofabriciovc.net:
root@localhost:~# host –t MX fabriciovc.net
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
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.inaddr.arpa
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;
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.
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;
● 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)
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
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;
● 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
# 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=
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
Alterando o /etc/passwd
Edite o /etc/passwdcomo seu editor favorito ou como comando...
root@localhost:~# vipw (se estiver utilizando Debian)
Alterando o /etc/group
Edite o /etc/groupcomo seu editor favorito ou como comando...
root@localhost:~# vigr (se estiver utilizando Debian)
Alterando o /etc/shadow
Edite o /etc/shadowcomo seu edito favorito e incluano final do arquivo...
+::::::::
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
... 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
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.
● MUA: Clientede correio. Enviapor SMTP(porta 25) e recebepor POP(porta 110) ou IMAP(porta 143 - webmail)
● DNS: ServidorDNS
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 emails ("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 emails 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 email
#delay_warning_time = 4h
# Este parâmetro especifica o nome do sistema de email. 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 emails serão definidos como
# domínio(s) local(is).
relay_domains = $mydestination
# Este parâmetro define para qual servidor SMTP os emails 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
# emails. 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 antivirus 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
mailerdaemon: 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
Página 55
Administração de Redes Linux
Crie o arquivo/etc/postfix/header_checkse adicinea seguinteregra:
/^Received:/ HOLD
Reinicieos serviços.
root@localhost:~# /etc/init.d/clamavdaemon stop
root@localhost:~# /etc/init.d/clamavfreshclam stop
root@localhost:~# /etc/init.d/mailscanner stop
root@localhost:~# /etc/init.d/postfix stop
root@localhost:~# /etc/init.d/clamavdaemon start
root@localhost:~# /etc/init.d/clamavfreshclam start
root@localhost:~# /etc/init.d/mailscanner start
root@localhost:~# /etc/init.d/postfix start
...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
Página 56
Administração de Redes Linux
root@localhost:~# aptget install uwimapd
...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
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 disableplaintext nil
12 Samba
● 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).
# 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/sambadoc/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 listeas 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 = <NTDomainControllerSMBName>
# 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 CDROM
; 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
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):
● LinNeighborhood: http://www.bnro.de/~schmidjo/
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.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 wwwdata
Group wwwdata
# Email 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 /cgibin/ /usr/lib/cgibin/
<Directory /usr/lib/cgibin/>
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.comerror.log
# CustomLog logs/host.some_domain.comaccess.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;
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
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 ...
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>
Página 73
Administração de Redes Linux
14 Apêndice
● Outros Colaboradores: Direitos mantidos. Favor consultar o site do Foca Linux para consultar outros colaboradores do
GuiaFocaLinux(http://focalinux.cipsga.org.br).
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.
● TCP/IP ● ServidorIMAP
● ServidorFTP ● Webmail
Página 74
Administração de Redes Linux
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.
● 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