UC15.Serviços_de_Redes

132
Curso Técnico em Redes de Computadores Serviços de Rede

Transcript of UC15.Serviços_de_Redes

Page 1: UC15.Serviços_de_Redes

Curso Técnico em Redes de Computadores

Serviços de Rede

Page 2: UC15.Serviços_de_Redes

Armando de Queiroz Monteiro NetoPresidente da Confederação Nacional da Indústria

José Manuel de Aguiar MartinsDiretor do Departamento Nacional do SENAI

Regina Maria de Fátima TorresDiretora de Operações do Departamento Nacional do SENAI

Alcantaro CorrêaPresidente da Federação das Indústrias do Estado de Santa Catarina

Sérgio Roberto ArrudaDiretor Regional do SENAI/SC

Antônio José CarradoreDiretor de Educação e Tecnologia do SENAI/SC

Marco Antônio DociattiDiretor de Desenvolvimento Organizacional do SENAI/SC

Page 3: UC15.Serviços_de_Redes

Confederação Nacional das Indústrias

Serviço Nacional de Aprendizagem Industrial

Curso Técnico em Redes de Computadores

Serviços de Rede

Alexandre Bacher RamosAnderson Rauber da Silva

Daniel DevegiliJuliano Daniel Marcelino

Florianópolis/SC2010

Page 4: UC15.Serviços_de_Redes

É proibida a reprodução total ou parcial deste material por qualquer meio ou sistema sem o prévio consentimento do editor. Material em conformidade com a nova ortografia da língua portuguesa.

Equipe técnica que participou da elaboração desta obra

Coordenação de Educação a DistânciaBeth Schirmer

Revisão Ortográfica e NormatizaçãoFabriCO

Coordenação Projetos EaDMaristela de Lourdes Alves

Design Educacional, Ilustração, Projeto Gráfico Editorial, Diagramação Equipe de Recursos Didáticos SENAI/SC em Florianópolis

AutoresAlexandre Bacher RamosAnderson Rauber da SilvaDaniel DevegiliJuliano Daniel Marcelino

SENAI/SC — Serviço Nacional de Aprendizagem IndustrialRodovia Admar Gonzaga, 2.765 – Itacorubi – Florianópolis/SCCEP: 88034-001Fone: (48) 0800 48 12 12www.sc.senai.br

3

dos Santos - CRB 14/693 - Biblioteca do SENAI/SC Ficha catalográfica elaborada por Kátia Regina BentoFlorianópolis. S491

Serviços de Rede / Alexandre Bacher Ramos ... [et al.], – Florianópolis : SENAI/SC, 2010.

Inclui bibliografias.

1. Redes de computadores. 2. Servidores de redes. I. Ramos, Alexandre Bacher. II. Silva, Anderson Rauber da. III. Davegili, Daniel. IV. Marcelino, Juliano Daniel. V. SENAI. Departamento Regional de Santa Catarina.

CDU 004.7

Page 5: UC15.Serviços_de_Redes

Prefácio

Você faz parte da maior instituição de educação profissional do estado. Uma rede de Educação e Tecnologia, formada por 35 unidades conecta-das e estrategicamente instaladas em todas as regiões de Santa Catarina.

No SENAI, o conhecimento a mais é realidade. A proximidade com as necessidades da indústria, a infraestrutura de primeira linha e as aulas teóricas, e realmente práticas, são a essência de um modelo de Educação por Competências que possibilita ao aluno adquirir conhecimentos, de-senvolver habilidade e garantir seu espaço no mercado de trabalho.

Com acesso livre a uma eficiente estrutura laboratorial, com o que existe de mais moderno no mundo da tecnologia, você está construindo o seu futuro profissional em uma instituição que, desde 1954, se preocupa em oferecer um modelo de educação atual e de qualidade.

Estruturado com o objetivo de atualizar constantemente os métodos de ensino-aprendizagem da instituição, o Programa Educação em Movi-mento promove a discussão, a revisão e o aprimoramento dos processos de educação do SENAI. Buscando manter o alinhamento com as neces-sidades do mercado, ampliar as possibilidades do processo educacional, oferecer recursos didáticos de excelência e consolidar o modelo de Edu-cação por Competências, em todos os seus cursos.

É nesse contexto que este livro foi produzido e chega às suas mãos. Todos os materiais didáticos do SENAI Santa Catarina são produções colaborativas dos professores mais qualificados e experientes, e contam com ambiente virtual, mini-aulas e apresentações, muitas com anima-ções, tornando a aula mais interativa e atraente.

Mais de 1,6 milhões de alunos já escolheram o SENAI. Você faz parte deste universo. Seja bem-vindo e aproveite por completo a Indústria do Conhecimento.

Page 6: UC15.Serviços_de_Redes
Page 7: UC15.Serviços_de_Redes

Sumário

Conteúdo Formativo 9

Apresentação 11

12 Unidade de estudo 1

Configurando o Ambiente

Seção 1 - Introdução a Servi-ços de Rede

Seção 2 - Configurando a rede

Seção 3 - Planejando a im-plantação

Seção 4 - Realizando a ma-nutenção

26 Unidade de estudo 2

Servidor de Arquivos

Seção 1 - Conceitos básicos

Seção 2 - Compartilhan-do arquivos em ambiente Windows

Seção 3 - Compartilhando arquivos no Linux com NFS

Seção 4 - Compartilhando arquivos em ambiente misto com samba

Seção 5 - Compartilhando arquivos via FTP

44 Unidade de estudo 3

Servidor de Impressão

Seção 1 - O servidor de impressão

Seção 2 - Instalando impres-soras

13

15

22

24

Seção 3 - Compartilhando impressoras com samba

Seção 4 - Configurações diversas

49 Unidade de estudo 4

Servidor de E-mail

Seção 1 - Conceitos bási-cos

Seção 2 - SMTP

Seção 3 - POP3 e IMAP

Seção 4 - Configuração do SMTP - Postfix

Seção 5 - Configuração do POP e IMAP

Seção 6 - Spam

68 Unidade de estudo 5

Servidor de Web

Seção 1 - Conceitos básicos

Seção 2 - Instalando o apache

Seção 3 - Configurando o apache

Seção 4 - MySQL

Seção 5 - Controle de acesso – autenticação de usuários

Seção 6 - Segurança SSL

Seção 7 - Monitorando e Gerenciando LOGs

82 Unidade de estudo 6

Servidor de Nomes (DNS)

Seção 1 - Entendendo o DNS

Seção 2 - O sistema DNS

Seção 3 - Órgãos controla-dores

Seção 4 - O protocolo DNS

Seção 5 - O Software BIND

Seção 6 - Servidor DNS no Windows 2003

100 Unidade de estudo 7

Servidor de DHCP

Seção 1 - Conceitos básicos

Seção 2 - Instalando e Confi-gurando o DHCP

Seção 3 - Executando o clien-te DHCP e efetuando testes

104 Unidade de estudo 8

Serviço de Gerencia-mento Remoto

Seção 1 - Conceitos básicos

Seção 2 - Telnet e SSH

Seção 3 - RDP e VNC

Seção 4 - VPN

114 Unidade de estudo 9

Serviços de Diretório de Rede

Seção 1 - Active Directory

Seção 2 - OpenLDAP

Finalizando 129

Referências 131

27

28

31

34

40

45

46

47

48

50

53

55

57

61

67

69

71

72

73

74

76

77

83

84

86

87

92

97

101

101

102

105

105

109

111

115

119

Page 8: UC15.Serviços_de_Redes

8 CURSOS TÉCNICOS SENAI

Page 9: UC15.Serviços_de_Redes

Conteúdo Formativo

9SERVIÇOS DE REDE

Carga horária de dedicação

Carga horária: 150 horas

Competências

Configurar os serviços básicos de rede em sistemas operacionais.

Conhecimentos

▪ Servidor de Arquivos (Controle e Registro de Acesso, Definição de Cotas);

▪ Servidor de e-mail (Controle e Registro de Acesso, Definição de Cotas, Portas de Comunica-ção: POP, IMAP e SMTP, Segurança de Rede: Criptografia, SSL);

▪ Servidor de Impressão;

▪ Servidor web (Controle e Registro de Acesso, Definição de Cotas, Portas de Comunicação: HTTP, HTTPS, FTP, TFTP, Segurança de Rede: Criptografia, SSL);

▪ Servidor de DNS;

▪ Servidor de DHCP;

▪ Servidor de Conexão Remota (Controle e Registro de Acesso, Portas de Comunicação: RDP e VNC, Segurança de Rede: Criptografia, SSL);

▪ Serviços de Diretórios de Rede (Controle e Registro de Acesso, Segurança de Rede: Criptogra-fia, SSL; LDAP: Active Directory e OpenLDAP).

Habilidades

▪ Instalar, configurar e manter servidor de arquivos;

▪ Instalar, configurar e manter servidor de e-mail;

▪ Instalar, configurar e manter servidor de impressão;

▪ Instalar, configurar e manter servidor de web;

▪ Instalar, configurar e manter servidor de DNS;

▪ Instalar, configurar e manter servidor de DHCP;

▪ Instalar, configurar e manter servidor de Conexão Remota;

▪ Instalar, configurar e manter serviços de diretórios de rede;

▪ Planejar a implantação e manutenção dos serviços básicos de rede.

Page 10: UC15.Serviços_de_Redes

10 CURSOS TÉCNICOS SENAI

Atitudes

▪ Zelo pelo material e equipamentos;

▪ Responsabilidade socioambiental;

▪ Adoção de normas de saúde e segurança do trabalho;

▪ Pró-atividade;

▪ Ética;

▪ Trabalho em equipe;

▪ Cumprimento de prazos e horários.

Page 11: UC15.Serviços_de_Redes

Apresentação

SERVIÇOS DE REDE

A unidade curricular Serviços de Rede proporciona a você uma visão geral da aplicação dos prin-cipais recursos existentes nos ser-vidores de rede para que você, como futuro Técnico em Redes de Computadores, possa disponi-bilizá-los aos usuáriosa das redes.

O objetivo do estudo desta uni-dade curricular é fornecer conhe-cimentos sobre os recursos dos serviços de rede e desenvolver habilidades de instalar, configurar e manter os serviços de rede mais importantes e comumente utili-zados na Internet. Além destes, outros serviços de rede são cons-tantemente desenvolvidos e aper-feiçoados com o objetivo de faci-litar a atividade de gerenciamento das redes. Muitos deles estão dis-poníveis para serem utilizados e adaptados gratuitamente, através das licenças de softwares livres.

A abordagem utilizada neste ma-terial engloba a aplicação destes serviços em dois tipos de sistemas operacionais: Microsoft Windows e Linux. Convidamos você a ex-plorar as características de cada um dos serviços de rede apresen-tados e a desenvolver suas habi-lidades de resolver os problemas relacionados aos servidores. Va-mos! Aceite logo o convite e em-barque conosco nessa descoberta!

Bom estudo!

Anderson Rauber da Silva, Daniel Devegili, Juliano Daniel Marceli-no e Alexandre Bacher Ramos

Anderson Rauber da Silva atua na unidade do Senai/SC em Jaraguá do Sul instrutor dos cursos de aprendizagem industrial e também exercen-do o papel de responsável técnico das aprendizagens industriais em in-formática. Com formação de Técnico em Informática com Habilitação em Redes no Senai/SC Unidade de Jaraguá do Sul, atualmente cursando o curso Superior de Tecnologia em Redes de Computadores na unidade do Senai/SC em Joinville. Atua também como instrutor de unidades cur-riculares relacionadas a manutenção de computadores, infra-estrutura e gerenciamento de redes de computadores.

Daniel Devegili é especialista em Administração de Redes Linux e Tec-nólogo em Redes de Computadores. Daniel Devegili atuou como ana-lista de tecnologia da informação na área de gestão empresarial para empresas do ramo alimentício, desenvolvendo projetos de migração de sistemas, virtualização, políticas de segurança, políticas de backup e re-estruturação de sistemas, servidores e infra-estrutura de rede.Ainda no segmento corporativo, teve a oportunidade de desenvolver e aplicar um projeto de migração de sistema de automação de vendas, re-alizando apresentações e treinamentos a diferentes equipes de repre-sentantes e distribuidores comerciais, alterando de forma significativa, o conceito e prática de vendas.Na área acadêmica, atualmente é professor de cursos técnicos e apren-dizagem industrial no Senai/SC, em Jaraguá do Sul. Suas principais linhas de pesquisa se concentram em administração de sistemas operacionais e serviços de rede, virtualização de sistemas, automação de tarefas e segurança da informação, além de orientação de trabalhos acadêmicos.

Juliano Daniel Marcelino é especialista em Gerenciamento de Projetos e Bacharel em Sistemas de Informação. Juliano Daniel Marcelino atuou como gerente de projetos de implantação de sistemas de informação para cadeia de suprimentos, sistemas de gerenciamento corporativo, sincronização e integração de sistemas colaborativos, além de consul-toria empresarial em gerenciamento de projetos, análise, mapeamento e gerenciamento de processos e planejamento estratégico.Na área acadêmica, atualmente é professor de cursos técnicos e apren-dizagem industrial no Senai/SC em Jaraguá do Sul, e conta com experi-ência nos segmentos de pós-graduação, graduação, técnico e profissio-nalizante, orientação de trabalhos acadêmicos em outras instituições da região.

Alexandre Bacher Ramos é formado em bacharel em Ciências da Com-putação pela UNOESC, e especialista em Redes de Computadores e Multimídia pela UFSC, atuou como administrador de redes de compu-tadores em provedores de serviços e soluções Internet, além de consul-toria empresarial em planejamento, administração e gerência de redes.Na área acadêmica, atualmente é professor de cursos técnicos e apren-dizagem industrial no Senai/SC em Jaraguá do Sul, com experiência nos segmentos de graduação, técnico e profissionalizante, assim como orientação de trabalhos acadêmicos. Possui certificação CCNA 640-802 e é instrutor habilitado pela Academia Regional da Cisco (certificação CCAI).

11

Page 12: UC15.Serviços_de_Redes

Unidade de estudo 1

Seções de estudo

Seção 1 – Introdução a Serviços de RedeSeção 2 – Configurando a redeSeção 3 – Planejando a implantaçãoSeção 4 – Realizando a manutenção

Page 13: UC15.Serviços_de_Redes

13SERVIÇOS DE REDE

Seção 1Introdução a Serviços de Rede

Vivemos em uma sociedade in-terligada em redes. Você deve ter uma agenda telefônica de seus principais amigos e também deve fazer parte de algum portal que tenha uma rede social, não é mes-mo? O mais interessante desta situação, tão comum na socieda-de atual, é que isso vem cada dia mais fazendo parte do cotidiano das pessoas à nossa volta.Interessante ainda é saber que o acesso a esta malha de informação não fica limitado apenas a algumas pessoas. Vivemos em um mundo em que é possível conversar tanto com um cacique de alguma tribo indígena da Amazônia quanto com um filósofo japonês pesqui-sador da cultura grecoromana, por exemplo. O mero fato de usar um caixa eletrônico ou assistir um programa na TV a cabo são bons e simples exemplos de uso de uma rede interligada que permite cada vez mais interação entre seus par-ticipantes, em tempo real e à dis-posição de um clique.Com a expansão crescente da tec-nologia, os computadores vêm cada vez mais se tornando item obrigatório em empresas, esco-las e qualquer instituição que de-seja ter alguma vantagem ou tão simplesmente aproveitar os be-nefícios que uma rede de com-putadores possa oferecer, interli-gando pessoas com seus recursos potencialmente infinitos. Porém, como era de se esperar muitos computadores, e consequente-mente, as redes de computado-

Configurando o Ambiente

res, estão crescendo rapidamente e despontando uma necessidade de sistemas, técnicas e ferramen-tas que permitam um controle e gerenciamento eficaz e prático destes equipamentos, proporcio-nal à complexidade da rede e seus serviços prestados.Vamos a um exemplo bem sim-ples, uma empresa possui duas filiais em pontos diferentes do Estado, e a rede interna possui servidores DNS, DHCP, FTP e samba instalados, que tem uma importância vital para a empresa.

Saiba Mais

Cada um destes possui confi-gurações específicas e estas configurações ainda podem estar em outro computador, o que deixa um pouco mais complexa a administração de um servidor deste porte.

As redes praticamente não ces-sam de crescer, agregam novos serviços, funcionalidades e re-quisitos, principal razão que um gerenciamento prático, eficaz e rápido dos serviços é cada vez mais requisitado nas organizações atuais. Todas as redes dependem de serviços, como o DNS, para que o usuário final não fique de-pendendo de anotar números de endereços IP para saber em qual máquina da rede está o relatório da reunião que começa em meia hora, ou onde está o arquivo so-

licitado pelo chefe para entregar amanhã de manhã cedo.É pensando em agilizar a troca de endereços IP, com um ser-vidor DHCP, que uma empresa consegue expandir o parque de equipamentos sabendo que não precisa se preocupar em não ter capacidade de aguentar a quanti-dade de máquinas que podem ser suportadas naquela classe de rede, isso sem falar nas questões de se-gurança que um DHCP bem con-figurado propicia.Usar um serviço como NFS ou samba permite compartilhar ar-quivos e impressoras em uma rede, de forma a viabilizar a en-trega de materiais dentro de uma rede, de forma que o usuário te-nha a sensação de que está aces-sando seus próprios arquivos em outra máquina. Porém, se aumen-tarmos a abrangência do conteú-do, chegamos a um patamar onde várias redes se entrelaçam em uma grande rede, a Internet. Além de disponibilizar uma gama imensa de recursos, desde acesso às suas mensagens de e-mail e acesso às notícias de algum jornal, até com-partilhar arquivos em redes peer-to-peer são originadas do conceito de serviço de rede.De todos os inúmeros serviços de rede disponíveis atualmente, o quadro abaixo mostra alguns dos mais importantes.

Page 14: UC15.Serviços_de_Redes

14 CURSOS TÉCNICOS SENAI

Serviço Finalidade

HTTPHyperText Transfer Protocol, usado para navegar em páginas web

FTP File Transfer Protocol, para localizar e capturar arquivos

Telnet Terminal de acesso remoto em modo texto

SSHSecure Shell Terminal, outro terminal de acesso remoto, porém, em modo seguro

VNC Acesso remoto por interface gráfica

DHCPDynamic Host Configuration Protocol, localiza informações da rede

LDAPLightweight Directory Access Protocol, pesquisa dados de usuários

DNSDomain Name System, converte endereços IP em nomes e também vice-versa

NFS Network File System, compartilha arquivos em redes UNIX

SMBServer Message Block, também compartilha arquivos e impressoras, mas em ambientes Microsoft Windows.

IPP Internet Printing Protocol, serve para acessar impressoras

SMTPSimple Mail Transfer Protocol, para envio de correio eletrônico

POP3Post Office Protocol v3, para recebimento de correio eletrônico

IMAPInternet Message Access Protocol, outro protocolo para recebimento de correio eletrônico

Quadro 1 – Lista de serviços e finalidadesFonte: adaptado de Nemeth, Snyder e Hein (2007).

Para que um serviço de rede consiga atuar dentro do que se propõe, é necessário que exista um transporte adequado, que em sua grande maioria utilizam TCP ou UDP para este fim.Casos de serviços como HTTP, POP3 E SMTP são desenvolvidos ba-sicamente para comportar um lado servidor, protocolado e numerado e com porta aberta, de acordo com as características do serviço, natural-mente.Uma pergunta que você pode ter feito para si mesmo é se precisamos deixar as portas padrão do sistema ou alterar as portas. Mas caso você não tenha pensado nisso, é importante deixar bem claro que qualquer porta pode disponibilizar qualquer serviço, mas o padrão existe para manter uma uniformidade quando servidores tentarem se comunicar. Confira o quadro a seguir.

Serviço Porta TransporteHTTP 80 TCPTelnet 23 TCPSSH 22 TCPFTP 21 TCP ou UDPVNC 5900 TCP

SMTP 25 TCPSYSLOG 514 UDPPOP3 110 TCP

Quadro 2 – Lista de serviços e relação com portas e transporteFonte: Scrimger (2002, p. 151).

Transporte adequado: Vide maiores informações sobre transporte na disciplina de Arquitetura de Redes.

Page 15: UC15.Serviços_de_Redes

15SERVIÇOS DE REDE

Seção 2Configurando a rede

Nesta seção você terá a oportuni-dade de conhecer alguns coman-dos e técnicas que serão muito úteis em sua caminhada. O mais interessante desta situação, tão comum na sociedade atual, é que esses serviços vêm cada dia mais fazendo parte do cotidiano das pessoas à nossa volta. Como você já deve ter percebido, um dos as-petos mais importantes que você terá de dominar é a nomenclatura, afinal, quase tudo em serviços de redes tem uma sigla para indicar um protocolo, placa de rede, en-fim, praticamente qualquer defi-nição pode ser representada por uma sigla ou abreviatura.

Ao utilizar uma distribuição do Linux, como o Debian, Fedora ou uma mais popular ainda, como o Ubuntu, as placas de rede são identificadas pela sigla “eth’, se-guida do número da placa atribu-ída automaticamente pelo sistema operacional, iniciando do zero. Assim, uma placa de rede instala-da no computador pode receber o código eth0, eth1, eth2 e assim sucessivamente, dependendo da sequência em que foi instalada ou detectada pelo sistema operacio-nal.Uma possível dúvida que pode surgir é sobre placas de rede sem fio, que ficam cada vez mais po-pulares entre computadores pes-soais, sejam portáteis como note-books, netbooks, ou ainda estações de trabalho nettops, pc ou thin clients.

Pois bem, as placas de rede sem fio também recebem uma sigla específica, que é “wlan”, logo, a primeira placa de rede sem fio (wireless) instalada pelo sistema é wlan0, seguida de wlan1, wlan2 e assim sucessivamente.Para finalizar, é bem simples loca-lizar o adaptador de rede dentro de um sistema Linux, e verificar suas configurações. Vamos confe-rir alguns comandos que vão aju-dar você a se tornar competente nesta área! Vamos juntos!

Ifconfig

O ifconfig é um comando do Linux, além de outros sistemas operacio-nais baseado em UNIX, usado para configurar uma interface de rede, manualmente, ou no pro-cesso de inicialização da máquina. Além disso, é normalmente usado apenas quando necessário debu-gar algum processo, ou ainda, quando algum ajuste específico nas placas de rede torna-se neces-sário.Se nenhum parâmetro é fornecido no shell, ifconfig retorna informa-ções das interfaces de rede ativas no momento. Se uma interface é inserida como parâmetro, ele re-torna informação daquela placa de rede. Ainda, se um argumento – a é inserido, por exemplo, ifcon-fig mostra informação de todas as interfaces de rede, inclusive as que estão inativas ou desconectadas.Vamos a um exemplo bem práti-co, para definir um endereço IP 192.168.216.15, com máscara de rede 255.255.255.0 a uma placa de rede chamada eth0, utiliza-se o seguinte comando: ifconfig eth0 192.168.216.15 netmask 255.255.255.0.

Vamos a alguns exemplos bem simples, o termo

adaptador de rede é traduzido contextualmente de “ethernet adapter”, ou adaptador ether-net, com tradução literal, co-nhecido pela maioria como pla-ca de rede.

Debugar: compreende a correção de um defeito

de execução de um programa, geralmente, causado por incon-sistência no seu código ou por incompatibilidade com outros programas, que estejam simul-taneamente em execução (FER-REIRA, 2010).

Page 16: UC15.Serviços_de_Redes

16 CURSOS TÉCNICOS SENAI

Figura 1 – Comando ifconfig no Linux

Ipconfig

O ipconfig é um comando similar ao ifconfig, porém, para sistemas opera-cionais Microsoft. Se for usado sem parâmetros, retorna informações de todas as placas, mas outros parâmetros podem ser usados, vamos ver alguns deles apenas:

▪ /renew: renova as configurações DHCP para todas as placas, claro, este comando funcionará apenas se a placa possui o protocolo IP ativa-do nas suas configurações; ▪ /release: solicita ao servidor DHCP que este libere as configurações

atuais de IP e descarte as especificações atuais para todas as placas, se nenhuma foi informada; ▪ /flushdns: este parâmetro limpa e reinicia o conteúdo do cache do

DNS da máquina cliente. Normalmente é utilizado quando você preci-sa descartar entradas no cache que não são mais utilizadas.

Page 17: UC15.Serviços_de_Redes

17SERVIÇOS DE REDE

Figura 2 – Comando ipconfig no Windows

Dhclient

Um cliente DHCP permite configurar uma ou mais interfaces de rede usando protocolo DHCP, pode trabalhar também com protocolo BOO-TP, ou ainda, se um destes falhar, pode definir um endereço IP estático.De acordo com Hunt, o dhclient é um cliente que usa protocolo DHCP, porém, permite muito mais que configurações básicas que outros clien-tes possam usar como padrão.Depois de instalado, dois arquivos são muito importantes: dhclient.conf, que mantém as configurações criadas pelo administrador, e o dhclient.leases, cujo conteúdo é criado pelo dhclient e contém informações sobre aluguel de endereços IP.

Definindo IP automático ou manual

É bem verdade que as configurações de programas instalados são ba-seadas em arquivos de configuração, muitas vezes com a extensão.conf (Linux) e .ini (Windows).As configurações pertinentes a vários dispositivos, nos Linux Debian e Ubuntu, também ficam em arquivos, e em específico, os parâmetros de configuração das interfaces (placas) de rede ficam registradas dentro do arquivo /etc/networking/interfaces. É aqui que o sistema operacional é ajustado para que seu computador se conecte a uma rede.Então, como utilizar este arquivo?

DICA As linhas que iniciam com a palavra “auto” identificam interfaces físicas que são car-regadas automaticamente pelo sistema operacional no processo de inicialização. O nome da interface física deve seguir a palavra auto para identificar esta placa adequa-damente.

Como um exemplo, vamos olhar a figura 3, onde a placa eth0 (a primeira interface ethernet dispo-nível no sistema) com um en-dereço IP estático definido em 192.168.216.32 e o gateway padrão ajustado para 192.168.216.254. Na figura 4 é mostrada a con-figuração da placa de rede para atribuição de endereço IP auto-maticamente através de servidor DHCP.

Page 18: UC15.Serviços_de_Redes

18 CURSOS TÉCNICOS SENAI

Figura 3 – Configuração manual de interface de rede

iface eth0 inet static

address 192.168.216.32

netmask 255.255.255.0

gateway 192.168.216.254

Figura 4 – Configuração automática de interface de rede

auto eth0

iface eth0 inet dhcp

Entretanto, para sistemas baseados em Microsoft Windows, como o Win-dows 2003 ou o Windows XP, as configurações de endereço IP mudam significativamente.Para ajustar um endereço IP manual ou automaticamente no Windows, é necessário acessar a tela de propriedades da conexão que se deseja alterar. Confira na figura 5 (a seguir) esta tela que, se ainda não é, deve ser bem conhecida.

Figura 5 – Propriedades da conexão local

Page 19: UC15.Serviços_de_Redes

19SERVIÇOS DE REDE

Para que o endereço IP seja atribuído automaticamente, de forma si-milar ao que foi definido na figura 4, entretanto, em um ambiente Win-dows, é necessário acessar a tela de propriedades do protocolo TCP/IP, mostrada a seguir na figura 6. Repare que a opção com a configuração “Obter um endereço IP automaticamente” está selecionada, bem como a opção “Obter o endereço dos servidores DNS”.

Figura 6 – Propriedades do protocolo TCP/IP

Caso seja necessário definir um endereço IP manualmente, deve-se al-terar as opções da tela representada pela figura 7, para que tenha uma configuração específica. Na figura 7 está representada a mesma configu-ração existente na figura 3, entretanto, aplicada a um sistema operacional baseado em Microsoft Windows.

Page 20: UC15.Serviços_de_Redes

20 CURSOS TÉCNICOS SENAI

Figura 7 – Alteração das propriedades do protocolo TCP/IP

Hostname

Imagine um cenário onde cada casa em uma cidade fosse identificada por um código numérico, e não houvesse a distinção por ruas, avenidas, praças ou bairros. Para evitar este cenário um tanto caótico em redes de computadores, é necessário definir um nome lógico para cada computa-dor na rede, inclusive servidores.Por exemplo, se para cada vez que um usuário tentar acessar sua caixa de entrada de e-mails, tivesse que digitar o endereço IP do servidor de e-mails, seria um verdadeiro transtorno decorar todos os serviços que utilizamos atualmente, como gmail, orkut, hotmail, msn, yahoo, google, bing, entre outros tantos.Na grande rede (Internet), existe uma grande quantidade de serviços cujo nome dos servidores inicia pelo prefixo “WWW”, como por exem-plo, www.google.com, porém, se uma mesma companhia oferece inúme-ros produtos, como por exemplo, pesquisa simples e pesquisa de ima-gens, o nome do servidor muda do anterior, visto acima, para images.google.com, sem o prefixo www.Um nome de hospedeiro, ou hostname, também é uma definição associa-da a um computador dentro de um domínio, por exemplo, programa-dor29.google.com, cuja máquina está dentro do domínio google.com, e pertence ao programador 29.Hostnames podem ter nomes simples ou mais complexos, como frases, e devem ser inclusos em um servidor DNS.

Servidor DNS: Para maiores informações sobre DNS con-sulte a seção referida.

Page 21: UC15.Serviços_de_Redes

21SERVIÇOS DE REDE

Usando o comando ping

Antigamente, numa guerra, para não haver problemas de um exér-cito confrontar o outro acidental-mente, ao juntar dois grupos de soldados, era comum haver uma senha e uma contrasenha, como exemplo, “trovão”, e do outro lado algum soldado que respondia “raio”. Identificar se o contato se-ria amigo ou inimigo deste modo era uma forma simples, porém eficaz, de ter certeza que havia al-guém do mesmo exército naquele lugar.Uma forma simples, eficaz e mui-to divulgada para testar a comu-nicação entre computadores é o ping. O ping é uma abreviatura de Packet Internet Grouper que, basica-mente, é um programa que permi-te verificar se uma rede está fun-cionando adequadamente através do envio e recebimento de paco-tes e calculando a eficiência deste processo, desde a origem até seu destino. Caso ainda não seja de seu conhecimento, não se preocu-pe, é extremamente simples usar o ping. Basta abrir um shell, ou uma linha de comando (prompt) e digi-tar “ping” seguido do endereço IP ou do nome do computador que se quer testar comunicação. Con-fira na figura 8 um bom exemplo deste utilitário.

