Servios de Rede
Alcantaro Corra
Presidente da Federao das Indstrias do Estado de Santa Catarina
Servios de Rede
Alexandre Bacher Ramos Anderson Rauber da Silva Daniel Devegili Juliano Daniel Marcelino
Florianpolis/SC 2010
proibida a reproduo total ou parcial deste material por qualquer meio ou sistema sem o prvio consentimento do editor. Material em conformidade com a nova ortografia da lngua portuguesa.
Ficha catalogrfica elaborada por Ktia Regina Bento dos Santos - CRB 14/693 - Biblioteca do SENAI/SC Florianpolis.
S491 Servios de Rede / Alexandre Bacher Ramos ... [et al.], Florianpolis : SENAI/SC, 2010. 3 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
Prefcio
Voc faz parte da maior instituio de educao profissional do estado. Uma rede de Educao e Tecnologia, formada por 35 unidades conectadas e estrategicamente instaladas em todas as regies de Santa Catarina. No SENAI, o conhecimento a mais realidade. A proximidade com as necessidades da indstria, a infraestrutura de primeira linha e as aulas tericas, e realmente prticas, so a essncia de um modelo de Educao por Competncias que possibilita ao aluno adquirir conhecimentos, desenvolver habilidade e garantir seu espao 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 instituio que, desde 1954, se preocupa em oferecer um modelo de educao atual e de qualidade. Estruturado com o objetivo de atualizar constantemente os mtodos de ensino-aprendizagem da instituio, o Programa Educao em Movimento promove a discusso, a reviso e o aprimoramento dos processos de educao do SENAI. Buscando manter o alinhamento com as necessidades do mercado, ampliar as possibilidades do processo educacional, oferecer recursos didticos de excelncia e consolidar o modelo de Educao por Competncias, em todos os seus cursos. nesse contexto que este livro foi produzido e chega s suas mos. Todos os materiais didticos do SENAI Santa Catarina so produes colaborativas dos professores mais qualificados e experientes, e contam com ambiente virtual, mini-aulas e apresentaes, muitas com animaes, tornando a aula mais interativa e atraente. Mais de 1,6 milhes de alunos j escolheram o SENAI. Voc faz parte deste universo. Seja bem-vindo e aproveite por completo a Indstria do Conhecimento.
Sumrio
Contedo Formativo Apresentao 9 11
47 48 Seo 3 - Compartilhando impressoras com samba Seo 4 - Configuraes diversas 86 87 92 97 Seo 3 - rgos controladores Seo 4 - O protocolo DNS Seo 5 - O Software BIND Seo 6 - Servidor DNS no Windows 2003
31 34
40
Finalizando Referncias
129 131
Contedo Formativo
Carga horria de dedicao
Carga horria: 150 horas
Competncias
Configurar os servios bsicos de rede em sistemas operacionais.
Conhecimentos
Servidor de Arquivos (Controle e Registro de Acesso, Definio de Cotas); Servidor de e-mail (Controle e Registro de Acesso, Definio de Cotas, Portas de Comunicao: POP, IMAP e SMTP, Segurana de Rede: Criptografia, SSL); Servidor de Impresso; Servidor web (Controle e Registro de Acesso, Definio de Cotas, Portas de Comunicao: HTTP, HTTPS, FTP, TFTP, Segurana de Rede: Criptografia, SSL); Servidor de DNS; Servidor de DHCP; Servidor de Conexo Remota (Controle e Registro de Acesso, Portas de Comunicao: RDP e VNC, Segurana de Rede: Criptografia, SSL); Servios de Diretrios de Rede (Controle e Registro de Acesso, Segurana de Rede: Criptografia, 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 impresso; 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 Conexo Remota; Instalar, configurar e manter servios de diretrios de rede; Planejar a implantao e manuteno dos servios bsicos de rede.
SERVIOS DE REDE
Atitudes
Zelo pelo material e equipamentos; Responsabilidade socioambiental; Adoo de normas de sade e segurana do trabalho; Pr-atividade; tica; Trabalho em equipe; Cumprimento de prazos e horrios.
10
Apresentao
A unidade curricular Servios de Rede proporciona a voc uma viso geral da aplicao dos principais recursos existentes nos servidores de rede para que voc, como futuro Tcnico em Redes de Computadores, possa disponibiliz-los aos usuriosa das redes. O objetivo do estudo desta unidade curricular fornecer conhecimentos sobre os recursos dos servios de rede e desenvolver habilidades de instalar, configurar e manter os servios de rede mais importantes e comumente utilizados na Internet. Alm destes, outros servios de rede so constantemente desenvolvidos e aperfeioados com o objetivo de facilitar a atividade de gerenciamento das redes. Muitos deles esto disponveis para serem utilizados e adaptados gratuitamente, atravs das licenas de softwares livres. A abordagem utilizada neste material engloba a aplicao destes servios em dois tipos de sistemas operacionais: Microsoft Windows e Linux. Convidamos voc a explorar as caractersticas de cada um dos servios de rede apresentados e a desenvolver suas habilidades de resolver os problemas relacionados aos servidores. Vamos! Aceite logo o convite e embarque conosco nessa descoberta! Bom estudo!
Anderson Rauber da Silva, Daniel Devegili, Juliano Daniel Marcelino 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 tambm exercendo o papel de responsvel tcnico das aprendizagens industriais em informtica. Com formao de Tcnico em Informtica com Habilitao 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 tambm como instrutor de unidades curriculares relacionadas a manuteno de computadores, infra-estrutura e gerenciamento de redes de computadores. Daniel Devegili especialista em Administrao de Redes Linux e Tecnlogo em Redes de Computadores. Daniel Devegili atuou como analista de tecnologia da informao na rea de gesto empresarial para empresas do ramo alimentcio, desenvolvendo projetos de migrao de sistemas, virtualizao, polticas de segurana, polticas de backup e reestruturao de sistemas, servidores e infra-estrutura de rede. Ainda no segmento corporativo, teve a oportunidade de desenvolver e aplicar um projeto de migrao de sistema de automao de vendas, realizando apresentaes e treinamentos a diferentes equipes de representantes e distribuidores comerciais, alterando de forma significativa, o conceito e prtica de vendas. Na rea acadmica, atualmente professor de cursos tcnicos e aprendizagem industrial no Senai/SC, em Jaragu do Sul. Suas principais linhas de pesquisa se concentram em administrao de sistemas operacionais e servios de rede, virtualizao de sistemas, automao de tarefas e segurana da informao, alm de orientao de trabalhos acadmicos. Juliano Daniel Marcelino especialista em Gerenciamento de Projetos e Bacharel em Sistemas de Informao. Juliano Daniel Marcelino atuou como gerente de projetos de implantao de sistemas de informao para cadeia de suprimentos, sistemas de gerenciamento corporativo, sincronizao e integrao de sistemas colaborativos, alm de consultoria empresarial em gerenciamento de projetos, anlise, mapeamento e gerenciamento de processos e planejamento estratgico. Na rea acadmica, atualmente professor de cursos tcnicos e aprendizagem industrial no Senai/SC em Jaragu do Sul, e conta com experincia nos segmentos de ps-graduao, graduao, tcnico e profissionalizante, orientao de trabalhos acadmicos em outras instituies da regio. Alexandre Bacher Ramos formado em bacharel em Cincias da Computao pela UNOESC, e especialista em Redes de Computadores e Multimdia pela UFSC, atuou como administrador de redes de computadores em provedores de servios e solues Internet, alm de consultoria empresarial em planejamento, administrao e gerncia de redes. Na rea acadmica, atualmente professor de cursos tcnicos e aprendizagem industrial no Senai/SC em Jaragu do Sul, com experincia nos segmentos de graduao, tcnico e profissionalizante, assim como orientao de trabalhos acadmicos. Possui certificao CCNA 640-802 e instrutor habilitado pela Academia Regional da Cisco (certificao CCAI).
SERVIOS DE REDE 11
Unidade de estudo 1
Sees de estudo
Seo 1 Introduo a Servios de Rede Seo 2 Configurando a rede Seo 3 Planejando a implantao Seo 4 Realizando a manuteno
Configurando o Ambiente
Seo 1
Introduo a Servios de Rede
Vivemos em uma sociedade interligada em redes. Voc deve ter uma agenda telefnica de seus principais amigos e tambm deve fazer parte de algum portal que tenha uma rede social, no mesmo? O mais interessante desta situao, to comum na sociedade 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 informao no fica limitado apenas a algumas pessoas. Vivemos em um mundo em que possvel conversar tanto com um cacique de alguma tribo indgena da Amaznia quanto com um filsofo japons pesquisador da cultura grecoromana, por exemplo. O mero fato de usar um caixa eletrnico ou assistir um programa na TV a cabo so bons e simples exemplos de uso de uma rede interligada que permite cada vez mais interao entre seus participantes, em tempo real e disposio de um clique. Com a expanso crescente da tecnologia, os computadores vm cada vez mais se tornando item obrigatrio em empresas, escolas e qualquer instituio que deseja ter alguma vantagem ou to simplesmente aproveitar os benefcios que uma rede de computadores possa oferecer, interligando pessoas com seus recursos potencialmente infinitos. Porm, como era de se esperar muitos computadores, e consequentemente, as redes de computadores, esto crescendo rapidamente e despontando uma necessidade de sistemas, tcnicas e ferramentas que permitam um controle e gerenciamento eficaz e prtico destes equipamentos, proporcional complexidade da rede e seus servios prestados. Vamos a um exemplo bem simples, 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 importncia vital para a empresa. licitado pelo chefe para entregar amanh de manh cedo. pensando em agilizar a troca de endereos IP, com um servidor DHCP, que uma empresa consegue expandir o parque de equipamentos sabendo que no precisa se preocupar em no ter capacidade de aguentar a quantidade de mquinas que podem ser suportadas naquela classe de rede, isso sem falar nas questes de segurana que um DHCP bem configurado propicia. Usar um servio como NFS ou samba permite compartilhar arquivos e impressoras em uma rede, de forma a viabilizar a entrega de materiais dentro de uma rede, de forma que o usurio tenha a sensao de que est acessando seus prprios arquivos em outra mquina. Porm, se aumentarmos a abrangncia do contedo, chegamos a um patamar onde vrias redes se entrelaam em uma grande rede, a Internet. Alm de disponibilizar uma gama imensa de recursos, desde acesso s suas mensagens de e-mail e acesso s notcias de algum jornal, at compartilhar arquivos em redes peer-topeer so originadas do conceito de servio de rede. De todos os inmeros servios de rede disponveis atualmente, o quadro abaixo mostra alguns dos mais importantes.
Saiba Mais Cada um destes possui configuraes especficas e estas configuraes ainda podem estar em outro computador, o que deixa um pouco mais complexa a administrao de um servidor deste porte.
As redes praticamente no cessam de crescer, agregam novos servios, funcionalidades e requisitos, principal razo que um gerenciamento prtico, eficaz e rpido dos servios cada vez mais requisitado nas organizaes atuais. Todas as redes dependem de servios, como o DNS, para que o usurio final no fique dependendo de anotar nmeros de endereos IP para saber em qual mquina da rede est o relatrio da reunio que comea em meia hora, ou onde est o arquivo so-
SERVIOS DE REDE
13
Transporte adequado: Vide maiores informaes sobre transporte na disciplina de Arquitetura de Redes.
Servio HTTP FTP Telnet SSH VNC DHCP LDAP DNS NFS SMB IPP SMTP POP3 IMAP
Finalidade HyperText Transfer Protocol, usado para navegar em pginas web File Transfer Protocol, para localizar e capturar arquivos Terminal de acesso remoto em modo texto Secure Shell Terminal, outro terminal de acesso remoto, porm, em modo seguro Acesso remoto por interface grfica Dynamic Host Configuration Protocol, localiza informaes da rede Lightweight Directory Access Protocol, pesquisa dados de usurios Domain Name System, converte endereos IP em nomes e tambm vice-versa Network File System, compartilha arquivos em redes UNIX Server Message Block, tambm compartilha arquivos e impressoras, mas em ambientes Microsoft Windows. Internet Printing Protocol, serve para acessar impressoras Simple Mail Transfer Protocol, para envio de correio eletrnico Post Office Protocol v3, para recebimento de correio eletrnico Internet Message Access Protocol, outro protocolo para recebimento de correio eletrnico
Quadro 1 Lista de servios e finalidades Fonte: adaptado de Nemeth, Snyder e Hein (2007).
Para que um servio de rede consiga atuar dentro do que se prope, necessrio que exista um transporte adequado, que em sua grande maioria utilizam TCP ou UDP para este fim. Casos de servios como HTTP, POP3 E SMTP so desenvolvidos basicamente para comportar um lado servidor, protocolado e numerado e com porta aberta, de acordo com as caractersticas do servio, naturalmente. Uma pergunta que voc pode ter feito para si mesmo se precisamos deixar as portas padro do sistema ou alterar as portas. Mas caso voc no tenha pensado nisso, importante deixar bem claro que qualquer porta pode disponibilizar qualquer servio, mas o padro existe para manter uma uniformidade quando servidores tentarem se comunicar. Confira o quadro a seguir.
Servio HTTP Telnet SSH FTP VNC SMTP SYSLOG POP3 Porta 80 23 22 21 5900 25 514 110 Transporte TCP TCP TCP TCP ou UDP TCP TCP UDP TCP
Quadro 2 Lista de servios e relao com portas e transporte Fonte: Scrimger (2002, p. 151).
14
Seo 2
Configurando a rede
Nesta seo voc ter a oportunidade de conhecer alguns comandos e tcnicas que sero muito teis em sua caminhada. O mais interessante desta situao, to comum na sociedade atual, que esses servios vm cada dia mais fazendo parte do cotidiano das pessoas nossa volta. Como voc j deve ter percebido, um dos aspetos mais importantes que voc ter de dominar a nomenclatura, afinal, quase tudo em servios de redes tem uma sigla para indicar um protocolo, placa de rede, enfim, praticamente qualquer definio pode ser representada por uma sigla ou abreviatura. Ao utilizar uma distribuio do Linux, como o Debian, Fedora ou uma mais popular ainda, como o Ubuntu, as placas de rede so identificadas pela sigla eth, seguida do nmero da placa atribuda automaticamente pelo sistema operacional, iniciando do zero. Assim, uma placa de rede instalada no computador pode receber o cdigo eth0, eth1, eth2 e assim sucessivamente, dependendo da sequncia em que foi instalada ou detectada pelo sistema operacional. Uma possvel dvida que pode surgir sobre placas de rede sem fio, que ficam cada vez mais populares entre computadores pessoais, sejam portteis como notebooks, netbooks, ou ainda estaes de trabalho nettops, pc ou thin clients.
Pois bem, as placas de rede sem fio tambm recebem uma sigla especfica, 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 localizar o adaptador de rede dentro de um sistema Linux, e verificar suas configuraes. Vamos conferir alguns comandos que vo ajudar voc a se tornar competente nesta rea! Vamos juntos!
Vamos a alguns exemplos bem simples, o termo adaptador de rede traduzido contextualmente de ethernet adapter, ou adaptador ethernet, com traduo literal, conhecido pela maioria como placa de rede.
Ifconfig
O ifconfig um comando do Linux, alm de outros sistemas operacionais baseado em UNIX, usado para configurar uma interface de rede, manualmente, ou no processo de inicializao da mquina. Alm disso, normalmente usado apenas quando necessrio debugar algum processo, ou ainda, quando algum ajuste especfico nas placas de rede torna-se necessrio. Se nenhum parmetro fornecido no shell, ifconfig retorna informaes das interfaces de rede ativas no momento. Se uma interface inserida como parmetro, ele retorna informao daquela placa de rede. Ainda, se um argumento a inserido, por exemplo, ifconfig mostra informao de todas as interfaces de rede, inclusive as que esto inativas ou desconectadas. Vamos a um exemplo bem prtico, para definir um endereo IP 192.168.216.15, com mscara de rede 255.255.255.0 a uma placa de rede chamada eth0, utilizase o seguinte comando: ifconfig eth0 192.168.216.15 netmask 255.255.255.0.
Debugar: compreende a correo de um defeito de execuo de um programa, geralmente, causado por inconsistncia no seu cdigo ou por incompatibilidade com outros programas, que estejam simultaneamente em execuo (FERREIRA, 2010).
SERVIOS DE REDE
15
Ipconfig
O ipconfig um comando similar ao ifconfig, porm, para sistemas operacionais Microsoft. Se for usado sem parmetros, retorna informaes de todas as placas, mas outros parmetros podem ser usados, vamos ver alguns deles apenas:
/renew: renova as configuraes DHCP para todas as placas, claro, este comando funcionar apenas se a placa possui o protocolo IP ativado nas suas configuraes; /release: solicita ao servidor DHCP que este libere as configuraes atuais de IP e descarte as especificaes atuais para todas as placas, se nenhuma foi informada; /flushdns: este parmetro limpa e reinicia o contedo do cache do DNS da mquina cliente. Normalmente utilizado quando voc precisa descartar entradas no cache que no so mais utilizadas.
16
DICA
As linhas que iniciam com a palavra auto identificam interfaces fsicas que so carregadas automaticamente pelo sistema operacional no processo de inicializao. O nome da interface fsica deve seguir a palavra auto para identificar esta placa adequadamente.
Dhclient
Um cliente DHCP permite configurar uma ou mais interfaces de rede usando protocolo DHCP, pode trabalhar tambm com protocolo BOOTP, ou ainda, se um destes falhar, pode definir um endereo IP esttico. De acordo com Hunt, o dhclient um cliente que usa protocolo DHCP, porm, permite muito mais que configuraes bsicas que outros clientes possam usar como padro. Depois de instalado, dois arquivos so muito importantes: dhclient.conf, que mantm as configuraes criadas pelo administrador, e o dhclient. leases, cujo contedo criado pelo dhclient e contm informaes sobre aluguel de endereos IP.
Como um exemplo, vamos olhar a figura 3, onde a placa eth0 (a primeira interface ethernet disponvel no sistema) com um endereo IP esttico definido em 192.168.216.32 e o gateway padro ajustado para 192.168.216.254. Na figura 4 mostrada a configurao da placa de rede para atribuio de endereo IP automaticamente atravs de servidor DHCP.
SERVIOS DE REDE
17
inet
eth0
Entretanto, para sistemas baseados em Microsoft Windows, como o Windows 2003 ou o Windows XP, as configuraes de endereo IP mudam significativamente. Para ajustar um endereo IP manual ou automaticamente no Windows, necessrio acessar a tela de propriedades da conexo que se deseja alterar. Confira na figura 5 (a seguir) esta tela que, se ainda no , deve ser bem conhecida.
18
Para que o endereo IP seja atribudo automaticamente, de forma similar ao que foi definido na figura 4, entretanto, em um ambiente Windows, necessrio acessar a tela de propriedades do protocolo TCP/IP, mostrada a seguir na figura 6. Repare que a opo com a configurao Obter um endereo IP automaticamente est selecionada, bem como a opo Obter o endereo dos servidores DNS.
Caso seja necessrio definir um endereo IP manualmente, deve-se alterar as opes da tela representada pela figura 7, para que tenha uma configurao especfica. Na figura 7 est representada a mesma configurao existente na figura 3, entretanto, aplicada a um sistema operacional baseado em Microsoft Windows.
SERVIOS DE REDE
19
Servidor DNS: Para maiores informaes sobre DNS consulte a seo referida.
Hostname
Imagine um cenrio onde cada casa em uma cidade fosse identificada por um cdigo numrico, e no houvesse a distino por ruas, avenidas, praas ou bairros. Para evitar este cenrio um tanto catico em redes de computadores, necessrio definir um nome lgico para cada computador na rede, inclusive servidores. Por exemplo, se para cada vez que um usurio tentar acessar sua caixa de entrada de e-mails, tivesse que digitar o endereo IP do servidor de e-mails, seria um verdadeiro transtorno decorar todos os servios que utilizamos atualmente, como gmail, orkut, hotmail, msn, yahoo, google, bing, entre outros tantos. Na grande rede (Internet), existe uma grande quantidade de servios cujo nome dos servidores inicia pelo prefixo WWW, como por exemplo, www.google.com, porm, se uma mesma companhia oferece inmeros produtos, como por exemplo, pesquisa simples e pesquisa de imagens, o nome do servidor muda do anterior, visto acima, para images. google.com, sem o prefixo www. Um nome de hospedeiro, ou hostname, tambm uma definio associada a um computador dentro de um domnio, por exemplo, programador29.google.com, cuja mquina est dentro do domnio 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.
20 CURSOS TCNICOS SENAI
Para voc se certificar que est com todas as informaes disponveis sobre um determinado comando do sistema, em sistemas operacionais baseados em UNIX, como o Linux Ubuntu, por exemplo, possvel pedir ajuda sobre qualquer comando utilizando o comando man, que abreviatura de manual pages, ou pginas do manual. Uma documentao bem rica em detalhes apresentada, inclusive com detalhes de parmetros e combinaes de comandos, que consegue alcanar tanto usurios iniciantes quanto experientes. Abaixo, na figura 9, mostrada a tela principal do programa man.
Vamos a um exemplo prtico: para conseguir ajuda sobre o comando ping (visto acima), possvel digitar o comando man ping.
SERVIOS DE REDE
21
Distribuies Linux
DICA
Tente utilizar o man para conseguir ajuda sobre comandos que voc j conhece, vai se surpreender em perceber que h muito a explorar ainda. Vamos! Experimente!
Seo 3
Pode-se dizer que, ao juntar um conjunto de programas livres ou nolivres, que atendam a uma necessidade ou propsito especficos (o qu?). Empresas como a Canonical, que distribui gratuitamente o Ubuntu, e a SuSE, Red Hat, Mandriva so exemplos de empresas que possuem uma distribuio (ou distro) do Linux. No existe a melhor distribuio Linux, pois este um conceito bem difcil de assegurar com certeza, pois o que pode ser melhor para um usurio no verdade para outro, e vice-versa. E no levado em considerao o gosto pessoal, mas a aplicabilidade da distribuio para diferentes tipos de servios e programas que o usurio necessita.
Planejando a implantao
No processo de implantao de um servidor de rede, seja para um servio de webmail, ou uma pgina web simples, ou ainda, um servidor FTP, at algo mais complexo como um servidor DNS ou um LDAP, muito importante a etapa de planejamento, para assegurar que tudo sair conforme planejado, evitando retrabalho ou problemas que poderiam ter sido previstos antes de acontecer.
Saiba Mais Consulte o site www.distrowatch.com para obter mais informaes sobre vrias distribuies.
Ambientes Grficos
Uma interface grfica de usurio, (GUI) um tipo de interface de usurio que permite aos mortais comuns, como eu e voc, interagir com dispositivos como computadores. Uma interface grfica oferece a possibilidade de organizar sua rea de trabalho, tal qual o usurio olha para sua mesa no trabalho, com cones representando pastas e arquivos, programas que podem ser usados, alm de inmeros indicadores e ferramentas visuais que auxiliam ao usurio nas suas rduas tarefas cotidianas. H um tempo no havia capacidade computacional para suportar interfaces grficas complexas, logo, era necessrio usar o que havia disponvel, as CUI, Console User Interface, Interfaces de Usurio em Console, ou ainda, interfaces de usurio em modo texto. Em uma interface em modo texto o usurio digita um comando e aguarda a finalizao deste at que o prximo possa ser executado, tudo atravs de uma nica linha de comando.
Saiba Mais Quer saber mais? Procure informaes no material que disserta sobre Lgica de Programao Aplicada a Shell Scripts.
melhor prevenir que remediar! Planeje com cuidado seu servidor, voc vai conferir aqui algumas dicas.
Certamente que um usurio atual percebe instantaneamente as vantagens de se utilizar de interface grfica para suas atividades dirias. 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.
22
Dentre uma gama imensa de interfaces grficas disponveis 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 objetivo e aplicaes especficas. Nas plataformas Microsoft, o ambiente grfico padro, o Windows, que pode ser utilizado em suas mais diversas verses e aplicaes, desde servidores a estaes de trabalho.
Pacotes
Para entender facilmente o conceito de pacote, imagine o arquivo de instalao de um programa de desenho assistido por computador (CAD). Neste arquivo de instalao existem inmeros outros arquivos, que so descompactados e copiados para uma pasta e passam a fazer parte daquele computador. Um pacote um volume com um conjunto de arquivos com informaes como verso do programa, descrio, arquivos de configurao e o programa propriamente dito, tal qual a instalao de um programa em um ambiente Microsoft Windows. Uma das vantagens de se trabalhar com pacotes a facilidade de gerenciamento, manipulao e as possibilidades de rastreabilidade e controle de verses, que por sua vez permite um controle eficaz de cada arquivo instalado no sistema operacional.
Dois dos principais tipos de pacotes so os pacotes deb e rpm. Conforme Ribeiro (2004), os pacotes Debian, reconhecidos pela extenso DEB, so pacotes com as mesmas caractersticas que o RPM, porm, so fornecidos pela Debian, que uniu ferramentas livres e no-livres, juntou em uma distribuio e lanou no mercado como uma distribuio focada ao mercado de computadores de uso pessoal. Apesar de parecerem concorrentes, cada qual tem seu segmento de mercado e aplicabilidade bem definidos. Como estas duas principais distribuies possuem estruturas de pacotes diferentes, h a necessidade de gerenciadores de pacotes para cada distribuio. 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 Package Manager (www.nongnu.org/synaptic), sendo este ltimo um dos mais populares da distribuio, e cuja tela principal pode ser vista na figura que segue.
RPM: a sigla de Red Hat Package Manager, ou gerenciador de pacotes do chapu vermelho. Red Hat o nome de uma companhia e de uma distribuio Linux fornecida por esta empresa de mesmo nome, e a distribuio tem um foco voltado ao mercado de servidores, de acordo com HUNT.
Repositrios
De acordo com UbuntuGuide (2005), os programas existentes atualmente preenchem as necessidades de seus usurios e esto disponveis em imensa quantidade. Estes programas so guardados no formato de pacotes Debian, e esto disponveis em repositrios. Um repositrio uma forma de armazenamento de pacotes muito utilizada em distribuies Linux, pois permite que seus usurios instalem e atualizem softwares diretamente do servidor mais prximo, de uma forma segura e sabendo que o programa instalado passou por inmeros testes e foi criado especificamente para aquela verso do sistema operacional. Os repositrios podem ser separados em componentes, ou categorias, de acordo com os nveis de suporte oferecidos, ou ainda de acordo com a poltica de distribuio do Linux daquele desenvolvedor.
inetd
Segundo Ribeiro (2004), um servio normalmente carregado de forma residente na memria, abrem uma porta de comunicao e passam a escutar (listen) por conexes de rede. Para garantir a performance e estabilidade de vrios servios, alm de gerenciar todos estes servios de uma mesma base, o inetd foi criado. O inetd um poderoso gerenciador de servios do Linux, carregando, monitorando e destruindo os processos especficos de cada servio sob sua responsabilidade. Entre outras funes, o inetd consegue reduzir visivelmente a carga do sistema de modo geral, em comparao a executar cada servio individualmente. Os arquivos de configurao do inetd esto na pasta /etc/inetd.conf, e abaixo demonstrado um exemplo deste arquivo, que mostra o nome do servio (daemon), o tipo de conexo, o protocolo usado, alm de opes de conexo e o usurio que dono do processo, alm do caminho de execuo do servio, como pode ser observado na figura seguinte.
#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
Figura 11 Exemplo de arquivo /etc/inetd.conf Fonte: Ribeiro (2004, p. 284).
Seo 4
Realizando a manuteno
To importante quanto o planejamento da implantao, a prpria execuo da implantao, que voc ver em cada unidade deste material para cada servio especfico, outra importante atividade a manuteno deste ambiente. Nesta seo, voc ter contato com algumas tcnicas e comandos teis nesta tarefa, de manter o sistema funcional e garantir a disponibilidade dos servios. Fique antenado!
Quando uma requisio chega a uma porta gerenciada pelo inetd, este encaminha a requisio para um programa chamado tcpd. O tcpd decide, com base em algumas regras que esto dentro dos arquivos /etc/ hosts se aceita ou no a requisio. Caso seja aceita a requisio, o servidor correspondente carregado. Este processo todo chamado de tcp_wrapper. H outro gerenciador, o xinetd, que permite alm do tcp_wrapper, controle de acesso a servios baseados em RPC e UDP, baseado em segmentos de tempo, eficcia na conteno de DoS (Denial of Services), um tipo de ataque que reduz a performance do servidor consideravelmente, entre outras caractersticas que tornam o xinetd uma tima opo para o gerenciamento de servios.
init.d
Para carregar os servios do sistema operacional de forma manual, ou corrigir uma eventual falha de algum servio (daemon) ou processo, necessrio acessar o diretrio /etc/rc.d/init.d, onde encontra-se, por exemplo, o script para carga do servidor de interface grfica, o X. Cada script que se encontra nesta pasta aceita parmetros para inicializao (start) e parada (stop) manuais, ou ainda, reinicializao (restart), situao (status), entre outros.
24
syslog
Em um sistema operacional ocorre uma srie de atividades que muitas vezes nem percebemos, e principalmente, no 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 diagnstico de problemas, verificar registros de acessos e monitorar atividades existe uma soluo chamada LOG! No Linux, um servio chamado syslog, realiza todo o servio sujo de filtrar e gravar informaes importantes do sistema local e de outros sistemas que suportam o syslog. As mensagens que so gravadas so originadas a partir de eventos de segurana, autorizao, agendamento de tarefas, daemons do sistema, e-mail, impresso, 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 nveis, o syslog identifica a mensagem e grava. De acordo com o nvel que voc configurar o syslog ir gravar essas mensagens e tambm de nveis acima. Observe um quadro com os nveis que o syslog trabalha:
Debug (7) Info (6) Notice (5) Warning (4) Err (3) Crit (2) Alert (1) Emerg (0) Informaes de debug (depurao) Mensagens apenas para informao Condies normais, mas significativas Condies de alerta Condies de erro Condies crticas Aes imediatas so requeridas Sistema indisponvel
Nesta unidade curricular voc aprendeu, entre outros, a configurar o ambiente de rede a partir de algumas noes introdutrias de servio de rede. Na unidade que segue, voc aprender alguns conceitos bsicos de servidor de arquivos, a serem aplicados em diferentes ambientes, tais como o Windows e o Lunix. Vamos! O que est esperando para continuar? Vamos juntos!
SERVIOS DE REDE
25
Unidade de estudo 2
Sees de estudo
Seo 1 Conceitos bsicos Seo 2 Compartilhando arquivos em ambiente Windows Seo 3 Compartilhando arquivos no Linux com NFS Seo 4 Compartilhando arquivos em ambiente misto com samba Seo 5 Compartilhando arquivos via FTP
Servidor de Arquivos
Nesta unidade de estudo ser abordado o assunto que trata sobre servidores de arquivos onde os mesmos possuem diversos benefcios. Voc conhecer algumas das tecnologias e solues existentes para tal aplicao, bem como suas funcionalidades aplicao e benefcios. Para facilitar nosso trabalho que os servidores de arquivos so implantados, como no exemplo j citado anteriormente podemos citar algumas das principais funes dos servidores de arquivos:
prover mobilidade para os usurios, ou seja, dar a possibilidade para o usurio acessar seus arquivos de qualquer lugar da rede; armazenar os arquivos dos usurios remotamente, diminuindo o perigo de perda de arquivos ou excluso acidental; segurana das informaes dos arquivos armazenados nos servidores, j que nos compartilhamentos podem ser aplicadas polticas de segurana e rastreamento.
A segurana, neste caso, trata de polticas de acesso aos diretrios, documentos compartilhados, enfim, o sigilo das informaes contidas nos compartilhamentos dos servidores de arquivos, sendo que esta a principal caracterstica durante a implantao deste. Para este caso, necessrio efetuar a estruturao dos diretrios a serem criados e compartilhados, com a devida ateno s polticas de acesso de usurios. Por exemplo, em um ambiente corporativo, onde h a necessidade do setor de recursos humanos possuir sigilo absoluto de suas informaes, de tal forma que apenas a direo da instituio e os responsveis pelo setor tenham acesso ao diretrio, evitando que informaes sigilosas da empresa sejam divulgadas ou de conhecimento de pessoas de m f. Diversas combinaes de controle de acesso podem ser definidas nos compartilhamentos, no quadro abaixo podemos visualizar um exemplo bsico de controle de acesso aos diretrios compartilhados. Lembrando que todos os requisitos de acesso podem ser definidos variando conforme a necessidade de cada caso:
Descrio do compartilhamento Destinado aos diretores Setor financeiro Setor de recursos humanos Setor de marketing Comum a todos os usurios Grupo de usurios Direo Financeiro/ direo RH/Direo Marketing/ direo Todos
Seo 1
Conceitos bsicos
Os servidores de arquivos podem possuir diversas funes especficas e no apenas uma como muitos imaginam. Eles podem operar apenas como unidades de armazenamento de backups ou como servidor de arquivos de uma rede corporativa oferecendo servio de compartilhamento de arquivos e documentos entre diversos usurios e sistemas operacionais. Imagine voc em um dia qualquer no meio do expediente no seu trabalho, de repente em um instante voc necessita repassar um documento para seu superior ou colega de trabalho. Sua sala fica distante desse seu colega de trabalho e voc no possui acesso a Internet, seria muito mais fcil se voc pudesse disponibilizar em algum lugar na rede armazenado em um servidor tal documento, do que ir andando para outros departamento ou andares da instituio no mesmo.
Permisso Leitura/escrita/ execuo Leitura/escrita/ execuo Leitura/escrita/ execuo Leitura/escrita/ execuo Leitura/escrita/ execuo
SERVIOS DE REDE
27
Seo 2
O Windows Server 2003 possui uma gama de ferramentas utilizadas para o controle do sistema operacional que so conhecidas como ferramentas administrativas, localizadas em seu menu de programas. Uma dessas ferramentas que se encontra em meio a essa gama, chama-se "Gerenciamento de servidor de arquivos", onde a mesma responsvel por prover ao administrador a gerencia dos diretrios compartilhados. Abaixo segue uma ilustrao desta ferramenta:
Esta ferramenta pode ser dividida basicamente em trs partes que so elas:
compartilhamento: lista que permite ao administrador criar novos compartilhamentos, definir suas polticas de segurana conforme suas necessidades;
formando ao administrador o usurio conectado, seu endereo IP bem como o tempo decorrido da conexo e o nmero de arquivos abertos; como o nome do nome do mesmo o tipo de acesso, seja ele leitura e escrita ou apenas leitura por exemplo. Tambm informa o nmero de bloqueios executados pelo servidor, caso o usurio tente efetuar uma ao a qual ele no tenha permisso.
Outros servios so encontrados nesta ferramenta administrativa como o caso da ferramenta de desfragmentaro de discos que tem por objetivo buscar arquivos fragmentados no disco, ou seja, descontnuos e torn-los contnuos. Outra ferramenta o gerenciamento de discos, onde efetuamos o controle das parties encontradas em nosso disco, tambm pode ser acessada por intermdio da ferramenta de administrao do servidor de arquivos do Windows Server 2003.
28
Outra boa funcionalidade que pode ser acessada pela ferramenta de gerenciamento de disco a criao e ativao de cotas de disco, onde pode ser limitado o espao que ser utilizado pelos usurios para a gravao de seus arquivos em disco. Podendo ser criadas cotas individuais e de tamanhos variveis, independente de hierarquia de usurio. Para obter acesso a tais configuraes, basta acessar as propriedades do disco em que se deseja ativar as cotas, conforme imagem:
A criao dos diretrios a serem compartilhados se d acessando o menu compartilhamento e efetuando a criao de um novo diretrio 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 permisses de acesso variando de acordo com cada caso.
SERVIOS DE REDE
29
DICA
Antes de disponibilizar qualquer tipo de compartilhamento para seus usurios na rede, efetue todos os testes de segurana para validar todas as polticas de segurana empregada em seus compartilhamentos para no surgir surpresas.
Outro mtodo para se efetuar o compartilhamento de arquivos em sistemas operacionais da famlia Windows pode ser empregado, que por sua vez prosseguem por um processo ainda mais simplificado. Tal processo d-se acessando as propriedades do diretrio que se deseja compartilhar e apenas ativar o compartilhamento, definindo suas opes de segurana e nmero limite de conexes simultneas dentre outros. Todo processo de criao de usurios, definio de grupos e hierarquias definido por outra ferramenta que carrega o nome de "Gerenciamento do computador". Atravs desta voc poder adicionar, excluir e modificar usurio e grupos existentes em seu servidor, criando a hierarquia de usurios e senhas de acordo com a necessidade de cada ambiente. Para fazer o acesso a diretrios compartilhados atravs de uma estao Windows, duas maneiras so muito utilizadas. Uma delas feita via ambiente de rede localizada em "Meus locais de rede", outra maneira muito utilizada ocorre atravs do software executar do Windows (super + R) informando o local do compartilhamento seguido do nome ou endereo IP do servidor mais compartilhamento, como segue "\\192.168.1.1\ publico". A utilizao de duas barras neste caso indica que se esta acessando um compartilhamento de rede. Muitas outras funcionalidades podem ser empregadas ao servidor de arquivos do Windows Server 2003, como ativao de backup remoto, criao de rotinas administrativas como limpeza automtica de disco ou excluso de arquivos contidos em seus compartilhamentos, assim como a inicializao automtica dos backups sejam eles gravados em servidor remotos, mdias magnticas, dentre outros.
30
Seo 3
SERVIOS DE REDE
31
Diversos outros parmetros de configuraes podem ser definidos para os compartilhamentos NFS variando da necessidade de cada caso, seguem exemplos:
Parmetros RO Rw Rw=lista Root_squash No_Root_ squash all_squash Anonuid=xxx Anongid=xxx Secure insecure noaccess Wdelay No_wdelay Async Nohide Hide Subtree_check No_Subtree_ check Secure_locks Insecure_locks Auth_nlm No_Auth_nlm Descrio Exporta somente leitura Exporta para leitura e gravao (o padro) Exporta na maior parte somente leitura, lista enumera os hosts que tem permisso para montar para gravao, todos os demais tem de montar somente leitura Mapeia ("encurala") UID e GID 0 para os valores especificados por anonuid e anongid esse o padro Permite acesso normal por parte de root perigoso Associa todos os UID e GIDs as suas verses anonimas, til para suportar PCs e hosts monousurios no-confiaveis Especifica o UID em que roots remotos devem ser encurralados Especifica o GID em que roots remotos devem ser encurralados Requer que o acesso remoto se origine de uma porta privilegiada Permite o acesso remoto de qualquer porta Impede o acesso a esse diretrio e seus subdiretrios (usado com exportaes aninhadas) Retarda gravaes na esperana de mesclar mltiplas atualizaes Grava dados no disco assim que possvel Faz o servidor responder a requisies de gravao antes de uma gravao no disco real Revela sistemas de arquivos montados dentro das rvores de arquivos exportadas Oposto de nohide Verifica se cada arquivo solicitado esta dentro de uma subarore exportada Verifica apenas requisies de arquivos refere-se a um sistema de arquivos exportado Requer autorizao para todas as requisies de bloqueio Especifica um critrio menos rigoroso de bloqueio Sinnimo de secure__locks Sinnimo de insecure_locks
Quadro 5 Lista de parmetros de configurao dos compartilhamentos NFS Fonte: Nemeth, Snyder e Hein (2007, p. 341).
Para acessar os compartilhamentos contidos no servidor atravs 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 diretrio compartilhado seguido do compartilhamento a ser montado, conforme podemos acompanhar um exemplo na figura 16:
32 CURSOS TCNICOS SENAI
Uma boa dica seria efetuar a montagem automtica do compartilhamento, para que a cada reinicializao do sistema no seja necessrio efetuar a montagem novamente. Para tanto deve ser editado o arquivo "/etc/ fstab" onde o mesmo responsvel pela montagem automtica de unidades de armazenamento. Para isso, basta adicionar um ponto de montagem ao final do arquivo como segue:
# /etc/fstab: static file system information. # # <file system> <mount point> <type> <options> proc /proc proc defaults 0 0 # /dev/sda1 UUID=bf490d46-b7bc-4340-96cf-ab7f4a626542 / relatime,errors=remount-ro 0 1
<dump> <pass>
ext3
Como no poderia ser diferente, no lado do cliente tambm existem diversas outras opes de parmetros de montagem dos compartilhamentos NFS. A seguir, voc pode conferir tais parmetros e seus significados:
Parmetro Rw RO Bg Hard Soft Intr Retrans=n Timeo=n Rsize=n Wsize=n Nfsvers=n Tcp Async Descrio Monta o sistema de arquivos para leitura-gravao (deve ser exportado assim) Monta o sistema de arquivos somente leitura Se a montagem falhar (o servio no responder), continue tentando em segundo plano e continue com outras requisies Se um servidor sair do ar as operaes que tentarem acess-lo sero bloqueadas at que o servidor volte a entrar em operao Se um servidor sair do ar, as operaes que tentarem acess-lo falharo e retornaro um erro; esse recurso til para evitar que processos fiquem "pendurados" em montagens no-acessveis Permite que usurios interrompam operaes bloqueadas (e retorne um erro) No permite que o usurio provoque uma interrupo Especifica o nmero de vezes para repetio de uma requisio antes de retornar um erro em um sistema de arquivos montado com a opo soft Configura o perodo de expirao (em dcimos de segundo) para as requisies Configura o tamanho do buffer de gravao para n bytes Seleciona as verses 2 ou 3 do protocolo NFS (normalmente de forma automtica) Seleciona o transporte vi TCP; UDP o padro Faz com que o servidor responda a requisies de gravao antes de uma gravao no disco real
Quadro 6 Parmetros de montagem de compartilhamentos NFS Fonte: Nemeth, Snyder e Hein (2007, p. 343).
SERVIOS DE REDE 33
Diversos outros complementos podem ser adicionados em seu servidor atravs das listas de parmetros disponibilizadas nesta seo. Experimente conhec-las!
Seo 4
Hoje, o samba encontra-se muito mais aprimorado e com inmeras funcionalidades, distribudo livremente sob licena GNU, utilizado na grande maioria das redes corporativas, devido a sua facilidade de utilizao e compatibilidade, com diversas plataformas. Sua gama de funes nos permite definir minuciosamente detalhes de polticas de acessos a diretrios, bem como opes de visualizao dentre outros. Para Nemeth, Snyder e Hein (2007), a grande maioria das funcionalidades encontradas no samba so implementadas por daemons que so eles: impresso, autenticao e autorizao;
SMBD: responsvel pela abertura das sesses depois de efetuada a autenticao pelo usurio, obedecendo todas as polticas de segurana sejam elas de grupo ou a acesso a arquivos.
Podemos afirmar que a configurao do samba possui um grau de dificuldade bastante simplificado, basicamente feito atravs de um nico arquivo de configurao onde o mesmo carrega o nome de "smb.conf". Em geral podemos encontrar o mesmo localizado no diretrio "/etc/ samba/smb.conf" ou "/etc/smb.conf", onde efetuamos todas as configuraes de compartilhamento de diretrios, impressoras, enfim todos os parmetros necessrios para o bom funcionamento de nosso servidor de arquivos. O arquivo de configurao do samba dividido basicamente em sesses representadas por "[NOME DA SEO]", seguida de seus parmetros. Por padro o samba reserva algumas sesses para definies de diretrios, impressoras e configuraes globais, onde as mesmas esto descritas no quadro a seguir:
Sees [global] [homes] [printers] [profile] Descrio As configuraes contidas nesta seo afetam o servidor samba como um todo, exemplo grupo de trabalho, polticas de acesso, nome do computador dentre outros. Trata das configuraes dos diretrios particulares dos usurios Define opes de compartilhamento de impressoras Definio de perfis se aplicado quando utilizado um controlador de domnio primrio
Qualquer outra seo que por ventura voc possa adicionar ser interpretada pelo samba como sesses de compartilhamento de diretrios ou de impressora.
34
DICA
Lembre-se para voc adicionar uma seo, basta inserir o nome da mesma entre colchetes como o exemplo que segue [Compartilhamento].
Para que possamos criar nosso servidor de arquivos utilizando o samba, primeiramente necessitamos instalar o mesmo, podendo tal procedimento ser efetuado atravs do comando "apt-get". Aps instalado, inicia-se a configurao do mesmo, lembrando que todas as configuraes so efetuadas atravs do arquivo de confiurao "smb.conf". Sua configurao pode ser toda feita atravs de editores de texto como Vim, Nano, Joe, etc. Abaixo temos um arquivo de configurao do sambacontendo algumas configuraes globais de um servidor de arquivos:
[global] comment = Servidor de arquivos Samba # Grpo de trabalho workgroup = Senai #Indica ser obrigatrio o uso de usurio 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 #Opes de senha null passwords = no #Hosts liberados hosts allow = 192.168.2 #Host bloqueados hosts deny = 192.168.3.
Figura 18 Parmetros da seo global
Diversos outros parmetros podem ser definidos na seo global de nosso servidor de arquivos samba. Segue um quadro com alguns parmetros de configurao e seus significados:
SERVIOS DE REDE
35
Parmetro commet Workroup Security Encrypt passwords Announce as Log file Null passwords Hosts allow Hosts deny Debug level
Funo Comentrio de host na rede Domnio ou grupo de trabalho que o host pertence Especifica o nvel de segurana (user, share, Server, domain) Indica que as senhas de usurios sero criptografadas Tipo de netbios (nmbd) sever NT, win95 ou NT Workstation Indica o arquivo de log do samba Indica se o usurio pode ou no usar senhas em branco Quais os hosts que tero acesso ao servidor Quais os hosts que no tero acesso ao servidor Permite ao samba lidar com algumas situaes de erro
Com as configuraes globais do samba feitas, os parmetros dos compartilhamentos devem ser definidos, tais parmetros variam desde o nome do diretrio a ser compartilhado at as permisses de acesso. Ainda com o arquivo de configurao do samba aberto, podemos efetuar algumas configuraes na seo "[homes]", como mencionado anteriormente tratara dos diretrios particulares de cada usurio bem como demais diretrios compartilhados. Segue um exemplo de configurao de sesses de compartilhamento de diretrios:
36
[homes] comment = Home Directories browseable = no writable = yes vfs object = recycle veto files = /*.mp3/*.mpeg/*.avi/*.{*}/ [Publico] comment = Compartilhamento pblico path = /dados/publico read only = no public = yes veto files = /*.mp3/*.mpeg/*.avi/*.wma/*.{*}/ vfs object = recycle create mask = 777 directory mask = 1777
Figura 19 Compartilhamento da seo homes
Muitos outros parmetros de configurao para os diretrios podem ser configurados. Segue uma lista de parmetros que podem ser configurados nos diretrios compartilhados:
Parmetros comment path writeable public / guest ok browseable write list read list force create mode force directory mode admin users Veto files Comentrio para o compartilhamento. Caminho do diretrio compartilhado
Funes
Indica se ser ou no possvel criar ou excluir arquivos ou diretrios do compartilhamento. Indica se ser ou no permitido o acesso de outros usurios. Define se o compartilhamento ser ou no visvel para o Ambiente de Rede. Define os usurios e/ou grupos com acesso de escrita no compartilhamento. Grupo (@ grupo), usurio (user1, user2) Como em. write list., mas define quem ter permisso de apenas leitura. Diz ao samba para formar o tipo de permisso dos arquivos criados (o mesmo que usar o chmod). Esta permisso tem menor prioridade que os parmetros. write list. e .read list.. O mesmo que .force create mode., mas para os diretrios criados no compartilhamento. Indicam quais so os usurios com permisso completa para o compartilhamento Veta a gravao dos arquivos com as extenses indicadas
SERVIOS DE REDE
37
Para que possa ser possvel ter o acesso ao servidor de arquivos samba atravs de um sistema operacional Windows, primeiramente os usurios devem estar cadastrados no sistema Linux e posteriormente ser cadastrados no samba. O samba dispe de um banco de dados separado para controlar seus usurios, encontrado geralmente em "/etc/samba/smbpasswd", porm mesmo que o samba possua um banco com usurios e senha separada isso no abole o cadastramento primeiramente do usurio no sistema. O samba possui uma ferramenta chamada "smbpasswd" a qual responsvel pelo cadastramento dos usurios no banco de dados do samba, com ela podemos adicionar um usurio ao samba, remover, desabilitar temporariamente ou at mesmo trocar a senha de um indivduo qualquer. Na figura que segue podemos acompanhar o cadastro de um usurio no samba:
root@SNJGS1EINFET361:/# smbpasswd -a aluno New SMB password: Retype new SMB password: root@SNJGS1EINFET361:/#
Figura 20 Adio de usurio ao sambasamba
Saiba Mais Para maiores informaes sobre a ferramenta smbpasswd, quanto sua utilizao e aos parmetros, utilize o manual do smbpasswd contido em sua distribuio com o comando "man smbpasswd".
Outra ferramenta bastante utilizada por administradores de rede e de extrema importncia chama-se "smbstatus". Responsvel por listar todos os usurios conectados ao servidor, informando endereo do host que est conectado, incio de conexo (data e hora), indica informaes de qual grupo o usurio conectado pertence e de qual servio o mesmo esta utilizando alm de demais informaes a respeito dos compartilhamentos decorrentes no servidor. A seguir voc pode acompanhar a execuo desta ferramenta:
38
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 SharePath Name Time ------------------------------------------------------------------------------------------------11640 0 DENY_NONE 0x100001 RDONLY NONE /dados/suporte server_teste Fri Nov 27 14:35:04 2009 root@SNJGS1EINFET361:/#
Figura 21 Utilizao da ferramenta smbstatus
Funcionalidades de cotas de disco tambm podem ser adicionadas ao samba, para isso o suporte a cotas de disco deve estar ativo. Podem ser definidas cotas por usurios bem como cotas limitadas por grupos de usurios, por exemplo, podemos definir que o usurio X ter uma cota de 200 MB para gravar em seu diretrio pessoal e o diretrio de compartilhamento comum ao grupo do usurio X ter um espao de 2 GB para gravar seus arquivos. Mensagens de estouro de cotas tambm so enviadas aos usurios. Para efetuar teste no arquivo de configurao do samba utilizada a ferramenta testparm. Ela faz uma varredura no arquivo de configurao buscando possveis erros e aponta ao administrador para que o mesmo possa corrigi-los e test-los novamente.
SERVIOS DE REDE 39
O samba tambm possui interfaces de configurao acessadas via browser de Internet, que em muitas vezes podem auxiliar em sua configurao, possibilitando inclusive criar remover ou desabilitar compartilhamentos e usurios. A mais famosa delas chama-se SWAT, possuindo uma interface amigvel e bastante intuitiva, outra ferramenta que no desenvolvida apenas para o gerenciamento do samba mas que atende muitos requisitos de facilidade de uso e intuio a ferramenta que carrega o nome de webmin.
Seo 5
permitir o compartilhamento de dados entre hosts distantes; permitir o compartilhamento de dados independente do sistema de permitir que os dados sejam transmitidos de maneira eficiente.
Baseado em um modelo cliente/servidor, onde o cliente envia as requisies e o servidor trata de processar tais requisies. Em uma comunicao FTP so abertos dois canais de comunicao, um para controle de dados chamado DTP e outro para interpretao de comandos enviados pelos clientes e controle do canal de dados DTP o controle de comandos chamado de PI. (KIOSKEA, 2009). Assim para que possam ser cumpridos seus objetivos de transferncia de dados alguns passos devem ser seguidos e executados atravs de comandos. Como a autenticao de usurios, execuo de comandos para a parametrizao das transferncias de dados e comandos de servios, onde os quais validam os dados que esto trafegando na rede. A seguir, podemos acompanhar a criao de tais canais o acesso ao sistema de arquivos e seu principio de funcionamento:
40
Existem diversas solues para prover o servio FTP hoje no mercado, rodando sob plataforma Windows e Linux. Em plataformas Linux o software servidor PROFTP que vem sendo largamente utilizado para implantao de tal servio. Um software servidor estvel e seguro que possui sua configurao bastante simplificada, onde a mesma permite ser explorada de forma bastante diversificada. Do outro lado a soluo Windows amplamente utilizada o prprio servio de FTP disponibilizado pela distribuio Windows Server 2003. A instalao de um servidor FTP em uma estao Windows Server 2003 ocorre atravs da ferramenta "Adicionar ou remover componentes do Windows. Porm nesse caso tratando-se de uma distribuio Windows, o FTP, depende para sua instalao do servio IIS desenvolvida pela prpria Microsoft, ento, primeiramente antes de instalar o servio FTP deve-se instalar o IIS. Outro pacote necessrio para o funcionamento do servidor FTP o pacote de "Arquivos Comuns". A configurao do servio bastante intuitiva e pode ocorrer de maneira descomplicada. Assim como no servidor de arquivos para a configurao do servio, o FTP tambm ocorre atravs de uma ferramenta grfica com o conceito de navegao entre janelas. A ferramenta chamada de "Gerenciador de Servios de Informao da Internet", que nada mais parte das dependncias que devem ser instaladas antes do servio 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!
SERVIOS DE REDE
41
Os diretrios a serem compartilhados ficam localizados ou organizados dentro do que chamamos de "sites FTP", nomeados de acordo com a preferncia ou a necessidade do administrador de rede. Podem ser encontrados na bandeja ao lado esquerdo da tela, como voc pode conferir no exemplo acima, onde temos o site SENAI e dentro do site, o diretrio TRC criado e compartilhado com suas devidas polticas de acesso. Diversas opes de compartilhamento podem ser definidas, como permisses de acesso, dando permisses de leitura ou escrita para os usurios bem como tipos de autenticao se ser ou no necessrio a digitao de usurio e senha para efetuar o acesso aos compartilhamentos ou se o acesso ocorrer de modo annimo. Na aba direita da ferramenta possumos acesso a informaes adicionais do servidor FTP, como nome de diretrio, compartilhando seu caminho, ou seja, onde o mesmo se encontra alocado no disco e o status. Para se criar um compartilhamento de um diretrio qualquer basta clicar com o boto direito sob os sites desejado e acessar o menu "Novo -> Diretrio virtual" e seguir os passos necessrios para concluir o compartilhamento. Para efetuar qualquer alterao no servidor FTP, seja ela de permisses ou de diretrios compartilhados, basta acessar o menu propriedades do item desejado e efetuar a alterao necessria. Aps concluda a configurao, para efetuar o acesso ao servidor FTP, basta utilizar um browser de Internet qualquer informando o endereo de seu servidor como segue: FTP://ip_do_servidor seguindo de sua autenticao.
42
Agora, passaremos para um exemplo de aplicao de servidor FTP rodando sob plataforma Linux, como j abordado atualmente a ferramenta mais utilizada em distribuies Linux atualmente para este fim o ProFTP. Software servidor considerado robusto de fcil configurao possui inmeras formas de configurao bem como formas de autenticao de usurios, podendo a mesma ocorrer atravs de bancos de dados mysql, postgres, LDAP, radius. (MARTINS, 2009). Distribudo livremente sob licena de cdigo aberto, o ProFTP teve seu projeto iniciado em meados de 1999, no tomando como base nenhum outro software, ou seja, para desenvolver o ProFTP no foi feito o reaproveitamento de cdigo e com o intuito de "substituir" ou inovar os conceitos dos servidores FTP, que at ento o software servidor que dominava o mercado era o Wu-FTP. Atualmente o ProFTP encontra-se na verso estvel 1.3.2.b disponvel para download na pgina do desenvolvedor. Seu arquivo de configurao dividido em mdulos, muito parecido com o do servidor de pginas web apache e pode ser encontrado geralmente em "/etc/proftpd/proftpd.conf", o mesmo possui numerosos parmetros de configurao, abaixo segue uma lista de alguns de seus parmetros conforme informaes contidas no manual:
SERVIOS DE REDE
43
ServerName ServerType DefaultServer Port User Umask AllowOverwrite SystemLog TransferLog MaxInstances DisplayLogin ListOptions
Nome do servidor que ser mostrado para usurio Modo de execuo do proftpd Qual ser a conexo de rede ser utilizada pelo proftpd Porta que o servidor ir responder (padro 21) Com qual usurio o proftpd ser executado Mascara para criao de arquivos Indica que os arquivos podem ser sobrescritos Arquivo de log do sistema Caminho para log de transferncia de arquivos Numero mximo de conexes simultneas Mostrar a conta autenticada no servidor para o usurio Lista de opes para visualizao de arquivos
O pacote necessrio para a instalao do servidor ProFTP chamado de proftpd pode ser instalado via linha de comando atravs do apt-get, bastando apenas o pacote constar na source.lst. Como a maior parte dos servios implementados no Linux o ProFTP tambm controlado por um daemon que neste caso chamado de proftpd, onde voc pode configurar para que o mesmo seja inicializado no boot da mquina ou manualmente. Na figura que segue voc pode acompanhar o comando para inici-lo manualmente:
root@SNJGS1EINFET356:~#/etc/init.d/proftpd start * Starting ftp server proftpd [ OK ]
Figura 25 Iniciando o servio Proftpd via init.d
Para a configurao bsica de um servidor ProFTP (proftp.conf), segue o arquivo de configurao utilizando a base de usurios do sistema e com acesso do diretrio home do usurio autenticado via FTP:
44
ServerName ServerType MultilineRFC2228 DefaultServer ShowSymlinks TimeoutNoTransfer TimeoutStalled TimeoutIdle 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 navegao de arquivos, como exemplo podemos tomar o Explorer do Windows. Abaixo segue o acesso feito a um servidor ProFTP de uma estao Windows:
Nesta unidade voc conheceu algumas das tecnologias e solues existentes para aplicao dos servidores de arquivo, bem como suas funcionalidades aplicao e benefcios. Prepare-se, agora, para estudar a funcionalidade e as caractersticas de um servidor de impresso em Linux. Continue conosco!
SERVIOS DE REDE
45
Unidade de estudo 3
Sees de estudo
Seo 1 O servidor de impresso Seo 2 Instalando impressoras Seo 3 Compartilhando impressoras com samba Seo 4 Configuraes diversas
Servidor de Impresso
Seo 1
O servidor de impresso
A funcionalidade bsica de um servidor de impresso permitir o compartilhamento de impressoras em uma rede. Outras caractersticas podem ser implementadas, como por exemplo, um gerenciamento de filas de impresso, filtros de impresso e at cotas de impresso, sendo esse ltimo, necessrio implementar outras aplicaes para realizar essa atividade. Nessa unidade de estudo, voc aprender um pouco mais sobre as caractersticas que compreendem um servidor de impresso em Linux, formas para instalar impressoras e compartilh-las na rede, alm de realizar alguns testes e configuraes especficas para um melhor desempenho do seu sistema. No Linux, um pacote chamado lpd responsvel por prover os servios nativos do sistema de impresso. Esse sistema funciona como um daemon, 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 Lpr Lpq Lprm Lpc Descrio Responsvel por enviar os trabalhos para a fila de impresso Este comando mostra o status da fila de impresso Utilizado para remover trabalhos da fila de impresso Comando de administrao da fila de impresso CUPS: Common UNIX Printing System.
Quadro 11 Comandos do pacote lpd Fonte: adaptado de Nemeth, Snyder e Hein (2007, p.536).
A configurao do sistema lpd fica gravada no arquivo /etc/printcap, onde tambm fica armazenado os nomes das impressoras e regras de impresso. J os trabalhos que so enviados para a fila de impresso, voc encontra no diretrio /var/spool/lpd, separados por subdiretrios com o nome da impressora utilizada. Alm do lpd, os sistemas operacionais modernos utilizam o CUPS como ferramenta para gerenciamento de impresses. Ele moderno e cobre diversas fraquezas dos sistemas mais antigos. Simplesmente automatiza algumas tarefas e facilita no relacionamento entre sistema e impressora. Trabalhando de forma cliente/servidor, onde o servidor CUPS um spooler que mantm filas de impresso para clientes e os clientes podem ser aplicativos simples como lpr e lpq.
SERVIOS DE REDE
47
Seo 2
Instalando impressoras
Uma impressora nada mais do que um hardware que engole um papel em branco e cospe um papel colorido! Nada disso, impressoras so complicadas, possuem diversos recursos de hardware e software. Hoje em dia, existem diversas opes de impressoras que o mercado oferece. H possibilidade de impressoras que imprimem em preto e branco, outras coloridas, impressoras e copiadoras, com opo de frente e verso automtico, enfim uma grande variedade. Antes da compra de um equipamento, deve ser analisada qual a funo que o mesmo ter. No gaste dinheiro com tecnologias revolucionrias ou que fazem mil coisas diferentes, se voc simplesmente quer imprimir. Para tal, necessrio que seja configurada uma impressora no sistema. Uma impressora normalmente conectada na porta paralela (LPT) ou na porta USB. Partindo do princpio que temos esse conhecimento, podemos identificar em qual dispositivo do sistema, o hardware est instalado. Os dispositivos de impresso paralela so nomeados como /dev/lp0 e /dev/lp1, para LPT1 e LPT2, respectivamente. Impressoras conectadas a portas USB utilizam os dispositivos /dev/usb/lp0, /dev/ usb/lp1 e assim por diante. Para certificar se a conexo com a impressora est funcionando, podemos enviar um teste de impresso diretamente para o dispositivo, como pode ser observado na imagem a seguir:
Aps isso, necessrio configurar o dispositivo no arquivo /etc/printcap. Esse arquivo contm as configuraes de cada impressora instalada no sistema, onde cada uma deve ocupar uma linha do arquivo e os parmetros devem ser separados por dois-pontos ( : ). Parmetros do arquivo /etc/printcap:
Parmetro sh ml mx Descrio Define se cabealhos ou pginas de banners so impressas ou no. Define o valor mnimo para determinar um caracter imprimvel. Especifica o tamanho mximo do arquivo que poder ser impresso. Se informado zero, o tamanho ser ilimitado. Define o diretrio de spool local para armazenar os trabalhos para impresso. Cada impressora deve ter o seu prprio diretrio. Define o arquivo onde sero gravados os dados sobre o uso da impressora; contabilidade; estatsticas; Nome do dispositivo ao qual a impressora est conectada. Especifica um filtro a ser utilizado nos trabalhos de impresso, antes de serem enviados a impressora. Especifica o local do filtro que ser utilizado para transformar arquivos de impresso para o formato suportado pela impressora.
sd
af lp lpd_bounce
if
Em algumas distribuies comum encontrar um utilitrio chamado printconf. Esse programa pode ser executado tanto em modo texto como em modo grfico e responsvel por automatizar uma instalao de uma impressora do Linux.
DICA
Voc pode imprimir pginas inicial e final para cada trabalho enviado impressora, que mostram o ttulo do trabalho e o usurio que enviou. Essas pginas as vezes so teis para separar os trabalhos em impressoras utilizadas por muitas pessoas, mas caso voc no utilize dessa forma, desabilite essa opo, assim voc ir economizar tempo, toner e papel.
48
Seo 3
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_SNDBUF=8192 dns proxy = no [printers] comment = All Printers path = /var/spool/samba browseable = no guest ok = no writable = no printable = yes
Figura 29 Imprime diretamente no dispositivo
Caso voc no queira compartilhar todas as impressoras, voc pode remover a seo printers do arquivo e adicionar um compartilhamento especfico para uma impressora. Observe o exemplo a seguir, onde o parmetro "printer" define qual a impressora do arquivo /etc/printcap ser compartilhada.
SERVIOS DE REDE
49
[hp3845]
comment = Impressora Contabilidade path = /var/spool/samba browseable = no public = no writable = no create mode = 0700 printable = yes printer = hp
Para realizar a impresso, voc pode utilizar o comando lpr, que envia uma impresso a um computador remoto, ou tambm pode ser enviado diretamente atravs do software smbclient. Da mesma forma que ele visto com detalhes no Captulo sobre Servidor de Arquivos, o seu uso para imprimir bem semelhante, conforme exemplo. Observe!
Aps conectado impressora compartilhada, voc pode enviar um arquivo a ela usando o comando put. A seguir, pode-se ver um exemplo, caso fosse um compartilhamento comum, o arquivo iria apenas ser transferido, mas como o parmetro printable est habilitado, o arquivo enviado ser impresso.
smb:> put teste.txt
Figura 32 Enviar arquivo para impresso
Seo 4
Configuraes diversas
Com as impressoras instaladas e em pleno funcionamento, agora voc pode gerenciar e visualizar as filas de impresso. O comando lpr envia arquivos para a fila de impresso. Quando acionado ele cria uma cpia do arquivo a ser impresso e grava no spool da impressora escolhida. Esse arquivo fica armazenado at que a impresso finalizada. A utilizao desse comando simples e pode ser resumida a apenas enviar o documento para a impressora padro, conforme figura 33, ou at mesmo, definir algumas opes, de acordo com a figura 34, como por exemplo, o nmero de cpias (-#n) e a impressora destino (-Pnome).
50
# lpr documento.txt
Figura 33 Simples envio de documento para impresso
J o comando lp semelhante ao lpr, mas possui algumas opes a mais, como por exemplo, pausar uma impresso, avanar para o prximo trabalho da fila a ser impresso e enviar uma mensagem na tela ao fim da impresso. Com o comando lpq, voc pode listar o contedo da fila de impresso. Alm disso, podem ser realizado diversos filtros nos trabalhos pelo seu nmero, usurio ou nome da impressora. Agora que voc pode visualizar a lista de impresses, tambm possvel remover trabalhos da fila. Utilizando o comando lprm, voc pode remover um determinado trabalho ou trabalhos de um determinado usurio. Finalmente, temos o comando lpc, que controla as operaes de impresso de uma ou mais impressoras. Com ele voc pode iniciar ou parar os trabalhos alm de efetuar diversas outras aes apresentadas a seguir:
Comando ? comando abort [all/impressora] clean [all/impressora] disable [all/impressora] down [all/impressora] [mensagem] enable [all/impressora] exit restart [all/impressora] start [all/impressora] stop [all/impressora] topq impressora [usurio] [trabalho] up [all/impressora] status [all/impressora]
Quadro 13 Comandos do lpc Fonte: adaptado de Ribeiro (2004).
Todos os comandos citados acima possuem um manual de instrues que pode ser obtido atravs da opo man [comando], ou tambm atravs do help, [comando] - - help. Alm das impressoras conectadas a portas paralelas ou USB, voc tambm poder encontrar impressoras de rede, que se conectam diretamente numa rede atravs de uma interface prpria. Nesse caso, os dados so enviados muito mais rapidamente do que as conectadas em portas paralelas ou seriais, por exemplo.
DICA
Se voc estiver montando um servidor de impresso, e centralizar as impressoras em um nico lugar, disponibilize uma caixa de papelo como lixeira. Os papis impressos que no sero mais utilizados, cabem perfeitamente nelas e podem ser reciclados. No esquea de colocar um aviso para retirar grampos ou clipes.
Descrio Fornece ajuda para o comando especificado. Termina todos os trabalhos de impresso imediatamente e desabilita o servio. Remove todos os arquivos na fila de impresso. Desabilita a entrada de novos trabalhos de impresso na fila. Desabilita a entrada de novos trabalhos de impresso na fila e avisa os usurios atravs de uma mensagem personalizada. Habilita o servio de impresso. Sai do modo interativo do lpc. Reinicia o servio de impresso. utilizado quando alguma condio anormal parou o lpd. Inicia o servio e a fila de impresso. Para o servio e a fila de impresso. Move um determinado trabalho pelo numero ou de um usurio para o incio da fila de impresso. Inicia e habilita o servio de impresso parado pelo comando down. Exibe o status das impressoras.
Aprendido tudo isso, que tal agora revisitar alguns conceitos bsicos a respeito da estrutura do sistema de e-mail? Vamos nessa!
SERVIOS DE REDE
51
Unidade de estudo 4
Sees de estudo
Seo 1 Conceitos bsicos Seo 2 SMTP Seo 3 POP3 e IMAP Seo 4 Configurao do SMTP Postfix Seo 5 Configurao do POP e IMAP Seo 6 Spam
Servidor de E-mail
Nessa unidade, voc encontrar uma reviso sobre os conceitos bsicos sobre a estrutura do sistema de e-mail, protocolos utilizados tanto para o envio quanto para o recebimento de mensagens, e ainda a configurao bsica de servidor para envio e recebimento de e-mails.
Seo 1
Conceitos bsicos
O SMTP um dos protocolos mais utilizados hoje na camada de aplicao, sendo o protocolo padro para envio de e-mails na Internet, utilizado para enviar mensagens entre cliente e servidores, ou entre servidores de e-mail. Foi primeiramente definido na RFC 788 em novembro de 1981, que descreve a operao do SMTP em entregar mensagens de e-mail em formato texto atravs da rede ARPANET. Em agosto de 1982 foram publicadas a RFC 821 e RFC 822, que definem o padro de protocolo para entrega de mensagens de e-mail atravs do conjunto de protocolos TCP/IP, de forma eficiente e confivel.
Segundo Tanenbaum (2003, p. 627), os sistemas de correios eletrnicos (e-mail), consistem em dois subsistemas: os agentes do usurio e os agentes de transferncia de mensagens. Agentes de usurio, tambm referenciados como MUA consiste no programa cliente, normalmente instalado no computador, no qual o usurio interage atravs de uma interface grfica, l as mensagens recebidas ou pode compor e enviar mensagens de correio eletrnico. Atualmente existem vrios programas clientes, onde pode ser citado, por exemplo: Evolution, Microsoft Mail, Microsoft Outlook, Mozilla Thunderbird, Opera Mail, etc.
SERVIOS DE REDE
53
A mensagem criada no agente de usurio contm duas sees: o cabealho e o corpo da mensagem. O cabealho contm os dados que descreve a mensagem e controla como sua entrega ser processada. J o corpo da mensagem consiste na informao a ser enviada. Como uma analogia ao envio de uma carta de papel pelo correio, o corpo da mensagem ser a carta, e o cabealho, o envelope onde a carta ser colocada. Para o envio dessa mensagem, o agente de usurio entrar em contato com o agente de transferncia de mensagens. Agentes de transferncia de mensagens so normalmente daemons do sistema, rodando em segundo plano, tendo como objetivo principal receber uma mensagem do remetente e transferi-la para o destinatrio. Dois exemplos de protocolos da camada de aplicao so o SMTP e o POP. O POP ser utilizado para receber e-mails que esto armazenados no servidor de e-mail, e l-los atravs 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 protocolo SMTP. Assim, ao enviar uma mensagem atravs de uma aplicao MUA, o SMTP abrir uma conexo com o servidor MTA e enviar a mensagem. Se o destinatrio no se encontra no servidor, o MTA entrar em contato com o servidor onde o destinatrio est configurado, e enviar a mensagem. Veja na figura um exemplo do fluxo de mensagem atravs de uma rede.
J o objetivo do MDA armazenar as mensagens eletrnicas em caixas postais (mailbox) no servidor, estando disponvel a qualquer momento para o usurio. O cliente de e-mail do usurio (MUA) entrar em contato com o MDA, utilizando o protocolo de aplicao POP ou o IMAP.
54
Na pilha de protocolos TCP/IP, o sistema usado para identificar servidores o DNS, como visto na unidade Sistema de Nomes de Domnio. Um endereo TCP/IP consiste de duas partes: um nome de usurio (username) e um nome de domnio, unidos pelo smbolo arroba (@), que significa em.
<username>@<dominio.com.br>
A fim de no ficar enviando uma mensagem de um servidor a outro, at encontrar o servidor do destinatrio, um registro de recurso especial foi criado no DNS, o MX (mail exhange). Ele especifica o endereo do servidor de e-mail para aquele domnio consultado, enviando diretamente o e-mail para o servidor SMTP do destinatrio.
Seo 2
SMTP
Um daemon de correio eletrnico que se comunica em SMTP permanece escutando a porta 25. Quando o servio escuta um pedido de uma conexo TCP atravs de um cliente inicia o recebimento da mensagem e depois 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 destinatrio se encontrar em outro servidor. Durante o estabelecimento da conexo, o servidor SMTP, aps aceitar a conexo, ir enviar uma mensagem com o cdigo de resposta 220, respondendo que o servio est pronto para o cliente. Essa resposta normalmente inclui o nome de domnio completo do servidor SMTP, atravs da mensagem: HELO mail.exemplo.com.br O cliente ir responder com uma mensagem hello, ou caso o servidor oferecer suporte a extenses do SMTP. Para contornar alguns problemas do SMTP, tais como implementaes antigas que no 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 no possui esse recurso, e o tradicional HELO ser utilizado, seno todos os parmetros do ESMTP sero permitidos, retornando o cdigo de mensagem 250. (TANEBAUM, 2003). Como voc pode ver na figura a seguir, aps essa troca de mensagem, a mensagem pode ser enviada. Quando o remetente enviar a mensagem, a seo ser finalizada com o envio do comando QUIT, que resultar na resposta do comando 221 do servidor Goodbye, e o canal ser fechado.
SERVIOS DE REDE
55
Servidor SMTP
TCP 220
2 Conexo TCP estabelecida, Enviar Resposta 220 Ready
EHLO 250
5 Receber Resposta OK, Processar extenses, conexo aberta. ( Transio de e-mails ) Fim da transferncia, Enviar comando QUIT.
4 Recebido EHLO, Enviar Resposta 250 OK com lista das extenses SMTP suportadas pelo servidor.
( Transio de e-mails )
QUIT
Recebeu QUIT, Enviar Resposta 221 Goodbye.
221
Assumindo que no houve problemas durante o estabelecimento da seo, o processo de transio do e-mail consiste em: identificao de remetente, identificao de recipiente (destinatrio) e transferncia da mensagem de e-mail. A transio inicia com o comando: MAIL FROM: <aluno@exemplo.com.br>. Se o servidor aceitar o remetente, o cdigo de mensagem de resposta 250 (OK) ser enviado ao cliente. Em seguida o cliente envia o comando TCPT, que especifica o recipiente do e-mail destinatrio a ser enviado, como por exemplo: RCPT TO: <destino@ exemplo.com.br>. Novamente o servidor responder com uma mensagem 250 (OK), caso aceite o destinatrio. O prximo 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 prtico de conexo via Telnet, a porta 25 do servidor SMTP, para envio de um e-mail.
56
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: <aluno@exemplo.com.br> 250 2.1.0 Ok RCPT TO: <destino@exemplo.com.br> 250 2.1.5 Ok DATA 354 End data with <CR><LF>.<CR><LF> From: Aluno <aluno@exemplo.com.br> To: Aluno2 - Destino <destino@exemplo.com.br> 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
Figura 38 Comandos para transio de e-mail
Como exemplos de servidores SMTP podemos destacar alguns: Postfix, QMail, Sendmail, Exim, Microsoft Exchange (SMTP/POP3/IMAP4).
Seo 3
POP3 e IMAP
O protocolo POP3, definido na RFC 1939, um protocolo que permite que programa cliente de e-mail entre em contato com um agente de transferncia de mensagens (no servidor MDA), e transfira as mensagens do servidor para o programa no computador do usurio. Utiliza o protocolo TCP na camada de transporte e a porta padro a 110. Segundo Tanenbaum (2003, p. 645),Depois que a conexo estabelecida, o protocolo POP3 passa por trs estados em seqncia: autorizao, transaes e atualizao. Na autorizao, o protocolo ir verificar e validar as credenciais do usurio: nome de usurio e senha. Aps validar com xito, o estado de transaes consiste em consultar as mensagens na caixa postal do usurio e caso tenha algum e-mail, ser iniciado a transferncia para o computador. Aps descarregar todas as mensagens, o estado de atualizao consiste em remover todas as mensagens da caixa postal, esvaziando sua caixa.
SERVIOS DE REDE
57
IMAP: Internet Message Access Protocol Protocolo de Acesso de Mensagens pela Internet)
possvel consultar as mensagens no servidor POP3 e deixar uma cpia no servidor, ativando o recurso de no remover as mensagens lidas no programa cliente de e-mail. Para um usurio que l suas mensagens a partir de um nico computador, o POP3 funciona muito bem. Mas imagine algum que est sempre em vrios locais, utilizando computadores diferentes, nessa situao fica praticamente impossvel 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 protocolo de transporte TCP. No IMAP, todas as mensagens permanecero no servidor por tempo indeterminado, tal como um servidor de mensagens centralizado. Outra vantagem a segurana dos dados. Por estar em um servidor ou at mesmo em data centers, o gerenciamento centralizado e a poltica de backup prev a cpia dos e-mails, a fim de evitar algum possvel desastre com os dados. Alm disso, ele oferece recursos adicionais como: possibilidade de criar vrias caixas postais dentro da caixa postal principal do usurio, permitindo separar as mensagens ou at mesmo mover uma mensagem de uma caixa para outra, por exemplo, por assuntos de interesse. Ainda possvel escolher quais mensagens de e-mail deseja ler, bastando para isso marcar as mensagens e fazer o download apenas das mensagens que o usurio selecionou.
Webmail
Uma ferramenta muito utilizada nos dias de hoje owebmail. Alguns dos principais portais, como por exemplo, Gmail (Google), Hotmail (Microsoft) e Yahoo, oferecem o servio de correio eletrnico para qualquer pessoa atravs de um navegador web, sem a necessidade de instalar um agente cliente (MUA) em seu computador. O navegador do cliente acessar um endereo em especial (URL), que acessar a caixa postal do usurio. O navegador l as informaes da caixa postal e envia atravs do navegador. Esse mtodo acessa diretamente o servidor, requerendo pra isso o usurio estar sempre on-line. A principal vantagem do webmail sua praticidade, principalmente em viagens ou utilizando outro computador, que no seja o seu pessoal ou da empresa. possvel ler mensagens, responder ou compor e-mails utilizando somente a janela do navegador, sem nenhuma instalao de programa cliente de e-mail. Como exemplo de aplicaes de webmail, possvel citar o Squirrelmail, Horde ou ainda o Roundcube (figura 39).
58
SEO 4
SERVIOS DE REDE
59
O e-mail recebido na porta SMTP tcp25 pelo processo smtpd, que tambm ir verificar se os clientes possuem autorizao para enviar o e-mail (pr-filtros). Todos os e-mails passam por cleanup, que adiciona cabealhos ausentes e regrava endereos 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 correes menores nos endereos, como acrescentar um domnio de correio a endereos que no so completamente 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:
motivo;
incoming: e-mails que esto chegando; active: e-mails que esto sendo entregues; deferred: e-mail no qual a entrega falhou anteriormente por algum hold: e-mail bloqueado na fila pelo administrador; corrupt: e-mail que no 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 responsvel pela entrega ser o smtp. J o objetivo do local justamente entregar uma mensagem localmente na caixa postal do usurio no servidor. O programa virtual por sua vez, entregar um e-mail a uma caixa postal virtual, ou seja, caixas postais que no esto vinculadas a uma conta local do Linux. E o pipe implementa a entrega por meio de programas externos.
Relayhost = [mail2.exemplo.com.br]
Figura 41 Uso do parmetro Relayhost
60
Outro item muito importante a segurana. O Postfix possui por padro suporte a TLS ativado, o que significa que o envio das mensagens realizada atravs de certificao digital e, portanto segura. Conforme a figura abaixo, as opes que ativam suporte ao TLS no Postfix so:
Um srio problema hoje a grande quantidade de spam enviado por hosts na Internet. Para ajudar a filtrar isso, recomendam-se algumas diretivas na configurao do Postfix, como pode ser exemplificado a seguir. Veja!
strict_rfc821_envelopes = yes smtpd_helo_required = yes smtpd_recipient_restrictions = reject_unknown_sender_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
Figura 43 Diretivas para minimizar o problema de spam
Observe que as regras so aplicadas ao programa smtpd, que justamente o responsvel em receber e processar os e-mails que esto chegando 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 configurao do Postfix, pois exibe na tela todos os parmetros da configurao atual. possvel repassar a diretiva que deseja visualizar, filtrando assim sua sada:
SERVIOS DE REDE
61
O comando postqueue exibe entradas de cada mensagem que esto na fila de mensagens, aguardando sua vez para serem enviadas ou devido a algum erro, ficaram paradas na fila.
debian:/etc/postfix# postqueue -p -Queue ID- --Size-- ----Arrival Time---- -Sender/Recipient------DBA3F1A9 553 Sun Nov 1 14:42:15 kdent@example.com (connect to mail2.exemplo.com.br[192.168.1.8]: Connection refused) aluno2@exemplo.com.br
Figura 45 Uso do comando postqueue
Mensagens ativas, apenas aguardando a vez sero identificadas com um asterisco, na frente do cdigo da mensagem. Caso voc deseje remover uma mensagem da fila, dever ser utilizado o comando postsuper e o cdigo da mensagem, ou ainda o argumento ALL para remover todas as mensagens da fila. Veja exemplos:
debian:/etc/postfix# postsuper -d DBA3F1A9 postsuper: DBA3F1A9: removed postsuper: Deleted: 1 message
Figura 46 Deletando uma mensagem com o comando postsuper
62
Seo 5
Aps feitas as alteraes, reinicie o servio do Dovecot, e realize um teste atravs do Telnet para a porta 110. Observe o exemplo a seguir:
SERVIOS DE REDE
63
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
debian:/etc/dovecot# Telnet 127.0.0.1 110 Trying 127.0.0.1... Connected to 127.0.0.1. Escape character is ^]. +OK Dovecot ready. USER aluno +OK PASS aluno +OK Logged in. STAT +OK 1 812 LIST +OK 1 messages: 1 812 . RETR 1 +OK 812 octets Return-Path: <aluno@exemplo.com.br> X-Original-To: aluno@exemplo.com.br Delivered-To: aluno@exemplo.com.br Received: from [192.168.1.5] (unknown [192.168.1.5]) by debian (Postfix) with ESMTP id 5D8782DACE for <aluno@exemplo.com.br>; Wed, 25 Nov 2009 16:21:50 -0200 (BRST) Message-ID: <4B117BB3.9050503@exemplo.com.br> Date: Sat, 28 Nov 2009 17:36:19 -0200 From: aluno <aluno@exemplo.com.br> User-Agent: Thunderbird 2.0.0.23 (Windows/20090812) MIME-Version: 1.0 To: aluno@exemplo.com.br Subject: teste teste . DELE 1 +OK Marked to be deleted. RSET +OK QUIT +OK Logging out. Connection closed by foreign host.
64
Depois de abrir a conexo com o servidor, o cliente de e-mail (MUA) enviar o usurio e a senha (linhas 6 e 8). Em seguida, o servidor ir responder 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 usurio, juntamente com o seu tamanho. Para ler uma mensagem, o comando RETR (numero da mensagem) enviado e o servidor ir enviar o cabealho 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 conexo, utilizado o comando QUIT. Todos esses comandos esto embutidos no programa cliente de e-mail. Atravs da interface grfica, possvel abstrair o usurio de conhecer todos esses comandos para a manipulao de e-mails. O IMAP possui vrios comandos adicionais em relao ao POP, visto que um protocolo mais completo e muitos mais recursos. Observe o exemplo abaixo, em um teste de conexo ao servidor IMAP, atravs agora da porta 143.
SERVIOS DE REDE
65
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
debian:/etc/dovecot# Telnet 127.0.0.1 143 Trying 127.0.0.1... Connected to 127.0.0.1. Escape character is ^]. +OK Dovecot ready. . login aluno aluno . OK Logged in. . list "" "*" * LIST (\NoInferiors \Marked) / INBOX OK List completed. . status INBOX (messages) * STATUS INBOX (MESSAGES 1) . OK Status completed. . select INBOX * FLAGS (\Answered \Flagged \Deleted \Seen \Draft) * OK [PERMANENTFLAGS (\Answered \Flagged \Deleted \Seen \Draft \*)] Flags permitted. * 1 EXISTS * 1 RECENT * OK [UNSEEN 1] First unseen. * OK [UIDVALIDITY 1259172548] UIDs valid * OK [UIDNEXT 4] Predicted next UID . OK [READ-WRITE] Select completed. . fetch 1 rfc822.header * 1 FETCH (RFC822.HEADER {613} Received: from [192.168.1.5] (unknown [192.168.1.5]) by debian (Postfix) with ESMTP id C14452DACE for <aluno@exemplo.com.br>; Wed, 25 Nov 2009 16:41:14 -0200 (BRST) Message-ID: <4B11803F.6060005@exemplo.com.br> Date: Sat, 28 Nov 2009 17:55:43 -0200 From: aluno <aluno@exemplo.com.br> User-Agent: Thunderbird 2.0.0.23 (Windows/20090812) To: aluno@exemplo.com.br Subject: teste2 ) . OK Fetch completed. . logout * BYE Logging out . OK Logout completed. Connection closed by foreign host.
66
Na linha 6 ser enviado o usurio e senha. Em seguida, o comando LIST solicitar ao servidor, as pastas disponveis. Nesse caso existe somente a caixa INBOX (linha 9). O comando STATUS (linha 11) solicitar ao servidor o status das mensagens que esto na caixa INBOX, nesse caso apenas 1 mensagem. Para ler a mensagem, o cliente envia o comando FETCH e o nmero da mensagem, seguindo ainda de um argumento. Esse argumento pode ser rfc822.header, que ir fazer o download apenas do cabealho da mensagem, ou rcf822.text, que ir fazer o download do corpo da mensagem. Por fim, para finalizar a conexo, o comando LOGOUT enviado (linha 39).
DICA
Ateno para o . e um espao no incio de cada comando no IMAP. Se voc enviar apenas o comando, o servidor retornar um erro de comando.
Seo 6
Spam
O que Spam? Segundo CGI.BR (2009) Spam o termo usado para referir-se aos emails no solicitados, que geralmente so enviados para um grande nmero de pessoas. Quando o contedo exclusivamente comercial, esse tipo de mensagem chamada de UCE.
Figura 51 SPAM
SERVIOS DE REDE
67
Outro grande problema hoje presente na Internet o Spam Zombies, que so computadores geralmente de usurios finais comprometidos por cdigos maliciosos como worms, bots, vrus, cavalo de tria, que aps infectar o computador, iro executar um cdigo pr-definido e enviar mensagens (e-mails) sem que o usurio saiba. A identificao dessas mensagens so muito difceis e proporciona o anonimato do verdadeiro autor desses e-mails. Com a grande evoluo da Internet, saindo do ambiente acadmico e tornando-se uma ferramenta indispensvel na vida do dia-a-dia das pessoas e empresas, ela se tornou um meio de comunicao muito importante. utilizada para todos os fins, fazer negcios, compras atravs de grandes lojas online, busca e troca de informaes, entre tantos outros fins. Mas essa popularizao da grande rede mundial de computadores trouxe tambm um problema. Aproveitando-se dos meios de comunicao, uma das ferramentas mais utilizadas hoje no dia-a-dia pelas pessoas, o e-mail, tornou-se algo de prticas ruins e indesejadas pelas pessoas. O spam hoje um dos maiores problemas na Internet, pois causa perda de produtividade nas empresas, lentido na rede com o grande volume de trfego desnecessrio, alm de problemas de armazenamento em servidores de e-mails, e necessidade de grande poder de processamento em servidores. Apesar de o termo spam ser utilizado recentemente com a Internet, a prtica j era conhecido a um bom tempo. Antes do envio de mensagens eletrnicas j tnhamos problemas com spam ou recebimento no desejado de correspondncias. Cartas de correntes oferecendo dinheiro fcil, propagandas e folhetos oferecendo produtos com promoes, s vezes enchendo a caixa de correspondncia, ou at mesmo ligaes telefnicas oferecendo produtos, tudo isso sem nossa aprovao. Com o meio digital e a facilidade de enviar mensagens, alm tambm da facilidade em adquirir pacotes com centenas ou milhares de endereos de e-mails, estimulou usurios e empresas a aderirem tcnica de spam pela Internet. Outro grande problema est aliado ao spam: mensagens infectadas com vrus, cdigos maliciosos, com o intuito de transformar o computador da vtima em um novo ponto de disseminao de spam na Internet ou, ainda, mensagens se passando por lojas ou bancos com o objetivo de capturar nmero de contas e senhas de correntistas que acessam o servio de home-banking pelo computador.
68
Phishing ou scam um grande problema enfrentado hoje, que consistem em mensagens que tentam induzir o usurio a acessar pginas clonadas de instituies financeiras ou a instalar programas maliciosos, projetados para furtar dados pessoais e financeiros. Bancos no Brasil e no mundo esto investindo muito em cima de sistemas de proteo, mas a principal forma de se evitar isso com o conhecimento e informaes ao usurio, no clicando em links ou abrindo arquivos que estejam anexados ao corpo do e-mail. Sites de relacionamento como, por exemplo, Orkut, Twitter, FaceBook esto fazendo muito sucesso. Isso tambm se tornou um prato cheio para propagandas e propagao de spam. Com isso, esses sites possuem mecanismos de configurao de conta, impedindo, por exemplo, de receber mensagens de pessoas no autorizadas.
Policy
Fra-
SpamAssassin
O SpamAssassin um filtro que muito eficaz na identificao de spam. Ele utiliza um sistema de pontos para avaliar os pecados de uma mensagem. Ele captura praticamente qualquer spam real e raramente tem resultados falso-positivos. Se uma mensagem acumular muitos pontos (configurvel tanto globalmente em um site como por usurio individual), o SpamAssassin marcar essa mensagem. Voc pode ento 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 atravs da RFC4406, diretamente no site da INTERNET ENGINEERING TASK FORCE (IETF): www. ietf.org/rfc.html. O SPF tambm foi padronizado pelo IETF (RFC4408), e utiliza-se do registro de recurso TXT do DNS, verificando o endereo IP real do servidor de e-mail do domnio que pode enviar mensagens pelo domnio. Um exemplo desse registro :
exemplo.com.br
IN
TXT
Nesse exemplo, um registro de recurso do tipo TXT foi criado na zona DNS do domnio exemplo.com.br, e indicando que apenas o IP 192.168.1.1 pode enviar e-mails pelo domnio, 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
SERVIOS DE REDE
69
Unidade de estudo 5
Sees de estudo
Seo 1 Conceitos bsicos Seo 2 Instalando o apache Seo 3 Configurando o apache Seo 4 MySQL Seo 5 Controle de acesso autenticao de usurios Seo 6 Segurana SSL
Servidor de Web
Nesta unidade de estudo ser abordado o assunto que trata sobre servidores de web onde os mesmos possuem diversos benefcios. Voc conhecer algumas das tecnologias e solues existentes para tal aplicao, bem como suas funcionalidades aplicao e benefcios. soluo desenvolvida para plataformas Linux (LAMP), foi de certa forma copiada ou compilada para rodar em plataformas Windows, possuindo a mesma funcionalidade inicial que de servir paginas apenas alterando seu nome de LAMP para Wamp. Por padro os servidores web so configurados para responderem na porta 80, mas no h nada que impea de voc mudar isso, muitos administradores de rede costumam trocar a porta padro para a porta 8080. Outras funcionalidades podem ser integradas ao nosso servidor web como suporte a criptografia de pginas (SSL) que ser abordada no decorrer desta unidade, como a implementao de demais protocolos. A hospedagem de pginas baseada em URL (Uniforme Resource Locator) que traduzindo para portugus significa localizador de recursos uniformes, que nada mais que um ponteiro ou local onde esto as pginas que desejamos acessar. Para que possamos acessar uma pgina distinta, seja na Internet ou em algum tipo de Intranet, primeiramente devemos fazer uso de um browser de Internet como Firefox, Internet Explorer, Opera dentre outros e informar ao mesmo o endereo que desejamos acessar. Nemeth, Snyder e Hein (2007, p. 496) afirmam que para efetuar o acesso a uma pgina encontrada na web as URLs devemos informar ao navegador cinco passos bsicos:
Seo 1
Conceitos bsicos
Servidores web em geral atuam como servidores de pginas web oferecendo servios para navegao em pginas de formato HTTP que, por sua vez, podem carregar inmeros componentes em seu mbito como textos, figuras ou vdeos, protocolo baseado em TCP para a transmisso destes formatos de arquivos. No mercado esto disponveis diversas solues para aplicao de tal servio, rodando em mltiplas plataformas como Linux e Windows. Muitas pesquisas j foram efetuadas para se tentar chegar a concluso de qual plataforma a melhor, porm, diante do custo para a aplicao de tal soluo, a plataforma Linux tem vencido este preo com o pacote de instalao bastante famoso que carrega o nome de LAMP (Linux, Apache, Mysql e PHP/Perl/Python). A soluo desenvolvida pela Microsoft no deixa a desejar tambm em questes de desempenho e funcionalidades, porm, seu custo de implementao considerado razoavelmente alto. Para tanto a
SERVIOS DE REDE
71
Abaixo podemos acompanhar alguns dos protocolos que os servidores web so capazes de fornecer o acesso por meio de navegadores web.
O que ele Faz Acessa um arquivo local Acessa um arquivo remoto FTP Acessa um arquivo remoto HTTP Acessa um arquivo remoto HTTP/SSL Acessa servios de diretrios LDAP Envia e-mails para um endereo File://etc/syslog.conf
Exemplo
A definio de qual navegador utilizar para fazer acessos em pginas web fica por conta do usurio e dependendo da pgina a ser acessada, o desenvolvedor pode estar orientando o usurio com questes de desempenho e compatibilidade informando qual navegador se encaixa melhor com sua pgina. Na figura que segue podemos acompanhar o acesso a uma pgina web utilizando o browser de Internet Firefox, atravs do protocolo HTTP. Observe!
72
Seo 2
Instalando o apache
O apache um servidor robusto e bastante flexvel onde o mesmo utilizado em grande parte dos servidores da Internet desenvolvido por um grupo chamado de apache group, distribudo livremente no mercado e atualmente encontra-se na verso 2.2. O apache tem ganhado muitos adeptos apesar de existirem diversos outros concorrentes. Abaixo segue uma lista de algumas caractersticas do servidor web apache identificadas por Ribeiro (2004):
root@SNJGS1EINFET361:/# apt-get install apache2 Lendo lista de pacotes... Pronto Construindo rvore de dependncias Lendo estado da informao... Pronto Os pacotes extra a seguir sero instalados: apache2-mpm-prefork apache2.2-common Pacotes sugeridos: apache2-doc Os pacotes a seguir sero atualizados: apache2 apache2-mpm-prefork apache2.2-common 3 pacotes atualizados, 0 pacotes novos instalados, 0 a serem removidos e 281 no atualizados. preciso fazer o download de 1032kB de arquivos. Apos esta operao, 0B adicionais de espao em disco sero utilizados. Quer continuar [S/n]?
Figura 54 Instalao do apache atravs do apt-get
Como j citado anteriormente o apache possui suas verses desenvolvidas tanto para Linux como para Windows. A instalao do apache em uma distribuio Linux tomando como sua base sendo Debian pode ser efetuada com bastante simplicidade atravs do comando de instalao apt-get install <pacote>, ou atravs do download dos pacotes binrios que podem ser encontrados na pagina web do desenvolvedor (www. apache.org). A seguir, voc pode acompanhar a instalao do apache via apt-get:
Note que quando executado o comando de instalao o mesmo busca mais outros dois pacotes necessrios para o funcionamento do apache inclusive indicando o nmero de pacotes que necessitam ser baixados, bem como seus respectivos tamanhos e, ao final, pede que seja efetuada a confirmao do usurio para a concluso do processo. Caso deseje efetuar a instalao atravs dos pacotes encontrados na pgina oficial do apache, voc dever configurar e compilar o mesmo utilizando do comando ./configure <opes>, podendo habilitar ou desabilitar alguns mdulos do apache e posteriormente compilado atravs do comando make, make install. Para listar os parmetros disponveis para a configurao da instalao do apache utilize o comando configure --help. A seguir so apresentados alguns mdulos disponveis pelo apache, os quais voc possa julgar interessante habilitar, claro, dependo da anlise de cada caso:
Mdulo Auth_dbm Rewrite Expires Proxy Ssl Funo Utiliza banco de dados DBM para gerenciar o acesso de usurios/grupos (recomendado se voc precisar de acesso baseado em senha por usurio para reas de seu site web Regrava URLs com expresses regulares Permite que voc anexe datas de expirao a documentos Utiliza o apache como um servidor Proxy Ativa o suporte a Secure Sockets Layer (SSL) (para HTTPS)
Tabela 1 Lista de alguns mdulos que podem ser ativados no apache Fonte: Nemeth, Snyder e Hein (2007, p. 500).
SERVIOS DE REDE
73
Como alguns mdulos podem ser ativados para incrementar o apache, outros mdulos podem ser desativados, para fins de melhorias de segurana e desempenho. A seguir, apresentamos uma lista de mdulos sugeridos para desativao visando atender ou melhorar os pontos anteriormente citados:
Mdulo Asis Autoindex Env Include Userid Funo Permite que tipos de arquivos designados sejam enviados sem cabealhos HTTP Exibe o contedo de diretrios que no tem um arquivo HTML padro Permite que voc configure variveis de ambiente especiais para scripsts CGI Permite incluses no servidor, um esquema obsoleto de gerao dinmica de pginas Permite que usurios tenham seus prprios diretrios HTML
Seo 3
Configurando o Apache
Aps concluda a instalao do apache passaremos parte de configurao do mesmo bem como a inicializao e parada de servio. O arquivo de configurao do apache2 concentra-se basicamente em um arquivo chamado apache2.conf, localizado comumente em distribuies base Debian em /etc/apache2/apache2.conf onde o mesmo dividido basicamente em trs sesses bsicas:
Tabela 2 Lista de alguns mdulos que podem ser desativados no apache Fonte: Nemeth, Snyder e Hein (2007, p. 500).
claro que voc poder ficar vontade para escolher qual mdulo deseja habilitar ou desabilitar, analisando a situao de seu problema, visando a estabilidade aliada performance e segurana de seu servidor web. A instalao do apache em estaes Windows bastante simplificada basta baixar o executvel do pacote no site oficial do apache e execut-lo seguindo os passos de instalao descritos pelo mesmo, em um dos pontos ser pedido para inserir o domnio que o apache responder o nome do servidor, e-mail e qual a porta de trabalho do apache, conforme figura 2:
como seo global, um exemplo de uma configurao global a porta onde nosso servidor ira responder normalmente; a porta destinada a este tipo de aplicao a porta 80. Claro que voc pode alterar isso, por exemplo, fazer com que seu servidor responda na porta 8080 ou at mesmo configurar um servidor trabalhando com mltiplas pginas web ao mesmo tempo apenas alterando a porta em que o mesmo responde. (NEMETH; SNYDER; HEIN, 2007, p. 500);
a segunda seo trata de usurios e grupos ao qual o apache ir responder bem como o parmetro servidor padro. Outro fator importantssimo incluir nesta seo o parmetro DocumentRoot que indica qual o diretrio onde o apache ir responder. Alguns parmetros de segurana global podem ser tratados nesta seo, como acessos por arquivos ou diretrios;
74
apache trata os hosts virtuais que possuem bastante similaridade com as interfaces virtuais, ou seja, endereos virtuais que podemos definir atravs do comando ifconfig. Os parmetros de hosts virtuais eliminam a necessidade de existirem endereos ou interfaces especialmente destinadas ao servidor web isto muito til para servidores que abrigam muitas pginas web. (NEMETH; SNYDER; HEIN, 2007, p. 502). Na grande maioria das vezes as configuraes padres do apache j atendem todas as necessidades de nossos servidores no necessitando efetuar grandes mudanas em seus arquivos de configurao. Segue um pequeno exemplo de configurao da seo global do apache:
### Section 1: Global Environment ServerRoot /etc/apache2 Timeout 300 KeepAlive On MaxKeepAliveRequests 100 KeepAliveTimeout 15
Figura 56 Parmetros globais do apache
root@SNJGS1EINFET361:/# /etc/init.d/apache2 s * Usage: /etc/init.d/apache2 {start|stop|restart|reload|forcereload|start-htcacheclean|stop-htcacheclean} root@SNJGS1EINFET361:/# /etc/init.d/apache2 start * Starting [ OK ] web server apache2
DICA
Voc pode fazer com que o apache inicie automaticamente com a inicializao do sistema, assim no ser necessrio inici-lo manualmente.
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:
Como praticamente todos os servios rodando sob plataforma Linux, o apache2 tambm roda sob um daemon chamando apache2 que pode ser estartado durante a inicializao do sistema ou manualmente. Em sistemas operacionais de base Debian o mesmo roda sob o init.d. Abaixo segue a maneira de manipular o mesmo manualmente:
Seo 4
MySQL
Cada dia mais est se utilizando o conceito de web para prover os mais variados tipos de servios e solues. Hoje, j existem disponveis aplicativos para edio de textos, planilhas eletrnicas e apresentaes tudo rodando sob a web Softwares de administrao de servidores j possuem este conceito h muito tempo, pois deste modo o administrador de rede ou sistema ganha mobilidade para efetuar diversas manutenes bem como fazer a monitoria de algum servio.
SERVIOS DE REDE
75
Um servio que pode trabalhar em conjunto com o apache e PHP o MySQL sob o conceito de pginas web que pode tanto servir como banco de dados de uma aplicao de cadastro de clientes, bem como um banco de dados de autenticao. Com o intuito de fazer a administrao do mesmo via browser de Internet foi criada uma ferramenta chamada PhpMyAdmin, onde com ela podemos efetuar a modificao de entidades, senhas, relacionamentos, registros, dentre muitos outros atributos contidos em um banco de dados MySQL. Esta ferramenta tambm possui suas verses compiladas para Linux e Windows e distribudo livremente sob licena GPL estando atualmente na verso 3.2.4 podendo ser baixada na pgina oficial do desenvolvedor no seguinte endereo http://www.phpmyadmin.net. Para sua instalao faz-se necessrio possuir instalados e compilados os pacotes do PHP, mysql-server e apache Sua instalao bastante simplificada e pode ser feita no Linux atravs do apt-get ou dos pacotes binrios que podem ser baixados na pgina do desenvolvedor. Para distribuies Windows existe um pacote chamado Wamp que possui todas as dependncias compiladas para o funcionamento do apache, PHP e PHPMyAdmin e possui sua instalao extremamente simplificada. Para efetuar o acesso ao PHPMyAdmin basta entrar com a URL do servidor em um navegador web.
Habilitando este controle possvel manipul-lo de duas maneiras, efetuando o controle por usurio atravs de contas de usurio e senha, bem como atravs da liberao ou bloqueio de estaes por endereos IPs ou por hostname, que nada mais o nome que identifica o computador na rede. Isto se torna muito til para agregar ainda mais segurana aos nossos servidores web limitando o acesso indesejado a informaes ou pginas do servidor. Para habilitar o controle via o arquivo htaccess necessrio que seja efetuada uma configurao no arquivo de configurao de hosts virtuais do apache /etc/ apache2/sites-avaliables/de fault, onde primeiramente deve ser buscada dentro do mesmo uma diretiva chamada de AllowOverride que a diretiva que controla a utilizao do arquivo htaccess.
DICA
Uma dica para conseguir encontrar esta diretiva utilizando o editor de texto efetuar a busca com a /+ texto a ser buscado. Vale lembrar que por padro o diretrio configurado para o armazenamento das pginas web, no caso de distribuies base Debian, /var/www/.
Seo 5
Na figura a seguir podemos visualizar a configurao do arquivo onde deveremos habilitar a opo para trabalharmos com o htaccess:
76
Indexes
Com a modificao do arquivo completada basta agora criar os arquivos .htaccess e .htpasssw, onde o .htaccess responsvel pelo armazenamento das diretivas utilizadas pelo apache para efetuar as restries para o acesso as pginas web j o .htpasswd o arquivo responsvel pelo armazenamento dos usurios e senhas criados para efetuar o acesso as paginas que sero protegidas. Lembrado que tais arquivos devem ser criados no diretrio que se pretende proteger. No arquivo htaccess sero inseridos alguns parmetros de configuraes informando as restries desejadas bem como o caminho do arquivo .htpasswd onde os parmetros so:
usurio e senha;
authType: tipo de autenticao. Atualmente o Basic o tipo mais comum; authUserFile: localizao do arquivo de senhas .htpasswd; require valid-user: informa ao apache que somente usurios vali-
SERVIOS DE REDE
77
Para implementar segurana em pginas web utilizado o servio de SSL (Secure Sockets Layer) que responsvel pela criptografia das sesses iniciadas pelo clientes do seu servidor web, protegendo senhas, nmeros de cartes de crditos dentre outras informaes enviadas pelos clientes. O SSL uma soluo bastante poderosa, segura e complexa pelo fato de utilizar ferramentas adicionais para a criao de chaves de criptografia.
Com os dois passos anteriores completados basta agora inserirmos os usurios que podero efetuar o acesso as pginas web contidas dentro do diretrio /var/www/, com a ferramenta htpasswd do prprio apache como segue na figura a seguir, onde a opo -c indica que o arquivo .htpasswd deve ser criado e teste o usurio a ser inserido:
# htpasswd -c /var/www/.htpasswd teste New password: Re-Type new password:
Figura 62 Adicionando usurios ao htpasswd
Quando o SSL utilizado, todos os dados e informaes traadas entre servidor e cliente tornam-se codificadas podendo ser decodificadas atravs das chaves de criptografia geradas pelo mesmo.
Aps conludos todos os passos sem maiores problemas, basta reinicializar o apache e efetuar o acesso s pginas protegidas, informando o usurio e a senha.
Seo 6
Segurana SSL
Um ponto muito importante para todos os tipos de servidores que deve ser abordado e deve ser de preocupao do administrador de rede a segurana das informaes que trafegam pelos servidores, sejam elas de trfego de sada ou de entrada de dados visando a proteo das informaes correntes na rede. Os servidores web pelo fato de em geral estarem conectados com a rede mundial (Internet) esto sujeitos a diversos tipos de ataques de pessoas mal intencionadas que podem acabar em instantes com todas as pginas web contidas no servidor ou at mesmo capturar informaes importantes contidas no servidor.
Para inicializar uma seo segura utilizando o SSL, antes da URL informado que a mesma ocorrer de forma segura (https://) onde a comunicao acontecer atravs da porta 443. Para habilitar o suporte a SSL ao servidor apache primeiramente na instalao deve ser habilitado o modulo SSL (--enable-ssl). Para ativar o uso do HTTPS em nossas pginas web necessrio e criar as chaves de criptografia se faz necessrio a instalao de dois pacotes adicionais:
ssl-cert: pacote utilizado para habilitar a instalao automtica de softwares para gerar certificados SSL;
mentas de cdigo aberto escrito em linguagem de programao C, que implementa o protocolo SSL e TLS responsvel pela gerao de chaves de criptografia.
78
A instalao destes pacotes ocorre de maneira bastante simples atravs 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 dependncias Lendo estado da informao... Pronto Pacotes sugeridos: openssl-doc Os pacotes a seguir sero 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 operao, 0B adicionais de espao em disco sero utilizados. AVISO: Os pacotes a seguir no podem ser autenticados! openssl Instalar estes pacotes sem verificar [s/N]?
Figura 63 Instalao do openssl e ssl-cert
Saiba Mais Para mais informaes e descrio mais detalhada sobre os recursos do apache, procure o manual encontrado em www.apache.org.
Seo 7
DICA
Outro pacote interessante de ser instalado seria o openssl-doc onde o mesmo traz informaes adicionais a respeito do Openssl como parmetros para a utilizao do mesmo.
Com a instalao dos pacotes para a concluda, necessrio que seja habilitado:
root@SNJGS1EINFET361:/etc/apache2# a2enmod ssl Module ssl installed; run /etc/init.d/apache2 force-reload to enable.
Figura 64 Habilitando mdulos SSL
Com a instalao dos pacotes concluda e com os mdulos responsveis pelo SSL habilitados, resta ainda ser criados os certificados digitais e para isso deve ser utilizado o software opessl, com o seguinte comando informando 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
SERVIOS DE REDE
79
Ainda assim, voc pode configurar para que o mximo de informaes seja exibida sobre o status do servidor, acrescentando a linha ilustrada no quadro Y ao arquivo de configurao do apache. Para garantir a segurana de acesso a essas informaes, muito importante que seja realizado configuraes para controlar o acesso as telas de status do servidor. As informaes exibidas no quadro Z mostram um exemplo de um recipiente modificado no arquivo de configurao do apache para definir que somente os navegadores dentro do domnio redes.senai.br possam acessar as telas do servidor. Tambm possvel configurar para que localhost tenha acesso a essas informaes.
ExtendedStatus on
Figura 67 Diretiva para ativar o mximo de informaes 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 so registros de atividades que ocorrem em um sistema. Com o apache no seria diferente. Voc pode editar diversas diretivas no arquivo de configurao para personalizar quais informaes voc quer ter controle. O ideal voc observar essas logs com determinada frequncia para descobrir possveis 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 informaes dos arquivos de log. Nesse caso, possvel observar registros que possam acusar alguma falha no sistema ou at mesmo tentativas de acesso mal sucedidas.
80
O apache, em sua verso 2, fornece por padro 2 arquivos para a gravao de logs. Cada um deles possui uma caracterstica, para que possa ser diferenciada a leitura e facilitar a busca por informaes. O arquivo access.log possui a caracterstica de armazenar todas as tentativas de acessos ao sites hospedados pelo apache Esse arquivo possui o formato de colunas, onde ficam visivelmente classificadas as informaes de acesso. Observe na figura um exemplo de registro encontrado no arquivo 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/ Mozilla/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 informaes contidas podem auxiliar na busca de alguma informao importante para determinar se algum usurio realizou algum acesso ao servidor. O arquivo traz informaes sobre o IP do computador que acessou, data e horrio de acesso, endereo do site e pgina de acesso, alm de informaes sobre o sucesso ou no 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 so visualizados, por exemplo, alterando a posio das colunas para facilitar sua leitura ou ainda, adicionar ou remover outras. Por padro, os logs adotam um padro chamado CLF, utilizado por todos os softwares servidores de pginas web, possibilitando que os registros possam ser processados por qualquer ferramenta de anlise de registro que se adapte ao padro. Esse padro possui a estrutura detalhada abaixo, retirada do arquivo de configurao 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 informaes relacionadas a conexes realizadas e possveis problemas de arquivos ou pginas no encontrados, exibindo tambm, informaes 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
SERVIOS DE REDE
81
Outro formato suportado pelo apache so os Registros Condicionais, que so valores que identificam condies ou estados de um servidor. Esses valores so apresentados no quadro abaixo, e so devolvidos pelo servidor quando as condies so testadas e satisfeitas. Sendo assim, voc pode colocar esses valores juntamente na configurao dos registros do servidor web onde sero informados os cdigos de erros sempre que alguma dessas caractersticas forem apresentadas.
200: OK 302: Found 304: Not Modified 400: Bad Request 401: Unauthorized 403: Forbidden 404: Not Found 500: Server Error 501: Not Implemented 502: Bad Gateway 503: Out of Resources (Service Unavailable) A solicitao vlida O documento solicitado foi encontrado O documento solicitado no foi modificado A solicitao invlida O cliente ou o usurio tem acesso negado O acesso solicitado no autorizado O documento solicitado no existe H um erro de servidor no especificado O servidor tem recursos insuficientes para honrar a solicitao O recurso de servidor solicitado no esta disponvel O cliente especificou um meio de acesso invlido
82
Para conferir os arquivos de logs do apache (ferramenta Wamp) gerados em estaes Windows, basta visualizar os arquivos de logs encontrados no diretrio de instalao do Wamp, geralmente encontrado em c:\wamp\ logs. Segue um exemplo deste arquivo:
Com o tema Monitorando e Gerenciando LOGs encerramos, aqui, mais uma unidade de estudos. Podemos dizer que j ultrapassamos metade do caminho desta unidade curricular. Mas, no pense que acabou! H muito ainda pela frente...
SERVIOS DE REDE
83
Unidade de estudo 6
Sees de estudo
Seo 1 Entendendo o DNS Seo 2 O Sistema DNS Seo 3 rgos Controladores Seo 4 O Protocolo DNS Seo 5 O Software BIND Seo 6 Servidor DNS no Windows 2003
ARPA: Agncia de Projetos de Pesquisas Avanados do Departamento de Defesa dos EUA. NSFNET: Fundao Nacional de Cincia.
Seo 1
Entendendo o DNS
Durante os anos 70, a ARPA comeou o desenvolvimento de uma rede experimental de computadores de longa distncia chamada de ARPANET. Seu objetivo inicial era interligar computadores do governo americano, a fim de compartilhar recursos computacionais. Com o desenvolvimento do conjunto de protocolos TCP/IP no incio dos anos 80, ele se tornou o protocolo padro de rede na ARPANET. Com a incluso desse protocolo sobre o popular sistema operacional BSD UNIX de Berkeley na Universidade da Califrnia, que era livre para as universidades, foi instrumento de democratizao entre as redes. (BARLEM, 1997).
SERVIOS DE REDE
85
Em 1995 a Internet sofreu a transio da NSFNET para mltiplos backbones comerciais, permitindo a rpida expanso da rede, e alm do mbito acadmico e governamental, a incluso de milhes de computadores em todo o mundo.
Seo 2
Nvel: gTLDs Generic top-level domains
O Sistema DNS
O que ocorre que no fcil para um ser humano decorar um conjunto de endereos da Internet, chamados de endereo IP. Para a verso quatro do IP (IPv4), atualmente mais utilizada, o endereo formando por 32 bits, representado no formato decimal pontuado. Na nova verso do IP, o IPv6, os endereos so ainda maiores, possuindo 128 bits, sendo representados por 8 grupos de quatro dgitos hexadecimais separados por : (ex.: 0200:32AF :12D1:1000:FF52:BA90:1587: EA40). Isso torna praticamente impossvel a rpida memorizao desses endereos pelas pessoas. (COSTA, 2006, p. 18). O sistema DNS define um espao de nomes hierrquico para hosts e endereos IP, num modelo chamado de rvore. Tanto a alocao de espaos de endereos IPs quanto administrao do sistema de nomes de domnio de primeiro nvel fica atualmente sobre responsabilidade do ICANN. de sua responsabilidade tambm o gerenciamento do sistema de servidores raiz, que controlam todo o sistema DNS.
A hierarquia comea com um grupo de servidores no topo da rvore, conhecido como servidor de nomes-raiz ou simplesmente . (ponto). Esses computadores abrigam tambm os domnios de primeiro nvel TLDs , que pode ser visto na figura anterior, o prximo nvel na hierarquia DNS. Por razes histricas, dois tipos de nomes de domnio de primeiro nvel esto sendo utilizados hoje em dia: domnios genricos de primeiro nvel, que descrevem entidades governamentais e polticas, principalmente nos EUA, tais como .com, .net, .org, .edu entre outras e os domnios de primeiro nvel para o cdigo de pases , que atravs de duas letras, representam pases, como por exemplo .ar: Argentina, .br: Brasil, .jp: Japo, .mx: Mxico, etc. Quando o DNS foi criado em meados da dcada de 80, definiuse um conjunto de servidores de nomes-raiz e criaram-se diversos domnios de primeiro nvel. Esses servidores de nomes-raiz (agora existem 13 distribudos por todo o mundo) tm a funo de fornecer informaes oficiais sobre quais servidores de nomes contm as informaes sobre nomes para cada um dos domnios de primeiro nvel (ICANNBR, 2001).
86
A localizao de todos os servidores raiz (root servers) encontrada em: http://www. root-servers.org/.
Os domnios de primeiro nvel eram relativamente fixos no passado, mas o ICANN aprovou sete novos no final de 2000: biz, info, name, pro, museum, aero e coop. Alguns desses domnios (principalmente com, org e net) so utilizados fora dos EUA.
Saiba Mais Atualmente, a ICANN liberou vrios 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 Comit Gestor da Internet permite o registro de vrios tipos de domnios, que podem ser visualizados em: http://registro.br/info/dpn.html. Vamos! Acesse!
Um resolvedor (Resolver) um servio responsvel por localizar o servidor DNS responsvel por um determinado domnio, geralmente 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 no receba resposta. Cada servidor DNS sabe apenas informaes sobre uma determinada parte (zona) da rvore de domnios. Quando um servidor no sabe responder sobre um determinado domnio, ele indica ao host que fez a consulta quais ser-
vidores DNS ele pode consultar para (tentar) obter uma resposta consulta desejada. (COSTA, 2006, p. 23). Essas consultas podem ser feitas de duas maneiras: de forma interativa ou recursivamente. Na resoluo interativa, cada consulta, quando no consegue receber a resposta desejada, utiliza a mensagem recebida para consultar outros servidores DNS. Assim a solicitao feita por um DNS a outro, quando a solicitao no for encontrada em seu cadastro. J na consulta recursiva, os servidores DNS fazem quantas consultas forem necessrias para conseguir a resposta desejada, e depois enviam a resposta final para o resolvedor. A fim de diminuir a complexidade para usurios finais, o ponto final do domnio foi retirado, mas em sistemas DNS, os nomes totalmente qualificados terminam com um ponto, ou seja, observe o domnio: www.exemplo.com. br. Esse ponto justamente a raiz do sistema DNS, sendo, portanto a sua resoluo de trs pra frente. Por fim, o www que aparece junto ao nome de domnio especifica um nome de host, ou servidor, estando designado a ele um endereo IP. Na resoluo recursiva, o ponto no final do domnio (servidores razes) ser o incio da resoluo. Eles sero consultados, solicitando qual o servidor designado por .br. J os servidores do domnio .br iro indicar os servidores responsveis por .com.br, e o servidor responsvel pelo domnio exemplo.com.br. Uma vez com o IP desse servidor, que possui delegao sobre o domnio, ser consultado afim de resolver, qual o endereo IP do host www.
Sempre que um nome de domnio for resolvido com sucesso, o nome e a informao associada ao nome (endereo IP) sero mantidos na memria do resolvedor (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, no ser necessrio uma nova resoluo, diminuindo assim o tempo de resposta e o trfego na rede.
DICA
Para limpar o cache local no Windows, voc deve utilizar o comando ipconfig / flushdns, no prompt de comando.
SERVIOS DE REDE
87
Quando as informaes so gravadas no cache do servidor DNS, um parmetro chamado Time-To-Live (TTL) associado a cada informao. Esse parmetro determina quanto tempo a informao ser mantida no cahe at ser descartada. Isso permite, por exemplo, que uma informao disponvel no cache no esteja desatualizada, devido a uma atualizao no registro do domnio DNS. O valor padro do parmetro TTL 3600 segundos (1 hora).
Com o objetivo de um melhor controle, foram criados rgos regionais nos continentes, todos submetidos a ICANN, delegando autoridade para os Registros Regionais de Internet RIR . Foram criados 5 RIRs: AfriNic, APNIC, ARIN, LACNIC e RIPE. LACNIC o Registro Regional de Internet RIR para a Amrica Latina e o Caribe, sendo responsvel pela alocao e administrao dos endereamentos IP e recursos relacionados (Nmeros Autnomos e Resoluo Inversa). O LACNIC por sua vez delega a responsabilidade em cada pas a um rgo local. No Brasil, o funcionamento e o desenvolvimento da Internet ficam por conta do Comit Gestor da Internet (CGIBR). Para executar suas atividades, o CGI.br criou uma entidade civil, sem fins lucrativos, denominada Ncleo de Informao e Coordenao do Ponto BR - NIC.br. O CGI.br criou grupos que coordenam vrios projetos nas reas de maior importncia da Internet que asseguram o funcionamento e desenvolvimento da rede. Algumas dessas entidades, incluindo a NIC.br que executa suas atividades, podem se destacar a CEPTRO.br, CETIC.br, CERT.br e o registro.br.
Seo 3
rgos Controladores
O Internet Corporation for Assigned Names and Numbers (ICANN) responsvel pela distribuio de endereos IP, atribuio de identificadores de protocolos, administrao do sistema de nomes de domnio de primeiro nvel genricos (gTLDs), cdigos de pases (ccTLDs) e pelas funes de gerenciamento do sistema de servidores-raiz. Originalmente, esses servios eram desempenhados por um contrato do governo dos Estados Unidos com a Autoridade para Atribuio de Nmeros na Internet e outras entidades. Agora a ICANN desempenha a funo da Internet Assigned Numbers Authority (IANA). (ICANNBR, 2001).
Saiba Mais Para mais informaes, conhecer todas as atividades e projetos, visite o site do CGI. br: http://www.cgi.br
DICA
Informaes atualizadas sobre a quantidade de redes IPs IPv4 e IPv6 alocadas /disponveis para todas as RIRs no mundo, podem ser encontradas em: http://www. nro.net/statistics/index.html
88
Seo 4
O Protocolo DNS
O DNS um protocolo de aplicao da pilha TCP/IP. Ele utilizase dos dois protocolos da camada de transporte (TCP e UDP) para a troca de informaes. Em ambos, a porta utilizada a 53.
Classe especifica o tipo de rede. Os quatro valores disponveis so: 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 especfica para o servio DNS. So definidos muitos tipos diferentes de tipos de registros DNS, sendo divididos em quatro grupos:
Tipo SOA Zona Nome Start Of Authority Name Server IPv4 Address IPv6 Address Pointer Mail Exchanger Delegation Signer Chave Publica Next Secure Signature Canonical Name Location Services Text Funo Define uma zona DNS. Identifica servidores de zonas, delega subdomnios. Converso de endereo para nome em IPv4. Converso de endereo para nome em IPv6. Converso de endereo para nome Controla o roteamento de e-mail Hash da chave de assinatura de chave da zona filha assinada. Chave pblica para um nome DNS. Usado com DNSSEC para respostas negativas. Conjunto de registros de recursos assinados e autenticados. Apelidos ou aliases para um host. Localizao e extenso geogrfica. D as localizaes de servios bem conhecidos. Comentrios ou informaes no transcritas.
Registros de Recursos
Cada zona de hierarquia DNS tem um conjunto dos Registros de Recursos (RR), associados a ela. Esses registros compem a menor unidade de informao disponvel 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 domnio a qual o registro est relacionado. Um nome pode ser tanto relativo quanto absoluto. Nomes absolutos terminam com um ponto, e so completos. Por exemplo, no domnio exemplo. com.br, o nome servidor1 seria interpretado como servidor1. exemplo.com.br.. Muita ateno no momento da configurao, pois a falta do ponto final, faz-se com que o nome seja relativo ao invs de absoluto, sendo que o DNS interpretaria erroneamente como servidor1.exemplo.com. br.exemplo.com.br.. O campo Time-To-Live (TTL) especifica o tempo, em segundos, que o item de dados pode armazenar em cache e ainda ser considerado vlido. Um exemplo de campo $TTL, que define um tempo de vida de 86400 segundos (um dia), apresentado a seguir:
$TTL 7200
Figura 75 Exemplo de Configurao de TTL
MX
Quadro 16 Tipos de Registros DNS Fonte: Nemeth, Snyder e Hein (2007, p. 272).
SERVIOS DE REDE
89
Em relao 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 incio de uma zona, um grupo de registros de recursos no mesmo local dentro do espao de nomes DNS. Esse n da rvore tambm chamado de ponto de delegao ou corte de zona. (______?, 2007, p. 273) Trata-se de citao direta? Qual autor? O registro SOA um dos registros mais importantes da zona DNS, pois alm de marcar a autoridade pelo domnio, atravs do nome do servidor DNS primrio, define outros valores como nmero de srie da zona, o endereo de e-mail da pessoa responsvel pelo domnio, alm dos valores TTLs. Veja um exemplo:
@ 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 ; Mnimo (2 horas) )
Nesse exemplo, o campo nome contm o smbolo @, que uma abreviatura 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 endereo de e-mail do contato tcnico responsvel pelo domnio, sendo que o @ (arroba) deve ser substituido por um ponto. O primeiro de vrios argumentos de dados quem vem dentro de parnteses o nmero serial dos dados da zona. Nesse exemplo o valor 2009110100, que significa a primeira modificao para a zona em 01 de novembro de 2009. A cada modificao efetuada no arquivo de zona DNS dever ser incrementado esse valor. Os servidores DNS escravos solicitam dados de transferncia da zona somente quando encontram um valor mais alto no servidor DNS principal.
90
O primeiro valor TTL o Atualizar (Refresh), que especifica com que frequncia os servidores secundrios devem fazer uma verificao no mestre para ver se o nmero serial da configurao da zona foi alterado. Toda vez que a zona for alterada, os escravos devem atualizar suas cpias dos dados da zona. Se um servidor escravo tentar verificar o nmero serial, e o servidor mestre no responder, uma nova tentativa aps o valor Nova Tentativa (Retry) ser feita. O parmetro Expirar (Expire) determina quanto tempo o servidor escravo dever responder com autoridade pelo domnio, mesmo no conseguindo mais se comunicar com o servidor mestre. O parmetro Mnimo (Minimum) configura o tempo de sobrevida de respostas negativas que so armazenadas em cache.
Registros NS
Para Nemeth, Snyder e Hein (2007, p. 274), Registros NS Servidores de Nomes identificam os servidores autorizados por uma determinada zona e delegam subdomnios a outras organizaes. Os registros NS normalmente seguem o registro SOA.
exemplo.com.br. IN IN
Figura 77 Exemplo de Registro NS
NS NS
ns1.exemplo.com.br. ns2.exemplo.com.br
Observe que no primeiro registro, o nome de domnio foi utilizado, mas como o mesmo valor, e o registro NS vem logo depois do SOA, o nome pode ser omitido. Os registros NS esto apontando para os servidores ns1.exemplo.com.br e ns2.exemplo.com.br como servidores com autoridade para o domnio exemplo.com.br.
Registros A
Registros A ou Endereos (Address) o mais utilizado no arquivo de zona DNS. Ele o responsvel pelo mapeamento entre um nome ou host com o endereo IP. Observe o exemplo:
servidor1 servidor2
Figura 78 Exemplo de Registro A
IN IN
A A
192.168.0.1 192.168.0.2
Registros AAAA
exatamente a mesma idia do registro A, mas ao invs de mapear um endereo IPv4, ser mapeado um endereo da nova verso do protocolo IP, o IPv6. Observe:
SERVIOS DE REDE
91
servidor2
IN
AAAA
2001:10ad:a001:12:fa14:1:abd1:1005
Registros PTR
Registros PTR ou Ponteiro (Pointer) realizam o mapeamento reverso de endereos IP para nomes de hosts. utilizado em uma zona DNS especial, chamada in-addr.arpa ou zona de pesquisa reversa. As vantagens ou necessidades de se ter configurado resoluo inversa :
inicialmente se utilizava resoluo inversa como mecanismo auxiliar para segurana dos servidores disponveis na Internet;
de endereos IP que no tenham resoluo inversa configurada;
atualmente alguns servidores de FTP no permitem conexo a partir possvel encontrar tambm servidores HTTP (web)configurados
para fazer a resoluo inversa quando um computador inicia uma conexo. Essa informao ento armazenar em arquivos de registros (logs) para futuro processamento ou gerao de estatsticas;
recentemente tem sido cada vez mais comum encontrar servidores de e-mail configurados para fazerem resoluo inversa como parte dos procedimentos para controle de spam e de vrus. e h tambm o caso de ferramentas para soluo de problemas de rede, tal como traceroute que traa 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 especfica e a parte a direita a menos especfica. No entanto, na numerao de endereos IP isso est ao contrrio, ou seja, mais especfico o que est mais a direita em um endereo IP. Para resolver isso, deve-se fazer uma operao invertendo cada parte do endereo IP e ento adicionar o nome de domnio reservado para resoluo inversa (in-addr.arpa ou ip6.arpa). Por exemplo, considerando o endereo IPv4 do nosso servidor DNS 192.168.0.1, ao ser transformado em zona reversa, inverte-se cada octeto e adiciona-se o domnio para resoluo inversa ao final: 1.0.168.192. in-addr.arpa. J o registro PTR na zona 0.168.192.in-addr.arpa corresponde ao registro A dos servidores descritos anteriormente:
1 2
IN IN
PTR PTR
servidor1.exemplo.com.br. servidor2.exemplo.com.br.
92
Registros MX
O sistema de e-mail utiliza o registro MX , afim de descobrir qual o endereo do servidor de e-mail do domnio. possvel ainda criar vrios registros MX, apontando para servidores diferentes, com valores de prioridades diferentes. Observe o exemplo abaixo:
exemplo.com.br. IN IN MX MX 10 20 mail.exemplo.com.br. mail2.exemplo.com.br.
Nessa situao, caso o primeiro servidor (mail.exemplo.com.br) no responder, o outro registro MX com prioridade inferior (20) ser utilizado, e as mensagens sero encaminhadas para esse servidor.
Registros CNAME
Os registros CNAME atribuem nomes adicionais a um host, ou seja, apelidos para associar funes ou outros nomes a um determinado host. Veja o exemplo:
www mail IN IN CNAME CNAME servidor1 servidor2
Registros TXT
Com registros do tipo texto (TXT) possvel adicionar uma informao ou um texto que, por exemplo, identifica o site:
IN
TXT
Como o registro vem logo aps os registros SOA e NS, ele herda o campo nome. Observe que a informao deve estar entre aspas. Atualmente registros TXT so muito utilizados atravs de uma ferramenta para verificao de e-mails legtimos, chamado SPF.
SERVIOS DE REDE
93
Veja um exemplo:
BIND: Berkeley Internet Name Domain exemplo.com.br. IN TXT v=spf1 ip4:192.168.0.2
Seo 5
O Software BIND
O BIND hoje um dos principais sistemas de servio DNS. desenvolvimento seguindo a metodologia de software livre, aonde seu cdigo fonte aberto e mantido pela ISC, e possui verses para os principais sistemas operacionais, como Linux, UNIX, Windows e Mac OS. Segundo Nemeth, Snyder e Hein (2007, p. 286), Havia trs verses 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 nmeros avanos tcnicos, que aumentaram a eficincia, robustez e segurana. O BIND 9 aumenta ainda mais a aposta com suporte de multiprocessamento, operao segura de threads, segurana efetiva (criptografia de chaves pblicas), suporte a IPv6, transferncias incrementais de zonas e uma enormidade de outros recursos. Atualmente, a principal verso utilizada o BIND 9.
O BIND possui trs 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.
Configurao do BIND
Para demonstrar a configurao de um zona DNS, ser utilizado um nome de domnio fictcio: exemplo.com.br. A configurao completa consiste no arquivo de configurao, no arquivo hints do servidor de nomes-raiz, alm dos arquivos de dados de zona para servidores mestres do domnio. Na figura abaixo, voc pode visualizar os arquivos padro que fazem parte do servidor 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
Figura 85 Arquivos do BIND
94
A configurao do named, consiste principalmente no arquivo named. conf. Nesse arquivo, encontram-se as opes do servidor como um todo de forma global ou opes especficas, o papel do host (se ir atual como mestre, escravo, somente cache) ou ainda a maneira de como obter uma cpia de uma zona de outro servidor mestre (nesse caso ele atuando como escravo). A seguir, apresentamos um exemplo do arquivo 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;
Figura 86 Arquivo de Configurao named.conf
Cada instruo no arquivo comea com uma palavra chave que identifica o tipo de instruo. Observe que esse arquivo possui duas chaves include. O objetivo do include separar determinadas partes do arquivo named, facilitando a sua configurao. Ao BIND ler o arquivo de configurao, o primeiro passo ser incluir o arquivo named.conf.options, que trata de configuraes globais do servidor DNS, conforme visualizado na figura. Nela se encontram algumas diretivas como o diretrio de trabalho do BIND e em quais interfaces ou endereos IPs que o servio ir escutar.
options { directory /var/cache/bind; // forwarders { // 0.0.0.0; // }; auth-nxdomain no; # conform to RFC1035 listen-on-v6 { any; }; };
Figura 87 Arquivo named.conf. options
A instruo zone uma das mais importantes do BIND, pois informam para quais domnios o servidor DNS possui autoridade. Os principais tipos de zonas so: master, slave, hint, forward, stub e delegation-only. Observando a primeira instruo zone do arquivo named, ela aponta para o . e tipo hint, ou seja, essa zona aponta para os servidores de domnio-raiz. necessrio para dar um ponto de partida ao named, em busca de informaes sobre os demais domnios.
SERVIOS DE REDE
95
DICA
Visualize o contedo do arquivo db.root, para onde a zona . est apontando.
Existe tambm um segundo nome de domnio na configurao do named, a zona dominio2.com.br, conforme a entrada a seguir:
Outras zonas so definidas por padro, por exemplo a localhost, mas agora com o tipo master. Zona mestre ou principal a zona que ser configurada e ir responder ao nome de domnio. Ela mantm a cpia oficial dos dados da zona em disco. Qualquer mudana ou alterao dever ser realizada na zona mestre. O arquivo named.conf possui a zona localhost por padro, afim de resolver consultas ao domnio localhost, assim como sua zona reversa (127.in-addr.arpa), e zonas broadcast, conforme descritos na RFC 1912. Como configurao fictcia da primeira zona, ser utilizada a zona exemplo.com.br. Observe que o arquivo named.conf possui a seguinte entrada:
zone exemplo.com.br { type master; allow-transfer { 192.168.1.8; } ; file /etc/bind/db.exemplo.com.br; };
Figura 88 Instruo Zone para o Domnio Exemplo
O nome de domnio dever sempre estar entre aspas duplas. Como esse servidor ir atuar como mestre, o tipo da zona ser master. A opo allowtransfer especifica quais servidores DNS escravos podem receber uma cpia da zona DNS. Pode receber o endereo IP ou ainda a palavrachace any, que significa qualquer servidor (opo essa no aconselhvel, pois qualquer servidor da Internet poderia ter uma cpia completa do arquivo). Por fim, a opo file, ir apontar para o arquivo de configurao da zona, que possui os vrios tipos de registros, conforme configurados a seguir:
exemplo.com.br. IN NS IN IN A A IN IN MX IN IN NS A servidor1.exemplo.com.br. servidor2.exemplo.com.br. 192.168.1.7
servidor1 servidor2 IN IN
Essa diretiva zone possui o tipo slave, ou seja, o BIND ir atuar como um servidor escravo para esse domnio. Servidores escravos mantm uma cpia completa do banco de dados de sua zona. A configurao praticamente a mesma de um servidor mestre, com o acrscimo da instruo masters, no qual voc dever especificar o endereo IP do servidor mestre. Qualquer alterao nos arquivos de configurao do BIND, somente sero efetivas se o servio for reiniciado (Nas distribuies 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 incio de autoridade (SOA) e alguns registros de host (A). Servidores com essa zona no possuem autoridade na zona. Com a zona DNS primria criada no servidor, voc dever criar os registros de recursos, como pode ser visualizado na figura.
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: loaded serial 1 Nov 26 12:00:24 debian named[2670]: zone 255.in-addr.arpa/IN: loaded serial 1 Nov 26 12:00:24 debian named[2670]: zone dominio2.com.br/IN: loaded serial 8 Nov 26 12:00:24 debian named[2670]: zone exemplo.com.br/IN: loaded 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)
Figura 91 Visualizao de logs do BIND
Um servidor recursivo de cache responde a consultas de usurios locais sobre sites na Internet. Um servidor com BIND, sem zonas de domnio mestre ou escravas configuradas pelo usurio, um servidor apenas de cache, responsvel em responder a consulta de clientes. Trs ferramentas podem ser utilizadas 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 considerada a mais completa. Configura exemplos de utilizao das ferramentas nas figuras a seguir:
SERVIOS DE REDE
97
debian:/etc/bind# nslookup exemplo.com.br Server: 127.0.0.1 Address: 127.0.0.1#53 Name: exemplo.com.br Address: 192.168.1.7
Figura 92 Sada do Comando nslookup
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
;; ANSWER SECTION: exemplo.com.br. 604800 IN ;; AUTHORITY SECTION: exemplo.com.br. 604800 IN exemplo.com.br. 604800 IN
192.168.1.7
NS NS
servidor1.exemplo.com.br. servidor2.exemplo.com.br.
;; ADDITIONAL SECTION: servidor1.exemplo.com.br. 604800 IN servidor2.exemplo.com.br. 604800 IN ;; 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
Figura 93 Sada do Comando DIG
A A
192.168.1.7 192.168.1.8
98
Seo 6
Podem ser criadas trs tipos de zonas no servidor DNS do Windows 2003: Zona primria, zona secundria e zona stub. A zona primria e a secundria voc j viu nas sees anteriores, uma zona stub, cria uma cpia de uma zona, mas contm somente o registro servidor de nomes (NS), o incio de autoridade (SOA) e alguns registros de host (A). Servidores com essa zona no possuem autoridade na zona.
SERVIOS DE REDE
99
Com a zona DNS primria criada no servidor, voc dever criar os registros de recursos, como pode ser visualizado na figura.
Por padro, o DNS do Windows 2003 permite a transferncia de zonas apenas para os servidores DNS cadastrados na zona do domnio com o registro de recurso NS. Para o cadastro de uma zona de pesquisa direta, mas agora do tipo Escravo, os passos para o cadastro dessa zona so os mesmos para uma do tipo Principal: clicar em Zonas de Pesquisa Direta, e Ao Nova Zona. Graas aos Assistentes de configurao, 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 endereo IP retornar um nome de host, previamente cadastrado na zona de pesquisa direta. Atravs do Assistente de configurao do Windows, voc ver uma opo 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:
Voc j conhece o servidor de DHCP? Aqui, reservamos-lhe esta entre outras descobertas surpreendentes. Como saber, se no tentar? Vamos juntos!
SERVIOS DE REDE
101
Unidade de estudo 7
Sees de estudo
Seo 1 Conceitos bsicos Seo 2 Instalando e Configurando o DHCP Seo 3 Executando o cliente DHCP e efetuando testes
Servidor de DHCP
Seo 1
Conceitos bsicos
DHCP a sigla de Dynamic Host Configuration Protocol, ou Protocolo de Configurao Dinmica de Host. O DHCP foi desenvolvido para facilitar a configurao dos diversos computadores existentes em uma rede. Desta forma, se o administrador de uma rede ou um tcnico de suporte devesse configurar os parmetros para acesso rede de cada computador em uma rede com 100 computadores, o trabalho seria demorado. (INTERNET ENGINEERING TASK FORCE, 1997). Com o uso deste servio, quando um computador da rede ligado, o mesmo solicita ao servidor DHCP os parmetros de configurao para acesso a outros recursos da rede. Os parmetros para a configurao de acesso a rede de um host foram apresentados na seo 2 Configurando a Rede, na Unidade de Estudo 1.
Seo 2
Aps a instalao dos arquivos necessrios, estamos prontos para iniciar a configurao do servio DHCP. Para isso, podemos utilizar qualquer editor de textos para visualizar e editar as linhas do arquivo de configurao. Normalmente, este arquivo est localizado em /etc/dhcpd.conf. A seguir, veja um exemplo deste arquivo. 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 range netmask 255.255.255.0 { 192.168.0.50 192.168.0.100;
SERVIOS DE REDE
103
Vamos analisar algumas das principais linhas do arquivo de configurao do servio DHCP, atravs do exemplo. Os principais parmetros deste arquivo so:
default-lease-time 300; max-lease-time 3600; option subnet-mask 255.255.255.0; option broadcastaddress 255.255.255.255; option routers 192.168.0.1; option domainname-servers 200.200.0.1, 200.200.0.2; option domainname exemplo. rede.br; subnet 192.168.0.0 netmask 255.255.255.0 {
Seo 3
Tempo limite da concesso do endereo IP para os hosts. Caso o cliente solicite um tempo maior, o tempo mximo permitido ser de 3600 segundos (1 hora). Define a mscara de sub-rede a ser fornecida aos clientes. Endereo de envio para requisies de broadcast. O cliente, alm do nmero IP, recebe tambm a informao do nmero do equipamento que o gateway de sua rede. Esta opo lista os servidores de nomes (DNS) a serem utilizados para resoluo de nomes. Os hosts devem pertencer ao domnio exemplo. rede.br Esta opo indica a sub-rede qual o equipamento pertencer e a mscara de rede a ser utilizada. Em seguida encontra-se a faixa de endereos IP que pode ser fornecida pelo servidor DHCP aos seus clientes. A linha indica que podem ser fornecidos endereos na faixa de 192.168.0.50 a 192.168.0.100.
Quando qualquer parmetro for alterado, necessrio reiniciar o servio, utilizando, por exemplo, o comando restart. O servidor DHCP tambm pode ser configurado em um modo de alocao manual de endereos, onde o administrador pode especificar para cada endereo MAC de cada placa de rede, um endereo IP correspondente. Desta forma, quando o servidor DHCP identificar um pedido de configurao de um host que possui uma placa de rede com o endereo MAC especificado no arquivo de configurao ele ir atribuir uma configurao especfica.
DICA
Consulte esta e outras informaes sobre o servio DHCP na RFC 2131, atravs do endereo http://www.ietf.org/rfc/rfc2131.txt
No Linux existe um software denominado dhclient. Esta ferramenta nada mais do que um cliente DHCP que pesquisa por servidores DHCP em uma rede e recebe as configuraes do host. interessante iniciar o dhclient quando o seu sistema operacional for iniciado. Para verificar a configurao do seu host, utilize o utilitrio ipconfig, j apresentado neste material. Estamos chegando penltima unidade de estudos desta unidade curricular. Perceba o quanto voc j avanou em seu estudo sobre Servios de Rede. Vamos l! Falta pouco...
SERVIOS DE REDE
105
Unidade de estudo 8
Sees de estudo
Seo 1 Conceitos bsicos Seo 2 Telnet e SSH Seo 3 RDP e VNC Seo 4 VPN
Seo 1
Conceitos bsicos
O acesso remoto tem como principal caracterstica o acesso a outro computador ou equipamento de rede sem precisar estar prximo do mesmo; isso facilita o trabalho da equipe de TI (Tecnologia da Informao), que muitas vezes precisa se deslocar at o local para resolver um problema simples ou at mesmo para tirar uma dvida de um usurio. A aplicao do acesso remoto tambm pode ser utilizada em casos mais complexos onde o computador que precisa ser acessado se encontra em um lugar distante, em outro estado, pas ou at mesmo do outro lado do mundo. Isso gastaria muito tempo e dinheiro, j com o acesso remoto voc com ajuda de alguns servios de gerenciamento feitos para este fim pode acessar este computador de maneira fcil, rpida e segura sem perda de tempo e dinheiro. A seguir voc conhecer e saber como funcionam alguns dos servios mais utilizados para prover o acesso remoto. Vamos em frente!
Seo 2
Telnet 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 substitudo pelo SSH isso porque o Telnet no prov segurana das informaes durante a comunicao, assim facilitando acesso a informao pessoais como senhas e logins. Isso deve-se ao fato de que o Telnet utiliza texto plano na transferncia das informaes assim qualquer software de captura de pacotes pode interceptar e ter acesso a essas informaes, ao contrrio do SSH que utiliza criptografia nas informaes, com isso tornando-as mais seguras.
Utilizando Telnet
Telnet uma ferramenta que j vem nativa no sistema operacional, porm necessrio que voc ative este servio, no Windows XP por exemplo este recurso se encontra nas ferramentas administrativas no painel de controle. L voc encontrar o cone servios onde voc poder ativar o Telnet. Observe na imagem.
SERVIOS DE REDE
107
Para que voc possa estabelecer uma conexo remota utilizando o Telnet voc deve ativ-lo tanto na mquina local quanto na mquina remota, aps ter ativado, no prompt de comando digite o comando Telnet seguido do IP do computador remoto.
Para configurar o servidor de Telnet no Linux necessrio a instalao do pacote Telnetd utilizando o comando apt-get install Telnetd. Feita a instalao 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 responsvel por liberar o acesso e o hosts.deny restringe o acesso a recursos do servidor. Para acessar o computador remoto utilize o comando Telnet + endereo IP + Porta (no caso do Telnet a porta 23). Observe, atentamente, a imagem.
SSH
O SSH tem o mesmo princpio de funcionamento do TELNET, porm conforme j citado, este conta com criptografia no trafego de suas informaes, assim evitando que pessoas de m ndole tenham acesso a informaes sigilosas; o SSH muito utilizado por administrador de rede que desejam monitorar seus servidores Linux remotamente.
Chaves Simtricas
Esse um tipo mais simples de chave onde todos os integrantes da comunio devem ter conhecimento da chave de criptografia; essa chave conhecida com chave pblica, 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 informaes.
Chave Assimtrica
tipo de chave utilizado pelo SSH onde um par de chaves gera a chave pblica e a chave privada onde a chave pblica pode ser utilizada por qualquer host que deseje enviar informaes. Essas informaes sero encriptadas com a chave pblica e enviadas, e somente com o uso da chave privada as informaes podero ser decriptadas e lidas, da a importncia de manter a chave privada no mais absoluto sigilo.
SERVIOS DE REDE
109
DICA
OBS: Para se logar diretamente como root o mesmo ter que deter acesso fsico ao servidor.
Feito isso pare o servio 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 estao Linux voc deve digitar o seguinte comando, SSH nome do usurio seguido de @ e endereo IP, conforme mostrado no exemplo abaixo:
# ssh root@10.1.72.33
Figura 105 Acessando Computador atravs de SSH
Configurando o Servidor
Para configurar o servidor SSH basta voc instalar o pacote opensshserver, isso feito com o comando apt-get install openssh-server. O arquivo de controle do SSH esta em #/etc/ssh/sshd_config O arquivo de configurao de clientes esta em #/etc/ssh/ssh_config Nestes arquivos importante que voc faa algumas configuraes como a porta que ser utilizada para comunicao SSH, o padro 22, mas pode ser uma outra qualquer, fica a seu critrio. Outro item importante a ser configurado so os usurios que podero acessar o servidor via SSH, uma configurao importante que deve ser feita no arquivo sshd_config a definio do acesso remoto para o root. Para isto edite o arquivo sshd_config
Windows
A comunicao do SSH acorre na porta 22, logo voc precisa utilizar um programa que se conecte a esta porta, no Windows um programa muito utilizado para fornecer acesso remoto via SSH o Putty. computador que voc deseja acessar remotamente.
configure o nome ou IP do
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 usurios com privilgios administrativos tero que se autenticar com seus respectivos usurios. Isso ajudar no controle e rastreabilidade de usurio, gerando arquivos de log que mostraro os passos executados pelos usurios autenticados.
configure a porta de comunicao configure o protocolo de comunicao no caso SSH clique em Open
Seo 3
RDP e VNC
RDP
Este protocolo vem sendo utilizado desde o Windows NT. Foi criado com o intuito de prover administrao remota em servidores Windows, mas com o tempo foi se expandindo e se tornou um protocolo de gerenciamento remoto dando origem ao WTS, onde vrios canais de comunicao podem ser estabelecidos de forma independente com um mesmo servidor Windows. O processamento das informaes fica por conta do servidor.
Obs: Um detalhe sobre a implementao do protocolo RDP com relao as licenas, onde alm do servidor cada estao ter que ter sua prpria licena.
SERVIOS DE REDE
111
Para ativar o acesso remoto em maquinas Windows voc precisa liberar o acesso remoto e nas propriedades do sistema e definir os usurios que estaro aptos a efetuar a acesso remoto.
Nos clientes Windows utilize a ferramenta de conexo de acesso remoto para acessar outro computador utilizando o protocolo RDP. Nos clientes Linux utilize o comando rdesktop seguido do IP do host remoto.
# rdesktop 172.16.5.33
Figura 108 Acessando computador remoto utilizando rdesktop
O VNC um protocolo desenvolvido para prover interfaces grficas remotamente, atravs deste protocolo voc pode se conectar a outro computador de forma a ter acesso a toda parte grfica do sistema como se estivesse na frente do mesmo. Este protocolo utiliza a estrutura cliente-servidor onde um servidor precisa estar configurado para que os clientes possam acess-lo remotamente. Este protocolo suportado tanto em plataformas Windows com Linux. O VNC fornece recursos com autenticao assim evitando que qualquer usurio possa se conectar remotamente ao computador servidor, recurso de mensagens tambm importante neste tipo de aplicao.
VNC
Para fazer uso do VNC do Windows voc pode utilizar um aplicativo VNC, onde voc precisar instal-lo em uma mquina servidor e poder atribuir senhas de acesso, em seguida, instale o VNC na mquina que ser feito o acesso remoto. Abra o aplicativo digite o IP do servidor, em seguida, autentique-se utilizando a senha que foi configurada, pronto, voc estar acessando a servidor remotamente com se estivesse na frente do mesmo.
Para utilizar o VNC no Linux voc precisa instalar no servidor os pacotes 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.
Seo 4
VPN
VPN uma rede privada que utiliza a rede pblica para estabelecer conexo com o host remoto, ou seja, neste tipo de rede no necessrio o uso de servios com link dedicado, ao invs disto a VPN faz uso da infra-estrutura da Internet.
SERVIOS DE REDE
113
As redes com links dedicados tm um desempenho superior em contrapartida seu custo elevado, j as VPN utilizam a Internet que est presente em todo o mundo. Isso torna a aplicao 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 informaes podem ser interceptadas em qualquer ponto da rede. Isso tornaria a VPN invivel em casos onde as informaes que trafegam na rede precisam de um alto nvel de segurana, mas para solucionar este problema, avanados servios de criptografia foram criados.
Tunelamento
O nome tunelamento deve-se ao fato de que ao implementar uma VPN voc estar criando um tnel entre o host local e o host remoto e dentro deste tnel que ir acontecer a trafego das informaes, logo tunelamento pode ser definido como o processo de encapsular um protocolo dentro do outro.
DICA
Ao se aplicar um servio de VPN de suma importncia que os aparelhos envolvidos sejam capazes de garantir a privacidade, autenticidade e integridade das informaes
Protocolos de Tunelamento
Para se estabelecer uma comunicao com VPN necessrio que o mesmo protocolo de tunelamento esteja configurado tanto no host local quanto no host remoto, o tunelamento pode ocorrer tanto na camada 2(enlace) quanto na camada 3(rede) do modelo OSI. Protocolos de Tunelamento da camada de Enlace: Protocol)
Uma VPN pode ser implementada de duas formas na primeira o host local se conecta a um provedor este por sua vez estabelece um link com o host remoto, assim formando um tnel entre o host local e o host remoto, na segunda forma duas redes se conectam atravs de links dedicados e forma o tnel entre as duas redes.
Wired Client
Wireless Client
VPN Tunnel
Internet
Host #1
Host #2
Host #3
Criptografia
A partir de agora estudaremos sobre servio de diretrios de rede: Active Directory e OpenLDAP. Como pode perceber, estamos chegando ao final desta unidade curricular. Continue conosco!
SERVIOS DE REDE
115
Unidade de estudo 9
Sees de estudo
Seo 1 Active Directory Seo 2 OpenLDAP
Grupo de Usurios
Dentre os itens que devem ser avaliados ao se implementar um sistema de gerenciamento de arquivos, um dos principais se refere s permisses de usurios, isso que torna um AD realmente funcional, imagine que na empresa XYZ exista um documento com informaes financeiras que s diz respeito a equipe de gerencia mas os usurios do setor de RH tambm consegue visualizar e alterar as informaes contidas neste documento, ou seja este documento esta completamente desprotegido e pondo em risco a autenticidade das informaes nele contida. Da a importncia de se criar grupos e permisses de usurios seguindo parmetros de acesso. Vamos utilizar a mesma situao citada a pouco com a empresa XYZ, mas com um correto sistema de permisses implementado, onde sero criados dois grupos de usurios um denominado gerncia e o outro RH e em cada grupo ser adicionado os respectivos usurios, ou seja, funcion-
Caractersticas do AD
sobre usurios e senhas;
com suas devidas permisses de acesso; tambm conhecido como UOs unidades organizacionais.
Compreendendo um AD
Para entender melhor importante conhecer alguns dos principais elementos que compe um AD.
Domnios
um grupo de mquinas e recursos, onde todas as informaes existentes neste grupo so controladas pelo controlador de domnio este no nada mais que um servidor que tem a funo de fornecer e verificar a autenticao dos usurios onde cada estao
SERVIOS DE REDE
117
rios da gerncia no grupo Gerncia e funcionrios do RH no grupo RH. Agora, no documento, basta configurar para que apenas o grupo Gerncia tenha permisso para ler e alterar as informaes do documento, assim automaticamente todos os integrantes que compe o grupo Gerncia podero acesso o documento. Suponhamos ainda que algum do RH foi promovido a Gerncia, basta voc tirar o usurio do grupo RH e colocar no grupo Gerncia 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 diretrios.
DICA
OBS: Antes de aplicar qualquer sistema de gerenciamento de diretrios necessrio que voc faa um estudo aprofundado das necessidades da rede, pois um AD configurado de forma incorreta pode tornar sua rede completamente instvel.
Construindo um AD
medida que voc for implementando o AD importante que voc preste ateno nos detalhes e aos poucos v conhecendo os recursos 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 configurao aparecer (figura 125), importante que voc leia com ateno as instrues medida que voc for avanando, pois durante a instalao do AD voc poder configurar o DNS, o nome que ser dado ao seu domnio, local onde ser armazenado o seu banco de dados e logs, etc.
Feitas as configuraes iniciais do AD, o assistente executar a instalao, aps o trmino da instalao uma janela aparecer pedindo que voc reinicie o seu computador, faa isso. Aps seu computador ter sido reiniciado verifique se o AD foi instalado com sucesso clicando no menu iniciar, Ferramentas Administrativas e procure por um item com nome Usurios 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 domnio (Figura 126).
SERVIOS DE REDE
119
Domnio: Nome este que foi dado no assistente durante a criao do seu AD.
O prximo passo criar contas de usurios para que voc possa fazer os primeiros testes, isso pode ser feito dentro do prprio Active Directory, aps a criao dos usurios voc deve criar grupos e inserir os usurios dentro destes grupos com isso voc poder atribuir permisses aos grupos e automaticamente aos seus integrantes.
Testes
Depois de feita a instalao e verificao da instalao do AD, criado as contas dos usurios 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 comunicao dos computadores com o controlador de domnio. Isso pode ser feito atravs do prompt executando o comando ping + IP DO CONTROLADOR DE DOMINIO.
Para testar se seu AD esta funcionando corretamente, voc ter que autenticar outro computador no domnio criado. Vamos utilizar um computador com Windows XP como exemplo onde para inserir a mquina no domnio voc deve clicar com boto direito em meu computador, propriedades. Em seguida clique na aba nome do computador clique na opo alterar habilite a opo domnio e insira nome do seu domnio e para finalizar clique em OK (figura 127), ento uma mensagem aparecer confirmando a insero do computador no domnio, reinicie o computador e utilize o login de um dos usurios criados no AD para se autenticar no domnio.
Caso a autenticao acorra com sucesso sinal de que seu sistema de servio de diretrios est funcionando corretamente, agora voc pode controlar todos os seus diretrios de acordo com suas necessidades.
DICA
O AD uma ferramenta que possui inmeros recursos de controle, portanto cabe a voc estudar, praticar e ir se aprimorando constantemente, para que possa tornar seu controlador de domnio cada vez mais estvel e funcional.
Figura 117 Logotipo OpenLDAP Fonte: OpenLDAP (2002).
Planejamento
Antes de implementar um servidor LDAP necessrio que voc faa um estudo detalhado em sua rede, onde voc deve saber quantos usurios faro uso do servidor, se a empresa tem filiais e quantas so, e tambm ter uma noo do percentual de crescimento da empresa, para evitar que em um futuro prximo seu sistema venha a no atender mais as necessidades da empresa. Baseado no levantamento das informaes voc vai decidir como ser a implementao de seu servidor LDAP, vejamos algumas situaes.
Seo 2
OpenLDAP
Introduo
OpenLDAP faz parte da grande famlia de softwares livres, e trabalha sobre o protocolo LDAP, atuando como um servio de diretrios, vrias distribuies Linux j vem com o pacote OpenLDAP incluso.
Primeira Situao:
A primeira situao tradicional, onde o servidor LDAP ser implementado em uma empresa de pequeno porte que no tem filiais, ou uma empresa que tenha filiais, mas apenas a matriz tem interesse no servio. (TRIGO, 2007, p. 31).
SERVIOS DE REDE
121
Segunda Situao:
Matriz: Esta aplicao invivel para as filiais devido lentido da rede, a no ser que as filiais possuam links dedicados com a matriz, decorre da uma questo de custo.
Nesta, a realidade completamente inversa a da primeira situao, aqui tanto a matriz quanto as filiais fazem uso dos servidores de diretrios, mas para esta situao podem existir duas solues de implementao, uma onde tanto a matriz quanto as filiais fazem acesso apenas ao servidor da matriz e a segunda a soluo mais vivel. A ideia ter um servidor de diretrios em cada unidade, assim a matriz e as filiais tero seu prprio servidor, onde os usurios das filias poderiam acessar o servidor em sua prpria rede local, e caso fosse necessrio, alguma informao da matriz o servidor local faria uma solicitao 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 implementao, o OpenLDAP um recurso de rede que na maioria das vezes trabalha em paralelo com outros servios como samba, proxy, DNS, Apache, FTP, Postfix, dentre outros.
Estrutura do OpenLDAP
A organizao do OpenLDAP muito parecida com a do DNS, onde se assemelha a uma rvore que serve para impor delimitaes polticas, geogrficas e organizacionais. Nessas delimitaes observa-se normalmente o host com nvel mais alto (raiz) e o nome do domnio de uma organizao ou pais, em seguida aparecem as representaes dos estados de um pais e assim por diante. A figura abaixo mostra um exemplo de estrutura do OpenLDAP.
c = AR
c = BR
Servidor 2
o = U de M
Instalando o OpenLDAP
O OpenLDAP um pacote que j vm integrado em muitas distribuies Linux com Debian, SUSE, Red Hat, etc. Aqui utilizaremos o Debian para mostrar a voc como instalar e configurar o OpenLDAP algumas informaes ou localizaes de arquivos podero mudar de uma distribuio para outra.
122 CURSOS TCNICOS SENAI
Feita a instalao voc pode ter acesso ao arquivo de configurao de diretrios do OpenLDAP que est localizado no /etc/ldap/slapd.conf, este arquivo subdividido em setores onde cada um responsvel por algumas das configuraes que compe o sistemas de diretrios.
SCHEMA
Estes arquivos so armazenados em diretrios, so acionados dentro do arquivo de configurao do servidor e tambm estipulam que tipo de dados podero ser armazenados nos diretrios. O quadro que segue mostra um setor do arquivo de configurao do servidor onde os esquemas so acionados.
Servios
Neste setor esto localizados os parmetros de configurao relacionados aos processos, arquivos de log e mdulos a serem carregados pelo OpenLDAP durante sua execuo.
SERVIOS DE REDE
123
pidfile: especifica o local onde esta armazenado o arquivo que contem o PID (Process ID ) do processo slapd em execuo;
argsfile: especifica o local onde esta armazenado o arquivo com os parmetros utilizados pelo sladp; loglevel: representa os tipos dos arquivos que devem ser armazenados nos arquivos de log.
Nvel -1 0 1 2 4 8 16 32 64 128 256 512 1024 2048 Todas as informaes de log Nenhuma informao de log Chamadas de funes Depurao do manuseamento dos pacotes Depurao detalhada Gerenciamento da conexo Pacotes enviados e recebidos Processamento do filtro de pesquisa Processamento do arquivo de configurao Processamento das listas de controle de acesso Estatsticas para conexo, operaes e resultados Estatsticas para resultados devolvidos aos clientes Comunicao com backends de Shell Depurao da anlise sinttica (parsing) das entradas Informao gravada
dinmicamente.
Modulepath: Mostra onde est salvo o mdulo que ser carregado Moduleload: Carregar o mdulo indicado.
DATABASE
Aqui voc encontrar todas as informaes relacionadas com o banco de dados. Aqui, algumas linhas so fundamentais para a configurao do OpenLDAP:
nistrador do OpenLDAP.
suffix dc=ti,dc=senai,dc=br: onde ser definido o domnio rootdn cn=adm,dc=ti,dc=senai,dc=br: definido o nome do admi-
rootpw {MD5}4QrcoU6Wau=VuBX8G+IPg == : senha do administrador que pode ser tanto em texto puro como com criptografia.
backend bdb checkpoint 512 30 database bdb suffix "dc=ti,dc=senai,dc=br" directory "/var/lib/ldap" index objectClass eq rootdn "cn=adm,dc=ti,dc=senai,dc=br" rootpw {MD5}4QrcoU6Wau=VuBX8G+IPg == lastmod on mode 0600 cachesize 2000 access to attrs=userPassword by dn.base="cn=adm,dc=ti,dc=senai,dc=br" write by anonymous auth by self write by * none access to * by dn.base="cn=adm,dc=ti,dc=senai,dc=br" write by * read
Figura 123 Configuraes da base de dados OpenLDAP
ldapadd
Utilizado para incluir informaes na base LDAP. Possui como principais parmetros, a opo de definir um arquivo ldif a ser includo na base, utilizar autenticao simples, especificar um domnio e especificar uma senha.
ldapdelete
Pode ser utilizado para eliminar qualquer entrada de registro da base LDAP. Tendo como principais parmetros a utilizao de autenticao simples, especificao de domnio e um parmetro para especificar um arquivo externo que contm informaes a serem apagadas da base.
DICA
O arquivo de configurao mostrado anteriormente possui informaes confidenciais, portanto atribua permisso somente para o root.
Aps ter feito todas as configuraes no arquivo slapd.conf teste para ver se esta tudo certo com o comando slaptest conforme mostra a figura.
SERVIOS DE REDE
125
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 usurio. Sua utilizao muito semelhante com o comando ldapadd.
ldapmodrdn
Permite renomear uma entrada da base LDAP. J para renomear um grupo, por exemplo, necessrio que a entrada esteja vazia. Tem como parmetro diferenciado a possibilidade de uso do binddn (administrador) para acessar o diretrio LDAP. Tambm pode ser indicado o DN e/ou RDN da entrada a ser modificada.
ldappasswd
Esse comando utilizado para alterar a senha de um usurio existente na base LDAP. Seus principais parmetros so o uso de autenticao simples ao invs de SASL, usar o binddn (administrador) para acessar o diretrio do LDAP, exibir um prompt para autenticao simples, definir uma nova senha ou at mesmo no definir uma senha.
ldapsearch
utilizado para realizar pesquisas na base LDAP. Possui diversos parmetros, entre eles, especificar a sada da pesquisa no formato ldif, usar autenticao simples, especificar um diretrio onde ser feita a busca, alm de definir filtros de pesquisa e atributos especficos para pesquisa. Esses filtros podem ser do tipo igualdade, aproximao e ordem. Outra forma para auxiliar nas pesquisas o uso de um curinga, nesse caso representado 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 informaes na base LDAP de forma off-line, ou seja, quando o servidor no est em execuo. Possui diversos parmetros por exemplo, para ativar o modo rpido, modo dry-run, modo debug, alm de outras opes como especificar arquivo de configurao do slapd, diretrio de configurao, arquivo de entrada ldif e a base de dados a ser modificada, por exemplo.
Slapcat
Simplesmente utilizado para listar o contedo da base de dados. Voc pode utilizar esse comando para fazer um backup do contedo no sistema em um arquivo texto, pois tambm pode ser criado um arquivo ldif do contedo da base atravs desse comando. Possui parmetros semelhantes ao comando anterior, contando tambm 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 parmetro mais utilizado, temos a opo de definir qual a base de dados a ser recriada. slurpd/slaptest/slapacl Esses comandos, respectivamente so utilizados para replicar dados da base do LDAP, testar a sintaxe do arquivo de configurao (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 schemas definidos no slapd.conf.
Slappasswd
Com esse comando possvel gerar uma senha criptografada podendo ser utilizada tanto nos campos que utilizam senha como em qualquer outro lugar. Tem como principais parmetros o uso de diferentes algoritmos como: MD5, CRYPT, SMD5, SSHA, SHA.
SERVIOS DE REDE
127
Finalizando
Ao final do estudo desta unidade curricular voc dever ser capaz de instalar, configurar e resolver problemas nos principais servios de rede e de proporcionar a utilizao dos mesmos aos usurios de uma rede de computadores. Gostaramos de lembr-lo que a rea de informtica dinmica, exigindo do profissional atualizao constante no que diz respeito s tecnologias utilizadas. Melhorias e incrementos so frequentemente implementadas nos softwares utilizados na administrao das redes e novas ferramentas surgem para facilitar o gerenciamento dos sistemas de informao. por isso que buscamos sintetizar neste material os conceitos bsicos relacionados aplicao dos servios, interagindo com voc, leitor, exemplificando a utilizao e demonstrando os resultados prticos que podem ser obtidos. Espero que voc tenha se deliciado com as tantas descobertas que lhe reservamos! Sucessos!
SERVIOS DE REDE
41
Referncias
ARSYS. DNS. Disponvel em: <http://www.arsys.pt/ajuda/guias/dns.htm>. Acesso em: 15 nov. 2009. BARLEM, Gustavo Silveira. Um estudo sobre o DNS na internet. Disponvel em: <http://penta2.ufrgs.br/dns/dns2.htm>. Acesso em: 10 nov. 2009. CGI.BR. Comit gestor da internet no Brasil. Disponvel em: <http://www.cgi. br>. Acesso em: 16 nov. 2009. CONECTIVA. Exemplo de rvore de diretrios LDAP. 2004. Disponvel em: <http://www.conectiva.com/doc/livros/online/10.0/servidor/pt_BR/imagens/ldaparvore.png>. Acesso em: 08 dez. 2009. COSTA, Daniel Gouveia.DNS:um guia para administradores de redes.Rio de Janeiro, RJ: Brasport, 2006. 121 p. DEVMEDIA. Exemplo de criptografia assimtrica. 2004. Disponvel em: <http:// www.devmedia.com.br/articles/viewcomp.asp?comp=10717&hl= > Acesso em: 10 dez. 2009. FERREIRA, A. B. de H. Dicionrio eletrnico Aurlio. 3. ed. Curitiba: Positivo, 2010. HUNT, Craig.Linux:servidores de rede.Rio de Janeiro, RJ: Cincia Moderna, 2004 xxii, 567 p. INTERNET CORPORATION FOR ASSIGNED NAMES AND NUMBER. Corporao para atribuio de nomes e nmeros na internet. 2001. Comit Gestor da Internet no Brasil. Disponvel 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. Disponvel em: <http://datatracker.ietf.org/doc/rfc2131/>. Acesso em: 18 jan. 2010. Kioskea. O protocolo FTP (file transfer protocol). Disponvel 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. Resoluo inversa/DNS. Disponvel em: <http://lacnic.net/pt/registro/dns/resolucion_inversa.html>. Acesso em: 10 nov. 2009.
SERVIOS DE REDE
43
LOWES, Mark. Proftpd: A users guide. Disponvel em: <http://www.proftpd.org/ localsite/Userguide/linked/userguide.html>. Acesso em: 25 nov. 2009. Machado, Eric Soares. Autenticao integrada baseada em servio de diretrioLDAP. 2006. Dissertao (Bacharelado em Cincias da Computao do IME-USP) - Universidade de So Paulo, So Paulo, 2006. Disponvel 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. Disponvel 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. So Paulo, SP: Pearson Prentice Hall, 2007. 684 p. NONGNU. See synaptic in action. Disponvel em: <http://www.nongnu.org/synaptic/action.html >. Acesso em: 23 nov. 2009. OPENLDAP. Logotipo OpenLDAP. 2002. OpenLDAP Foundation. Disponvel em: <http://www.OpenLDAP.org>. Acesso em: 03 dez. 2009. RIBEIRO, Uir. Certificao Linux. Rio de Janeiro: Axcel Books, c2004. SCRIMGER, R. et al. TCP/IP: a Bblia.Rio de Janeiro, RJ: Campus, 2002. xix, 642 p. SILVA, Gleydson Mazioli da. Guia Foca GNU/Linux. Verso 6.42. Disponvel em: <http://focalinux.cipsga.org.br/guia/avancado/ch-s-samba.htm>. Acesso em: 27 nov. 2009. SONIC. Funcionamento VPN. 1994. Disponvel em: <http://www.sonic.net/features/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 Honrio.OpenLDAP:uma abordagem integrada.So Paulo, SP: Novatec, c2007. 239 p. Ubuntu Guide. Repositories. 2005. Disponvel em: <http://ubuntuguide.org/ wiki/Ubuntu:Karmic>. Acesso em: 20 nov. 2009. Zucarino, Victor. SAMBA. 2000. Disponvel em: <http://br-linux.org/artigos/ manusmb_intro.htm>. Acesso em: 10 nov. 2009.
44