Figura 8 – Testando comunicação com o comando PING

Usando o comando manPara você se certificar que está com todas as informações disponíveis sobre um determinado comando do sistema, em sistemas operacionais baseados em UNIX, como o Linux Ubuntu, por exemplo, é possível pedir ajuda sobre qualquer comando utilizando o comando “man”, que é abreviatura de “manual pages”, ou páginas do manual.Uma documentação bem rica em detalhes é apresentada, inclusive com detalhes de parâmetros e combinações de comandos, que consegue al-cançar tanto usuários iniciantes quanto experientes. Abaixo, na figura 9, é mostrada a tela principal do programa “man”.

Figura 9 – Tela principal do programa man no Linux

Vamos a um exemplo prático: para conseguir ajuda sobre o comando ping (visto acima), é possível digitar o comando “man ping”.

Page 22: UC15.Serviços_de_Redes

22 CURSOS TÉCNICOS SENAI

DICA Tente utilizar o man para con-seguir ajuda sobre comandos que você já conhece, vai se surpreender em perceber que há muito a explorar ain-da. Vamos! Experimente!

Seção 3Planejando a implantação

No processo de implantação de um servidor de rede, seja para um serviço de webmail, ou uma página web simples, ou ainda, um servidor FTP, até algo mais com-plexo como um servidor DNS ou um LDAP, é muito importante a etapa de planejamento, para as-segurar que tudo sairá conforme planejado, evitando retrabalho ou problemas que poderiam ter sido previstos antes de acontecer.

É melhor prevenir que reme-diar! Planeje com cuidado seu servidor, você vai conferir aqui algumas dicas.

Distribuições Linux

Pode-se dizer que, ao juntar um conjunto de programas livres ou não-livres, que atendam a uma necessidade ou propósito específicos (o quê?). Empresas como a Canonical, que distribui gratuitamente o Ubuntu, e a SuSE, Red Hat, Mandriva são exemplos de empresas que possuem uma distribuição (ou distro) do Linux.Não existe a melhor distribuição Linux, pois este é um conceito bem difícil de assegurar com certeza, pois o que pode ser melhor para um usuário não é verdade para outro, e vice-versa. E não é levado em con-sideração o gosto pessoal, mas a aplicabilidade da distribuição para dife-rentes tipos de serviços e programas que o usuário necessita.

Saiba Mais

Consulte o site www.distrowatch.com para obter mais informações sobre várias distribuições.

Ambientes Gráficos

Uma interface gráfica de usuário, (GUI) é um tipo de interface de usu-ário que permite aos mortais comuns, como eu e você, interagir com dispositivos como computadores.Uma interface gráfica oferece a possibilidade de organizar sua área de trabalho, tal qual o usuário olha para sua mesa no trabalho, com ícones representando pastas e arquivos, programas que podem ser usados, além de inúmeros indicadores e ferramentas visuais que auxiliam ao usuário nas suas árduas tarefas cotidianas.Há um tempo não havia capacidade computacional para suportar inter-faces gráficas complexas, logo, era necessário usar o que havia disponí-vel, as CUI, Console User Interface, Interfaces de Usuário em Console, ou ainda, interfaces de usuário em modo texto.Em uma interface em modo texto o usuário digita um comando e aguar-da a finalização deste até que o próximo possa ser executado, tudo atra-vés de uma única linha de comando.

Saiba Mais

Quer saber mais? Procure informações no material que disserta sobre Lógica de Programação Aplicada a Shell Scripts.

Certamente que um usuário atual percebe instantaneamente as vantagens de se utilizar de interface gráfica para suas atividades diárias. Imagine a cena, você digitando comandos e aguardando para ver seus e-mails, sem ter seu editor de textos, planilhas e outros programas ao mesmo tempo.

Page 23: UC15.Serviços_de_Redes

23SERVIÇOS DE REDE

Dentre uma gama imensa de in-terfaces gráficas disponíveis para sistemas operacionais baseados em UNIX, temos algumas das principais sendo o Gnome (www.gnome.org), KDE (www.kde.org), Xfce (www.xfce.org) entre outras, mas claro, cada uma tem um obje-tivo e aplicações específicas.Nas plataformas Microsoft, o am-biente gráfico é padrão, o Windo-ws, que pode ser utilizado em suas mais diversas versões e aplicações, desde servidores a estações de tra-balho.

Pacotes

Para entender facilmente o con-ceito de pacote, imagine o arquivo de instalação de um programa de desenho assistido por computa-dor (CAD). Neste arquivo de ins-talação existem inúmeros outros arquivos, que são descompacta-dos e copiados para uma pasta e passam a fazer parte daquele computador.Um pacote é um volume com um conjunto de arquivos com informações como versão do programa, descrição, arquivos de configuração e o programa pro-priamente dito, tal qual a instala-ção de um programa em um am-biente Microsoft Windows.Uma das vantagens de se traba-lhar com pacotes é a facilidade de gerenciamento, manipulação e as possibilidades de rastreabilidade e controle de versões, que por sua vez permite um controle eficaz de cada arquivo instalado no sistema operacional.

RPM: é a sigla de Red Hat Package Manager”, ou ge-

renciador de pacotes do chapéu vermelho. Red Hat é o nome de uma companhia e de uma distri-buição Linux fornecida por esta empresa de mesmo nome, e a distribuição tem um foco volta-do ao mercado de servidores, de acordo com HUNT.

Dois dos principais tipos de paco-tes são os pacotes deb e rpm.Conforme Ribeiro (2004), os pa-cotes Debian, reconhecidos pela extensão DEB, são pacotes com as mesmas características que o RPM, porém, são fornecidos pela Debian, que uniu ferramentas li-vres e não-livres, juntou em uma distribuição e lançou no mercado como uma distribuição focada ao mercado de computadores de uso pessoal.Apesar de parecerem concorren-tes, cada qual tem seu segmento de mercado e aplicabilidade bem definidos.Como estas duas principais dis-tribuições possuem estruturas de pacotes diferentes, há a necessi-dade de gerenciadores de pacotes para cada distribuição. Os pacotes Debian podem ser gerenciados pelos programas aptitude (www.debian.org/doc/FAQ/ch-pkg-tools.en.html), apt-get (http://www.debian.org/doc/manuals/apt-howto/), ou o Synaptic Packa-ge Manager (www.nongnu.org/sy-naptic), sendo este último um dos mais populares da distribuição, e cuja tela principal pode ser vista na figura que segue.

Figura 10 – Tela principal do gerenciador de pacotes Synaptic

Fonte: NONGNU (2002).

Page 24: UC15.Serviços_de_Redes

24 CURSOS TÉCNICOS SENAI

Repositórios

De acordo com UbuntuGuide (2005), os programas existentes atualmente preenchem as necessi-dades de seus usuários e estão dis-poníveis em imensa quantidade. Estes programas são guardados no formato de pacotes Debian, e estão disponíveis em repositórios.Um repositório é uma forma de armazenamento de pacotes muito utilizada em distribuições Linux, pois permite que seus usuários instalem e atualizem softwares di-retamente do servidor mais pró-ximo, de uma forma segura e sa-bendo que o programa instalado passou por inúmeros testes e foi criado especificamente para aque-la versão do sistema operacional.Os repositórios podem ser sepa-rados em componentes, ou cate-gorias, de acordo com os níveis de suporte oferecidos, ou ainda de acordo com a política de dis-tribuição do Linux daquele desen-volvedor.

Seção 4Realizando a manutenção

Tão importante quanto o planeja-mento da implantação, a própria execução da implantação, que você verá em cada unidade deste material para cada serviço especí-fico, outra importante atividade é a manutenção deste ambiente.Nesta seção, você terá contato com algumas técnicas e coman-dos úteis nesta tarefa, de manter o sistema funcional e garantir a dis-ponibilidade dos serviços. Fique antenado!

inetd

Segundo Ribeiro (2004), um serviço normalmente é carregado de for-ma residente na memória, abrem uma porta de comunicação e passam a escutar (listen) por conexões de rede. Para garantir a performance e estabilidade de vários serviços, além de gerenciar todos estes serviços de uma mesma base, o inetd foi criado.O inetd é um poderoso gerenciador de serviços do Linux, carregando, monitorando e destruindo os processos específicos de cada serviço sob sua responsabilidade. Entre outras funções, o inetd consegue reduzir vi-sivelmente a carga do sistema de modo geral, em comparação a executar cada serviço individualmente.Os arquivos de configuração do inetd estão na pasta /etc/inetd.conf, e abaixo é demonstrado um exemplo deste arquivo, que mostra o nome do serviço (daemon), o tipo de conexão, o protocolo usado, além de op-ções de conexão e o usuário que é dono do processo, além do caminho de execução do serviço, como pode ser observado na figura seguinte.

Figura 11 – Exemplo de arquivo /etc/inetd.conf

Fonte: Ribeiro (2004, p. 284).

#echo stream tcp nowait root internal

#echo dgram udp wait root internal

ftp stream tcp nowait root /usr/sbin/tcpd in.ftpd -l -a

#pop-3 stream tcp nowait root /usr/sbin/tcpd ipop3d

Quando uma requisição chega a uma porta gerenciada pelo inetd, este encaminha a requisição para um programa chamado tcpd. O tcpd de-cide, com base em algumas regras que estão dentro dos arquivos /etc/hosts se aceita ou não a requisição. Caso seja aceita a requisição, o ser-vidor correspondente é carregado. Este processo todo é chamado de tcp_wrapper. Há outro gerenciador, o xinetd, que permite além do tcp_wrapper, con-trole de acesso a serviços baseados em RPC e UDP, baseado em seg-mentos de tempo, eficácia na contenção de DoS (Denial of Services), um tipo de ataque que reduz a performance do servidor consideravelmente, entre outras características que tornam o xinetd uma ótima opção para o gerenciamento de serviços.

init.d

Para carregar os serviços do sistema operacional de forma manual, ou corrigir uma eventual falha de algum serviço (daemon) ou processo, é necessário acessar o diretório /etc/rc.d/init.d, onde encontra-se, por exemplo, o script para carga do servidor de interface gráfica, o X.Cada script que se encontra nesta pasta aceita parâmetros para iniciali-zação (start) e parada (stop) manuais, ou ainda, reinicialização (restart), situação (status), entre outros.

Page 25: UC15.Serviços_de_Redes

25SERVIÇOS DE REDE

syslog

Em um sistema operacional ocorre uma série de atividades que muitas vezes nem percebemos, e principalmente, não estamos por perto para observar. Já imaginou se você tivesse que passar 24 horas monitorando um servidor, observando tudo o que ocorre? Para facilitar o diagnóstico de problemas, verificar registros de acessos e monitorar atividades existe uma solução chamada LOG!No Linux, um serviço chamado syslog, realiza todo o serviço sujo de filtrar e gravar informações importantes do sistema local e de outros sistemas que suportam o syslog. As mensagens que são gravadas são originadas a partir de eventos de segurança, autorização, agendamento de tarefas, daemons do sistema, e-mail, impressão, kernel e diversas outras mensagens, cujo objetivo principal é registrar o que está acontecendo para um Administrador de sistemas e/ou redes verificar posteriormente.O arquivo /etc/syslog.conf determina onde e o que o syslog vai gravar. Trabalhando com um sistema de níveis, o syslog identifica a mensagem e grava. De acordo com o nível que você configurar o syslog irá gravar essas mensagens e também de níveis acima. Observe um quadro com os níveis que o syslog trabalha:

Debug (7) Informações de debug (depuração)

Info (6) Mensagens apenas para informação

Notice (5) Condições normais, mas significativas

Warning (4) Condições de alerta

Err (3) Condições de erro

Crit (2) Condições críticas

Alert (1) Ações imediatas são requeridas

Emerg (0) Sistema indisponível

Quadro 3 – Níveis de severidade do syslogFonte: Ribeiro (2004, p. 128).

Nesta unidade curricular você aprendeu, entre outros, a configurar o ambiente de rede a partir de algumas noções introdutórias de serviço de rede. Na unidade que segue, você aprenderá alguns conceitos básicos de servidor de arquivos, a serem aplicados em diferentes ambientes, tais como o Windows e o Lunix. Vamos! O que está esperando para continu-ar? Vamos juntos!

Page 26: UC15.Serviços_de_Redes

Unidade de estudo 2

Seções de estudo

Seção 1 – Conceitos básicosSeção 2 – Compartilhando arquivos em ambiente WindowsSeção 3 – Compartilhando arquivos no Linux com NFSSeção 4 – Compartilhando arquivos em ambiente misto com sambaSeção 5 – Compartilhando arquivos via FTP

Page 27: UC15.Serviços_de_Redes

27SERVIÇOS DE REDE

Nesta unidade de estudo será abordado o assunto que trata so-bre servidores de arquivos onde os mesmos possuem diversos benefícios. Você conhecerá algu-mas das tecnologias e soluções existentes para tal aplicação, bem como suas funcionalidades aplica-ção e benefícios.

Seção 1Conceitos básicos

Os servidores de arquivos podem possuir diversas funções específi-cas e não apenas uma como mui-tos imaginam. Eles podem operar apenas como unidades de arma-zenamento de backups ou como servidor de arquivos de uma rede corporativa oferecendo serviço de compartilhamento de arquivos e documentos entre diversos usu-ários e sistemas operacionais.Imagine você em um dia qualquer no meio do expediente no seu tra-balho, de repente em um instante você necessita repassar um docu-mento para seu superior ou cole-ga de trabalho. Sua sala fica dis-tante desse seu colega de trabalho e você não possui acesso a Inter-net, seria muito mais fácil se você pudesse disponibilizar em algum lugar na rede armazenado em um servidor tal documento, do que ir andando para outros departamen-to ou andares da instituição não é mesmo.

Servidor de Arquivos

Para facilitar nosso trabalho é que os servidores de arquivos são implan-tados, como no exemplo já citado anteriormente podemos citar algumas das principais funções dos servidores de arquivos:

▪ prover mobilidade para os usuários, ou seja, dar a possibilidade para o usuário acessar seus arquivos de qualquer lugar da rede; ▪ armazenar os arquivos dos usuários remotamente, diminuindo o

perigo de perda de arquivos ou exclusão acidental; ▪ segurança das informações dos arquivos armazenados nos servi-

dores, já que nos compartilhamentos podem ser aplicadas políticas de segurança e rastreamento.

A segurança, neste caso, trata de políticas de acesso aos diretórios, do-cumentos compartilhados, enfim, o sigilo das informações contidas nos compartilhamentos dos servidores de arquivos, sendo que esta é a prin-cipal característica durante a implantação deste. Para este caso, é neces-sário efetuar a estruturação dos diretórios a serem criados e comparti-lhados, com a devida atenção às políticas de acesso de usuários.Por exemplo, em um ambiente corporativo, onde há a necessidade do setor de recursos humanos possuir sigilo absoluto de suas informações, de tal forma que apenas a direção da instituição e os responsáveis pelo setor tenham acesso ao diretório, evitando que informações sigilosas da empresa sejam divulgadas ou de conhecimento de pessoas de má fé. Diversas combinações de controle de acesso podem ser definidas nos compartilhamentos, no quadro abaixo podemos visualizar um exemplo básico de controle de acesso aos diretórios compartilhados. Lembrando que todos os requisitos de acesso podem ser definidos variando confor-me a necessidade de cada caso:

DiretórioDescrição do

compartilhamentoGrupo de usuários

Permissão

DireçãoDestinado aos

diretoresDireção

Leitura/escrita/execução

Financeiro Setor financeiroFinanceiro/

direçãoLeitura/escrita/

execução

RHSetor de recursos

humanosRH/Direção

Leitura/escrita/execução

MarketingSetor de

marketingMarketing/

direçãoLeitura/escrita/

execução

PúblicoComum a todos os

usuáriosTodos

Leitura/escrita/execução

Quadro 4 – Exemplo de controle de acesso a diretórios compartilhados

Page 28: UC15.Serviços_de_Redes

28 CURSOS TÉCNICOS SENAI

O Windows Server 2003 possui uma gama de ferramentas utilizadas para o controle do sistema operacional que são conhecidas como ferramen-tas administrativas, localizadas em seu menu de programas. Uma dessas ferramentas que se encontra em meio a essa gama, chama-se "Gerencia-mento de servidor de arquivos", onde a mesma é responsável por pro-ver ao administrador a gerencia dos diretórios compartilhados. Abaixo segue uma ilustração desta ferramenta:

Figura 12 – Ferramenta de gerenciamento do servidor de arquivos do Windows

Server 2003

Esta ferramenta pode ser dividida basicamente em três partes que são elas:

▪ compartilhamento: lista que permite ao administrador criar novos compartilhamentos, definir suas políticas de segurança conforme suas necessidades; ▪ sessões: permite visualizar as sessões iniciadas pelos usuários, in-

formando ao administrador o usuário conectado, seu endereço IP bem como o tempo decorrido da conexão e o número de arquivos abertos; ▪ arquivos abertos: informa os arquivos abertos pelos usuários, bem

como o nome do nome do mesmo o tipo de acesso, seja ele leitura e escrita ou apenas leitura por exemplo. Também informa o número de bloqueios executados pelo servidor, caso o usuário tente efetuar uma ação a qual ele não tenha permissão.

Outros serviços são encontrados nesta ferramenta administrativa como é o caso da ferramenta de desfragmentarão de discos que tem por ob-jetivo buscar arquivos fragmentados no disco, ou seja, descontínuos e torná-los contínuos. Outra ferramenta é o gerenciamento de discos, onde efetuamos o controle das partições encontradas em nosso disco, também pode ser acessada por intermédio da ferramenta de administra-ção do servidor de arquivos do Windows Server 2003.

Seção 2Compartilhando arquivos em ambiente Windows

Em ambientes Windows podemos efetuar o compartilhamento de arquivos e documentos e definir diversas políticas de acesso ao mesmo conforme já mencionado, de maneira bastante simplificada, podendo ser acessados tanto por estações rodando sob plataforma Windows como de plataforma Li-nux. Sistemas operacionais Windows desenvolvidos para estações de trabalho como é o caso do Win-dows XP, também possuem a fun-cionalidade de operar como servi-dores de arquivos. Porém devido a uma limitação definida pelo de-senvolvedor, apenas 10 acessos simultâneos podem ser efetuados, sendo assim em redes de médio a grande porte tal sistema não aten-de. Para tanto a Microsoft desenvol-veu uma série de versões de siste-mas operacionais para servidores sem limite de conexão como é o caso do Windows Server 2003.A configuração de um servidor de arquivos básico utilizando o Win-dows Server 2003 não possui gran-des segredos. O Windows possui ferramentas visuais, ou seja, jane-las onde inserimos ou escolhemos as configurações desejadas, ao contrário do que ocorre quando estamos trabalhando em estações Linux onde praticamente todas as configurações ocorrem em arqui-vos de textos, a não ser que nos mesmos instalemos interfaces es-pecialmente desenvolvidas para este fim. Nem sempre a utilização destas janelas facilita nosso traba-lho, em muitos casos elas podem nos confundir um pouco.

Page 29: UC15.Serviços_de_Redes

29SERVIÇOS DE REDE

Outra boa funcionalidade que pode ser acessada pela ferramenta de ge-renciamento de disco é a criação e ativação de cotas de disco, onde pode ser limitado o espaço que será utilizado pelos usuários para a gravação de seus arquivos em disco. Podendo ser criadas cotas individuais e de tamanhos variáveis, independente de hierarquia de usuário. Para obter acesso a tais configurações, basta acessar as propriedades do disco em que se deseja ativar as cotas, conforme imagem:

Figura 13 – Cotas de disco do Windows Server 2003

A criação dos diretórios a serem compartilhados se dá acessando o menu compartilhamento e efetuando a criação de um novo diretório para ser compartilhado ou utilizar um existente. Para tanto basta acessar o menu "adicionar a pasta compartilhada" e seguir os passos descritos pela mesma definindo as permissões de acesso variando de acordo com cada caso.

Page 30: UC15.Serviços_de_Redes

30 CURSOS TÉCNICOS SENAI

DICA Antes de disponibilizar qualquer tipo de compartilhamento para seus usuários na rede, efetue todos os testes de segurança para vali-dar todas as políticas de segurança empregada em seus compartilha-mentos para não surgir surpresas.

Figura 14 – Assistente de compartilhamento

Outro método para se efetuar o compartilhamento de arquivos em sis-temas operacionais da família Windows pode ser empregado, que por sua vez prosseguem por um processo ainda mais simplificado. Tal processo dá-se acessando as propriedades do diretório que se deseja compartilhar e apenas ativar o compartilhamento, definindo suas opções de segurança e número limite de conexões simultâneas dentre outros. Todo processo de criação de usuários, definição de grupos e hierarquias é definido por outra ferramenta que carrega o nome de "Gerenciamento do computador". Através desta você poderá adicionar, excluir e modifi-car usuário e grupos existentes em seu servidor, criando a hierarquia de usuários e senhas de acordo com a necessidade de cada ambiente.Para fazer o acesso a diretórios compartilhados através de uma estação Windows, duas maneiras são muito utilizadas. Uma delas é feita via am-biente de rede localizada em "Meus locais de rede", outra maneira muito utilizada ocorre através do software “executar” do Windows (super + R) informando o local do compartilhamento seguido do nome ou endereço IP do servidor mais compartilhamento, como segue "\\192.168.1.1\publico". A utilização de duas barras neste caso indica que se esta aces-sando um compartilhamento de rede.Muitas outras funcionalidades podem ser empregadas ao servidor de arquivos do Windows Server 2003, como ativação de backup remoto, cria-ção de rotinas administrativas como limpeza automática de disco ou ex-clusão de arquivos contidos em seus compartilhamentos, assim como a inicialização automática dos backups sejam eles gravados em servidor remotos, mídias magnéticas, dentre outros.

Page 31: UC15.Serviços_de_Redes

31SERVIÇOS DE REDE

Seção 3Compartilhando arquivos no Linux com NFS

Em compartilhamentos onde todas as estações possuem como platafor-ma de trabalho uma distribuição qualquer do sistema operacional Linux, um protocolo de rede chamado NFS (Network File System) é implementa-do para que possa haver o compartilhamento de arquivos e documentos entre as estações Linux. Foi implementando em 1985 pela Sun Microsys-tem para atuar como sistema de arquivos para clientes sem disco, porem com sua evolução tornou-se uma poderosa ferramenta de compartilha-mento (NEMETH; SNYDER; HEIN, 2007, p. 337).Imagine que você possui dois computadores, ambos rodando sob plata-forma Linux, você deseja efetuar o compartilhamento de determinados arquivos e que não necessite a cada reinicialização do sistema, efetuar a conexão no diretório compartilhado, mas que o mesmo já apareça montado em sua área de trabalho. O NFS possui tal capacidade dando a impressão para o usuário que os arquivos estão armazenados localmen-te, ainda fornecendo opções de se aplicar políticas de segurança para os diretórios compartilhados.O NFS atualmente encontra-se na versão 4 e trabalha basicamente com dois daemons, mountd e nfsd. Onde o mountd é responsável pela monta-gem das requisições de compartilhamento e o nfsd possui a função de controlar os acessos a arquivos. Eles utilizam um banco de dados em comum onde se encontra as informações que dizem respeito a diretórios compartilhados bem como suas permissões e que pode ser normalmen-te encontrada em "/etc/exports" (NEMETH, 2007, p. 340).Para que possamos criar compartilhamentos, devemos primeiramente criar o diretório a ser compartilhado caso o mesmo não exista e pos-teriormente editar o arquivo exports, localizado em distribuições base Debian em "/etc/exports", onde definimos o diretório a ser compar-tilhado, usuários que poderão ter acesso ao mesmo e suas permissões. A seguir, segue um exemplo de um compartilhamento localizado no servidor NFS, onde todos os usuários possuem acesso ao diretório tanto para leitura como para escrita. Observe!

Figura 15 – Exemplo de compartilhamento usando o serviço NFS

# /etc/exports: the Access control list for filesystems which may be exported

# to NFS clients. See exports (5).

/dados/public * (rw,no_root_squash)

Page 32: UC15.Serviços_de_Redes

32 CURSOS TÉCNICOS SENAI

Diversos outros parâmetros de configurações podem ser definidos para os compartilhamentos NFS variando da necessidade de cada caso, se-guem exemplos:

Parâmetros Descrição

RO Exporta somente leitura

Rw Exporta para leitura e gravação (o padrão)

Rw=listaExporta na maior parte somente leitura, lista enumera os hosts que tem permissão para montar para gravação, todos os demais tem de montar somente leitura

Root_squashMapeia ("encurala") UID e GID 0 para os valores especificados por anonuid e anongid esse é o padrão

No_Root_squash

Permite acesso normal por parte de root – perigoso

all_squashAssocia todos os UID e GIDs as suas versões anonimas, útil para suportar PCs e hosts monousuários não-confiaveis

Anonuid=xxx Especifica o UID em que roots remotos devem ser encurralados

Anongid=xxx Especifica o GID em que roots remotos devem ser encurralados

Secure Requer que o acesso remoto se origine de uma porta privilegiada

insecure Permite o acesso remoto de qualquer porta

noaccess Impede o acesso a esse diretório e seus subdiretórios (usado com exportações aninhadas)

Wdelay Retarda gravações na esperança de mesclar múltiplas atualizações

No_wdelay Grava dados no disco assim que possível

Async Faz o servidor responder a requisições de gravação antes de uma gravação no disco real

Nohide Revela sistemas de arquivos montados dentro das árvores de arquivos exportadas

Hide Oposto de nohide

Subtree_check Verifica se cada arquivo solicitado esta dentro de uma subarore exportada

No_Subtree_check

Verifica apenas requisições de arquivos refere-se a um sistema de arquivos exportado

Secure_locks Requer autorização para todas as requisições de bloqueio

Insecure_locks Especifica um critério menos rigoroso de bloqueio

Auth_nlm Sinônimo de secure__locks

No_Auth_nlm Sinônimo de insecure_locks

Quadro 5 – Lista de parâmetros de configuração dos compartilhamentos NFSFonte: Nemeth, Snyder e Hein (2007, p. 341).

Para acessar os compartilhamentos contidos no servidor através de um host cliente, o mesmo deve efetuar a montagem do compartilhamento desejado em um determinado ponto. Para tanto o comando "mount" é utilizado e executado via linha de comando, apontando o servidor onde se encontra o diretório compartilhado seguido do compartilhamento a ser montado, conforme podemos acompanhar um exemplo na figura 16:

Page 33: UC15.Serviços_de_Redes

33SERVIÇOS DE REDE

Figura 16 – Montagem de compartilhamento NFS

root@SNJGS1EINFET356:/# mount 10.1.73.168:/dados/publico /publico

Uma boa dica seria efetuar a montagem automática do compartilhamen-to, para que a cada reinicialização do sistema não seja necessário efetuar a montagem novamente. Para tanto deve ser editado o arquivo "/etc/fstab" onde o mesmo é responsável pela montagem automática de uni-dades de armazenamento. Para isso, basta adicionar um ponto de mon-tagem ao final do arquivo como segue:

Figura 17 – Montagem automática de compartilhamentos NFS

# /etc/fstab: static file system information.

#

# <file system> <mount point> <type> <options> <dump> <pass>

proc /proc proc defaults 0 0

# /dev/sda1

UUID=bf490d46-b7bc-4340-96cf-ab7f4a626542 / ext3 relatime,errors=remount-ro 0 1

Como não poderia ser diferente, no lado do cliente também existem diversas outras opções de parâmetros de montagem dos compartilha-mentos NFS. A seguir, você pode conferir tais parâmetros e seus signi-ficados:

Parâmetro Descrição

Rw Monta o sistema de arquivos para leitura-gravação (deve ser exportado assim)

RO Monta o sistema de arquivos somente leitura

BgSe a montagem falhar (o serviço não responder), continue tentando em segundo plano e continue com outras requisições

HardSe um servidor sair do ar as operações que tentarem acessá-lo serão bloqueadas até que o servidor volte a entrar em operação

SoftSe um servidor sair do ar, as operações que tentarem acessá-lo falharão e retornarão um erro; esse recurso é útil para evitar que processos fiquem "pendurados" em montagens não-acessíveis

Intr Permite que usuários interrompam operações bloqueadas (e retorne um erro)

Retrans=n Não permite que o usuário provoque uma interrupção

Timeo=nEspecifica o número de vezes para repetição de uma requisição antes de retornar um erro em um sistema de arquivos montado com a opção soft

Rsize=n Configura o período de expiração (em décimos de segundo) para as requisições

Wsize=n Configura o tamanho do buffer de gravação para n bytes

Nfsvers=n Seleciona as versões 2 ou 3 do protocolo NFS (normalmente de forma automática)

Tcp Seleciona o transporte vi TCP; UDP é o padrão

Async Faz com que o servidor responda a requisições de gravação antes de uma gravação no disco real

Quadro 6 – Parâmetros de montagem de compartilhamentos NFSFonte: Nemeth, Snyder e Hein (2007, p. 343).

Page 34: UC15.Serviços_de_Redes

34 CURSOS TÉCNICOS SENAI

Diversos outros complementos podem ser adicionados em seu servidor através das listas de pa-râmetros disponibilizadas nesta seção. Experimente conhecê-las!

Seção 4Compartilhando arqui-vos em ambiente misto com samba

O compartilhamento de arqui-vos entre sistemas operacionais Linux e Windows torna-se possí-vel ser feito, graças a um serviço conhecido como samba onde o mesmo oferece serviços de com-partilhamentos de diretórios e impressão utilizando o protocolo SMB/CIFS, assim sendo capaz de fazer com que o Linux e Windows comuniquem-se entre si. (SILVA, 2009).O samba foi desenvolvido por Andrew Tridgell, onde o mesmo necessitava acessar em um servi-dor de arquivos UNIX através seu computador Windows. Ele utilizou de um sniffer de rede para analisar como funcionava a fundo o trá-fego NETBIOS, que nada mais é que a maneira como os dados trafegam em uma rede Windows. O primeiro algoritmo do samba foi escrito e liberado ao público por volta de 1992, e desde então vem sendo melhorado ganhando novas funcionalidades e cada vez mais adeptos. (SILVA, 2009).

Hoje, o samba encontra-se muito mais aprimorado e com inúmeras fun-cionalidades, distribuído livremente sob licença GNU, utilizado na gran-de maioria das redes corporativas, devido a sua facilidade de utilização e compatibilidade, com diversas plataformas. Sua gama de funções nos permite definir minuciosamente detalhes de políticas de acessos a dire-tórios, bem como opções de visualização dentre outros. Para Nemeth, Snyder e Hein (2007), a grande maioria das funcionalida-des encontradas no samba são implementadas por daemons que são eles:

▪ NMBD: responsável pela implementação dos serviços de arquivos, impressão, autenticação e autorização; ▪ SMBD: responsável pela abertura das sessões depois de efetuada a

autenticação pelo usuário, obedecendo todas as políticas de segurança sejam elas de grupo ou a acesso a arquivos.

Podemos afirmar que a configuração do samba possui um grau de difi-culdade bastante simplificado, basicamente é feito através de um único arquivo de configuração onde o mesmo carrega o nome de "smb.conf". Em geral podemos encontrar o mesmo localizado no diretório "/etc/samba/smb.conf" ou "/etc/smb.conf", onde efetuamos todas as confi-gurações de compartilhamento de diretórios, impressoras, enfim todos os parâmetros necessários para o bom funcionamento de nosso servidor de arquivos.O arquivo de configuração do samba é dividido basicamente em sessões representadas por "[NOME DA SEÇÃO]", seguida de seus parâme-tros. Por padrão o samba reserva algumas sessões para definições de diretórios, impressoras e configurações globais, onde as mesmas estão descritas no quadro a seguir:

Seções Descrição

[global]As configurações contidas nesta seção afetam o servidor samba como um todo, exemplo grupo de trabalho, políticas de acesso, nome do computador dentre outros.

[homes]Trata das configurações dos diretórios particulares dos usuários

[printers] Define opções de compartilhamento de impressoras

[profile]Definição de perfis se é aplicado quando utilizado um controlador de domínio primário

Quadro 7 – Sessões do arquivo de configuração do sambaFonte: Silva (2009).

Qualquer outra seção que por ventura você possa adicionar será inter-pretada pelo samba como sessões de compartilhamento de diretórios ou de impressora.

Page 35: UC15.Serviços_de_Redes

35SERVIÇOS DE REDE

DICA Lembre-se para você adicionar uma seção, basta inserir o nome da mesma entre colchetes como o exemplo que segue “[Compartilha-mento]”.

Para que possamos criar nosso servidor de arquivos utilizando o sam-ba, primeiramente necessitamos instalar o mesmo, podendo tal proce-dimento ser efetuado através do comando "apt-get". Após instalado, inicia-se a configuração do mesmo, lembrando que todas as configura-ções são efetuadas através do arquivo de confiuração "smb.conf". Sua configuração pode ser toda feita através de editores de texto como Vim, Nano, Joe, etc.Abaixo temos um arquivo de configuração do sambacontendo algumas configurações globais de um servidor de arquivos:

Figura 18 – Parâmetros da seção global

[global]

comment = Servidor de arquivos Samba

# Grpo de trabalho

workgroup = Senai

#Indica ser obrigatório o uso de usuário e senha

security = user

os level = 100

announce as = NT Server

encrypt passwords = yes

admin users = @suporte

#Arquivo de log

log file = /var/log/samba_log.%u

#Opções de senha

null passwords = no

#Hosts liberados

hosts allow = 192.168.2

#Host bloqueados

hosts deny = 192.168.3.

Diversos outros parâmetros podem ser definidos na seção global de nosso servidor de arquivos samba. Segue um quadro com alguns parâ-metros de configuração e seus significados:

Page 36: UC15.Serviços_de_Redes

36 CURSOS TÉCNICOS SENAI

Parâmetro Função

commet Comentário de host na rede

WorkroupDomínio ou grupo de trabalho que o host pertence

SecurityEspecifica o nível de segurança (user, share, Server, domain)

Encrypt passwordsIndica que as senhas de usuários serão criptografadas

Announce asTipo de netbios (nmbd) sever NT, win95 ou NT Workstation

Log file Indica o arquivo de log do samba

Null passwordsIndica se o usuário pode ou não usar senhas em branco

Hosts allow Quais os hosts que terão acesso ao servidor

Hosts denyQuais os hosts que não terão acesso ao servidor

Debug levelPermite ao samba lidar com algumas situações de erro

Quadro 8 – Parâmetros da seção global do sambaFonte: Zucarino (2000).

Com as configurações globais do samba feitas, os parâmetros dos com-partilhamentos devem ser definidos, tais parâmetros variam desde o nome do diretório a ser compartilhado até as permissões de acesso. Ainda com o arquivo de configuração do samba aberto, podemos efetu-ar algumas configurações na seção "[homes]", como mencionado ante-riormente tratara dos diretórios particulares de cada usuário bem como demais diretórios compartilhados. Segue um exemplo de configuração de sessões de compartilhamento de diretórios:

Page 37: UC15.Serviços_de_Redes

37SERVIÇOS DE REDE

Figura 19 – Compartilhamento da seção homes

[homes]

comment = Home Directories

browseable = no

writable = yes

vfs object = recycle

veto files = /*.mp3/*.mpeg/*.avi/*.{*}/

[Publico]

comment = Compartilhamento público

path = /dados/publico

read only = no

public = yes

veto files = /*.mp3/*.mpeg/*.avi/*.wma/*.{*}/

vfs object = recycle

create mask = 777

directory mask = 1777

Muitos outros parâmetros de configuração para os diretórios podem ser configurados. Segue uma lista de parâmetros que podem ser configura-dos nos diretórios compartilhados:

Parâmetros Funções

comment Comentário para o compartilhamento.

path Caminho do diretório compartilhado

writeable Indica se será ou não possível criar ou excluir arquivos ou diretórios do compartilhamento.

public / guest ok Indica se será ou não permitido o acesso de outros usuários.

browseable Define se o compartilhamento será ou não visível para o Ambiente de Rede.

write list Define os usuários e/ou grupos com acesso de escrita no compartilhamento. Grupo (@grupo), usuário (user1, user2)

read list Como em. write list., mas define quem terá permissão de apenas leitura.

force create mode Diz ao samba para formar o tipo de permissão dos arquivos criados (o mesmo que usar o chmod). Esta permissão tem menor prioridade que os parâmetros. write list. e .read list..

force directory mode

O mesmo que .force create mode., mas para os diretórios criados no compartilhamento.

admin users Indicam quais são os usuários com permissão completa para o compartilhamento

Veto files Veta a gravação dos arquivos com as extensões indicadas

Quadro 9 – Parâmetros dos compartilhamentosFonte: Zucarino (2000).

Page 38: UC15.Serviços_de_Redes

38 CURSOS TÉCNICOS SENAI

Para que possa ser possível ter o acesso ao servidor de arquivos samba através de um sistema operacional Windows, primeiramente os usuários devem estar cadastrados no sistema Linux e posteriormente ser cadas-trados no samba. O samba dispõe de um banco de dados separado para controlar seus usuários, encontrado geralmente em "/etc/samba/sm-bpasswd", porém mesmo que o samba possua um banco com usuários e senha separada isso não abole o cadastramento primeiramente do usu-ário no sistema.O samba possui uma ferramenta chamada "smbpasswd" a qual é res-ponsável pelo cadastramento dos usuários no banco de dados do samba, com ela podemos adicionar um usuário ao samba, remover, desabilitar temporariamente ou até mesmo trocar a senha de um indivíduo qual-quer. Na figura que segue podemos acompanhar o cadastro de um usu-ário no samba:

Figura 20 – Adição de usuário ao sambasamba

root@SNJGS1EINFET361:/# smbpasswd -a aluno

New SMB password:

Retype new SMB password:

root@SNJGS1EINFET361:/#

Saiba Mais

Para maiores informações sobre a ferramenta smbpasswd, quanto à sua utilização e aos parâmetros, utilize o manual do smbpasswd conti-do em sua distribuição com o comando "man smbpasswd".

Outra ferramenta bastante utilizada por administradores de rede e de extrema importância chama-se "smbstatus". Responsável por listar to-dos os usuários conectados ao servidor, informando endereço do host que está conectado, início de conexão (data e hora), indica informações de qual grupo o usuário conectado pertence e de qual serviço o mesmo esta utilizando além de demais informações a respeito dos comparti-lhamentos decorrentes no servidor. A seguir você pode acompanhar a execução desta ferramenta:

Page 39: UC15.Serviços_de_Redes

39SERVIÇOS DE REDE

Figura 21 – Utilização da ferramenta smbstatus

root@SNJGS1EINFET361:/# smbstatus

Processing section "[homes]"

Processing section "[cdrom]"

Processing section "[Suporte]"

WARNING: The "write cache size" option is deprecated

Processing section "[Programas]"

WARNING: The "write cache size" option is deprecated

Processing section "[Temp]"

WARNING: The "write cache size" option is deprecated

samba version 3.0.28a

PID Username Group Machine

-------------------------------------------------------------------

10113 aluno aluno snjgs1einfet002 (10.1.72.230)

10114 aluno aluno snjgs1einfet001 (10.1.73.38)

Service pid machine Connected at

-------------------------------------------------------

IPC$ 11640 snjgs1aspfnt001 Fri Nov 27 14:34:54 2009

IPC$ 10114 snjgs1einfet001 Fri Nov 27 13:22:59 2009

IPC$ 10113 snjgs1einfet002 Fri Nov 27 13:22:59 2009

Suporte 11640 snjgs1aspfnt001 Fri Nov 27 14:34:58 2009

Locked files:

Pid Uid DenyMode Access R/W Oplock Share-Path Name Time

--------------------------------------------------------------------------------------------------

11640 0 DENY_NONE 0x100001 RDONLY NONE /dados/suporte server_teste

Fri Nov 27 14:35:04 2009

root@SNJGS1EINFET361:/#

Funcionalidades de cotas de disco também podem ser adicionadas ao samba, para isso o suporte a cotas de disco deve estar ativo. Podem ser definidas cotas por usuários bem como cotas limitadas por grupos de usuários, por exemplo, podemos definir que o usuário X terá uma cota de 200 MB para gravar em seu diretório pessoal e o diretório de com-partilhamento comum ao grupo do usuário X terá um espaço de 2 GB para gravar seus arquivos. Mensagens de estouro de cotas também são enviadas aos usuários.Para efetuar teste no arquivo de configuração do samba é utilizada a fer-ramenta “testparm”. Ela faz uma varredura no arquivo de configuração buscando possíveis erros e aponta ao administrador para que o mesmo possa corrigi-los e testá-los novamente.

Page 40: UC15.Serviços_de_Redes

40 CURSOS TÉCNICOS SENAI

O samba também possui interfaces de configuração acessadas via browser de Internet, que em muitas vezes podem auxiliar em sua configuração, possibilitando inclusive criar remover ou desabilitar compartilhamentos e usuários. A mais famosa delas chama-se SWAT, possuindo uma in-terface amigável e bastante intuitiva, outra ferramenta que não é desen-volvida apenas para o gerenciamento do samba mas que atende muitos requisitos de facilidade de uso e intuição é a ferramenta que carrega o nome de webmin.

Seção 5Compartilhando arquivos via FTP

É possível compartilharmos arquivos para acessar os mesmo via um bro-wser de Internet como Firefox, Internet Explorer dentre outros. O serviço responsável por tal feito é conhecido FTP o que traduzindo significa protocolo de transferência de arquivos.Utilizado comumente por paginas web (HTTP) para disponibilizar arqui-vos para download. O FTP apesar de ser relativamente antigo continua sendo largamente utilizado, principalmente em páginas que não neces-sitam de autenticação para efetuar o download de determinados arquivos.A primeira versão do protocolo FTP foi desenvolvida em 1971, e apli-cada as maquinas do MIT, desde então inúmeras melhorias foram im-plementadas ao mesmo.De acordo com Kioskea (2009), o FTP define como ocorrerá a trans-missão dos dados em uma comunicação TCP/IP e tem como objetivos:

▪ permitir o compartilhamento de dados entre hosts distantes; ▪ permitir o compartilhamento de dados independente do sistema de

arquivos corrente nas máquinas clientes e servidor; ▪ permitir que os dados sejam transmitidos de maneira eficiente.

Baseado em um modelo cliente/servidor, onde o cliente envia as requi-sições e o servidor trata de processar tais requisições. Em uma comuni-cação FTP são abertos dois canais de comunicação, um para controle de dados chamado DTP e outro para interpretação de comandos enviados pelos clientes e controle do canal de dados DTP o controle de coman-dos é chamado de PI. (KIOSKEA, 2009).Assim para que possam ser cumpridos seus objetivos de transferência de dados alguns passos devem ser seguidos e executados através de co-mandos. Como a autenticação de usuários, execução de comandos para a parametrização das transferências de dados e comandos de serviços, onde os quais validam os dados que estão trafegando na rede. A seguir, podemos acompanhar a criação de tais canais o acesso ao sistema de arquivos e seu principio de funcionamento:

FTP: File Transfer Protocol.

MIT: Massachussetts Institu-te of Tecnology

DTP: Transferência de dados do servidor;

PI: Interpretador de Proto-colo.

Page 41: UC15.Serviços_de_Redes

41SERVIÇOS DE REDE

Figura 22 – Funcionamento do Protocolo FTP

Existem diversas soluções para prover o serviço FTP hoje no merca-do, rodando sob plataforma Windows e Linux. Em plataformas Linux o software servidor PROFTP é que vem sendo largamente utilizado para implantação de tal serviço. Um software servidor estável e seguro que possui sua configuração bastante simplificada, onde a mesma permite ser explorada de forma bastante diversificada. Do outro lado a solução Windows amplamente utilizada é o próprio serviço de FTP disponibiliza-do pela distribuição Windows Server 2003. A instalação de um servidor FTP em uma estação Windows Server 2003 ocorre através da ferramenta "Adicionar ou remover componentes do Windows”. Porém nesse caso tratando-se de uma distribuição Windows, o FTP, depende para sua instalação do serviço IIS desenvolvida pela própria Microsoft, então, primeiramente antes de instalar o serviço FTP deve-se instalar o IIS.Outro pacote necessário para o funcionamento do servidor FTP é o pacote de "Arquivos Comuns". A configuração do serviço é bastante intuitiva e pode ocorrer de maneira descomplicada. Assim como no servidor de arquivos para a configura-ção do serviço, o FTP também ocorre através de uma ferramenta gráfica com o conceito de navegação entre janelas. A ferramenta é chamada de "Gerenciador de Serviços de Informação da Internet", que nada mais é parte das dependências que devem ser instaladas antes do serviço FTP.A mesma pode ser encontrada juntamente ao menu de “Ferramentas administrativas” do Windows Server 2003, é possui a funcionalidade de conectar-se a servidores FTP remotos. A seguir, podemos conferir uma figura que ilustra a ferramenta. Acompanhe!

IIS: Serviços de Informação da Internet.

Page 42: UC15.Serviços_de_Redes

42 CURSOS TÉCNICOS SENAI

Figura 23 – Gerenciador dos Serviços de Informações da Internet

Os diretórios a serem compartilhados ficam localizados ou organizados dentro do que chamamos de "sites FTP", nomeados de acordo com a preferência ou a necessidade do administrador de rede. Podem ser en-contrados na bandeja ao lado esquerdo da tela, como você pode conferir no exemplo acima, onde temos o site “SENAI” e dentro do site, o dire-tório TRC criado e compartilhado com suas devidas políticas de acesso.Diversas opções de compartilhamento podem ser definidas, como per-missões de acesso, dando permissões de leitura ou escrita para os usuá-rios bem como tipos de autenticação se será ou não necessário a digita-ção de usuário e senha para efetuar o acesso aos compartilhamentos ou se o acesso ocorrerá de modo anônimo. Na aba direita da ferramenta possuímos acesso a informações adicionais do servidor FTP, como nome de diretório, compartilhando seu cami-nho, ou seja, onde o mesmo se encontra alocado no disco e o status.Para se criar um compartilhamento de um diretório qualquer basta clicar com o botão direito sob os sites desejado e acessar o menu "Novo -> Diretório virtual" e seguir os passos necessários para concluir o com-partilhamento. Para efetuar qualquer alteração no servidor FTP, seja ela de permissões ou de diretórios compartilhados, basta acessar o menu propriedades do item desejado e efetuar a alteração necessária.Após concluída a configuração, para efetuar o acesso ao servidor FTP, basta utilizar um browser de Internet qualquer informando o endereço de seu servidor como segue: FTP://ip_do_servidor seguindo de sua autenticação.

Page 43: UC15.Serviços_de_Redes

43SERVIÇOS DE REDE

Figura 24 – Acesso via browser a servidor FTP Windows Server 2003

Agora, passaremos para um exemplo de aplicação de servidor FTP ro-dando sob plataforma Linux, como já abordado atualmente a ferramenta mais utilizada em distribuições Linux atualmente para este fim é o ProF-TP. Software servidor considerado robusto de fácil configuração possui inúmeras formas de configuração bem como formas de autenticação de usuários, podendo a mesma ocorrer através de bancos de dados mysql, postgres, LDAP, radius. (MARTINS, 2009).Distribuído livremente sob licença de código aberto, o ProFTP teve seu projeto iniciado em meados de 1999, não tomando como base nenhum outro software, ou seja, para desenvolver o ProFTP não foi feito o rea-proveitamento de código e com o intuito de "substituir" ou inovar os conceitos dos servidores FTP, que até então o software servidor que do-minava o mercado era o Wu-FTP. Atualmente o ProFTP encontra-se na versão estável 1.3.2.b disponível para download na página do desenvolve-dor.Seu arquivo de configuração é dividido em módulos, muito parecido com o do servidor de páginas web apache e pode ser encontrado geral-mente em "/etc/proftpd/proftpd.conf", o mesmo possui numerosos parâmetros de configuração, abaixo segue uma lista de alguns de seus parâmetros conforme informações contidas no manual:

Page 44: UC15.Serviços_de_Redes

44 CURSOS TÉCNICOS SENAI

ServerNameNome do servidor que será mostrado para usuário

ServerType Modo de execução do proftpd

DefaultServerQual será a conexão de rede será utilizada pelo proftpd

PortPorta que o servidor irá responder (padrão 21)

User Com qual usuário o proftpd será executado

Umask Mascara para criação de arquivos

AllowOverwriteIndica que os arquivos podem ser sobrescritos

SystemLog Arquivo de log do sistema

TransferLogCaminho para log de transferência de arquivos

MaxInstances Numero máximo de conexões simultâneas

DisplayLogin Mostrará a conta autenticada no servidor para o usuário

ListOptions Lista de opções para visualização de arquivos

Quadro 10 – Parâmetros do proftpdFonte: adaptado de Lowes (2009).

O pacote necessário para a instalação do servidor ProFTP chamado de proftpd pode ser instalado via linha de comando através do apt-get, bastando apenas o pacote constar na source.lst. Como a maior parte dos serviços implementados no Linux o ProFTP também é controlado por um daemon que neste caso é chamado de proftpd, onde você pode configurar para que o mesmo seja inicializado no boot da máquina ou manualmente. Na figura que segue você pode acompanhar o comando para iniciá-lo manualmente:

Figura 25 – Iniciando o serviço Proftpd via init.d

root@SNJGS1EINFET356:~#/etc/init.d/proftpd start

* Starting ftp server proftpd [ OK ]

Para a configuração básica de um servidor ProFTP (proftp.conf), segue o arquivo de configuração utilizando a base de usuários do sistema e com acesso do diretório home do usuário autenticado via FTP:

Page 45: UC15.Serviços_de_Redes

45SERVIÇOS DE REDE

Figura 26 – Arquivo de configuração do servidor ProFTP

ServerName "Servidor "

ServerType standalone

MultilineRFC2228 on

DefaultServer on

ShowSymlinks on

TimeoutNoTransfer 600

TimeoutStalled 600

TimeoutIdle 1200

DisplayLogin welcome.msg

Para efetuar o acesso ao servidor, assim como no exemplo do servidor FTP do Windows pode ser utilizado um browser de Internet qualquer ou algum ambiente de navegação de arquivos, como exemplo podemos to-mar o Explorer do Windows. Abaixo segue o acesso feito a um servidor ProFTP de uma estação Windows:

Figura 27 – Acesso a servido ProFTP via navegador de arquivos Explorer

Nesta unidade você conheceu algumas das tecnologias e soluções exis-tentes para aplicação dos servidores de arquivo, bem como suas funcio-nalidades aplicação e benefícios. Prepare-se, agora, para estudar a fun-cionalidade e as características de um servidor de impressão em Linux. Continue conosco!

Page 46: UC15.Serviços_de_Redes

Unidade de estudo 3

Seções de estudo

Seção 1 – O servidor de impressãoSeção 2 – Instalando impressorasSeção 3 – Compartilhando impressoras com sambaSeção 4 – Configurações diversas

Page 47: UC15.Serviços_de_Redes

47SERVIÇOS DE REDE

Seção 1O servidor de impressão

A funcionalidade básica de um servidor de impressão é permitir o com-partilhamento de impressoras em uma rede. Outras características po-dem ser implementadas, como por exemplo, um gerenciamento de filas de impressão, filtros de impressão e até cotas de impressão, sendo esse último, necessário implementar outras aplicações para realizar essa ati-vidade.Nessa unidade de estudo, você aprenderá um pouco mais sobre as carac-terísticas que compreendem um servidor de impressão em Linux, for-mas para instalar impressoras e compartilhá-las na rede, além de realizar alguns testes e configurações específicas para um melhor desempenho do seu sistema.No Linux, um pacote chamado lpd é responsável por prover os serviços nativos do sistema de impressão. Esse sistema funciona como um dae-mon, que verifica constantemente a fila de trabalhos a serem impressos, encarregando-se de imprimir a cada vez que um novo trabalho chegar.O pacote lpd possui os seguintes comandos:

Comando Descrição

Lpr Responsável por enviar os trabalhos para a fila de impressão

Lpq Este comando mostra o status da fila de impressão

Lprm Utilizado para remover trabalhos da fila de impressão

Lpc Comando de administração da fila de impressãoQuadro 11 – Comandos do pacote lpdFonte: adaptado de Nemeth, Snyder e Hein (2007, p.536).

A configuração do sistema lpd fica gravada no arquivo /etc/printcap, onde também fica armazenado os nomes das impressoras e regras de impressão. Já os trabalhos que são enviados para a fila de impressão, você encontra no diretório /var/spool/lpd, separados por subdiretórios com o nome da impressora utilizada.Além do lpd, os sistemas operacionais modernos utilizam o CUPS como ferramenta para gerenciamento de impressões.Ele é moderno e cobre diversas fraquezas dos sistemas mais antigos. Simplesmente automatiza algumas tarefas e facilita no relacionamen-to entre sistema e impressora. Trabalhando de forma cliente/servidor, onde o servidor CUPS é um spooler que mantém filas de impressão para clientes e os clientes podem ser aplicativos simples como lpr e lpq.

Servidor de Impressão

CUPS: Common UNIX Prin-ting System.

Page 48: UC15.Serviços_de_Redes

48 CURSOS TÉCNICOS SENAI

Seção 2Instalando impressoras

Uma impressora nada mais é do que um hardware que engole um papel em branco e “cospe” um papel colorido! Nada disso, im-pressoras são complicadas, pos-suem diversos recursos de hardwa-re e software. Hoje em dia, existem diversas opções de impressoras que o mercado oferece. Há pos-sibilidade de impressoras que im-primem em preto e branco, outras coloridas, impressoras e copiado-ras, com opção de frente e verso automático, enfim uma grande variedade.Antes da compra de um equipa-mento, deve ser analisada qual a função que o mesmo terá. Não gaste dinheiro com tecnologias revolucionárias ou que fazem mil coisas diferentes, se você simples-mente quer imprimir. Para tal, é necessário que seja configurada uma impressora no sistema.Uma impressora normalmen-te é conectada na porta paralela (LPT) ou na porta USB. Partindo do princípio que temos esse co-nhecimento, podemos identificar em qual dispositivo do sistema, o hardware está instalado. Os dis-positivos de impressão paralela são nomeados como /dev/lp0 e /dev/lp1, para LPT1 e LPT2, respectivamente. Impressoras co-nectadas a portas USB utilizam os dispositivos /dev/usb/lp0, /dev/usb/lp1 e assim por diante.Para certificar se a conexão com a impressora está funcionando, podemos enviar um teste de im-pressão diretamente para o dispo-sitivo, como pode ser observado na imagem a seguir:

Figura 28 – Imprime diretamente no dispositivo

# echo “TESTE DE IMPRESSAO” > /dev/usb/lp0

Após isso, é necessário configurar o dispositivo no arquivo /etc/print-cap. Esse arquivo contém as configurações de cada impressora instalada no sistema, onde cada uma deve ocupar uma linha do arquivo e os parâ-metros devem ser separados por dois-pontos ( : ). Parâmetros do arquivo /etc/printcap:

Parâmetro Descrição

shDefine se cabeçalhos ou páginas de banners são impressas ou não.

mlDefine o valor mínimo para determinar um caracter imprimível.

mxEspecifica o tamanho máximo do arquivo que poderá ser impresso. Se informado zero, o tamanho será ilimitado.

sdDefine o diretório de spool local para armazenar os trabalhos para impressão. Cada impressora deve ter o seu próprio diretório.

afDefine o arquivo onde serão gravados os dados sobre o uso da impressora; contabilidade; estatísticas;

lp Nome do dispositivo ao qual a impressora está conectada.

lpd_bounceEspecifica um filtro a ser utilizado nos trabalhos de impressão, antes de serem enviados a impressora.

ifEspecifica o local do filtro que será utilizado para transformar arquivos de impressão para o formato suportado pela impressora.

Quadro 12 – Parâmetros do arquivo /etc/printcapFonte: Hunt (2004, p. 344).

Em algumas distribuições é comum encontrar um utilitário chamado printconf. Esse programa pode ser executado tanto em modo texto como em modo gráfico e é responsável por automatizar uma instalação de uma impressora do Linux.

DICA Você pode imprimir páginas inicial e final para cada trabalho envia-do à impressora, que mostram o título do trabalho e o usuário que enviou. Essas páginas as vezes são úteis para separar os trabalhos em impressoras utilizadas por muitas pessoas, mas caso você não utilize dessa forma, desabilite essa opção, assim você irá economizar tempo, toner e papel.

Page 49: UC15.Serviços_de_Redes

49SERVIÇOS DE REDE

Seção 3Compartilhando impressoras com samba

O samba é um aplicativo responsável pelo compartilhamento de arquivos entre máquinas Linux e Windows. Para mais detalhes do samba consulte o capítulo sobre Servidor de arquivos. O samba deve estar instalado para realizar os procedimentos descritos a seguir. Além do compartilhamento de arquivos, com o samba pode ser realizado o compartilhamento de impressoras.Para isso, você deve modificar o arquivo smb.conf. Segue um exemplo de arquivo smb.conf configurado para compartilhar todas as impresso-ras configuradas no arquivo /etc/printcap;

Figura 29 – Imprime diretamente no dispositivo

[global]

workgroup = Senai

server string = Print Server

printcap name = /etc/printcap

load printers = yes

printing = lprng

log file = /var/log/samba/%m.log

max log size = 0

security = user

encrypt passwords = yes

smb passwd file = /etc/samba/smbpasswd

socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SND-BUF=8192

dns proxy = no

[printers]

comment = All Printers

path = /var/spool/samba

browseable = no

guest ok = no

writable = no

printable = yes

Caso você não queira compartilhar todas as impressoras, você pode remover a seção printers do arquivo e adicionar um compartilhamento específico para uma impressora. Observe o exemplo a seguir, onde o parâmetro "printer" define qual a impressora do arquivo /etc/printcap será compartilhada.

Page 50: UC15.Serviços_de_Redes

50 CURSOS TÉCNICOS SENAI

Figura 30 – Seção de compartilhamento de impressora

[hp3845]

comment = Impressora Contabilidade

path = /var/spool/samba

browseable = no

public = no

writable = no

create mode = 0700

printable = yes

printer = hp

Para realizar a impressão, você pode utilizar o comando lpr, que envia uma impressão a um computador remoto, ou também pode ser enviado diretamente através do software smbclient. Da mesma forma que ele é visto com detalhes no Capítulo sobre Servidor de Arquivos, o seu uso para imprimir é bem semelhante, conforme exemplo. Observe!

Figura 31 – Montar impressora com o comando smbclient

smbclient //servidor/hp -W SENAI

Após conectado à impressora compartilhada, você pode enviar um ar-quivo a ela usando o comando put. A seguir, pode-se ver um exem-plo, caso fosse um compartilhamento comum, o arquivo iria apenas ser transferido, mas como o parâmetro printable está habilitado, o arquivo enviado será impresso.

Figura 32 – Enviar arquivo para impressão

smb:> put teste.txt

Seção 4Configurações diversas

Com as impressoras instaladas e em pleno funcionamento, agora você pode gerenciar e visualizar as filas de impressão. O comando lpr envia arquivos para a fila de impressão. Quando acionado ele cria uma cópia do arquivo a ser impresso e grava no spool da impressora escolhida. Esse arquivo fica armazenado até que a impressão é finalizada.A utilização desse comando é simples e pode ser resumida a apenas en-viar o documento para a impressora padrão, conforme figura 33, ou até mesmo, definir algumas opções, de acordo com a figura 34, como por exemplo, o número de cópias (-#n) e a impressora destino (-Pnome).

Page 51: UC15.Serviços_de_Redes

51SERVIÇOS DE REDE

Figura 33 – Simples envio de documento para impressão

# lpr documento.txt

Figura 34 – Envio de documento para impressão com parâmetros

# lpr -#5 -Pepson arquivo.doc

Já o comando lp é semelhante ao lpr, mas possui algumas opções a mais, como por exemplo, pausar uma impressão, avançar para o próximo tra-balho da fila a ser impresso e enviar uma mensagem na tela ao fim da impressão.Com o comando lpq, você pode listar o conteúdo da fila de impressão. Além disso, podem ser realizado diversos filtros nos trabalhos pelo seu número, usuário ou nome da impressora.Agora que você pode visualizar a lista de impressões, também é possível remover trabalhos da fila. Utilizando o comando lprm, você pode remo-ver um determinado trabalho ou trabalhos de um determinado usuário.Finalmente, temos o comando lpc, que controla as operações de impres-são de uma ou mais impressoras. Com ele você pode iniciar ou parar os trabalhos além de efetuar diversas outras ações apresentadas a seguir:

Comando Descrição

? comandoFornece ajuda para o comando especificado.

abort [all/impressora]Termina todos os trabalhos de impressão imediatamente e desabilita o serviço.

clean [all/impressora]Remove todos os arquivos na fila de impressão.

disable [all/impressora]Desabilita a entrada de novos trabalhos de impressão na fila.

down [all/impressora] [mensagem]

Desabilita a entrada de novos trabalhos de impressão na fila e avisa os usuários através de uma mensagem personalizada.

enable [all/impressora] Habilita o serviço de impressão.exit Sai do modo interativo do lpc.

restart [all/impressora]Reinicia o serviço de impressão. É utilizado quando alguma condição anormal parou o lpd.

start [all/impressora] Inicia o serviço e a fila de impressão.stop [all/impressora] Para o serviço e a fila de impressão.

topq impressora [usuário] [trabalho]

Move um determinado trabalho pelo numero ou de um usuário para o início da fila de impressão.

up [all/impressora]Inicia e habilita o serviço de impressão parado pelo comando down.

status [all/impressora] Exibe o status das impressoras.Quadro 13 – Comandos do lpcFonte: adaptado de Ribeiro (2004).

Todos os comandos citados acima possuem um manual de instru-ções que pode ser obtido através da opção man [comando], ou tam-bém através do help, [comando] - - help.Além das impressoras conecta-das a portas paralelas ou USB, você também poderá encontrar impressoras de rede, que se co-nectam diretamente numa rede através de uma interface própria. Nesse caso, os dados são enviados muito mais rapidamente do que as conectadas em portas paralelas ou seriais, por exemplo.

DICA Se você estiver montando um servidor de impressão, e centralizar as impressoras em um único lugar, disponi-bilize uma caixa de papelão como lixeira. Os papéis im-pressos que não serão mais utilizados, cabem perfeita-mente nelas e podem ser reciclados. Não esqueça de colocar um aviso para reti-rar grampos ou clipes.

Aprendido tudo isso, que tal agora revisitar alguns conceitos básicos a respeito da estrutura do sistema de e-mail? Vamos nessa!

Page 52: UC15.Serviços_de_Redes

Unidade de estudo 4

Seções de estudo

Seção 1 – Conceitos básicosSeção 2 – SMTPSeção 3 – POP3 e IMAPSeção 4 – Configuração do SMTP – PostfixSeção 5 – Configuração do POP e IMAPSeção 6 – Spam

Page 53: UC15.Serviços_de_Redes

53SERVIÇOS DE REDE

Nessa unidade, você encontrará uma revisão sobre os conceitos básicos sobre a estrutura do siste-ma de e-mail, protocolos utilizados tanto para o envio quanto para o recebimento de mensagens, e ain-da a configuração básica de servi-dor para envio e recebimento de e-mails.

Seção 1Conceitos básicos

O SMTP é um dos protocolos mais utilizados hoje na camada de aplicação, sendo o protocolo pa-drão para envio de e-mails na In-ternet, utilizado para enviar men-sagens entre cliente e servidores, ou entre servidores de e-mail.Foi primeiramente definido na RFC 788 em novembro de 1981, que descreve a operação do SMTP em entregar mensagens de e-mail em formato texto através da rede ARPANET. Em agosto de 1982 foram publicadas a RFC 821 e RFC 822, que definem o padrão de protocolo para entrega de mensagens de e-mail através do conjunto de protocolos TCP/IP, de forma eficiente e confiável.

Servidor de e-mail

Figura 35 – E-mailFonte (?)

Segundo Tanenbaum (2003, p. 627), os sistemas de correios ele-trônicos (e-mail), consistem em dois subsistemas: os agentes do usuário e os agentes de transfe-rência de mensagens.Agentes de usuário, também re-ferenciados como MUA consiste no programa cliente, normalmen-te instalado no computador, no qual o usuário interage através de uma interface gráfica, lê as mensa-gens recebidas ou pode compor e enviar mensagens de correio ele-trônico.Atualmente existem vários pro-gramas clientes, onde pode ser citado, por exemplo: Evolution, Microsoft Mail, Microsoft Outlook, Mozilla Thunderbird, Opera Mail, etc.

SMTP: Simple Mail Transfer Protocol.

RFC 821: protocolo de trans-missão;

RFC 822: formato de mensa-gens.

MUA: Mail User Agent –Agente de usuário de e-mail.

Page 54: UC15.Serviços_de_Redes

54 CURSOS TÉCNICOS SENAI

A mensagem criada no agente de usuário contém duas seções: o cabeça-lho e o corpo da mensagem. O cabeçalho contém os dados que descreve a mensagem e controla como sua entrega será processada. Já o corpo da mensagem consiste na informação a ser enviada. Como uma analogia ao envio de uma carta de papel pelo correio, o corpo da mensagem será a carta, e o cabeçalho, o envelope onde a carta será colocada.Para o envio dessa mensagem, o agente de usuário entrará em contato com o agente de transferência de mensagens.Agentes de transferência de mensagens são normalmente daemons do sis-tema, rodando em segundo plano, tendo como objetivo principal rece-ber uma mensagem do remetente e transferi-la para o destinatário. Dois exemplos de protocolos da camada de aplicação são o SMTP e o POP.O POP será utilizado para receber e-mails que estão armazenados no servidor de e-mail, e lê-los através de um MUA. O servidor de e-mail opera com dois daemons separados: um processo MTA e um processo MDA. O objetivo do MTA é enviar a mensagem, para isso ele utilizará o proto-colo SMTP. Assim, ao enviar uma mensagem através de uma aplicação MUA, o SMTP abrirá uma conexão com o servidor MTA e enviará a mensagem. Se o destinatário não se encontra no servidor, o MTA en-trará em contato com o servidor onde o destinatário está configurado, e enviará a mensagem. Veja na figura um exemplo do fluxo de mensagem através de uma rede.

Figura 36 – Processo de transferência de e-mail

Já o objetivo do MDA é armazenar as mensagens eletrônicas em caixas postais (mailbox) no servidor, estando disponível a qualquer momento para o usuário. O cliente de e-mail do usuário (MUA) entrará em contato com o MDA, utilizando o protocolo de aplicação POP ou o IMAP.

POP: Post Office Protocol – protocolo de agencia postal.

MTA: Mail Transfer Agent – Agente de Transferência de Mensagens;

MDA: Mail Delivery Agent – Agente de Entrega de Men-sagens.

Page 55: UC15.Serviços_de_Redes

55SERVIÇOS DE REDE

Na pilha de protocolos TCP/IP, o sistema usado para identificar servi-dores é o DNS, como visto na unidade Sistema de Nomes de Domínio. Um endereço TCP/IP consiste de duas partes: um nome de usuário (username) e um nome de domínio, unidos pelo símbolo arroba (“@”), que significa “em”.

<username>@<dominio.com.br>

A fim de não ficar enviando uma mensagem de um servidor a outro, até encontrar o servidor do destinatário, um registro de recurso especial foi criado no DNS, o MX (mail exhange). Ele especifica o endereço do ser-vidor de e-mail para aquele domínio consultado, enviando diretamente o e-mail para o servidor SMTP do destinatário.

Seção 2SMTP

Um daemon de correio eletrônico que se comunica em SMTP permanece escutando a porta 25. Quando o serviço escuta um pedido de uma cone-xão TCP através de um cliente inicia o recebimento da mensagem e de-pois decide se a mensagem deve ser armazenada localmente enviando-a para o agente de entrega de e-mail (MDA) ou para outro servidor SMTP, se o destinatário se encontrar em outro servidor.Durante o estabelecimento da conexão, o servidor SMTP, após aceitar a conexão, irá enviar uma mensagem com o código de resposta 220, respondendo que o serviço está pronto para o cliente. Essa resposta normalmente inclui o nome de domínio completo do servidor SMTP, através da mensagem: HELO mail.exemplo.com.brO cliente irá responder com uma mensagem “hello”, ou caso o servidor oferecer suporte a extensões do SMTP.Para contornar alguns problemas do SMTP, tais como implementações antigas que não eram capazes de lidar com mensagens maiores que 64 KB ou ainda servidores com diferentes timeouts, o SMTP estendido (ESMTP) foi definido pela RFC 2821. Para utilizá-lo, o cliente deverá enviar o comando EHLO em vez do HELO. Caso o servidor recusar, significa que o servidor não possui esse recurso, e o tradicional HELO será utilizado, senão todos os parâmetros do ESMTP serão permitidos, retornando o código de mensagem 250. (TANEBAUM, 2003).Como você pode ver na figura a seguir, após essa troca de mensagem, a mensagem pode ser enviada. Quando o remetente enviar a mensagem, a seção será finalizada com o envio do comando QUIT, que resultará na resposta do comando 221 do servidor “Goodbye”, e o canal será fechado.

SMTP: EHLO – extended hello.

Page 56: UC15.Serviços_de_Redes

56 CURSOS TÉCNICOS SENAI

Remetente Servidor SMTP

1º Estabelecer conexão TCP

2º Conexão TCP estabelecida, Enviar Resposta 220 “Ready”

3º Receber Resposta “Ready”, Enviar Comando EHLO

4º Recebido EHLO, Enviar Resposta 250 “OK” com lista das extensões SMTP suportadas pelo servidor.

5º Receber Resposta “OK”, Processar extensões, conexão aberta.

( Transição de e-mails ) ( Transição de e-mails )

Fim da transferência, Enviar comando QUIT.

Recebeu QUIT, Enviar Resposta 221 “Goodbye”.

Recebeu Resposta “Goodbye”

Figura 37 – Estabelecimento de seção e término de transação SMTP

Assumindo que não houve problemas durante o estabelecimento da seção, o processo de transição do e-mail consiste em: identificação de remetente, identificação de recipiente (destinatário) e transferência da mensagem de e-mail. A transição inicia com o comando: MAIL FROM: <[email protected]>. Se o servidor aceitar o remetente, o código de mensagem de resposta 250 (“OK”) será enviado ao cliente. Em segui-da o cliente envia o comando TCPT, que especifica o recipiente do e-mail destinatário a ser enviado, como por exemplo: RCPT TO: <[email protected]>. Novamente o servidor responderá com uma mensa-gem 250 (“OK”), caso aceite o destinatário. O próximo comando a ser enviado pelo cliente será o DATA, no qual o servidor responde com a mensagem: 354 End data with <CR><LF>.<CR><LF>Observe, na figura, um exemplo prático de conexão via Telnet, a porta 25 do servidor SMTP, para envio de um e-mail.

TCP

220

EHLO

250

QUIT

221

Page 57: UC15.Serviços_de_Redes

57SERVIÇOS DE REDE

Figura 38 – Comandos para transição de e-mail

debian:/# Telnet 127.0.0.1 25

Trying 127.0.0.1...

Connected to 127.0.0.1.

Escape character is ‘^]’.

220 debian ESMTP Postfix (Debian/GNU)

MAIL FROM: <[email protected]>

250 2.1.0 Ok

RCPT TO: <[email protected]>

250 2.1.5 Ok

DATA

354 End data with <CR><LF>.<CR><LF>

From: Aluno <[email protected]>

To: Aluno2 - Destino <[email protected]>

Date: Sun, 1 Nov 2009 12:00:00 -02:00

Subject: Teste de envio de e-mail

Teste de envio de e-mail.

Obrigado.

.

250 2.0.0 Ok: queued as 2A3E82DAAA

quit

221 2.0.0 Bye

Como exemplos de servidores SMTP podemos destacar alguns: Postfix, QMail, Sendmail, Exim, Microsoft Exchange (SMTP/POP3/IMAP4).

Seção 3POP3 e IMAP

O protocolo POP3, definido na RFC 1939, é um protocolo que permi-te que programa cliente de e-mail entre em contato com um agente de transferência de mensagens (no servidor – MDA), e transfira as mensa-gens do servidor para o programa no computador do usuário. Utiliza o protocolo TCP na camada de transporte e a porta padrão é a 110.Segundo Tanenbaum (2003, p. 645),”Depois que a conexão é estabeleci-da, o protocolo POP3 passa por três estados em seqüência: autorização, transações e atualização.” Na autorização, o protocolo irá verificar e va-lidar as credenciais do usuário: nome de usuário e senha. Após validar com êxito, o estado de transações consiste em consultar as mensagens na caixa postal do usuário e caso tenha algum e-mail, será iniciado a trans-ferência para o computador. Após descarregar todas as mensagens, o estado de atualização consiste em remover todas as mensagens da caixa postal, esvaziando sua caixa.

Page 58: UC15.Serviços_de_Redes

58 CURSOS TÉCNICOS SENAI

É possível consultar as mensa-gens no servidor POP3 e deixar uma cópia no servidor, ativando o recurso de não remover as men-sagens lidas no programa cliente de e-mail.Para um usuário que lê suas men-sagens a partir de um único com-putador, o POP3 funciona muito bem. Mas imagine alguém que está sempre em vários locais, uti-lizando computadores diferentes, nessa situação fica praticamente impossível descarregar todas as mensagens, lê-las e depois ter que remover.Essa desvantagem permitiu o desenvolvimento do protocolo IMAP, definido pela RFC 2060. Ele utiliza a porta 143, e o proto-colo de transporte TCP.No IMAP, todas as mensagens permanecerão no servidor por tempo indeterminado, tal como um servidor de mensagens cen-tralizado. Outra vantagem é a segurança dos dados. Por estar em um servidor ou até mesmo em data centers, o gerenciamento centralizado e a política de backup prevê a cópia dos e-mails, a fim de evitar algum possível desastre com os dados.Além disso, ele oferece recursos adicionais como: possibilidade de criar várias caixas postais dentro da caixa postal principal do usu-ário, permitindo separar as men-sagens ou até mesmo mover uma mensagem de uma caixa para ou-tra, por exemplo, por assuntos de interesse. Ainda é possível esco-lher quais mensagens de e-mail de-seja ler, bastando para isso marcar as mensagens e fazer o download apenas das mensagens que o usu-ário selecionou.

IMAP: Internet Message Ac-cess Protocol – Protocolo de Acesso de Mensagens pela Internet)

Webmail

Uma ferramenta muito utilizada nos dias de hoje é owebmail. Al-guns dos principais portais, como por exemplo, Gmail (Google), Hot-mail (Microsoft) e Yahoo, oferecem o serviço de correio eletrônico para qualquer pessoa através de um na-vegador web, sem a necessidade de instalar um agente cliente (MUA) em seu computador. O navegador do cliente acessará um endereço em especial (URL), que acessará a caixa postal do usu-ário. O navegador lê as informa-ções da caixa postal e envia atra-vés do navegador. Esse método acessa diretamente o servidor, re-querendo pra isso o usuário estar sempre on-line. A principal vantagem do webmail é sua praticidade, principalmente em viagens ou utilizando outro computador, que não seja o seu pessoal ou da empresa. É pos-sível ler mensagens, responder ou compor e-mails utilizando so-mente a janela do navegador, sem nenhuma instalação de programa cliente de e-mail.Como exemplo de aplicações de webmail, é possível citar o Squirrel-mail, Horde ou ainda o Roundcu-be (figura 39).

Page 59: UC15.Serviços_de_Redes

59SERVIÇOS DE REDE

Figura 39 – Exemplo de webmail

Seção 4Configuração do SMTP – Postfix

O Postfix foi criado por Wietse Venema, como uma alternativa ao Sen-dmail, que segundo Wietse, apresentava muitas falhas. O objetivo do Postfix é disponibilizar um MTA completo de código fonte aberto, de-sempenho rápido, robustez, flexibilidade e segurança. Ele tira vantagem dos mapas de expressões regulares para filtrar e-mails de modo efetivo, especialmente em conjunção com a biblioteca PCRE.Como recursos, ele possui suporte a ESMTP, domínios virtuais, arma-zenamento das contas em banco de dados como MySQL e filtragem de spam.Segundo Nemeth, Snyder e Hein (2007, p. 431), “o Postfix abrange vários pequenos programas que atuam cooperativamente e que enviam men-sagens pela rede, recebendo mensagens, entregando e-mails localmente, etc.” A comunicação desses programas é realizada por meio de sockets de domínio UNIX ou FIFOs. O programa master inicia e monitora todos os processos do Postfix. Seu arquivo de configuração é o master.cf. Por padrão esse arquivo já possui todos os recursos necessários para o funcionamento inicial do servidor.

Figura 40 – Estrutura do Postfix

Fonte: Nemeth, Snyder e Hein (2007, p. 431).

PCRE: Perl Compatible Regu-lar Expression.

Page 60: UC15.Serviços_de_Redes

60 CURSOS TÉCNICOS SENAI

O e-mail é recebido na porta SMTP tcp25 pelo processo smtpd, que também irá verificar se os clientes possuem autorização para enviar o e-mail (pré-filtros). Todos os e-mails passam por cleanup, que adiciona ca-beçalhos ausentes e regrava endereços de acordo com os mapas canonical e virtual. Antes de inserir o e-mail na fila incoming, o cleanup envia o e-mail para a trivial-rewrite, que faz correções menores nos endereços, como acrescentar um domínio de correio a endereços que não são completa-mente qualificados.Outro processo muito importante é o qmgr ou gerenciador de filas. Quando o e-mail está pronto para ser enviado, ele é encaminhado ao qmgr, que gerencia cinco filas de mensagens a serem enviadas:

▪ incoming: e-mails que estão chegando; ▪ active: e-mails que estão sendo entregues; ▪ deferred: e-mail no qual a entrega falhou anteriormente por algum

motivo; ▪ hold: e-mail bloqueado na fila pelo administrador; ▪ corrupt: e-mail que não pode ser lido nem analisado sintaticamente.

Com ajuda do trivial-rewrite o qmgr decide por qual processo o e-mail será enviado. Para ser enviado a outro host remoto, o programa responsá-vel pela entrega será o smtp. Já o objetivo do local é justamente entregar uma mensagem localmente na caixa postal do usuário no servidor. O programa virtual por sua vez, entregará um e-mail a uma caixa postal virtual, ou seja, caixas postais que não estão vinculadas a uma conta local do Linux. E o pipe implementa a entrega por meio de programas externos.

Configuração básica do Postfix

O arquivo main.cf é o principal arquivo de configuração do Postfix. Já o arquivo master.cf configura os programas de servidor. Por padrão, o Pos-tfix praticamente já vem configurado para envio de mensagens, bastando pra isso verificar um dos principais itens no main.cf: mydestination, que especifica quais domínios o Postfix irá aceitar mensagens. Veja exemplo:

mydestination = exemplo.com.br, debian, localhost.localdomain, localhost

O parâmetro relayhost instrui o Postfix a enviar todas as mensagens não-locais a um host específico em vez de enviá-las diretamente aos seus des-tinos aparentes. Isso é utilizado quando você não deseja que o servidor envie mensagens diretamente para outros servidores, mas repassá-las a um próximo servidor, como por exemplo, para tratamento das mensa-gens.

Figura 41 – Uso do parâmetro Relayhost

Relayhost = [mail2.exemplo.com.br]

Page 61: UC15.Serviços_de_Redes

61SERVIÇOS DE REDE

Outro item muito importante é a segurança. O Postfix possui por padrão suporte a TLS ativado, o que significa que o envio das mensagens é reali-zada através de certificação digital e, portanto segura. Conforme a figura abaixo, as opções que ativam suporte ao TLS no Postfix são:

Figura 42 – Ativação do suporte a TLS no Postfix

smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem

smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key

smtpd_use_tls=yes

smtpd_tls_session_cache_database = btree:${data_direc-tory}/smtpd_scache

smtp_tls_session_cache_database = btree:${data_direc-tory}/smtp_scache

Um sério problema hoje é a grande quantidade de spam enviado por hosts na Internet. Para ajudar a filtrar isso, recomendam-se algumas diretivas na configuração do Postfix, como pode ser exemplificado a seguir. Veja!

Figura 43 – Diretivas para minimizar o problema de spam

strict_rfc821_envelopes = yes

smtpd_helo_required = yes

smtpd_recipient_restrictions = reject_unknown_sen-der_domain

reject_non_fqdn_sender

reject_non_fqdn_recipient

permit_mynetworks

reject_unauth_destination

reject_unauth_pipelining

reject_rbl_client relays.ordb.org

reject_rhsbl_sender dsn.rfc-ignorant.org

Observe que as regras são aplicadas ao programa smtpd, que é justa-mente o responsável em receber e processar os e-mails que estão chegan-do ao Postfix. Dessa forma, se a mensagem conseguir passar por todas as regras, ela estará aptar a ser processada pela fila de mensagens, e ser entregue localmente ou ser encaminhada para outro servidor.

Ferramentas do Postfix

O postconf é uma ferramenta muito útil durante a configuração do Pos-tfix, pois exibe na tela todos os parâmetros da configuração atual. É pos-sível repassar a diretiva que deseja visualizar, filtrando assim sua saída:

Page 62: UC15.Serviços_de_Redes

62 CURSOS TÉCNICOS SENAI

Figura 44 – Uso do postconf

debian:/etc/postfix# postconf mydestination

mydestination = exemplo.com.br, debian, localhost

O comando postqueue exibe entradas de cada mensagem que estão na fila de mensagens, aguardando sua vez para serem enviadas ou devido a algum erro, ficaram paradas na fila.

Figura 45 – Uso do comando postqueue

debian:/etc/postfix# postqueue -p

-Queue ID- --Size-- ----Arrival Time---- -Sender/Recipient-------

DBA3F1A9 553 Sun Nov 1 14:42:15 [email protected]

(connect to mail2.exemplo.com.br[192.168.1.8]: Connection refused)

[email protected]

Mensagens ativas, apenas aguardando a vez serão identificadas com um asterisco, na frente do código da mensagem. Caso você deseje remover uma mensagem da fila, deverá ser utilizado o comando postsuper e o código da mensagem, ou ainda o argumento ALL para remover todas as mensagens da fila. Veja exemplos:

Figura 46 – Deletando uma mensagem com o comando postsuper

debian:/etc/postfix# postsuper -d DBA3F1A9

postsuper: DBA3F1A9: removed

postsuper: Deleted: 1 message

Figura 47 – Deletando todas as mensagens com o comando postsuper

debian:/etc/postfix# postsuper -d ALL

postsuper: Deleted: 23 messages

Page 63: UC15.Serviços_de_Redes

63SERVIÇOS DE REDE

Seção 5Configuração do POP e IMAP

Será utilizado o Dovecot, que possui suporte para POP3 e IMAP. Para isso você deverá instalar os pacotes dovecot-pop3d e dovecot-imapd. Por padrão, não é possível enviar senha não criptografada por uma conexão não segura no Dovecot. Dessa forma, como uma implementação inicial, vamos ativar os recursos POP3 e IMAP além de permitir o envio de usuário/senha em formato texto através da rede. Para isso, edite o arqui-vo de configuração do Dovecot, e modifique as seguintes linhas:

Figura 48 – Parâmetros de configuração do dovecot

protocols = pop3 imap

disable_plaintext_auth = no

Após feitas as alterações, reinicie o serviço do Dovecot, e realize um teste através do Telnet para a porta 110. Observe o exemplo a seguir:

Page 64: UC15.Serviços_de_Redes

64 CURSOS TÉCNICOS SENAI

1 debian:/etc/dovecot# Telnet 127.0.0.1 110

2 Trying 127.0.0.1...

3 Connected to 127.0.0.1.

4 Escape character is ‘^]’.

5 +OK Dovecot ready.

6 USER aluno

7 +OK

8 PASS aluno

9 +OK Logged in.

10 STAT

11 +OK 1 812

12 LIST

13 +OK 1 messages:

14 1 812

15 .

16 RETR 1

17 +OK 812 octets

18 Return-Path: <[email protected]>

19 X-Original-To: [email protected]

20 Delivered-To: [email protected]

21 Received: from [192.168.1.5] (unknown [192.168.1.5])

22 by debian (Postfix) with ESMTP id 5D8782DACE

23 for <[email protected]>; Wed, 25 Nov 2009 16:21:50 -0200 (BRST)

24 Message-ID: <[email protected]>

25 Date: Sat, 28 Nov 2009 17:36:19 -0200

26 From: aluno <[email protected]>

27 User-Agent: Thunderbird 2.0.0.23 (Windows/20090812)

28 MIME-Version: 1.0

29 To: [email protected]

30 Subject: teste

31

32 teste

33

34 .

35 DELE 1

36 +OK Marked to be deleted.

37 RSET

38 +OK

39 QUIT

40 +OK Logging out.

41 Connection closed by foreign host.

42

Figura 49 – Tentativa de conexão via Telnet ao servidor POP3

Page 65: UC15.Serviços_de_Redes

65SERVIÇOS DE REDE

Depois de abrir a conexão com o servidor, o cliente de e-mail (MUA) enviará o usuário e a senha (linhas 6 e 8). Em seguida, o servidor irá res-ponder se o login foi aceitou ou recusado. Ao enviar o comando STAT, o servidor irá retornar a quantidade de mensagens na caixa postal, assim como o tamanho total. Com o comando LIST (linha 12), o servidor retornará uma lista com todas as mensagens na caixa postal do usuário, juntamente com o seu tamanho. Para ler uma mensagem, o comando RETR (numero da mensagem) é enviado e o servidor irá enviar o cabe-çalho seguido pelo corpo da mensagem. Para remover uma mensagem da caixa postal é utilizado o comando DELE (numero da mensagem) – linha 36. Por fim para finalizar a conexão, é utilizado o comando QUIT. Todos esses comandos estão “embutidos” no programa cliente de e-mail. Através da interface gráfica, é possível abstrair o usuário de conhecer todos esses comandos para a manipulação de e-mails.O IMAP possui vários comandos adicionais em relação ao POP, visto que é um protocolo mais completo e muitos mais recursos. Observe o exemplo abaixo, em um teste de conexão ao servidor IMAP, através agora da porta 143.

Page 66: UC15.Serviços_de_Redes

66 CURSOS TÉCNICOS SENAI

1 debian:/etc/dovecot# Telnet 127.0.0.1 143

2 Trying 127.0.0.1...

3 Connected to 127.0.0.1.

4 Escape character is ‘^]’.

5 +OK Dovecot ready.

6 . login aluno aluno

7 . OK Logged in.

8 . list "" "*"

9 * LIST (\NoInferiors \Marked) “/” “INBOX”

10 OK List completed.

11 . status INBOX (messages)

12 * STATUS “INBOX” (MESSAGES 1)

13 . OK Status completed.

14 . select INBOX

15 * FLAGS (\Answered \Flagged \Deleted \Seen \Draft)

16 * OK [PERMANENTFLAGS (\Answered \Flagged \Deleted \Seen \Draft \*)] Flags

17 permitted.

18 * 1 EXISTS

19 * 1 RECENT

20 * OK [UNSEEN 1] First unseen.

21 * OK [UIDVALIDITY 1259172548] UIDs valid

22 * OK [UIDNEXT 4] Predicted next UID

23 . OK [READ-WRITE] Select completed.

24 . fetch 1 rfc822.header

25 * 1 FETCH (RFC822.HEADER {613}

26 Received: from [192.168.1.5] (unknown [192.168.1.5])

27 by debian (Postfix) with ESMTP id C14452DACE

28 for <[email protected]>; Wed, 25 Nov 2009 16:41:14 -0200 (BRST)

29 Message-ID: <[email protected]>

30 Date: Sat, 28 Nov 2009 17:55:43 -0200

31 From: aluno <[email protected]>

32 User-Agent: Thunderbird 2.0.0.23 (Windows/20090812)

33 To: [email protected]

34 Subject: teste2

35

36 )

37 . OK Fetch completed.

38 . logout

39 * BYE Logging out

40 . OK Logout completed.

41 Connection closed by foreign host.

42

Figura 50 – Tentativa de conexão via Telnet ao servidor IMAP

Page 67: UC15.Serviços_de_Redes

67SERVIÇOS DE REDE

Na linha 6 será enviado o usuário e senha. Em seguida, o comando LIST solicitará ao servidor, as pastas disponíveis. Nesse caso existe somente a caixa INBOX (linha 9). O comando STATUS (linha 11) solicitará ao servidor o status das mensagens que estão na caixa INBOX, nesse caso apenas 1 mensagem. Para ler a mensagem, o cliente envia o comando FETCH e o número da mensagem, seguindo ainda de um argumento. Esse argumento pode ser rfc822.header, que irá fazer o download apenas do cabeçalho da mensagem, ou rcf822.text, que irá fazer o download do corpo da mensagem. Por fim, para finalizar a conexão, o comando LO-GOUT é enviado (linha 39).

DICA Atenção para o “.” e um espaço no início de cada comando no IMAP. Se você enviar apenas o comando, o servidor retornará um erro de comando.

Seção 6Spam

O que é Spam?

Segundo CGI.BR (2009) “Spam é o termo usado para referir-se aos e-mails não solicitados, que geralmente são enviados para um grande nú-mero de pessoas. Quando o conteúdo é exclusivamente comercial, esse tipo de mensagem é chamada de UCE.”

Figura 51 – SPAM

UCE: Do inglês, Unsolicited Commercial E-mail.

Page 68: UC15.Serviços_de_Redes

68 CURSOS TÉCNICOS SENAI

Outro grande problema hoje presente na Internet é o Spam Zombies, que são computadores geralmente de usuários finais comprometidos por códigos maliciosos como worms, bots, vírus, cavalo de tróia, que após infectar o computador, irão executar um código pré-definido e enviar mensagens (e-mails) sem que o usuário saiba. A identificação dessas men-sagens são muito difíceis e proporciona o anonimato do verdadeiro au-tor desses e-mails.Com a grande evolução da Internet, saindo do ambiente acadêmico e tornando-se uma ferramenta indispensável na vida do dia-a-dia das pes-soas e empresas, ela se tornou um meio de comunicação muito impor-tante. É utilizada para todos os fins, fazer negócios, compras através de grandes lojas online, busca e troca de informações, entre tantos outros fins. Mas essa popularização da grande rede mundial de computadores trouxe também um problema. Aproveitando-se dos meios de comunica-ção, uma das ferramentas mais utilizadas hoje no dia-a-dia pelas pessoas, o e-mail, tornou-se algo de práticas ruins e indesejadas pelas pessoas. O spam é hoje um dos maiores problemas na Internet, pois causa perda de produtividade nas empresas, lentidão na rede com o grande volume de tráfego desnecessário, além de problemas de armazenamento em servi-dores de e-mails, e necessidade de grande poder de processamento em servidores.Apesar de o termo spam ser utilizado recentemente com a Internet, a prática já era conhecido a um bom tempo. Antes do envio de mensagens eletrônicas já tínhamos problemas com spam ou recebimento não dese-jado de correspondências. Cartas de correntes oferecendo dinheiro fácil, propagandas e folhetos oferecendo produtos com promoções, às vezes enchendo a caixa de correspondência, ou até mesmo ligações telefônicas oferecendo produtos, tudo isso sem nossa aprovação.Com o meio digital e a facilidade de enviar mensagens, além também da facilidade em adquirir pacotes com centenas ou milhares de endereços de e-mails, estimulou usuários e empresas a aderirem à técnica de spam pela Internet. Outro grande problema está aliado ao spam: mensagens infectadas com vírus, códigos maliciosos, com o intuito de transformar o computador da vítima em um novo ponto de disseminação de spam na Internet ou, ainda, mensagens se passando por lojas ou bancos com o objetivo de capturar número de contas e senhas de correntistas que acessam o ser-viço de home-banking pelo computador.

Page 69: UC15.Serviços_de_Redes

69SERVIÇOS DE REDE

Phishing ou scam é um grande problema enfrentado hoje, que consistem em mensagens que tentam induzir o usuário a acessar páginas clonadas de instituições financeiras ou a instalar programas maliciosos, projetados para furtar dados pessoais e financeiros. Bancos no Brasil e no mundo estão investindo muito em cima de sistemas de proteção, mas a principal forma de se evitar isso é com o conhecimento e informações ao usuá-rio, não clicando em links ou abrindo arquivos que estejam anexados ao corpo do e-mail.Sites de relacionamento como, por exemplo, Orkut, Twitter, FaceBook es-tão fazendo muito sucesso. Isso também se tornou um prato cheio para propagandas e propagação de spam. Com isso, esses sites possuem meca-nismos de configuração de conta, impedindo, por exemplo, de receber mensagens de pessoas não autorizadas.

SpamAssassin

O SpamAssassin é um filtro que é muito eficaz na identificação de spam. Ele utiliza um sistema de pontos para avaliar os pecados de uma men-sagem. Ele captura praticamente qualquer spam real e raramente tem resultados falso-positivos. Se uma mensagem acumular muitos pontos (configurável tanto globalmente em um site como por usuário individu-al), o SpamAssassin marcará essa mensagem. Você pode então regravar as mensagens suspeitas em uma pasta de spam, executando um filtro no lado do servidor. (NEMETH; SNYDER; HEIN, 2007, p.414)

SPF e Sender ID

Uma das melhores maneiras de parar o spam é ainda na origem. Para isso, duas propostas merecem destaque. O SenderID, definido pela Microsoft, pode ser visualizado em detalhes através da RFC4406, diretamente no site da INTERNET ENGINEERING TASK FORCE (IETF): www.ietf.org/rfc.html.O SPF também foi padronizado pelo IETF (RFC4408), e utiliza-se do registro de recurso TXT do DNS, verificando o endereço IP real do servidor de e-mail do domínio que pode enviar mensagens pelo domínio.

Um exemplo desse registro é:

Figura 52 – Configurando SPF em uma zona DNS

exemplo.com.br IN TXT “v=spf1 a mx ip4:192.168.1.1 –all”

Nesse exemplo, um registro de recurso do tipo TXT foi criado na zona DNS do domínio exemplo.com.br, e indicando que apenas o IP 192.168.1.1 pode enviar e-mails pelo domínio, sendo que qualquer e-mail partindo de outro IP deverá ser recusado.

Prepare-se para estudar agora sobre o servidor de web! Preparado para prosseguir? Vamos

SPF: Sender Policy Fra-mework.

Page 70: UC15.Serviços_de_Redes

Unidade de estudo 5

Seções de estudo

Seção 1 – Conceitos básicosSeção 2 – Instalando o apacheSeção 3 – Configurando o apacheSeção 4 – MySQLSeção 5 – Controle de acesso – auten-ticação de usuáriosSeção 6 – Segurança SSL

Page 71: UC15.Serviços_de_Redes

71SERVIÇOS DE REDE

Nesta unidade de estudo será abordado o assunto que trata sobre servidores de web onde os mesmos possuem diversos bene-fícios. Você conhecerá algumas das tecnologias e soluções exis-tentes para tal aplicação, bem como suas funcionalidades aplica-ção e benefícios.

Seção 1Conceitos básicos

Servidores web em geral atuam como servidores de páginas web oferecendo serviços para nave-gação em páginas de formato HTTP que, por sua vez, podem carregar inúmeros componentes em seu âmbito como textos, figu-ras ou vídeos, protocolo baseado em TCP para a transmissão destes formatos de arquivos.No mercado estão disponíveis di-versas soluções para aplicação de tal serviço, rodando em múltiplas plataformas como Linux e Win-dows. Muitas pesquisas já foram efetuadas para se tentar chegar a conclusão de qual plataforma é a melhor, porém, diante do cus-to para a aplicação de tal solução, a plataforma Linux tem vencido este páreo com o pacote de insta-lação bastante famoso que carre-ga o nome de LAMP (Linux, Apa-che, Mysql e PHP/Perl/Python).A solução desenvolvida pela Mi-crosoft não deixa a desejar também em questões de desempenho e funcionalidades, porém, seu custo de implementação é considerado razoavelmente alto. Para tanto a

Servidor de Web

solução desenvolvida para plata-formas Linux (LAMP), foi de cer-ta forma “copiada ou compilada” para rodar em plataformas Windo-ws, possuindo a mesma funciona-lidade inicial que é de servir pagi-nas apenas alterando seu nome de LAMP para Wamp.Por padrão os servidores web são configurados para responderem na porta 80, mas não há nada que impeça de você mudar isso, muitos administradores de rede costumam trocar a porta padrão para a porta 8080. Outras funcio-nalidades podem ser integradas ao nosso servidor web como suporte a criptografia de páginas (SSL) que será abordada no decorrer desta unidade, como a implemen-tação de demais protocolos.A hospedagem de páginas é ba-seada em URL (Uniforme Resour-ce Locator) que traduzindo para português significa localizador de recursos uniformes, que nada mais é que um ponteiro ou local onde estão as páginas que deseja-mos acessar. Para que possamos acessar uma página distinta, seja na Internet ou em algum tipo de Intranet, primeiramente deve-mos fazer uso de um browser de Internet como Firefox, Internet Explorer, Opera dentre outros e in-formar ao mesmo o endereço que desejamos acessar. Nemeth, Snyder e Hein (2007, p. 496) afirmam que para efetuar o acesso a uma página encontrada na web as URL’s devemos infor-mar ao navegador cinco passos básicos:

HTTP: Hypertext Transfer Protocol.

Page 72: UC15.Serviços_de_Redes

72 CURSOS TÉCNICOS SENAI

▪ protocolo ou aplicativo; ▪ nome do host; ▪ porta TCP/IP; ▪ diretório; ▪ nome do arquivo.

Abaixo podemos acompanhar alguns dos protocolos que os servidores web são capazes de fornecer o acesso por meio de navegadores web.

Protocolo O que ele Faz Exemplo

File Acessa um arquivo local File://etc/syslog.conf

FTP Acessa um arquivo remoto FTP FTP://ftp.admin.com/adduser.tar.gz

HTTP Acessa um arquivo remoto HTTP http://admin.com/index.html

HTTPS Acessa um arquivo remoto HTTP/SSL https://admin.com/order.shtml

Ldpa Acessa serviços de diretórios LDAP Ldap://ldap.bigfootcom:389/cn=herb

mailto Envia e-mails para um endereço mailto:[email protected]

Quadro 14 – Exemplo de URL’sFonte: Nemeth, Snyder e Hein (2007, p.497).

A definição de qual navegador utilizar para fazer acessos em páginas web fica por conta do usuário e dependendo da página a ser acessada, o desenvolvedor pode estar orientando o usuário com questões de desem-penho e compatibilidade informando qual navegador se encaixa melhor com sua página. Na figura que segue podemos acompanhar o acesso a uma página web utilizando o browser de Internet Firefox, através do pro-tocolo HTTP. Observe!

Figura 53 – Acesso a uma página web utilizando o Firefox

Page 73: UC15.Serviços_de_Redes

73SERVIÇOS DE REDE

Seção 2Instalando o apache

O apache é um servidor robusto e bastante flexível onde o mesmo é utilizado em grande parte dos ser-vidores da Internet desenvolvido por um grupo chamado de apa-che group, distribuído livremente no mercado e atualmente encon-tra-se na versão 2.2. O apache tem ganhado muitos adeptos apesar de existirem diversos outros con-correntes. Abaixo segue uma lista de algumas características do ser-vidor web apache identificadas por Ribeiro (2004):

▪ suporte a scripts CGI; ▪ controle de acesso; ▪ suporte a multilinguagem de

páginas web, exibindo a página na linguagem requisitada pelo navegador; ▪ suporte a criptografia; ▪ flexibilidade na customização

de mensagens de erro e arquivos de log; ▪ suporte a servidores Proxy,

FTP e HTTP.

Como já citado anteriormente o apache possui suas versões desen-volvidas tanto para Linux como para Windows. A instalação do apache em uma distribuição Li-nux tomando como sua base sen-do Debian pode ser efetuada com bastante simplicidade através do comando de instalação “apt-get install <pacote>”, ou através do download dos pacotes binários que podem ser encontrados na pagi-na web do desenvolvedor (www.apache.org). A seguir, você pode acompanhar a instalação do apa-che via apt-get:

root@SNJGS1EINFET361:/# apt-get install apache2

Lendo lista de pacotes... Pronto

Construindo árvore de dependências

Lendo estado da informação... Pronto

Os pacotes extra a seguir serão instalados:

apache2-mpm-prefork apache2.2-common

Pacotes sugeridos:

apache2-doc

Os pacotes a seguir serão atualizados:

apache2 apache2-mpm-prefork apache2.2-common

3 pacotes atualizados, 0 pacotes novos instalados, 0 a serem removidos e 281 não atualizados.

à preciso fazer o download de 1032kB de arquivos.

Apos esta operação, 0B adicionais de espaço em disco serão utilizados.

Quer continuar [S/n]?

Figura 54 – Instalação do apache através do apt-get

Note que quando é executado o comando de instalação o mesmo busca mais outros dois pacotes necessários para o funcionamento do apache inclusive indicando o número de pacotes que necessitam ser baixados, bem como seus respectivos tamanhos e, ao final, pede que seja efetuada a confirmação do usuário para a conclusão do processo. Caso deseje efetuar a instalação através dos pacotes encontrados na página oficial do apache, você deverá configurar e compilar o mesmo utilizando do comando “./configure <opções>”, podendo habilitar ou desabilitar alguns módulos do apache e posteriormente compilado atra-vés do comando “make”, “make install”. Para listar os parâmetros dis-poníveis para a configuração da instalação do apache utilize o comando “configure --help”.A seguir são apresentados alguns módulos disponíveis pelo apache, os quais você possa julgar interessante habilitar, é claro, dependo da análise de cada caso:

Módulo Função

Auth_dbm

Utiliza banco de dados DBM para gerenciar o acesso de usuários/grupos (recomendado se você precisar de acesso baseado em senha por usuário para áreas de seu site web

Rewrite Regrava URLs com expressões regulares

Expires Permite que você anexe datas de expiração a documentos

Proxy Utiliza o apache como um servidor Proxy

Ssl Ativa o suporte a Secure Sockets Layer (SSL) (para HTTPS)Tabela 1 – Lista de alguns módulos que podem ser ativados no apacheFonte: Nemeth, Snyder e Hein (2007, p. 500).

Page 74: UC15.Serviços_de_Redes

74 CURSOS TÉCNICOS SENAI

Como alguns módulos podem ser ativados para “incrementar” o apa-che, outros módulos podem ser desativados, para fins de melhorias de segurança e desempenho. A seguir, apresentamos uma lista de módulos sugeridos para desativação visando atender ou melhorar os pontos an-teriormente citados:

Módulo Função

AsisPermite que tipos de arquivos designados sejam enviados sem cabeçalhos HTTP

AutoindexExibe o conteúdo de diretórios que não tem um arquivo HTML padrão

EnvPermite que você configure variáveis de ambiente especiais para scripsts CGI

IncludePermite inclusões no servidor, um esquema obsoleto de geração dinâmica de páginas

UseridPermite que usuários tenham seus próprios diretórios HTML

Tabela 2 – Lista de alguns módulos que podem ser desativados no apacheFonte: Nemeth, Snyder e Hein (2007, p. 500).

É claro que você poderá ficar à vontade para escolher qual módulo dese-ja habilitar ou desabilitar, analisando a situação de seu problema, visando a estabilidade aliada à performance e segurança de seu servidor web.A instalação do apache em estações Windows é bastante simplificada bas-ta baixar o executável do pacote no site oficial do apache e executá-lo se-guindo os passos de instalação descritos pelo mesmo, em um dos pontos será pedido para inserir o domínio que o apache responderá o nome do servidor, e-mail e qual a porta de trabalho do apache, conforme figura 2:

Figura 55 – Instalação do apache em estações Windows

Seção 3Configurando o Apache

Após concluída a instalação do apache passaremos à parte de con-figuração do mesmo bem como a inicialização e parada de serviço. O arquivo de configuração do apache2 concentra-se basicamen-te em um arquivo chamado apa-che2.conf, localizado comumente em distribuições base Debian em “/etc/apache2/apache2.conf ” onde o mesmo é dividido basica-mente em três sessões básicas:

▪ a primeira delas é conhecida como seção global, um exemplo de uma configuração global é a porta onde nosso servidor ira responder normalmente; a porta destinada a este tipo de aplicação é a porta 80. Claro que você pode alterar isso, por exemplo, fazer com que seu servidor responda na porta 8080 ou até mesmo con-figurar um servidor trabalhando com múltiplas páginas web ao mesmo tempo apenas alterando a porta em que o mesmo responde. (NEMETH; SNYDER; HEIN, 2007, p. 500); ▪ a segunda seção trata de usuá-

rios e grupos ao qual o apache irá responder bem como o parâme-tro servidor padrão. Outro fator importantíssimo é incluir nesta seção o parâmetro “Documen-tRoot” que indica qual o diretó-rio onde o apache irá responder. Alguns parâmetros de segurança global podem ser tratados nesta seção, como acessos por arquivos ou diretórios;

Page 75: UC15.Serviços_de_Redes

75SERVIÇOS DE REDE

▪ a terceira e última seção do apache trata os hosts virtuais que possuem bastante similaridade com as interfaces virtuais, ou seja, endereços virtuais que pode-mos definir através do comando ifconfig. Os parâmetros de hosts virtuais eliminam a necessidade de existirem endereços ou inter-faces especialmente destinadas ao servidor web isto é muito útil para servidores que abrigam muitas páginas web. (NEMETH; SNY-DER; HEIN, 2007, p. 502).

Na grande maioria das vezes as configurações padrões do apache já atendem todas as necessidades de nossos servidores não necessi-tando efetuar grandes mudanças em seus arquivos de configuração. Segue um pequeno exemplo de configuração da seção global do apache:

### Section 1: Global Environ-ment

ServerRoot “/etc/apache2”

Timeout 300

KeepAlive On

MaxKeepAliveRequests 100

KeepAliveTimeout 15

Figura 56 – Parâmetros globais do apache

Como praticamente todos os ser-viços rodando sob plataforma Li-nux, o apache2 também roda sob um daemon chamando ”apache2” que pode ser “estartado” durante a inicialização do sistema ou ma-nualmente. Em sistemas opera-cionais de base Debian o mesmo roda sob o init.d. Abaixo segue a maneira de manipular o mesmo manualmente:

root@SNJGS1EINFET361:/# /etc/init.d/apache2 s

* Usage: /etc/init.d/apache2 {start|stop|restart|reload|force-reload|start-htcacheclean|stop-htcacheclean}

root@SNJGS1EINFET361:/# /etc/init.d/apache2 start

* Starting web server apache2 [ OK ]

Figura 57 – Inicializando o apache manualmente

DICA Você pode fazer com que o apache inicie automaticamente com a inicialização do sistema, assim não será necessário iniciá-lo manu-almente.

Para testar se o apache está iniciado e funcionando corretamente, basta abrir um browser de Internet, seja Firefox ou Internet Explorer e entrar com a URL do servidor conforme figura abaixo:

Figura 58 – Teste de acesso ao apache

Seção 4MySQL

Cada dia mais está se utilizando o conceito de web para prover os mais variados tipos de serviços e soluções. Hoje, já existem disponíveis apli-cativos para edição de textos, planilhas eletrônicas e apresentações tudo rodando sob a web Softwares de administração de servidores já possuem este conceito há muito tempo, pois deste modo o administrador de rede ou sistema ganha mobilidade para efetuar diversas manutenções bem como fazer a monitoria de algum serviço.

Page 76: UC15.Serviços_de_Redes

76 CURSOS TÉCNICOS SENAI

Um serviço que pode trabalhar em conjunto com o apache e PHP é o MySQL sob o conceito de páginas web que pode tanto servir como banco de dados de uma aplicação de cadastro de clientes, bem como um banco de dados de autenticação. Com o intuito de fazer a administração do mesmo via browser de Internet foi criada uma ferramenta chamada PhpMyAdmin, onde com ela podemos efetuar a modificação de entida-des, senhas, relacionamentos, registros, dentre muitos outros atributos contidos em um banco de dados MySQL.Esta ferramenta também possui suas versões compiladas para Linux e Windows e é distribuído livremente sob licença GPL estando atualmente na versão “3.2.4” podendo ser baixada na página oficial do desenvol-vedor no seguinte endereço “http://www.phpmyadmin.net”. Para sua instalação faz-se necessário possuir instalados e compilados os pacotes do PHP, mysql-server e apacheSua instalação é bastante simplificada e pode ser feita no Linux através do “apt-get” ou dos pacotes binários que podem ser baixados na página do desenvolvedor. Para distribuições Windows existe um pacote chamado Wamp que possui todas as dependências compiladas para o funciona-mento do apache, PHP e PHPMyAdmin e possui sua instalação extre-mamente simplificada. Para efetuar o acesso ao PHPMyAdmin basta entrar com a URL do servidor em um navegador web.

Figura 59 – Acesso ao PHPMyAdmin

Seção 5Controle de acesso – autenticação de usuários

O apache é capaz de efetuar o controle de acesso aos diretórios onde se encontram as páginas hospedadas no servidor web Para isso, ele utiliza um arquivo chamado htaccess, que é o arquivo onde se encontram con-figuradas as restrições de acesso aos usuários, ou seja, a todo o acesso que for efetuado, caso o arquivo htaccess esteja configurado, o apache irá verificar o mesmo para analisar se há ou não algum tipo de restrição ao usuário que está tentando se conectar ao servidor.

Habilitando este controle é possí-vel manipulá-lo de duas maneiras, efetuando o controle por usuário através de contas de usuário e se-nha, bem como através da libera-ção ou bloqueio de estações por endereços IPs ou por hostname, que nada mais é o nome que iden-tifica o computador na rede. Isto se torna muito útil para agregar ainda mais segurança aos nossos servidores web limitando o acesso indesejado a informações ou pági-nas do servidor.Para habilitar o controle via o ar-quivo htaccess é necessário que seja efetuada uma configuração no arquivo de configuração de hosts virtuais do apache “/etc/apache2/sites-avaliables/de-fault”, onde primeiramente deve ser buscada dentro do mesmo uma diretiva chamada de “Allo-wOverride” que é a diretiva que controla a utilização do arquivo htaccess.

DICA Uma dica para conseguir en-contrar esta diretiva utilizan-do o editor de texto é efetu-ar a busca com a “/+ texto a ser buscado”. Vale lembrar que por padrão o diretório configurado para o armaze-namento das páginas web, no caso de distribuições base Debian, é “/var/www/”.

Na figura a seguir podemos visu-alizar a configuração do arquivo onde deveremos habilitar a opção para trabalharmos com o htac-cess:

Page 77: UC15.Serviços_de_Redes

77SERVIÇOS DE REDE

<Directory /var/www>

Options Indexes FollowSymLinks MultiViews

AllowOverride AuthConfig

Order allow,deny

Allow from all

</Directory>

Figura 60 – Modificando arquivo de configuração /etc/apache2/sites-avaliables/default

Segue a lista de parâmetros configurados no arquivos de configuração:

Parâmetro Função

FollowSymLinksHabilita o apache a seguir os links simbólicos apontados pelos arquivos de configuração

MultiViewsPara prestar suporte multilinguagem de páginas web (caso a página tenha suporte)

AuthConfig Configuração automática do diretório protegido

Indexes

Quando não existir uma página com extensão HTML, PHP ou HTM, por exemplo, faz com que o apache crie uma lista com os diretórios para exibição na pagina web.

Tabela 3 – Parâmetros encontrados nos arquivos de configuração do apache

Com a modificação do arquivo completada basta agora criar os arqui-vos .htaccess e .htpasssw, onde o .htaccess é responsável pelo armaze-namento das diretivas utilizadas pelo apache para efetuar as restrições para o acesso as páginas web já o .htpasswd é o arquivo responsável pelo armazenamento dos usuários e senhas criados para efetuar o acesso as paginas que serão protegidas. Lembrado que tais arquivos devem ser criados no diretório que se pretende “proteger”.No arquivo htaccess serão inseridos alguns parâmetros de configurações informando as restrições desejadas bem como o caminho do arquivo .htpasswd onde os parâmetros são:

▪ authName: mensagem de login do tipo por exemplo “Entre com usuário e senha”; ▪ authType: tipo de autenticação. Atualmente o Basic é o tipo mais

comum; ▪ authUserFile: localização do arquivo de senhas .htpasswd; ▪ require valid-user: informa ao apache que somente usuários vali-

dos e autenticados podem acessar as páginas web protegidas.

Page 78: UC15.Serviços_de_Redes

78 CURSOS TÉCNICOS SENAI

O arquivo “.htacsess” deve ficar desta maneira:

AuthName “Controle de acesso a usuários”

AuthType Basic

AuthUserFile /var/www/.htpasswd

require valid-user

Allow

</Directory>

Figura 61 – Criando o arquivo .htaccess

Com os dois passos anteriores completados basta agora inserirmos os usuários que poderão efetuar o acesso as páginas web contidas dentro do diretório “/var/www/”, com a ferramenta htpasswd do próprio apache como segue na figura a seguir, onde a opção “-c” indica que o arquivo .htpasswd deve ser criado e teste o usuário a ser inserido:

# htpasswd -c /var/www/.htpasswd teste

New password:

Re-Type new password:

Figura 62 – Adicionando usuários ao htpasswd

Após conluídos todos os passos sem maiores problemas, basta reinicia-lizar o apache e efetuar o acesso às páginas protegidas, informando o usuário e a senha.

Seção 6Segurança SSL

Um ponto muito importante para todos os tipos de servidores que deve ser abordado e deve ser de preocupação do administrador de rede é a segurança das informações que trafegam pelos servidores, sejam elas de tráfego de saída ou de entrada de dados visando a proteção das informa-ções correntes na rede. Os servidores web pelo fato de em geral estarem conectados com a rede mundial (Internet) estão sujeitos a diversos tipos de ataques de pessoas mal intencionadas que podem acabar em instantes com todas as páginas web contidas no servidor ou até mesmo capturar informações importan-tes contidas no servidor.

Para implementar segurança em páginas web é utilizado o serviço de SSL (Secure Sockets Layer) que é responsável pela criptografia das sessões iniciadas pelo clientes do seu servidor web, protegendo se-nhas, números de cartões de cré-ditos dentre outras informações enviadas pelos clientes. O SSL é uma solução bastante poderosa, segura e complexa pelo fato de utilizar ferramentas adicionais para a criação de chaves de crip-tografia.

Quando o SSL é utilizado, to-dos os dados e informações traçadas entre servidor e cliente tornam-se codificadas podendo ser decodificadas através das chaves de cripto-grafia geradas pelo mesmo.

Para inicializar uma seção segura utilizando o SSL, antes da URL é informado que a mesma ocorrerá de forma segura (https://) onde a comunicação acontecerá através da porta 443. Para habilitar o suporte a SSL ao servidor apache primeiramente na instalação deve ser habilitado o modulo SSL (--enable-ssl). Para ativar o uso do HTTPS em nossas páginas web é necessário e criar as chaves de criptografia se faz ne-cessário a instalação de dois paco-tes adicionais:

▪ ssl-cert: pacote utilizado para habilitar a instalação automática de softwares para gerar certifica-dos SSL; ▪ openssl: conjunto de ferra-

mentas de código aberto escrito em linguagem de programação C, que implementa o protocolo SSL e TLS é responsável pela geração de chaves de criptografia.

Page 79: UC15.Serviços_de_Redes

79SERVIÇOS DE REDE

A instalação destes pacotes ocorre de maneira bastante simples através do “apt-get”, para tanto basta seguir os passos conforme a figura:

root@SNJGS1EINFET361:/etc/apache2# apt-get install openssl ssl-cert

Lendo lista de pacotes... Pronto

Construindo Árvore de dependências

Lendo estado da informação... Pronto

Pacotes sugeridos:

openssl-doc

Os pacotes a seguir serão atualizados:

Openssl, ssl-cert

0 pacotes atualizados, 2 pacotes novos instalados, 0 a serem removidos

É preciso fazer o download de 385kB de arquivos.

Apos esta operação, 0B adicionais de espaço em disco serão utilizados.

AVISO: Os pacotes a seguir não podem ser autenticados!

openssl

Instalar estes pacotes sem verificar [s/N]?

Figura 63 – Instalação do openssl e ssl-cert

DICA Outro pacote interessante de ser instalado seria o openssl-doc onde o mesmo traz informações adicionais a respeito do Openssl como parâmetros para a utilização do mesmo.

Com a instalação dos pacotes para a concluída, é necessário que seja habilitado:

root@SNJGS1EINFET361:/etc/apache2# a2enmod ssl

Module ssl installed; run /etc/init.d/apache2 force-reload to enable.

Figura 64 – Habilitando módulos SSL

Com a instalação dos pacotes concluída e com os módulos responsáveis pelo SSL habilitados, resta ainda ser criados os certificados digitais e para isso deve ser utilizado o software opessl, com o seguinte comando infor-mando o local onde será criada a chave bem como sua validade (days):

openssl req $@ -new -x509 -days 365 -nodes -out /etc/apache2/apache.pem -keyout /etc/apache2/apache.pem

Figura 65 – Criando certificados digitais SSL

Saiba Mais

Para mais informações e des-crição mais detalhada sobre os recursos do apache, procu-re o manual encontrado em www.apache.org.

Seção 7Monitorando e Gerenci-ando LOGs

Após instalado e configurado, seu servidor web está pronto para desempenhar o papel de hos-pedagem de páginas web Mas a sua tarefa como administrador não acabou! Uma prática muito importante é a monitoração do serviço diariamente, para assegu-rar sua confiabilidade e seguran-ça, além de observar seu uso e desempenho. O próprio apache possui uma ferramenta para mo-nitoração do seu serviço. Essa ferramenta exibe o status do ser-vidor e registros históricos sobre seu uso e desempenho.Para utilizar essa ferramenta de monitoração de status, é necessá-rio compilar ou instalar um mó-dulo carregável dinamicamente. A seguir, você pode observar as linhas que devem ser acrescenta-das no arquivo de configuração do apache para carregar o módulo discutido:

Page 80: UC15.Serviços_de_Redes

80 CURSOS TÉCNICOS SENAI

LoadModule status_module modules/mod_status.so

AddModule mod_status.c

Figura 66 – Módulo para monitoração de status do servidor

Ainda assim, você pode configurar para que o máximo de informações seja exibida sobre o status do servidor, acrescentando a linha ilustrada no quadro Y ao arquivo de configuração do apache. Para garantir a seguran-ça de acesso a essas informações, é muito importante que seja realizado configurações para controlar o acesso as telas de status do servidor. As informações exibidas no quadro Z mostram um exemplo de um reci-piente modificado no arquivo de configuração do apache para definir que somente os navegadores dentro do domínio “redes.senai.br” pos-sam acessar as telas do servidor. Também é possível configurar para que localhost tenha acesso a essas informações.

ExtendedStatus on

Figura 67 – Diretiva para ativar o máximo de informações de status

<Location /server-status>

SetHandler server-status

Order deny,allow

deny from all

allow from redes.senai.br

</Location>

Figura 68 – Recipiente Location server-status

Os logs são registros de atividades que ocorrem em um sistema. Com o apache não seria diferente. Você pode editar diversas diretivas no arqui-vo de configuração para personalizar quais informações você quer ter controle. O ideal é você observar essas logs com determinada frequência para descobrir possíveis falhas e evitar maiores problemas.

tail –f /var/log/apache2/error.log

Figura 69 – Uso do comando tail para verificar log de erro

Com o comando tail, visto no quadro acima, você pode acompanhar as entradas das informações dos arquivos de log. Nesse caso, é possível observar registros que possam acusar alguma falha no sistema ou até mesmo tentativas de acesso mal sucedidas.

Page 81: UC15.Serviços_de_Redes

81SERVIÇOS DE REDE

CLF: Common Log Format ou formato de registro comum.

O apache, em sua versão 2, fornece por padrão 2 arquivos para a gra-vação de logs. Cada um deles possui uma característica, para que possa ser diferenciada a leitura e facilitar a busca por informações. O arquivo “access.log” possui a característica de armazenar todas as tentativas de acessos ao sites hospedados pelo apache Esse arquivo possui o forma-to de colunas, onde ficam visivelmente classificadas as informações de acesso. Observe na figura um exemplo de registro encontrado no arqui-vo access.log.

10.1.73.3 - - [27/Nov/2009:11:12:25 -0200] “GET /moodle/calendar/overlib.cfg.php HTTP/1.1” 200 233 “http://10.1.72.9/moodle/” “Mo-zilla/5.0 (Windows; U; Windows NT 5.1; pt-BR; rv:1.9.1) Gecko/20090624 Firefox/3.5”

Figura 70 – Registro do arquivo access.log

Nesse arquivo, você pode observar que as informações contidas podem auxiliar na busca de alguma informação importante para determinar se algum usuário realizou algum acesso ao servidor. O arquivo traz infor-mações sobre o IP do computador que acessou, data e horário de acesso, endereço do site e página de acesso, além de informações sobre o suces-so ou não do acesso, navegador web utilizado, entre outras.O formato dos registros gerados pelo apache pode ser personalizado. Isso mesmo, você pode modificar a maneira como eles são visualizados, por exemplo, alterando a posição das colunas para facilitar sua leitura ou ainda, adicionar ou remover outras. Por padrão, os logs adotam um padrão chamado CLF, utilizado por to-dos os softwares servidores de páginas web, possibilitando que os registros possam ser processados por qualquer ferramenta de análise de registro que se adapte ao padrão. Esse padrão possui a estrutura detalhada abaixo, retirada do arquivo de configuração do apache.

LogFormat “%h %l %u %t \”%r\” %>s %b” common

Figura 71 – Formato CLF de log utilizado pelo apache

Já o arquivo “error.log” traz informações relacionadas a conexões rea-lizadas e possíveis problemas de arquivos ou páginas não encontrados, exibindo também, informações dos clientes que realizaram os acessos, juntamente com data e hora, conforme exibido na figura abaixo.

[Thu Dec 03 13:11:38 2009] [error] [client 10.1.73.171] File does not exist: /var/www/logo_cisco.gif, referer: http://10.1.72.9/moodle/

Figura 72 – Registro do arquivo error.log

Page 82: UC15.Serviços_de_Redes

82 CURSOS TÉCNICOS SENAI

Outro formato suportado pelo apache são os Registros Condicionais, que são valores que identificam condições ou estados de um servidor. Esses valores são apresentados no quadro abaixo, e são devolvidos pelo servidor quando as condições são testadas e satisfeitas.Sendo assim, você pode colocar esses valores juntamente na configura-ção dos registros do servidor web onde serão informados os códigos de erros sempre que alguma dessas características forem apresentadas.

200: OK A solicitação é válida

302: FoundO documento solicitado foi encontrado

304: Not ModifiedO documento solicitado não foi modificado

400: Bad Request A solicitação é inválida

401: UnauthorizedO cliente ou o usuário tem acesso negado

403: Forbidden O acesso solicitado não é autorizado

404: Not Found O documento solicitado não existe

500: Server ErrorHá um erro de servidor não especificado

501: Not ImplementedO servidor tem recursos insuficientes para honrar a solicitação

502: Bad GatewayO recurso de servidor solicitado não esta disponível

503: Out of Resources (Service Unavailable)

O cliente especificou um meio de acesso inválido

Quadro 15 – Códigos de statusde servidor web.Fonte: adaptado de Hunt (2004).

Page 83: UC15.Serviços_de_Redes

83SERVIÇOS DE REDE

Para conferir os arquivos de logs do apache (ferramenta Wamp) gerados em estações Windows, basta visualizar os arquivos de logs encontrados no diretório de instalação do Wamp, geralmente encontrado em “c:\wamp\logs”. Segue um exemplo deste arquivo:

Figura 73 – Acesso ao arquivo de logs da ferramenta Wamp

Com o tema Monitorando e Gerenciando LOGs encerramos, aqui, mais uma unidade de estudos. Podemos dizer que já ultra-passamos metade do caminho desta unidade curricular. Mas, não pense que acabou! Há muito ainda pela frente...

Page 84: UC15.Serviços_de_Redes

Unidade de estudo 6

Seções de estudo

Seção 1 – Entendendo o DNSSeção 2 – O Sistema DNSSeção 3 – Órgãos ControladoresSeção 4 – O Protocolo DNSSeção 5 – O Software BINDSeção 6 – Servidor DNS no Windows 2003

Page 85: UC15.Serviços_de_Redes

85SERVIÇOS DE REDE

Servidor de Nomes (DNS)

Nessa unidade de estudo você irá estudar o Sistema de Nomes de Domínio, ou simplesmente DNS, que é hoje, sem dúvida, um dos protocolos mais importantes na Internet. Serão apresentados sua história, conceitos e implemen-tação em Sistemas Operacionais como Linux e Windows.

Seção 1Entendendo o DNS

Durante os anos 70, a ARPA co-meçou o desenvolvimento de uma rede experimental de computado-res de longa distância chamada de ARPANET.

Seu objetivo inicial era interligar computadores do governo ame-ricano, a fim de compartilhar re-cursos computacionais. Com o desenvolvimento do conjunto de protocolos TCP/IP no início dos anos 80, ele se tornou o protoco-lo padrão de rede na ARPANET. Com a inclusão desse protocolo sobre o popular sistema opera-cional BSD UNIX de Berkeley na Universidade da Califórnia, que era livre para as universidades, foi instrumento de democratização entre as redes. (BARLEM, 1997).

Na ARPANET, com poucos hosts, um simples arquivo, o HOSTS.TXT continha as informações ne-cessários de todos os computado-res na rede: um mapeamento do endereço IP com o nome do host. Esse arquivo era mantido pelo Centro de Informação de Redes – NIC. A cada novo host na rede ou alterações, os administradores alteravam o arquivo, e disponibili-zavam uma nova versão via FTP. Com o rápido crescimento da rede, essa prática se tornou invi-ável. O DNS então foi formalmente especificado por Paul Mockape-tris nas RFCs 882 e 883 em 1983, e mais tarde atualizado nas RFCs 1034 e 1035 (1987). Seu conceito-chave era nomes de hosts hierár-quicos e responsabilidade distri-buída. (NEMETH; SNYDER; HEIN, 2007, p. 261).Utilizando uma base de dados dis-tribuída, a administração do DNS pode ser feita em vários níveis, delegando tarefas de administra-ção a empresas e organizações de qualquer porte. Em 1988 o Departamento de Defesa dos EUA decidiu que o experimento estava terminado e substituiu a ARPANET pela NSFNET, como backbone da In-ternet.

ARPA: Agência de Projetos de Pesquisas Avançados do Departamento de Defesa dos EUA.

NSFNET: Fundação Nacional de Ciência.

Page 86: UC15.Serviços_de_Redes

86 CURSOS TÉCNICOS SENAI

Em 1995 a Internet sofreu a tran-sição da NSFNET para múltiplos backbones comerciais, permitindo a rápida expansão da rede, e além do âmbito acadêmico e governa-mental, a inclusão de milhões de computadores em todo o mundo.

Seção 2O Sistema DNS

O que ocorre é que não é fácil para um ser humano decorar um conjunto de endereços da Inter-net, chamados de endereço IP. Para a versão quatro do IP (IPv4), atualmente mais utilizada, o en-dereço é formando por 32 bits, representado no formato decimal pontuado. Na nova versão do IP, o IPv6, os endereços são ainda maiores, possuindo 128 bits, sen-do representados por 8 grupos de quatro dígitos hexadecimais separados por “:” (ex.: 0200:32AF:12D1:1000:FF52:BA90:1587:EA40). Isso torna praticamente impossível a rápida memorização desses endereços pelas pessoas. (COSTA, 2006, p. 18).O sistema DNS define um espaço de nomes hierárquico para hosts e endereços IP, num modelo cha-mado de árvore. Tanto a aloca-ção de espaços de endereços IPs quanto à administração do siste-ma de nomes de domínio de pri-meiro nível fica atualmente sobre responsabilidade do ICANN.

É de sua responsabilidade tam-bém o gerenciamento do sistema de servidores raiz, que controlam todo o sistema DNS.

Figura 74 – Hierarquia DNSFonte: Arsys (2009).

A hierarquia começa com um grupo de servidores no topo da árvore, conhecido como servidor de nomes-raiz ou simplesmente “.” (ponto). Esses computadores abrigam também os domínios de primeiro nível TLDs , que pode ser visto na figura anterior, o pró-ximo nível na hierarquia DNS.

Por razões históricas, dois tipos de nomes de domínio de primei-ro nível estão sendo utilizados hoje em dia: domínios genéricos de primeiro nível, que descrevem entidades governamentais e políti-cas, principalmente nos EUA, tais como .com, .net, .org, .edu entre outras e os domínios de primeiro nível para o código de países , que através de duas letras, repre-sentam países, como por exemplo .ar: Argentina, .br: Brasil, .jp: Ja-pão, .mx: México, etc.

Quando o DNS foi criado em meados da década de 80, definiu-se um conjunto de servidores de nomes-raiz e criaram-se diversos domínios de primeiro nível. Esses servidores de nomes-raiz (agora existem 13 distribuídos por todo o mundo) têm a função de fornecer informações oficiais sobre quais servidores de nomes contêm as informações sobre nomes para cada um dos domínios de primei-ro nível (ICANNBR, 2001).

ICANN: Internet Corpora-tion for Assigned Names and Number.

TLDs: Top-Level Domains

Nível: gTLDs – Generic top-level domains

Países: ccTLDs – code countries top-level domains.

Page 87: UC15.Serviços_de_Redes

87SERVIÇOS DE REDE

A localização de todos os ser-vidores raiz (root servers) é encontrada em: http://www.root-servers.org/.

Os domínios de primeiro nível eram relativamente fixos no pas-sado, mas o ICANN aprovou sete novos no final de 2000: biz, info, name, pro, museum, aero e coop. Al-guns desses domínios (principal-mente com, org e net) são utiliza-dos fora dos EUA.

Saiba Mais

Atualmente, a ICANN liberou vários novos gTLDs (NEMETH; SNYDER; HEIN, 2007, p.264). A lista completa de ccTLDs é visualizada em: http://www.iana.org/domains/root/db/index.html. No Brasil, o Co-mitê Gestor da Internet per-mite o registro de vários tipos de domínios, que podem ser visualizados em: http://regis-tro.br/info/dpn.html. Vamos! Acesse!

Um resolvedor (Resolver) é um serviço responsável por localizar o servidor DNS responsável por um determinado domínio, geral-mente chamado de cliente DNS, estando esse junto ao sistema operacional. Ele deve criar uma consulta e enviá-la a um servidor, aguardar sua resposta, e reenviar a consulta caso não receba resposta.Cada servidor DNS sabe apenas informações sobre uma determi-nada parte (zona) da árvore de domínios. Quando um servidor não sabe responder sobre um de-terminado domínio, ele indica ao host que fez a consulta quais ser-

vidores DNS ele pode consultar para (tentar) obter uma respos-ta à consulta desejada. (COSTA, 2006, p. 23).Essas consultas podem ser fei-tas de duas maneiras: de forma interativa ou recursivamente. Na resolução interativa, cada consul-ta, quando não consegue rece-ber a resposta desejada, utiliza a mensagem recebida para consul-tar outros servidores DNS. As-sim a solicitação é feita por um DNS a outro, quando a solicita-ção não for encontrada em seu cadastro. Já na consulta recursiva, os servidores DNS fazem quantas consultas forem necessárias para conseguir a resposta desejada, e depois enviam a resposta final para o resolvedor. A fim de diminuir a complexida-de para usuários finais, o ponto final do domínio foi retirado, mas em sistemas DNS, os nomes to-talmente qualificados terminam com um ponto, ou seja, observe o domínio: “www.exemplo.com.br.” Esse ponto é justamente a raiz do sistema DNS, sendo, por-tanto a sua resolução de trás pra frente. Por fim, o www que apa-rece junto ao nome de domínio especifica um nome de host, ou servidor, estando designado a ele um endereço IP.Na resolução recursiva, o ponto no final do domínio (servidores raízes) será o início da resolução. Eles serão consultados, solicitan-do qual é o servidor designado por .br. Já os servidores do domí-nio .br irão indicar os servidores responsáveis por .com.br, e o ser-vidor responsável pelo domínio exemplo.com.br. Uma vez com o IP desse servidor, que possui delegação sobre o domínio, será consultado afim de resolver, qual o endereço IP do host www.

Sempre que um nome de domí-nio for resolvido com sucesso, o nome e a informação associa-da ao nome (endereço IP) serão mantidos na memória do resolve-dor (cache local do cliente DNS). Assim, quando um nome precisa ser resolvido, a primeira coisa que o resolver faz é procurar no cache local, se ele encontrar, não será necessário uma nova resolução, diminuindo assim o tempo de res-posta e o tráfego na rede.

DICA Para limpar o cache local no Windows, você deve uti-lizar o comando ipconfig /flushdns, no prompt de co-mando.

Cache nos servidores DNS

Umas das funções do servidor DNS é responder a consultas enviadas pelos clientes, quer seja por recursão ou interação. Assim como nos hosts clientes, servidores não autoritativos, ou seja, que não possuem autoridade sobre um do-mínio deverão realizar consulta a demais servidores DNS, e quan-do há resposta positiva, além de retornar ao cliente, mantém uma cópia do registro armazenado em cache local. Assim, uma próxima consulta de um cliente, será muito mais rápida, sem a necessidade de pesquisa para descobrir o servi-dor que possui autoridade sobre o domínio. O uso do cache agiliza o processo de resolução de nomes e também reduz o tráfego de rede gerado pelo DNS.

Page 88: UC15.Serviços_de_Redes

88 CURSOS TÉCNICOS SENAI

Quando as informações são grava-das no cache do servidor DNS, um parâmetro chamado Time-To-Li-ve (TTL) é associado a cada infor-mação. Esse parâmetro determina quanto tempo a informação será mantida no cahe até ser descar-tada. Isso permite, por exemplo, que uma informação disponível no cache não esteja desatualizada, devido a uma atualização no re-gistro do domínio DNS. O valor padrão do parâmetro TTL é 3600 segundos (1 hora).

Seção 3Órgãos Controladores

O Internet Corporation for Assigned Names and Numbers (ICANN) é responsável pela distribuição de endereços IP, atribuição de iden-tificadores de protocolos, admi-nistração do sistema de nomes de domínio de primeiro nível gené-ricos (gTLDs), códigos de países (ccTLDs) e pelas funções de ge-renciamento do sistema de servi-dores-raiz. Originalmente, esses serviços eram desempenhados por um contrato do governo dos Estados Unidos com a Autorida-de para Atribuição de Números na Internet e outras entidades.

Agora a ICANN desempenha a função da Internet Assigned Num-bers Authority (IANA). (ICANN-BR, 2001).

DICA Informações atualizadas so-bre a quantidade de redes IPs IPv4 e IPv6 alocadas /dis-poníveis para todas as RIR´s no mundo, podem ser en-contradas em: http://www.nro.net/statistics/index.html

Com o objetivo de um melhor controle, foram criados órgãos regionais nos continentes, todos submetidos a ICANN, delegando autoridade para os Registros Re-gionais de Internet – RIR .

Foram criados 5 RIR´s: AfriNic, APNIC, ARIN, LACNIC e RIPE.LACNIC é o Registro Regional de Internet – RIR para a América La-tina e o Caribe, sendo responsável pela alocação e administração dos endereçamentos IP e recursos re-lacionados (Números Autônomos e Resolução Inversa). O LACNIC por sua vez delega a responsabilidade em cada país a um órgão local. No Brasil, o fun-cionamento e o desenvolvimento da Internet ficam por conta do Comitê Gestor da Internet (CGI-BR). Para executar suas atividades, o CGI.br criou uma entidade civil, sem fins lucrativos, denominada “Núcleo de Informação e Coor-denação do Ponto BR” - NIC.br. O CGI.br criou grupos que coor-denam vários projetos nas áreas de maior importância da Internet que asseguram o funcionamento e desenvolvimento da rede. Algu-mas dessas entidades, incluindo a NIC.br que executa suas ativida-des, podem se destacar a CEP-TRO.br, CETIC.br, CERT.br e o registro.br.

Saiba Mais

Para mais informações, co-nhecer todas as atividades e projetos, visite o site do CGI.br: http://www.cgi.br

IANA - Internet Assigned Numbers Authority.

RIR: Regional Internet Registry.

Page 89: UC15.Serviços_de_Redes

89SERVIÇOS DE REDE

Seção 4O Protocolo DNS

O DNS é um protocolo de aplica-ção da pilha TCP/IP. Ele utiliza-se dos dois protocolos da camada de transporte (TCP e UDP) para a troca de informações. Em ambos, a porta utilizada é a 53.

Registros de Recursos

Cada zona de hierarquia DNS tem um conjunto dos Registros de Recursos (RR), associados a ela. Esses registros compõem a menor unidade de informação disponível no DNS. Um registro de recurso possui a estrutura: nome ou escopo, TTL, classe, tipo e valor (ou dados).O campo nome identifica o nome de domínio a qual o registro está relacionado. Um nome pode ser tanto relativo quanto absoluto. Nomes absolutos terminam com um ponto, e são completos. Por exemplo, no domínio exemplo.com.br, o nome “servidor1” se-ria interpretado como “servidor1.exemplo.com.br.”. Muita atenção no momento da configuração, pois a falta do ponto final, faz-se com que o nome seja relativo ao invés de absoluto, sendo que o DNS interpretaria erroneamente como “servidor1.exemplo.com.br.exemplo.com.br.”.O campo Time-To-Live (TTL) es-pecifica o tempo, em segundos, que o item de dados pode arma-zenar em cache e ainda ser conside-rado válido. Um exemplo de cam-po $TTL, que define um tempo de vida de 86400 segundos (um dia), é apresentado a seguir:

$TTL 7200

Figura 75 – Exemplo de Configuração de TTL

Classe especifica o tipo de rede. Os quatro valores disponíveis são: IN (Internet), CH (CHAOS), CS (CSNET – obsoleto) e HS (Hesiod). A classe IN é de longe a mais utilizada, uma vez que essa classe se refere a Internet.Para Nemeth, Snyder e Hein (2007, p. 272) “cada tipo de registro possui uma finalidade específica para o serviço DNS”. São definidos muitos tipos diferentes de tipos de registros DNS, sendo divididos em quatro grupos:

Tipo Nome Função

Zona

SOAStart Of

AuthorityDefine uma zona DNS.

NS Name ServerIdentifica servidores de zonas,

delega subdomínios.Bá

sico

s

A IPv4 AddressConversão de endereço para

nome em IPv4.

AAAA IPv6 AddressConversão de endereço para

nome em IPv6.

PTR PointerConversão de endereço para

nome

MXMail

ExchangerControla o roteamento de e-mail

Segu

ranç

a

DSDelegation

SignerHash da chave de assinatura de

chave da zona filha assinada.

DNSKEY Chave Publica Chave pública para um nome DNS.

NSEC Next SecureUsado com DNSSEC para respostas

negativas.

RRSIG SignatureConjunto de registros de recursos

assinados e autenticados.

Opc

iona

is

CNAMECanonical

NameApelidos ou aliases para um host.

LOC Location Localização e extensão geográfica.

SRV ServicesDá as localizações de serviços

bem conhecidos.

TXT TextComentários ou informações não

transcritas.

Quadro 16 – Tipos de Registros DNS Fonte: Nemeth, Snyder e Hein (2007, p. 272).

Page 90: UC15.Serviços_de_Redes

90 CURSOS TÉCNICOS SENAI

Em relação a Valor, para Nemeth, Snyder e Hein (2007, p. 272) “para cada tipo de registro de recurso, existe um escopo de valores que podem ser utilizados. Assim, para o registro A, por exemplo, os valores IPv4 (120.1.1.20), ou registros TXT tem como valor um texto qualquer”.

Registro SOA

Um registro SOA marca o início de uma zona, um grupo de registros de recursos no mesmo local dentro do espaço de nomes DNS. Esse nó da árvore também é chamado de ponto de delegação ou corte de zona. (______?, 2007, p. 273) Trata-se de citação direta? Qual autor?

O registro SOA é um dos registros mais importantes da zona DNS, pois além de marcar a autoridade pelo domínio, através do nome do servidor DNS primário, define outros valores como número de série da zona, o endereço de e-mail da pessoa responsável pelo domínio, além dos valores TTLs. Veja um exemplo:

Figura 76 – Exemplo de Registro SOA

@ IN SOA ns.exemplo.com.br. email.exemplo.com.br. ( 2009110100 ; Numero serial 7200 ; Atualizar (2 horas) 1800 ; Nova tentativa (30 minutos) 604800 ; Expirar (1 semana) 7200 ; Mínimo (2 horas) )

Nesse exemplo, o campo nome contém o símbolo @, que é uma abre-viatura para o nome da zona atual. Poderia ainda ser colocado o nome “exemplo.com.br.” no lugar. O TTL foi omitido desse registro. A classe é IN (Internet) e o registro é do tipo SOA. Os demais valores formam o campo dados.O valor “email.exemplo.com.br.” é o endereço de e-mail do contato téc-nico responsável pelo domínio, sendo que o @ (arroba) deve ser substi-tuido por um ponto. O primeiro de vários argumentos de dados quem vem dentro de parênteses é o número serial dos dados da zona. Nesse exemplo o valor é 2009110100, que significa a primeira modificação para a zona em 01 de novembro de 2009. A cada modificação efetuada no arquivo de zona DNS deverá ser incrementado esse valor. Os servidores DNS escravos solicitam dados de transferência da zona somente quando encontram um valor mais alto no servidor DNS principal.

SOA: Início de Autoridade.

Page 91: UC15.Serviços_de_Redes

91SERVIÇOS DE REDE

O primeiro valor TTL é o Atualizar (Refresh), que especifica com que frequência os servidores secundários devem fazer uma verificação no mestre para ver se o número serial da configuração da zona foi alterado. Toda vez que a zona for alterada, os escravos devem atualizar suas có-pias dos dados da zona. Se um servidor escravo tentar verificar o núme-ro serial, e o servidor mestre não responder, uma nova tentativa após o valor Nova Tentativa (Retry) será feita.O parâmetro Expirar (Expire) determina quanto tempo o servidor escra-vo deverá responder com autoridade pelo domínio, mesmo não conse-guindo mais se comunicar com o servidor mestre. O parâmetro Mínimo (Minimum) configura o tempo de sobrevida de respostas negativas que são armazenadas em cache.

Registros NS

Para Nemeth, Snyder e Hein (2007, p. 274), “Registros NS – Servido-res de Nomes identificam os servidores autorizados por uma determi-nada zona e delegam subdomínios a outras organizações. Os registros NS normalmente seguem o registro SOA”.

Figura 77 – Exemplo de Registro NS

exemplo.com.br. IN NS ns1.exemplo.com.br. IN NS ns2.exemplo.com.br

Observe que no primeiro registro, o nome de domínio foi utilizado, mas como é o mesmo valor, e o registro NS vem logo depois do SOA, o nome pode ser omitido. Os registros NS estão apontando para os servi-dores “ns1.exemplo.com.br” e “ns2.exemplo.com.br” como servidores com autoridade para o domínio exemplo.com.br.

Registros A

Registros A ou Endereços (Address) é o mais utilizado no arquivo de zona DNS. Ele é o responsável pelo mapeamento entre um nome ou host com o endereço IP. Observe o exemplo:

Figura 78 – Exemplo de Registro A

servidor1 IN A 192.168.0.1 servidor2 IN A 192.168.0.2

Registros AAAA

É exatamente a mesma idéia do registro A, mas ao invés de mapear um endereço IPv4, será mapeado um endereço da nova versão do protocolo IP, o IPv6. Observe:

Registros NS - Servidores de Nomes: Name Server.

Page 92: UC15.Serviços_de_Redes

92 CURSOS TÉCNICOS SENAI

Figura 79 – Exemplo de Registro AAAA

servidor2 IN AAAA 2001:10ad:a001:12:fa14:1:abd1:1005

Registros PTR

Registros PTR ou Ponteiro (Pointer) realizam o mapeamento reverso de endereços IP para nomes de hosts. É utilizado em uma zona DNS espe-cial, chamada in-addr.arpa ou zona de pesquisa reversa. As vantagens ou necessidades de se ter configurado resolução inversa é:

▪ inicialmente se utilizava resolução inversa como mecanismo auxiliar para segurança dos servidores disponíveis na Internet; ▪ atualmente alguns servidores de FTP não permitem conexão a partir

de endereços IP que não tenham resolução inversa configurada; ▪ é possível encontrar também servidores HTTP (web)configurados

para fazer a resolução inversa quando um computador inicia uma cone-xão. Essa informação é então armazenar em arquivos de registros (logs) para futuro processamento ou geração de estatísticas; ▪ recentemente tem sido cada vez mais comum encontrar servidores

de e-mail configurados para fazerem resolução inversa como parte dos procedimentos para controle de spam e de vírus. ▪ e há também o caso de ferramentas para solução de problemas de

rede, tal como “traceroute” que traça o caminho entre dois pontos na Internet.

Ainda segundo Lacnic (2009) “na hierarquia de nomes no sistema DNS a parte mais a esquerda é a mais específica e a parte a direita a menos es-pecífica. No entanto, na numeração de endereços IP isso está ao contrá-rio, ou seja, é mais específico o que está mais a direita em um endereço IP. Para resolver isso, deve-se fazer uma operação invertendo cada parte do endereço IP e então adicionar o nome de domínio reservado para resolução inversa (in-addr.arpa ou ip6.arpa).”Por exemplo, considerando o endereço IPv4 do nosso servidor DNS 192.168.0.1, ao ser transformado em zona reversa, inverte-se cada octe-to e adiciona-se o domínio para resolução inversa ao final: 1.0.168.192.in-addr.arpa. Já o registro PTR na zona 0.168.192.in-addr.arpa corres-ponde ao registro A dos servidores descritos anteriormente:

Figura 80 – Exemplo de Registro PTR

1 IN PTR servidor1.exemplo.com.br. 2 IN PTR servidor2.exemplo.com.br.

Page 93: UC15.Serviços_de_Redes

93SERVIÇOS DE REDE

Registros MX

O sistema de e-mail utiliza o registro MX , afim de “descobrir” qual o endereço do servidor de e-mail do domínio. É possível ainda criar vá-rios registros MX, apontando para servidores diferentes, com valores de prioridades diferentes.

Observe o exemplo abaixo:

Figura 81 – Exemplo de Registro MX

exemplo.com.br. IN MX 10 mail.exemplo.com.br. IN MX 20 mail2.exemplo.com.br.

Nessa situação, caso o primeiro servidor (mail.exemplo.com.br) não res-ponder, o outro registro MX com prioridade inferior (20) será utilizado, e as mensagens serão encaminhadas para esse servidor.

Registros CNAME

Os registros CNAME atribuem nomes adicionais a um host, ou seja, apelidos para associar funções ou outros nomes a um determinado host. Veja o exemplo:

Figura 82 – Exemplo de Registro CNAME

www IN CNAME servidor1 mail IN CNAME servidor2

Registros TXT

Com registros do tipo texto (TXT) é possível adicionar uma informação ou um texto que, por exemplo, identifica o site:

Figura 83 – Exemplo de Registro TXT

IN TXT “Zona DNS Exemplo, para estudos.”

Como o registro vem logo após os registros SOA e NS, ele herda o cam-po nome. Observe que a informação deve estar entre aspas. Atualmente registros TXT são muito utilizados através de uma ferramenta para veri-ficação de e-mails legítimos, chamado SPF.

SPF: Sender Policy Fra-mework.

MX: Mail Exchange.

Page 94: UC15.Serviços_de_Redes

94 CURSOS TÉCNICOS SENAI

Veja um exemplo:

Figura 84 – Exemplo de Registro TXT para Verificação de e-mails Legítimos (SPF)

exemplo.com.br. IN TXT “v=spf1 ip4:192.168.0.2”

Seção 5O Software BIND

O BIND é hoje um dos principais sistemas de serviço DNS. É desen-volvimento seguindo a metodologia de software livre, aonde seu código fonte é aberto e mantido pela ISC, e possui versões para os principais sistemas operacionais, como Linux, UNIX, Windows e Mac OS.

Segundo Nemeth, Snyder e Hein (2007, p. 286), “Havia três versões principais do BIND: BIND 4, BIND 8 e BIND 9. O BIND 4 está no mercado desde meados dos anos 80, o BIND 8 desde 1997 e o BIND 9, em meados de 2000.”Os mesmos autores ainda afirmam que “O BIND 8 incorporou núme-ros avanços técnicos, que aumentaram a eficiência, robustez e segurança. O BIND 9 aumenta ainda mais a aposta com suporte de multiproces-samento, operação segura de threads, segurança efetiva (criptografia de chaves públicas), suporte a IPv6, transferências incrementais de zonas e uma enormidade de outros recursos.” Atualmente, a principal versão utilizada é o BIND 9.

▪ O BIND possui três principais componentes:um daemon de servidor de nomes chamado named que responde a consultas; ▪ rotinas de biblioteca que solucionam consultas DNS contactando

outros servidores DNS; ▪ interfaces de linhas de comandos para o DNS, como nslookup, dig e

host.

Configuração do BIND

Para demonstrar a configuração de um zona DNS, será utilizado um nome de domínio fictício: exemplo.com.br. A configuração completa consiste no arquivo de configuração, no arquivo hints do servidor de nomes-raiz, além dos arquivos de dados de zona para servidores mestres do domínio. Na figura abaixo, você pode visualizar os arquivos padrão que fazem parte do servidor BIND.

Figura 85 – Arquivos do BIND

debian:/etc/bind# ls

db.0 db.255 db.local exemplo.com.br named.conf named.conf.local rndc.key

db.127 db.empty db.root exemplo.com.br~ named.conf~ named.conf.options zones.rfc1918

BIND: Berkeley Internet Name Domain

ISC: Internet Systems Consortium.

Page 95: UC15.Serviços_de_Redes

95SERVIÇOS DE REDE

A configuração do named, consiste principalmente no arquivo named.conf. Nesse arquivo, encontram-se as opções do servidor como um todo de forma global ou opções específicas, o papel do host (se irá atual como mestre, escravo, somente cache) ou ainda a maneira de como obter uma cópia de uma zona de outro servidor mestre (nesse caso ele atuando como escravo). A seguir, apresentamos um exemplo do arquivo named.conf:

Figura 86 – Arquivo de Configuração named.conf

include “/etc/bind/named.conf.options”;

zone “.” {

type hint;

file “/etc/bind/db.root”;

};

zone “localhost” {

type master;

file “/etc/bind/db.local”;

};

zone “127.in-addr.arpa” {

type master;

file “/etc/bind/db.127”;

};

zone “0.in-addr.arpa” {

type master;

file “/etc/bind/db.0”;

};

zone “255.in-addr.arpa” {

type master;

file “/etc/bind/db.255”;

};

zone “exemplo.com.br” {

type master;

allow-transfer { 192.168.1.8; } ;

file “/etc/bind/db.exemplo.com.br”;

};

zone “dominio2.com.br” {

type slave;

file “/var/cache/bind/db.dominio2.com.br”;

masters { 192.168.1.8; } ;

};

include “/etc/bind/named.conf.local”;

Cada instrução no arquivo come-ça com uma palavra chave que identifica o tipo de instrução. Observe que esse arquivo possui duas chaves include. O objetivo do include é separar determinadas partes do arquivo named, facilitan-do a sua configuração. Ao BIND ler o arquivo de configuração, o primeiro passo será incluir o ar-quivo named.conf.options, que trata de configurações globais do ser-vidor DNS, conforme visualizado na figura. Nela se encontram al-gumas diretivas como o diretório de trabalho do BIND e em quais interfaces ou endereços IPs que o serviço irá escutar.

Figura 87 – Arquivo named.conf.

options

options {

directory “/var/cache/bind”;

// forwarders {

// 0.0.0.0;

// };

auth-nxdomain no; # con-form to RFC1035

listen-on-v6 { any; };

};

A instrução zone é uma das mais importantes do BIND, pois in-formam para quais domínios o servidor DNS possui autoridade. Os principais tipos de zonas são: master, slave, hint, forward, stub e dele-gation-only. Observando a primeira instrução zone do arquivo named, ela aponta para o “.” e é tipo hint, ou seja, essa zona aponta para os servidores de domínio-raiz. É necessário para dar um ponto de partida ao named, em busca de informações sobre os demais domínios.

Page 96: UC15.Serviços_de_Redes

96 CURSOS TÉCNICOS SENAI

Os arquivos hint também são chamados de root.cache ou db.root.

DICA Visualize o conteúdo do arquivo db.root, para onde a zona “.” está apontando.

Outras zonas são definidas por padrão, por exemplo a localhost, mas ago-ra com o tipo master. Zona mestre ou principal é a zona que será confi-gurada e irá responder ao nome de domínio. Ela mantém a cópia oficial dos dados da zona em disco. Qualquer mudança ou alteração deverá ser realizada na zona mestre. O arquivo named.conf possui a zona localhost por padrão, afim de resolver consultas ao domínio localhost, assim como sua zona reversa (127.in-addr.arpa), e zonas broadcast, conforme descritos na RFC 1912.Como configuração fictícia da primeira zona, será utilizada a zona exem-plo.com.br. Observe que o arquivo named.conf possui a seguinte entrada:

Figura 88 – Instrução Zone para o Domínio Exemplo

zone “exemplo.com.br” {

type master;

allow-transfer { 192.168.1.8; } ;

file “/etc/bind/db.exemplo.com.br”;

};

O nome de domínio deverá sempre estar entre aspas duplas. Como esse servidor irá atuar como mestre, o tipo da zona será master. A opção allow-transfer especifica quais servidores DNS escravos podem receber uma cópia da zona DNS. Pode receber o endereço IP ou ainda a palavra-chace any, que significa qualquer servidor (opção essa não aconselhável, pois qualquer servidor da Internet poderia ter uma cópia completa do arquivo). Por fim, a opção file, irá apontar para o arquivo de configuração da zona, que possui os vários tipos de registros, conforme configurados a seguir:

Figura 89 – Arquivo de Dados da Zona Exemplo

exemplo.com.br. IN NS servidor1.exemplo.com.br.

IN NS servidor2.exemplo.com.br.

IN A 192.168.1.7

servidor1 IN A 192.168.1.7

servidor2 IN A 192.168.1.8

mail IN A 192.168.1.7

mail2 IN A 192.168.1.8

exemplo.com.br. IN MX 10 mail.exemplo.com.br.

IN MX 20 mail2.exemplo.com.br.

www IN CNAME servidor1

Existe também um segundo nome de domínio na configuração do named, a zona dominio2.com.br, conforme a entrada a seguir:

zone “dominio2.com.br” {

type slave;

file “/var/cache/bind/db.dominio2.com.br”;

masters { 192.168.1.8; } ;

};

Figura 90 – Instrução Zone para o

Domínio dominio2.com.br

Page 97: UC15.Serviços_de_Redes

97SERVIÇOS DE REDE

Essa diretiva zone possui o tipo slave, ou seja, o BIND irá atuar como um servidor escravo para esse domínio. Servidores escravos mantêm uma cópia completa do banco de dados de sua zona. A configuração é praticamente a mesma de um servidor mestre, com o acréscimo da instrução masters, no qual você deverá especificar o endereço IP do servidor mestre.Qualquer alteração nos arquivos de configuração do BIND, somente serão efetivas se o serviço for reiniciado (Nas distribuições Debian e Ubuntu utilize o comando: /etc/init.d/bind9 restart).Sempre visualize os logs do sistema, a fim de verificar se existe algum erro ou está tudo ok, como na figura:tro servidor de nomes (NS), o início de autoridade (SOA) e alguns registros de host (A). Servidores com essa zona não possuem autoridade na zona.

Com a zona DNS primária criada no servidor, você deverá criar os regis-tros de recursos, como pode ser visualizado na figura.

Figura 91 – Visualização de logs do BIND

debian:/etc/bind# tail /var/log/syslog

Nov 26 12:00:24 debian named[2670]: command channel listening on ::1#953

Nov 26 12:00:24 debian named[2670]: zone 0.in-addr.arpa/IN: loaded serial 1

Nov 26 12:00:24 debian named[2670]: zone 127.in-addr.arpa/IN: loa-ded serial 1

Nov 26 12:00:24 debian named[2670]: zone 255.in-addr.arpa/IN: loa-ded serial 1

Nov 26 12:00:24 debian named[2670]: zone dominio2.com.br/IN: loa-ded serial 8

Nov 26 12:00:24 debian named[2670]: zone exemplo.com.br/IN: loa-ded serial 2009110100

Nov 26 12:00:24 debian named[2670]: zone localhost/IN: loaded serial 2

Nov 26 12:00:24 debian named[2670]: running

Nov 26 12:00:24 debian named[2670]: zone exemplo.com.br/IN: sending notifies (serial 2009110100)

Nov 26 12:00:24 debian named[2670]: zone dominio2.com.br/IN: sending notifies (serial 8)

Um servidor recursivo de cache responde a consultas de usuários locais sobre sites na Internet. Um servidor com BIND, sem zonas de domínio mestre ou escravas configuradas pelo usuário, é um servidor apenas de cache, respon-sável em responder a consulta de clientes.Três ferramentas podem ser uti-lizadas no Shell para consultar o banco de dados do servidor DNS: nslookup, dig e host. Entre essas ferramentas, a dig é a ferramenta mais utilizada em Linux e consi-derada a mais completa. Configu-ra exemplos de utilização das fer-ramentas nas figuras a seguir:

Page 98: UC15.Serviços_de_Redes

98 CURSOS TÉCNICOS SENAI

Figura 92 – Saída do Comando nslookup

debian:/etc/bind# nslookup exemplo.com.brServer: 127.0.0.1Address: 127.0.0.1#53

Name: exemplo.com.brAddress: 192.168.1.7

Figura 93 – Saída do Comando DIG

debian:/etc/bind# dig exemplo.com.br

; <<>> DiG 9.5.1-P3 <<>> exemplo.com.br

;; global options: printcmd

;; Got answer:

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 40449

;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2

;; QUESTION SECTION:

;exemplo.com.br. IN A

;; ANSWER SECTION:

exemplo.com.br. 604800 IN A 192.168.1.7

;; AUTHORITY SECTION:

exemplo.com.br. 604800 IN NS servidor1.exemplo.com.br.

exemplo.com.br. 604800 IN NS servidor2.exemplo.com.br.

;; ADDITIONAL SECTION:

servidor1.exemplo.com.br. 604800 IN A 192.168.1.7

servidor2.exemplo.com.br. 604800 IN A 192.168.1.8

;; Query time: 1 msec

;; SERVER: 127.0.0.1#53(127.0.0.1)

;; WHEN: Thu Nov 26 12:04:38 2009

;; MSG SIZE rcvd: 128

Page 99: UC15.Serviços_de_Redes

99SERVIÇOS DE REDE

Seção 6Servidor DNS no Windows 2003

Por padrão, o software de servidor DNS do Windows 2003 não vem ins-talado. É necessária sua instalação, através do Painel de Controle, Adi-cionar/Remover Componentes do Windows, Serviços de Rede, opção Servidor DNS. Depois de instalado o serviço, a ferramenta de configu-ração estará disponível em Ferramentas Administrativas – DNS.Ao abrir pela primeira vez a interface de configuração do DNS, você verá a esquerda uma árvore, contendo o nome do servidor e em seguida três opções: Visualizar eventos (logs), Zonas de pesquisa direta e Zonas de pesquisa inversa.Zonas de pesquisa direta são as zonas DNS locais no servidor, respon-sáveis em resolver nome de host em endereço IP como, por exemplo, a zona exemplo.com.br configurada anteriormente no BIND. Já as Zonas de pesquisa inversa consistem em converter o endereço IP em um nome de host correspondente, conhecida como resolução inversa. No exemplo da figura, o servidor DNS está configurado com duas zo-nas DNS diretas, e uma zona DNS inversa. Observe atentamente!

Figura 94 – Zonas DNS no Servidor DNS Windows

Podem ser criadas três tipos de zonas no servidor DNS do Windows 2003: Zona primária, zona secundária e zona stub. A zona primária e a secundária você já viu nas seções anteriores, uma zona stub, cria uma cópia de uma zona, mas contém somente o registro servidor de nomes (NS), o início de autoridade (SOA) e alguns registros de host (A). Servi-dores com essa zona não possuem autoridade na zona.

Page 100: UC15.Serviços_de_Redes

100 CURSOS TÉCNICOS SENAI

Com a zona DNS primária criada no servidor, você deverá criar os re-gistros de recursos, como pode ser visualizado na figura.

Figura 95 – Criação de Registros no Servidor DNS Windows

Por padrão, o DNS do Windows 2003 permite a transferência de zonas apenas para os servidores DNS cadastrados na zona do domínio com o registro de recurso NS. Para o cadastro de uma zona de pesquisa direta, mas agora do tipo Es-cravo, os passos para o cadastro dessa zona são os mesmos para uma do tipo Principal: clicar em Zonas de Pesquisa Direta, e Ação – Nova Zona. Graças aos Assistentes de configuração, o Windows te guiará durante todo o processo de cadastro da nova zona DNS.Outro tipo de zona muito utilizado atualmente, principalmente para a total funcionalidade de servidores de e-mail, é a zona de pesquisa inversa. Ela consiste em fazer o mapeamento ao inverso, ou seja, o endereço IP retornará um nome de host, previamente cadastrado na zona de pesqui-sa direta. Através do Assistente de configuração do Windows, você verá uma op-ção para o cadastro da rede IP, que será automaticamente convertida para uma zona do tipo in-addr.arpa, como pode ser visto na figura ao lado:

Page 101: UC15.Serviços_de_Redes

101SERVIÇOS DE REDE

Figura 96 – Configuração do Zona de Pesquisa Inversa

Você já conhece o servidor de DHCP? Aqui, reservamos-lhe esta entre outras descobertas surpreendentes. Como saber, se não tentar? Vamos juntos!

Page 102: UC15.Serviços_de_Redes

Unidade de estudo 7

Seções de estudo

Seção 1 – Conceitos básicos Seção 2 – Instalando e Configurando o DHCPSeção 3 – Executando o cliente DHCP e efetuando testes

Page 103: UC15.Serviços_de_Redes

103SERVIÇOS DE REDE

Servidor de DHCP

Seção 1Conceitos básicos

DHCP é a sigla de Dynamic Host Configuration Protocol, ou Protoco-lo de Configuração Dinâmica de Host. O DHCP foi desenvolvido para facilitar a configuração dos diversos computadores existen-tes em uma rede. Desta forma, se o administrador de uma rede ou um técnico de suporte deves-se configurar os parâmetros para acesso à rede de cada computador em uma rede com 100 computa-dores, o trabalho seria demorado. (INTERNET ENGINEERING TASK FORCE, 1997).Com o uso deste serviço, quando um computador da rede é liga-do, o mesmo solicita ao servidor DHCP os parâmetros de configu-ração para acesso a outros recur-sos da rede. Os parâmetros para a configuração de acesso a rede de um host foram apresentados na seção 2 – Configurando a Rede, na Unidade de Estudo 1.

Seção 2Instalando e Configurando o DHCP

Existem diversos softwares que implementam o serviço DHCP. Os sis-temas operacionais mais modernos possuem uma implementação com os recursos mais utilizados nas redes de computadores. Nesta seção va-mos apresentar a instalação e configuração da versão 4.1.0 do mais po-pular servidor DHCP, disponível na maior parte das distribuições Linux.Para instalar o serviço em seu sistema operacional Linux, utilize um ge-renciador de pacotes ou baixe a instalação do DHCP Server da web O exemplo da instalação a seguir é através da utilização do gerenciador de pacotes Advanced Package Tool (APT).

Figura 97 – Instalação do servidor DHCP

apt-get install dhcp

Após a instalação dos arquivos necessários, estamos prontos para iniciar a configuração do serviço DHCP. Para isso, podemos utilizar qualquer editor de textos para visualizar e editar as linhas do arquivo de configu-ração. Normalmente, este arquivo está localizado em /etc/dhcpd.conf. A seguir, veja um exemplo deste arquivo.

Figura 98 – Exemplo de uma configuração dhcpd.conf

default-lease-time 300; max-lease-time 3600; option subnet-mask 255.255.255.0; option broadcast-address 255.255.255.255; option routers 192.168.0.1; option domain-name-servers 200.204.0.10, 200.204.0.138; option domain-name “exemplo.rede.br”; subnet 192.168.0.0 netmask 255.255.255.0 { range 192.168.0.50 192.168.0.100; }

Page 104: UC15.Serviços_de_Redes

104 CURSOS TÉCNICOS SENAI

Vamos analisar algumas das principais linhas do arquivo de configuração do serviço DHCP, através do exemplo. Os principais parâmetros deste arquivo são:

default-lease-time 300; Tempo limite da concessão do endereço IP para os

hosts.

max-lease-time 3600; Caso o cliente solicite um tempo maior, o tempo

máximo permitido será de 3600 segundos (1 hora).

option subnet-mask 255.255.255.0;

Define a máscara de sub-rede a ser fornecida aos clientes.

option broadcast-address 255.255.255.255;

Endereço de envio para requisições de broadcast.

option routers 192.168.0.1;

O cliente, além do número IP, recebe também a informação do número do equipamento que é o gateway de sua rede.

option domain-name-servers 200.200.0.1, 200.200.0.2;

Esta opção lista os servidores de nomes (DNS) a serem utilizados para resolução de nomes.

option domain-name “exemplo.rede.br”;

Os hosts devem pertencer ao domínio exemplo.rede.br

subnet 192.168.0.0 netmask 255.255.255.0 {

range 192.168.0.50 192.168.0.100; }

Esta opção indica a sub-rede à qual o equipamento pertencerá e a máscara de rede a ser utilizada.

Em seguida encontra-se a faixa de endereços IP que pode ser fornecida pelo servidor DHCP aos seus clientes. A linha indica que podem ser fornecidos endereços na faixa de 192.168.0.50 a 192.168.0.100.

Quadro 17 – Parâmetros de configuração do serviço DHCP

Quando qualquer parâmetro for alterado, é necessário reiniciar o serviço, utilizando, por exemplo, o comando restart. O servidor DHCP também pode ser configurado em um modo de alocação manual de endereços, onde o administrador pode especificar para cada endereço MAC de cada placa de rede, um endereço IP correspondente. Desta forma, quando o servidor DHCP identificar um pedido de configuração de um host que possui uma placa de rede com o endereço MAC especificado no arquivo de configuração ele irá atribuir uma configuração específica.

DICA Consulte esta e outras informações sobre o serviço DHCP na RFC 2131, através do endereço http://www.ietf.org/rfc/rfc2131.txt

Seção 3Executando o cliente DHCP e efetuando testes

Os sistemas operacionais facili-tam o processo de configuração dos clientes DHCP. Pois hoje, não é comum um sistema operacional que não possui acesso à uma rede. Sendo assim, podemos considerar que esta etapa é extremamente fá-cil de ser executada.As informações relacionadas à configuração básica da rede já fo-ram apresentadas na Unidade de Estudo 1. Mesmo assim, veremos a seguir alguns parâmetros impor-tantes.Na tela de status do seu dispositi-vo de rede, acione a opção “Deta-lhes”. Esta opção irá lhe fornecer informações sobre a configuração de seu dispositivo. Caso seu dis-positivo de rede esteja configura-do para “Obter um endereço IP automaticamente”, os usuários dos computadores da sua rede poderão usufruir do seu servidor DHCP previamente configurado.Observe o parâmetro “IPv4 Ser-vidor DHCP”. Quando é mostra-do um endereço IP neste campo, significa que este computador en-controu um servidor DHCP na rede a qual está conectado. Ob-serve também que todos os ou-tros parâmetros de acesso a rede estão definidos. Todos eles foram recebidos também através do ser-vidor. O campo “Vencimento da Concessão” indica o momento em que a validade desta configura-ção irá terminar. Isto significa que o cliente DHCP deverá renovar suas configurações solicitando-as novamente ao servidor.

Page 105: UC15.Serviços_de_Redes

105SERVIÇOS DE REDE

Figura 99 – Detalhes da configuração do dispositivo de rede

No Linux existe um software denominado “dhclient”. Esta ferramen-ta nada mais é do que um cliente DHCP que pesquisa por servidores DHCP em uma rede e recebe as configurações do host. É interessante iniciar o “dhclient” quando o seu sistema operacional for iniciado.Para verificar a configuração do seu host, utilize o utilitário “ipconfig”, já apresentado neste material.Estamos chegando à penúltima unidade de estudos desta unidade cur-ricular. Perceba o quanto você já avançou em seu estudo sobre Serviços de Rede. Vamos lá! Falta pouco...

Page 106: UC15.Serviços_de_Redes

Unidade de estudo 8

Seções de estudo

Seção 1 – Conceitos básicosSeção 2 – Telnet e SSHSeção 3 – RDP e VNCSeção 4 – VPN

Page 107: UC15.Serviços_de_Redes

107SERVIÇOS DE REDE

Seção 1Conceitos básicos

O acesso remoto tem como prin-cipal característica o acesso a ou-tro computador ou equipamento de rede sem precisar estar próxi-mo do mesmo; isso facilita o tra-balho da equipe de TI (Tecnologia da Informação), que muitas vezes precisa se deslocar até o local para resolver um problema simples ou até mesmo para tirar uma dú-vida de um usuário. A aplicação do acesso remoto também pode ser utilizada em casos mais com-plexos onde o computador que precisa ser acessado se encontra em um lugar distante, em outro estado, país ou até mesmo do ou-tro lado do mundo. Isso gastaria muito tempo e dinheiro, já com o acesso remoto você com ajuda de alguns serviços de gerenciamento feitos para este fim pode acessar este computador de maneira fácil, rápida e segura sem perda de tem-po e dinheiro.A seguir você conhecerá e saberá como funcionam alguns dos ser-viços mais utilizados para prover o acesso remoto. Vamos em frente!

Serviço de Gerenciamento Remoto

Seção 2Telnet e SSH

Telnet

Telnet é um protocolo cliente-servidor que provê acesso a computadores remotos dentro de uma rede, seja ela LAN ou WAN, que se baseiem em TCP.Com o passar o tempo este protocolo vem sendo substituído pelo SSH isso porque o Telnet não provê segurança das informações durante a comunicação, assim facilitando acesso a informação pessoais como se-nhas e logins. Isso deve-se ao fato de que o Telnet utiliza texto plano na transferência das informações assim qualquer software de captura de pacotes pode interceptar e ter acesso a essas informações, ao contrário do SSH que utiliza criptografia nas informações, com isso tornando-as mais seguras.

Utilizando Telnet

Telnet é uma ferramenta que já vem nativa no sistema operacional, porém é necessário que você ative este serviço, no Windows XP por exemplo este recurso se encontra nas ferramentas administrativas no painel de controle. Lá você encontrará o ícone “serviços” onde você poderá ativar o Telnet. Observe na imagem.

Page 108: UC15.Serviços_de_Redes

108 CURSOS TÉCNICOS SENAI

Figura 100 – Ativando Telnet no Windows XP

Para que você possa estabelecer uma conexão remota utilizando o Telnet você deve ativá-lo tanto na máquina local quanto na máquina remota, após ter ativado, no prompt de comando digite o comando Telnet segui-do do IP do computador remoto.

Figura 101 – Acessando Computador Remoto Via TELNET

Para configurar o servidor de Telnet no Linux é necessário a instalação do pacote Telnetd utilizando o comando apt-get install Telnetd. Feita a ins-talação você poderá acessar o arquivo que controla o funcionamento do Telnet que se encontra em /etc/inetd.conf e os arquivos que controlam o acesso se encontram em /etc/hosts.allow e /etc/hosts.deny, nestes dois arquivos você pode estabelecer regras de acesso ao computador onde hosts.allow é responsável por liberar o acesso e o hosts.deny restringe o acesso a recursos do servidor.Para acessar o computador remoto utilize o comando Telnet + endere-ço IP + Porta (no caso do Telnet é a porta 23). Observe, atentamente, a imagem.

Page 109: UC15.Serviços_de_Redes

109SERVIÇOS DE REDE

Figura 102 – Conexão Telnet no Linux

SSH

O SSH tem o mesmo princípio de funcionamento do TELNET, po-rém conforme já citado, este conta com criptografia no trafego de suas informações, assim evitando que pessoas de má índole tenham acesso a informações sigilosas; o SSH é muito utilizado por administrador de rede que desejam monitorar seus servidores Linux remotamente.

Chaves de Criptorafia no SSH

Transferir arquivos entre computadores utilizando SSH é uma funcio-nalidade bastante útil em certos momentos. Mas é importante que essa transferência tenha uma autenticação, normalmente feita através de se-nhas criptografadas.A criptografia é dividida em dois grupos: o das chaves simétricas e o das chaves assimétricas.

Chaves Simétricas

Esse é um tipo mais simples de chave onde todos os integrantes da comunição devem ter conhecimento da chave de criptografia; essa cha-ve é conhecida com chave pública, a mensagem antes de ser enviada é criptografada e criada uma chave. Esta chave deve ser de conhecimento do receptor para que o mesmo possa decodificar e ler as informações.

Chave Assimétrica

É tipo de chave utilizado pelo SSH onde um par de chaves gera a chave pública e a chave privada onde a chave pública pode ser utilizada por qualquer host que deseje enviar informações. Essas informações serão encriptadas com a chave pública e enviadas, e somente com o uso da chave privada as informações poderão ser decriptadas e lidas, daí a im-portância de manter a chave privada no mais absoluto sigilo.

SSH: Secure Shell

Page 110: UC15.Serviços_de_Redes

110 CURSOS TÉCNICOS SENAI

1° Cada usuário cria seus pares de chave

2° Maria envia sua chave pública para João.

3° João criptografa a mensagem com a chave pública de Maria.

4° Maria recebe a informação crip-tografada e a descriptografa utilizan-do sua chave pública.

Figura 103 – Utilizando o SSHFonte: Adaptado de Devmedia (2004).

A

A

A

helloAlice

helloAlice

x0Ak3o$2Rj

helloAlice

A helloAlice

helloAlicex0Ak3o$2Rj

helloAlicex0Ak3o$2Rj A

Configurando o Servidor

Para configurar o servidor SSH basta você instalar o pacote openssh-server, isso é feito com o comando apt-get install openssh-server.O arquivo de controle do SSH esta em #/etc/ssh/sshd_configO arquivo de configuração de clientes esta em #/etc/ssh/ssh_configNestes arquivos é importante que você faça algumas configurações como a porta que será utilizada para comunicação SSH, o padrão é 22, mas pode ser uma outra qualquer, fica a seu critério. Outro item impor-tante a ser configurado são os usuários que poderão acessar o servidor via SSH, uma configuração importante que deve ser feita no arquivo sshd_config é a definição do acesso remoto para o root. Para isto edite o arquivo sshd_config

Figura 104 – Configurando acesso para root

Desabilitar o acesso via SSH para o root é importante porque assim você estará evitando que qualquer pessoa que tenha a senha de root acesse o servidor de qualquer lugar; assim outros usuários com privilégios admi-nistrativos terão que se autenticar com seus respectivos usuários.Isso ajudará no controle e rastreabilidade de usuário, gerando arquivos de log que mostrarão os passos executados pelos usuários autenticados.

DICA OBS: Para se logar direta-mente como root o mesmo terá que deter acesso físico ao servidor.

Feito isso pare o serviço SSH com o comando # /etc/init.d/ssh stop e em seguida inicie o SSH com o comando # /etc/init.d/ssh start.

Acesso ao Servidor

Linux

Para acessar o servidor SSH de uma estação Linux você deve di-gitar o seguinte comando, SSH nome do usuário seguido de @ e endereço IP, conforme mostrado no exemplo abaixo:

# ssh [email protected]

Figura 105 – Acessando Computador através de SSH

WindowsA comunicação do SSH acorre na porta 22, logo você precisa utili-zar um programa que se conecte a esta porta, no Windows um pro-grama muito utilizado para for-necer acesso remoto via SSH é o Putty.

▪ configure o nome ou IP do computador que você deseja acessar remotamente. ▪ configure a porta de comuni-

cação ▪ configure o protocolo de co-

municação no caso SSH ▪ clique em “Open”

Page 111: UC15.Serviços_de_Redes

111SERVIÇOS DE REDE

Figura 106 – Acesso Remoto Utilizando Putty

Seção 3RDP e VNC

RDP

Este protocolo vem sendo utilizado desde o Windows NT. Foi criado com o intuito de prover administração remota em servidores Windo-ws, mas com o tempo foi se expandindo e se tornou um protocolo de gerenciamento remoto dando origem ao WTS, onde vários canais de comunicação podem ser estabelecidos de forma independente com um mesmo servidor Windows. O processamento das informações fica por conta do servidor.

Obs: Um detalhe sobre a implementação do protocolo RDP é com relação as licenças, onde além do servidor cada estação terá que ter sua própria licença.

RDP: Remote Desktop Proto-col.

WTS: Windows Terminal Ser-vices.

Page 112: UC15.Serviços_de_Redes

112 CURSOS TÉCNICOS SENAI

Para ativar o acesso remoto em maquinas Windows você precisa liberar o acesso remoto e nas propriedades do sistema e definir os usuários que estarão aptos a efetuar a acesso remoto.

Figura 107 – Configuração de acesso remoto

Nos clientes Windows utilize a ferramenta de conexão de acesso remoto para acessar outro computador utilizando o protocolo RDP. Nos clientes Linux utilize o comando rdesktop seguido do IP do host remoto.

Figura 108 – Acessando computador remoto utilizando rdesktop

# rdesktop 172.16.5.33

Apenas os usuários cadastrados poderão ter acesso remoto ao siste-ma Windows.

VNCO VNC é um protocolo desenvolvido para prover interfaces gráficas remotamente, através deste protocolo você pode se conectar a outro computador de forma a ter acesso a toda parte gráfica do sistema como se estivesse na frente do mesmo.

Este protocolo utiliza a estrutura cliente-servidor onde um servidor pre-cisa estar configurado para que os clientes possam acessá-lo remota-mente. Este protocolo é suportado tanto em plataformas Windows com Linux. O VNC fornece recursos com autenticação assim evitando que qualquer usuário possa se conectar remotamente ao computador servidor, recur-so de mensagens também é importante neste tipo de aplicação.

VNC: Virtual Network Com-puting.

Page 113: UC15.Serviços_de_Redes

113SERVIÇOS DE REDE

Para fazer uso do VNC do Windows você pode utilizar um aplicativo VNC, onde você precisará instalá-lo em uma máquina servidor e poderá atribuir senhas de acesso, em seguida, instale o VNC na máquina que será feito o acesso remoto.Abra o aplicativo digite o IP do servidor, em seguida, autentique-se uti-lizando a senha que foi configurada, pronto, você estará acessando a servidor remotamente com se estivesse na frente do mesmo.

Figura 109 – Exemplo de Conexão por VNC

Para utilizar o VNC no Linux você precisa instalar no servidor os pa-cotes vnc4server e o virt-viewer com o comando apt-get install vnc4server e apt-get install apt-get install, na maquina que efetuará acesso ao servidor instale apenas o virt-viewer.Para acessar o servidor digite o # vncviewer e uma tela de login aparecerá.

Figura 110 – Conexão VNC no Linux

Seção 4VPN

VPN é uma rede privada que utiliza a rede pública para estabelecer co-nexão com o host remoto, ou seja, neste tipo de rede não é necessário o uso de serviços com link dedicado, ao invés disto a VPN faz uso da infra-estrutura da Internet.

VPN: Virtual Private Network ou Rede Privada Virtual

Page 114: UC15.Serviços_de_Redes

114 CURSOS TÉCNICOS SENAI

As redes com links dedicados têm um desempenho superior em con-trapartida seu custo é elevado, já as VPN utilizam a Internet que está presente em todo o mundo. Isso torna a aplicação mais barata. Mas, a privacidade é um fator deve ser analisado ao utilizar este tipo de rede, pois como a VPN utiliza a Internet onde as informações podem ser interceptadas em qualquer ponto da rede. Isso tornaria a VPN inviável em casos onde as informações que trafegam na rede precisam de um alto nível de segurança, mas para solucionar este problema, avançados serviços de criptografia foram criados.

DICA Ao se aplicar um serviço de VPN é de suma importância que os apa-relhos envolvidos sejam capazes de garantir a privacidade, autentici-dade e integridade das informações

Uma VPN pode ser implementada de duas formas na primeira o host lo-cal se conecta a um provedor este por sua vez estabelece um link com o host remoto, assim formando um túnel entre o host local e o host remoto, na segunda forma duas redes se conectam através de links dedicados e forma o túnel entre as duas redes.

Figura 111 – Exemplo do Funcionamento VPNFonte: Sonic (1994).

Wired Client Wireless Client

VPN Tunnel

Internet

Host #1Host #2

Host #3

Tunelamento

O nome tunelamento deve-se ao fato de que ao implementar uma VPN você estará criando um tú-nel entre o host local e o host re-moto é e dentro deste túnel que irá acontecer a trafego das infor-mações, logo tunelamento pode ser definido como o processo de encapsular um protocolo dentro do outro.

Protocolos de Tunelamento

Para se estabelecer uma comu-nicação com VPN é necessário que o mesmo protocolo de tune-lamento esteja configurado tanto no host local quanto no host remo-to, o tunelamento pode ocorrer tanto na camada 2(enlace) quan-to na camada 3(rede) do modelo OSI.

Protocolos de Tunelamento da camada de Enlace: ▪ PPTP (Point-to-Point Tunneling

Protocol) ▪ L2TP (Layer 2 Tunneling

Protocol) ▪ L2F (Layer 2 Forwarding)

Protocolos de Tunelamento da camada de Rede:

▪ O IP Security Tunnel Mode (IPSec)

Page 115: UC15.Serviços_de_Redes

115SERVIÇOS DE REDE

Funcionamento dos Túneis

No tunelamento que ocorre na camada 2 as seções nas extremidades do túnel negociam configurações como compressão, criptografia e endere-çamento. A gerência do túnel é feita por protocolos de manutenção este por sua vez é responsável por criar, manter e encerrar um túnel, já o tu-nelamento de camada 3 o processo é o mesmo do de camada 2 mas, sem existência da manutenção do túnel onde uma vez que o túnel é criado as informações já podem trafegar.

Requisitos básicos para uma VPN

Os itens listados no quadro a seguir mostram os requisitos básicos para qualquer VPN visando garantir a integridade, a segurança, a privacidade e o gerenciamento. Veja!

Autenticação do Usuário

Prover verificação da identidade, assim evitando o acesso de pessoas não autorizadas.

Gerencia de Endereço

O endereço de sua rede não pode ser divulgado, opte por endereços fictícios.

Criptografia

Os dados devem trafegar na rede publica de forma cifrada, pois caso venham a ser interceptados os mesmos não possam ser decifrados.

Essas informações só poderão ser lidas por usuários com autorização.

Gerencia de Chaves

O uso de chaves garantirá que as informações que trafegam na rede só poderão ser lidas pelas partes envolvidas.

Suporte a Vários Protocolos

Com os vários protocolos existente é desejável que uma VPN de suporte aos mesmos como IP e IPX.

Quadro 18 – Requisitos Para Uma VPN

A partir de agora estudaremos sobre serviço de diretórios de rede: Active Directory e OpenLDAP. Como pode perceber, estamos chegando ao final desta unidade curricular. Continue conosco!

Page 116: UC15.Serviços_de_Redes

Unidade de estudo 9

Seções de estudo

Seção 1 – Active DirectorySeção 2 – OpenLDAP

Page 117: UC15.Serviços_de_Redes

117SERVIÇOS DE REDE

Serviço de Diretórios de Rede

Seção 1Active Directory

O AD é um software da Microsoft desenvolvido para trabalhar sobre a plataforma Windows existe desde o Windows Server 2000, surgiu da necessidade de centralização das informações, assim criando um domínio onde vários servi-dores e computadores executam essa centralização, assim evitando vários problemas e facilitando o gerenciamento das informações contidas em uma rede.

Características do AD

▪ Centralização de informações sobre usuários e senhas; ▪ Fornecimento de autenticação; ▪ Permitir a criação de usuários

com suas devidas permissões de acesso; ▪ Criação de subdomínios

também conhecido como UO�s unidades organizacionais.

Compreendendo um AD

Para entender melhor é importan-te conhecer alguns dos principais elementos que compõe um AD.

Domínios

É um grupo de máquinas e re-cursos, onde todas as informa-ções existentes neste grupo são controladas pelo controlador de domínio este não é nada mais que um servidor que tem a função de fornecer e verificar a autenticação dos usuários onde cada estação

de trabalho pertencente ao domí-nio, ao tentar acessar recursos da rede terá que fornecer um usuário e senha, então o controlador de domínio verificará a autenticida-de das informações em seu banco de dados, e assim poderá liberar o acesso de acordo com as diretivas especificadas pelo administrador de rede.

Grupo de Usuários

Dentre os itens que devem ser avaliados ao se implementar um sistema de gerenciamento de ar-quivos, um dos principais se re-fere às permissões de usuários, é isso que torna um AD realmente funcional, imagine que na empre-sa XYZ exista um documento com informações financeiras que só diz respeito a equipe de geren-cia mas os usuários do setor de RH também consegue visualizar e alterar as informações contidas neste documento, ou seja este documento esta completamente desprotegido e pondo em risco a autenticidade das informações nele contida.Daí a importância de se criar gru-pos e permissões de usuários se-guindo parâmetros de acesso.Vamos utilizar a mesma situação citada a pouco com a empresa XYZ, mas com um correto siste-ma de permissões implementado, onde serão criados dois grupos de usuários um denominado “gerên-cia�� e o outro “RH�� e em cada grupo será adicionado os respec-tivos usuários, ou seja, funcioná-

AD: Active Directory.

Page 118: UC15.Serviços_de_Redes

118 CURSOS TÉCNICOS SENAI

rios da gerência no grupo “Gerência�� e funcionários do RH no grupo “RH��. Agora, no documento, basta configurar para que apenas o grupo “Gerência�� tenha permissão para ler e alterar as informações do do-cumento, assim automaticamente todos os integrantes que compõe o grupo “Gerência” poderão acesso o documento.Suponhamos ainda que alguém do RH foi promovido a Gerência, basta você tirar o usuário do grupo “RH�� e colocar no grupo “Gerência�� que o mesmo passará a ter acesso ao documento.Este é um pequeno exemplo do que pode ser feito com um bom sistema de gerenciamento de diretórios.

Figura 112 – Exemplo de Acesso a um Arquivo no AD

Unidades Organizacionais (UO’s):

Unidades organizacionais são subdivisões do domínio principal, pois como o domínio é algo muito grande ele se torna difícil de ser gerencia-do e com as UO�s você pode dividir este domínio principal em partes e assim restringindo mais o acesso aos recursos da rede. Suponhamos que em sua empresa exista um laboratório que contenha máquinas com alto poder de processamento voltado para renderização de imagens, e por algum motivo as pessoas que fazem uso desses com-putadores precisam tem permissões administrativas sobre os mesmo. Isso pode ser feito, basta criar uma UO, cadastrar todos os computado-res dentro da mesma e atribuir privilégios administrativos para os usu-ários que utilizam o laboratório sobre esta UO. Com isto os usuários serão administradores somente desta UO, mas se estes mesmos usuários forem logar em outro setor da empresa voltarão a ter seus privilégios normais.

DICA OBS: Antes de aplicar qual-quer sistema de gerencia-mento de diretórios é ne-cessário que você faça um estudo aprofundado das necessidades da rede, pois um AD configurado de for-ma incorreta pode tornar sua rede completamente instável.

Construindo um AD

À medida que você for imple-mentando o AD é importante que você preste atenção nos detalhes e aos poucos vá conhecendo os re-cursos que o sistema oferece, para se criar um AD primeiramente no menu “Iniciar” você deve digitar o comando dcpromo (figura 124), feito isso um assistente de con-figuração aparecerá (figura 125), é importante que você leia com atenção as instruções à medida que você for avançando, pois du-rante a instalação do AD você po-derá configurar o DNS, o nome que será dado ao seu domínio, local onde será armazenado o seu banco de dados e log�s, etc.

Page 119: UC15.Serviços_de_Redes

119SERVIÇOS DE REDE

Figura 113 – Executando Dcpromo

Figura 114 – Assistente de Instalação do AD

Feitas as configurações iniciais do AD, o assistente executará a insta-lação, após o término da instalação uma janela aparecerá pedindo que você reinicie o seu computador, faça isso.Após seu computador ter sido reiniciado verifique se o AD foi instalado com sucesso clicando no menu “iniciar”, “Ferramentas Administrati-vas” e procure por um item com nome “Usuários e computadores do Active Directory”, caso encontre, é sinal de que seu AD foi instalado com sucesso e está pronto para se tornar um controlador de domínio (Figura 126).

Page 120: UC15.Serviços_de_Redes

120 CURSOS TÉCNICOS SENAI

Domínio: Nome este que foi dado no assistente durante a criação do seu AD.

Figura 115 – Verificando Instalação do AD

O próximo passo é criar contas de usuários para que você possa fazer os primeiros testes, isso pode ser feito dentro do próprio Active Directory, após a criação dos usuários você deve criar grupos e inserir os usuários dentro destes grupos com isso você poderá atribuir permissões aos gru-pos e automaticamente aos seus integrantes.

Testes

Depois de feita a instalação e verificação da instalação do AD, criado as contas dos usuários e os ter separado em grupos é chegada a hora de executar alguns testes para verificar o funcionamento.

OBS: Para efetuar esses testes é importante testar a comunicação dos computadores com o controlador de domínio. Isso pode ser feito atra-vés do prompt executando o comando ping + IP DO CONTROLADOR DE DOMINIO.

Para testar se seu AD esta funcionando corretamente, você terá que au-tenticar outro computador no domínio criado. Vamos utilizar um com-putador com Windows XP como exemplo onde para inserir a máquina no domínio você deve clicar com botão direito em “meu computador”, “propriedades”. Em seguida clique na aba “nome do computador” clique na opção “alterar” habilite a opção “domínio” e insira nome do seu do-mínio e para finalizar clique em OK (figura 127), então uma mensagem aparecerá confirmando a inserção do computador no domínio, reinicie o computador e utilize o login de um dos usuários criados no AD para se autenticar no domínio.

Page 121: UC15.Serviços_de_Redes

121SERVIÇOS DE REDE

Caso a autenticação acorra com sucesso é sinal de que seu sistema de serviço de diretórios está funcionando corretamente, agora você pode controlar todos os seus diretórios de acordo com suas necessidades.

Figura 116 – Inserindo Computador no Domínio

DICA O AD é uma ferramenta que possui inúmeros recursos de controle, portanto cabe a você estudar, praticar e ir se aprimorando constantemen-te, para que possa tornar seu controlador de domínio cada vez mais estável e funcional.

Seção 2OpenLDAP Introdução

OpenLDAP faz parte da grande fa-mília de softwares livres, e trabalha sobre o protocolo LDAP, atuando como um serviço de diretórios, várias distribuições Linux já vem com o pacote OpenLDAP incluso.

Figura 117 – Logotipo OpenLDAPFonte: OpenLDAP (2002).

Planejamento

Antes de implementar um servidor LDAP é necessário que você faça um estudo detalhado em sua rede, onde você deve saber quantos usu-ários farão uso do servidor, se a empresa tem filiais e quantas são, e também ter uma noção do percentual de crescimento da empresa, para evitar que em um futuro próximo seu sistema venha a não atender mais as necessidades da empresa.Baseado no levantamento das informações você vai decidir como será a implementação de seu servidor LDAP, vejamos algumas situações.

Primeira Situação:

A primeira situação é tradicional, onde o servidor LDAP será imple-mentado em uma empresa de pequeno porte que não tem filiais, ou uma empresa que tenha filiais, mas apenas a matriz tem interesse no serviço. (TRIGO, 2007, p. 31).

Page 122: UC15.Serviços_de_Redes

122 CURSOS TÉCNICOS SENAI

Segunda Situação:

Nesta, a realidade é completamente inversa a da primeira situação, aqui tanto a matriz quanto as filiais fazem uso dos servidores de diretórios, mas para esta situação podem existir duas soluções de implementação, uma onde tanto a matriz quanto as filiais fazem acesso apenas ao servidor da matriz e a segunda é a solução mais viável. A ideia é ter um servidor de diretórios em cada unidade, assim a matriz e as filiais terão seu próprio servidor, onde os usuários das filias poderiam acessar o servidor em sua própria rede local, e caso fosse necessário, alguma informação da matriz o servidor local faria uma solicitação ao servidor da matriz e este, por sua vez, responderia. (TRIGO, 2007, p. 31).Como você pode observar cada caso é um caso e cada um possui uma melhor forma de implementação, o OpenLDAP é um recurso de rede que na maioria das vezes trabalha em paralelo com outros serviços como samba, proxy, DNS, Apache, FTP, Postfix, dentre outros.

Estrutura do OpenLDAP

A organização do OpenLDAP é muito parecida com a do DNS, onde se assemelha a uma árvore que serve para impor delimitações políticas, geográficas e organizacionais. Nessas delimitações observa-se normal-mente o host com nível mais alto (raiz) e o nome do domínio de uma organização ou pais, em seguida aparecem as representações dos estados de um pais e assim por diante. A figura abaixo mostra um exemplo de estrutura do OpenLDAP.

cn=Maria A Silvacn: Maria Silvacn:Mari Amail:[email protected]...

o=Brasil Ltdamail:[email protected]:123-456-7890

Servidor 2c = BRc = AR

o = U de M

Figura 118 – Exemplo de Árvore de Diretórios LDAP

Fonte: Conectiva (2004).

Instalando o OpenLDAP

O OpenLDAP é um pacote que já vêm integrado em muitas distribuições Linux com Debian, SUSE, Red Hat, etc. Aqui utilizaremos o Debian para mostrar a você como instalar e con-figurar o OpenLDAP algumas informações ou localizações de arquivos poderão mudar de uma distribuição para outra.

Matriz: Esta aplicação é in-viável para as filiais devido à lentidão da rede, a não ser que as filiais possuam links dedicados com a matriz, de-corre daí uma questão de custo.

Page 123: UC15.Serviços_de_Redes

123SERVIÇOS DE REDE

Para instalar o pacote do OpenLDAP execute o seguinte comando:

Figura 119 – Instalação do pacote slapd

# apt-get install slapd

Instale também o pacote ldap-utils.

Figura 120 – Instalação do pacote ldap-utils

# apt-get install ldap-utils

Feita a instalação você pode ter acesso ao arquivo de configuração de diretórios do OpenLDAP que está localizado no /etc/ldap/slapd.conf, este arquivo é subdividido em setores onde cada um é responsável por algumas das configurações que compõe o sistemas de diretórios.

SCHEMA

Estes arquivos são armazenados em diretórios, são acionados dentro do arquivo de configuração do servidor e também estipulam que tipo de dados poderão ser armazenados nos diretórios. O quadro que segue mostra um setor do arquivo de configuração do servidor onde os esque-mas são acionados.

include etc ldap schema core.schema

include etc ldap schema cosine.schema

include etc ldap schema nis.schema

include etc ldap schemainetorgperson.schema

Figura 121 – Schemas Inclusos no Slapd.conf

Serviços

Neste setor estão localizados os parâmetros de configuração relaciona-dos aos processos, arquivos de log e módulos a serem carregados pelo OpenLDAP durante sua execução.

Page 124: UC15.Serviços_de_Redes

124 CURSOS TÉCNICOS SENAI

Figura 122 – Parâmetros de configuração do OpenLDAP

pidfile /var/run/slapd/slapd.pid

argsfile /var/run/slapd/slapd.args

loglevel 16

modulepath /usr/lib/ldap

moduleload back_bdb

▪ pidfile: especifica o local onde esta armazenado o arquivo que con-tem o PID (Process ID ) do processo slapd em execução; ▪ argsfile: especifica o local onde esta armazenado o arquivo com os

parâmetros utilizados pelo sladp; ▪ loglevel: representa os tipos dos arquivos que devem ser armazena-

dos nos arquivos de log.

Nível Informação gravada

-1 Todas as informações de log

0 Nenhuma informação de log

1 Chamadas de funções

2 Depuração do manuseamento dos pacotes

4 Depuração detalhada

8 Gerenciamento da conexão

16 Pacotes enviados e recebidos

32 Processamento do filtro de pesquisa

64 Processamento do arquivo de configuração

128 Processamento das listas de controle de acesso

256 Estatísticas para conexão, operações e resultados

512 Estatísticas para resultados devolvidos aos clientes

1024 Comunicação com backends de Shell

2048 Depuração da análise sintática (parsing) das entradas

Quadro 19 – Níveis de logFonte: Machado, 2006.

Page 125: UC15.Serviços_de_Redes

125SERVIÇOS DE REDE

▪ Modulepath: Mostra onde está salvo o módulo que será carregado dinâmicamente. ▪ Moduleload: Carregará o módulo indicado.

DATABASE

Aqui você encontrará todas as informações relacionadas com o banco de dados.

Aqui, algumas linhas são fundamentais para a configuração do OpenL-DAP:

▪ suffix “dc=ti,dc=senai,dc=br”: é onde será definido o domínio ▪ rootdn “cn=adm,dc=ti,dc=senai,dc=br”: definido o nome do admi-

nistrador do OpenLDAP. ▪ rootpw {MD5}4QrcoU6Wau=VuBX8G+IPg == : senha do admi-

nistrador que pode ser tanto em texto puro como com criptografia.

Figura 123 – Configurações da base de dados OpenLDAP

backend bdbcheckpoint 512 30database bdbsuffix "dc=ti,dc=senai,dc=br"directory "/var/lib/ldap"index objectClass eqrootdn "cn=adm,dc=ti,dc=senai,dc=br"rootpw {MD5}4QrcoU6Wau=VuBX8G+IPg ==lastmod onmode 0600cachesize 2000

access to attrs=userPasswordby dn.base="cn=adm,dc=ti,dc=senai,dc=br" writeby anonymous authby self writeby * noneaccess to *by dn.base="cn=adm,dc=ti,dc=senai,dc=br" writeby * read

DICA O arquivo de configuração mostrado anteriormente possui informa-ções confidenciais, portanto atribua permissão somente para o root.

Após ter feito todas as configurações no arquivo slapd.conf teste para ver se esta tudo certo com o comando slaptest conforme mostra a figura.

Figura 124 – Testando Servidor LDAP

debian: /etc# slaptestconfig file testing succeededdebian: /etc#

Comandos do LDAP (Básico)

Os comandos utilizados no OpenLDAP têm como principal característica a manutenção da base de dados LDAP. A seguir você verá os principais comandos utilizados para este fim juntamen-te com seus parâmetros.

ldapadd

Utilizado para incluir informa-ções na base LDAP. Possui como principais parâmetros, a opção de definir um arquivo ldif a ser inclu-ído na base, utilizar autenticação simples, especificar um domínio e especificar uma senha.

ldapdelete

Pode ser utilizado para eliminar qualquer entrada de registro da base LDAP. Tendo como princi-pais parâmetros a utilização de au-tenticação simples, especificação de domínio e um parâmetro para especificar um arquivo externo que contém informações a serem apagadas da base.

Page 126: UC15.Serviços_de_Redes

126 CURSOS TÉCNICOS SENAI

ldapmodify

Comando utilizado para alterar campos da base LDAP. Por exemplo, você pode precisar alterar o nome de um grupo ou e-mail de um usuário. Sua utilização é muito semelhante com o comando ldapadd.

ldapmodrdn

Permite renomear uma entrada da base LDAP. Já para renomear um grupo, por exemplo, é necessário que a entrada esteja vazia. Tem como parâmetro diferenciado a possibilidade de uso do binddn (administra-dor) para acessar o diretório LDAP. Também pode ser indicado o DN e/ou RDN da entrada a ser modificada.

ldappasswd

Esse comando é utilizado para alterar a senha de um usuário existente na base LDAP. Seus principais parâmetros são o uso de autenticação simples ao invés de SASL, usar o binddn (administrador) para acessar o diretório do LDAP, exibir um prompt para autenticação simples, definir uma nova senha ou até mesmo não definir uma senha.

ldapsearch

É utilizado para realizar pesquisas na base LDAP. Possui diversos parâ-metros, entre eles, especificar a saída da pesquisa no formato ldif, usar autenticação simples, especificar um diretório onde será feita a busca, além de definir filtros de pesquisa e atributos específicos para pesquisa. Esses filtros podem ser do tipo igualdade, aproximação e ordem. Outra forma para auxiliar nas pesquisas é o uso de um curinga, nesse caso re-presentado pelo asterisco (*). Esse caracter pode substituir um ou mais caracteres para se transformar em parte de um valor de um atributo.

Slapadd

O comando slapadd é utilizado para incluir informações na base LDAP de forma off-line, ou seja, quando o servidor não está em execução. Pos-sui diversos parâmetros por exemplo, para ativar o modo rápido, modo dry-run, modo debug, além de outras opções como especificar arquivo de configuração do slapd, diretório de configuração, arquivo de entrada ldif e a base de dados a ser modificada, por exemplo.

Modo rápido: Não faz checa-gem de consistência de da-dos informados

Modo dry-run: não replica as adições no servidor backend

Modo debug: especifica um nível de depuração, listado na tabela de níveis de log

Page 127: UC15.Serviços_de_Redes

127SERVIÇOS DE REDE

Slapcat

Simplesmente utilizado para listar o conteúdo da base de dados. Você pode utilizar esse comando para fazer um backup do conteúdo no siste-ma em um arquivo texto, pois também pode ser criado um arquivo ldif do conteúdo da base através desse comando. Possui parâmetros seme-lhantes ao comando anterior, contando também com a possibilidade de utilizar alguns filtros para apresentar os registros.

Slapindex

Esse comando recria os índices da base de dados, melhorando assim o retorno das pesquisas. Como parâmetro mais utilizado, temos a opção de definir qual a base de dados a ser recriada.slurpd/slaptest/slapaclEsses comandos, respectivamente são utilizados para replicar dados da base do LDAP, testar a sintaxe do arquivo de configuração (slapd.conf) e testar o comportamento das ACLs criadas no slapd.conf, determinando o acesso aos atributos.

Slapdn

Utilizado para verificar se uma entrada DN está de acordo com os sche-mas definidos no slapd.conf.

Slappasswd

Com esse comando é possível gerar uma senha criptografada podendo ser utilizada tanto nos campos que utilizam senha como em qualquer outro lugar. Tem como principais parâmetros o uso de diferentes algo-ritmos como: MD5, CRYPT, SMD5, SSHA, SHA.

Page 128: UC15.Serviços_de_Redes
Page 129: UC15.Serviços_de_Redes

41SERVIÇOS DE REDE

Finalizando

Ao final do estudo desta unidade curricular você deverá ser capaz de instalar, configurar e re-solver problemas nos principais serviços de rede e de proporcionar a utilização dos mesmos aos usuários de uma rede de computadores.Gostaríamos de lembrá-lo que a área de informática é dinâmica, exigindo do profissional atu-alização constante no que diz respeito às tecnologias utilizadas. Melhorias e incrementos são frequentemente implementadas nos softwares utilizados na administração das redes e novas ferramentas surgem para facilitar o gerenciamento dos sistemas de informação.É por isso que buscamos sintetizar neste material os conceitos básicos relacionados à aplica-ção dos serviços, interagindo com você, leitor, exemplificando a utilização e demonstrando os resultados práticos que podem ser obtidos. Espero que você tenha se deliciado com as tantas descobertas que lhe reservamos!

Sucessos!

Page 130: UC15.Serviços_de_Redes
Page 131: UC15.Serviços_de_Redes

Referências

43SERVIÇOS DE REDE

▪ ARSYS. DNS. Disponível em: <http://www.arsys.pt/ajuda/guias/dns.htm>. Acesso em: 15 nov. 2009.

▪ BARLEM, Gustavo Silveira. Um estudo sobre o DNS na internet. Disponível em: <http://penta2.ufrgs.br/dns/dns2.htm>. Acesso em: 10 nov. 2009.

▪ CGI.BR. Comitê gestor da internet no Brasil. Disponível em: <http://www.cgi.br>. Acesso em: 16 nov. 2009.

▪ CONECTIVA. Exemplo de árvore de diretórios LDAP. 2004. Disponível em: <http://www.conectiva.com/doc/livros/online/10.0/servidor/pt_BR/imagens/ldap-arvore.png>. Acesso em: 08 dez. 2009.

▪ COSTA, Daniel Gouveia. DNS: um guia para administradores de redes. Rio de Janei-ro, RJ: Brasport, 2006. 121 p.

▪ DEVMEDIA. Exemplo de criptografia assimétrica. 2004. Disponível em: <http://www.devmedia.com.br/articles/viewcomp.asp?comp=10717&hl= > Acesso em: 10 dez. 2009.

▪ FERREIRA, A. B. de H. Dicionário eletrônico Aurélio. 3. ed. Curitiba: Positivo, 2010.

▪ HUNT, Craig. Linux: servidores de rede. Rio de Janeiro, RJ: Ciência Moderna, 2004 xxii, 567 p.

▪ INTERNET CORPORATION FOR ASSIGNED NAMES AND NUMBER. Cor-poração para atribuição de nomes e números na internet. 2001. Comitê Gestor da Internet no Brasil. Disponível em: <http://www.icann.org.br/icp/icp-3.htm>. Acesso em: 16 nov. 2009.

▪ INTERNET ENGINEERING TASK FORCE. RFC 2131. Publicado por IETF, 1997. Disponível em: <http://datatracker.ietf.org/doc/rfc2131/>. Acesso em: 18 jan. 2010.

▪ KIOSKEA. O protocolo FTP (file transfer protocol). Disponível em: <http://pt.kioskea.net/contents/internet/ftp.php3>. Acesso em: 20 nov. 2009.

▪ KOZIEROK, Charles M. The TCP/IP guide: a comprehensive, illustrated internet protocols reference. San Francisco, CA: No Starch Press, 2005.

▪ LATIN AMERICAN AND CARIBBEAN INTERNET ADDRESSES REGISTRY. Resolução inversa/DNS. Disponível em: <http://lacnic.net/pt/registro/dns/reso-lucion_inversa.html>. Acesso em: 10 nov. 2009.

Page 132: UC15.Serviços_de_Redes

44 CURSOS TÉCNICOS SENAI

▪ LOWES, Mark. Proftpd: A users guide. Disponível em: <http://www.proftpd.org/localsite/Userguide/linked/userguide.html>. Acesso em: 25 nov. 2009.

▪ Machado, Eric Soares. Autenticação integrada baseada em serviço de diretório LDAP. 2006. Dissertação (Bacharelado em Ciências da Computação do IME-USP) - Uni-versidade de São Paulo, São Paulo, 2006. Disponível em: <http://www.linux.ime.usp.br/~cef/mac499-06/monografias/erich/html/ch02s02.html> Acesso em: 09 dez. 2009.

▪ MARTINS. Luciano Linhares. ProFTP-LDAP. Disponível em: <http://under-linux.org/wiki/Tutoriais/Ftpd/Proftpd-LDAP>. Acesso em: 10 nov. 2009.

▪ NEMETH, Evi; SNYDER, Garth; HEIN, Trent R. Manual completo do Linux. 2. ed. São Paulo, SP: Pearson Prentice Hall, 2007. 684 p.

▪ NONGNU. See synaptic in action. Disponível em: <http://www.nongnu.org/syn-aptic/action.html >. Acesso em: 23 nov. 2009.

▪ OPENLDAP. Logotipo OpenLDAP. 2002. OpenLDAP Foundation. Disponível em: <http://www.OpenLDAP.org>. Acesso em: 03 dez. 2009.

▪ RIBEIRO, Uirá. Certificação Linux. Rio de Janeiro: Axcel Books, c2004.

▪ SCRIMGER, R. et al. TCP/IP: a Bíblia. Rio de Janeiro, RJ: Campus, 2002. xix, 642 p.

▪ SILVA, Gleydson Mazioli da. Guia Foca GNU/Linux. Versão 6.42. Disponível em: <http://focalinux.cipsga.org.br/guia/avancado/ch-s-samba.htm>. Acesso em: 27 nov. 2009.

▪ SONIC. Funcionamento VPN. 1994. Disponível em: <http://www.sonic.net/featu-res/vpn/vpn-diagram-vertical-shorte.gif>. Acesso em: 15 dez. 2009.

▪ TANENBAUM, Andrew S. Redes de computadores. Rio de Janeiro, RJ: Campus, Elsevier, c2003. xvi, 945 p.

▪ TRIGO, Clodonil Honório. OpenLDAP: uma abordagem integrada. São Paulo, SP: Novatec, c2007. 239 p.

▪ UBUNTU GUIDE. Repositories. 2005. Disponível em: <http://ubuntuguide.org/wiki/Ubuntu:Karmic>. Acesso em: 20 nov. 2009.

▪ ZUCARINO, Victor. SAMBA. 2000. Disponível em: <http://br-linux.org/artigos/manusmb_intro.htm>. Acesso em: 10 nov. 2009.