Você está na página 1de 103

Universidade Tuiuti do Paran UTP

Faculdade de Cincias Exatas e de Tecnologia


Cursos de Computao

Grupo de Estudos de Redes de Computadores e Sistemas Distribudos

Professores: Marcelo Soares Farias Roberto Nia Amaral

Universidade Tuiuti do Paran GERDS - Grupo Interdisciplinar de Redes de Computadores e Sistemas Distribudos CURSO: LPI - SERVIDORES DE REDES E GERENCIAMENTO - LINUX

Curitiba, 2008

Roberto Amaral Marcelo Soares Farias

Pgina 2

03/03/2010

Universidade Tuiuti do Paran GERDS - Grupo Interdisciplinar de Redes de Computadores e Sistemas Distribudos CURSO: LPI - SERVIDORES DE REDES E GERENCIAMENTO - LINUX

INTRODUO
Inicialmente, os computadores eram mquinas carssimas que centralizavam em um nico ponto o processamento das aplicaes de vrios usurios, e muitas vezes de toda uma organizao. Com a reduo de custos do hardware e introduo dos microcomputadores no cenrio da informtica, a estrutura centralizada cedeu lugar a uma estrutura totalmente distribuda. Nessa estrutura diversos equipamentos dos mais variados portes processam informaes de formas isoladas, o que acarreta uma serie de problemas. Dentre os problemas apresentados, destaca-se a duplicao desnecessria de recursos de hardware (impressoras, discos, etc.) e de software (programas, arquivos de dados etc.). Nesse cenrio surgiram as redes de computadores, onde um sistema de comunicao foi introduzido para interligar os equipamentos de processamentos de dados (estaes de trabalhos), antes operando isoladamente com o objetivo de permitir o compartilhamento de recursos.

Evoluo dos Sistemas de Computao


Na dcada de 1950, computadores eram mquinas grandes e complexas, operadas por pessoas altamente especializadas. Usurios enfileiravam-se para submeter suas leitoras de cartes ou fitas magnticas que eram processados em lote. No havia nenhuma forma de interao direta entre usurios e mquina. Avanos na dcada de 1960 possibilitaram o desenvolvimento dos primeiros terminais interativos, permitindo aos usurios acesso ao computador central atravs de linhas de comunicao. Usurios passavam a ter ento um mecanismo que possibilitava a interao direta com o computador, ao mesmo tempo em que avanos nas tcnicas de processamento davam origem a sistemas de tempo compartilhado (time-sharing), permitindo que vrias tarefas dos diferentes usurios ocupassem simultaneamente o computador central, atravs de uma espcie de revezamento no tempo de ocupao do processador. Mudanas na caracterizao dos sistemas de computao ocorreram durante a dcada de 1970: de um sistema nico centralizado e de grande porte, partia-se em direo distribuio do poder computacional. O desenvolvimento de minis e microcomputadores de bom desempenho, permitiu a instalao de considervel poder computacional concentrao deste poder em uma determinada rea. Embora o custo de hardware de processamento estivesse caindo, o preo dos equipamentos eletromecnicos continuava alto, tornando a interconexo entre os vrios sistemas para o uso compartilhado de dispositivos perifricos importante. A capacidade de troca de informaes tambm foi uma razo importante para a interconexo. Usurios individuais de sistemas de computao no trabalham isolados e necessitam de alguns dos benefcios oferecidos pr um sistema centralizado. Ambientes de trabalho cooperativos se tornaram uma realidade tanto nas empresas como nas universidades, exigindo a interconexo dos equipamentos. Para solucionar problemas de desempenho, os pesquisadores criaram novas arquiteturas que propunham a distribuio e o paralelismo como forma de melhorar desempenho, confiabilidade e modularidade dos sistemas computacionais, alem de um sistema centralizado de repositrio de informasses, ou melhor, servidores.

Roberto Amaral Marcelo Soares Farias

Pgina 3

03/03/2010

Universidade Tuiuti do Paran GERDS - Grupo Interdisciplinar de Redes de Computadores e Sistemas Distribudos CURSO: LPI - SERVIDORES DE REDES E GERENCIAMENTO - LINUX

Evoluo das Arquiteturas


A maioria dos computadores projetados at a dcada de 1980 teve sua concepo baseada nos modelos original de Von Neumann. A interao perfeita entre o modo como os programas so desenvolvidos e a maneira como so interpretados foi uma das razes para o grande sucesso de tal modelo. A revoluo nos sistemas de computadores comeou com os avanos de tecnologia de integrao de circuitos, que reduziram em muito os custos das partes de tais sistemas, onde vrias arquiteturas foram ento propostas. Dentre as alternativas apresentadas, podemos citar os Sistemas de UCP nica com mltiplas Unidades Funcionais, as Mquinas Pipeline e os Processadores de matriz (Array Processors). A idia de seqncia mltiplas e independentes de instrues em um sistema composto por vrios elementos de processamento compartilhando um espao comum de memria aparece em uma outra arquitetura (Sistemas de Multiprocessadores) com as seguintes caractersticas: Dois ou mais processadores de capacidade aproximadamente iguais. Todos os processadores dividem o acesso a uma memria comum. Todos os processadores compartilham os canais de I/O unidades de controle e dispositivos perifricos. O sistema total controlado pr um nico sistema operacional. Por ltimo surgiram os Sistemas de Processamento Distribudos por Eckhouse 78 como uma coleo de elementos de processamentos interconectados tanto logicamente quanto fisicamente para execuo cooperativa de programas de aplicao com controle dos recursos descentralizado, o qual o objetivo deste curso. Em Sistemas Distribudos, o estado do sistema fragmentado em partes que residem em diferentes processadores e memrias, com comunicao entre essas partes sujeita a retardos variveis e desconhecidos. Em sistemas distribudos impossvel forar a simultaneidade de eventos. A mnima interferncia em uma execuo de tarefas paralelas vai permitir a obteno de sistemas de grande desempenho. A no existncia de qualquer elemento sem o qual o sistema para totalmente lhe confere alta confiabilidade. A possibilidade de utilizao em larga escala de um pequeno nmero de elementos bsicos de hardware e software responsvel pelo elevado grau de modularidade do sistema. Embora difcil de caracterizar, a arquitetura de mltiplos processadores tem melhor aplicao em sistemas que exigem grande disponibilidade, grandes requisitos de vazo, tempos de resposta garantidos e baixos, alto grau de modularidade, e tambm onde as tarefas podem ser executadas de modo concorrente. Um Sistema Distribudo vai ser formado por um conjunto de mdulos processadores interligados por um sistema de comunicao. Vemos ento que a interconexo de sistemas veio atender a duas necessidades distintas: Construo de sistemas com maior desempenho e maior confiabilidade Compartilhamento de recursos.

Roberto Amaral Marcelo Soares Farias

Pgina 4

03/03/2010

Universidade Tuiuti do Paran GERDS - Grupo Interdisciplinar de Redes de Computadores e Sistemas Distribudos CURSO: LPI - SERVIDORES DE REDES E GERENCIAMENTO - LINUX Alguns autores consideram como Sistema Distribudo apenas queles construdos para atender a primeira necessidade, classificando como Redes de Computadores os sistemas construdos com a finalidade de permitir o compartilhamento de recursos. Outros preferem classificar todos esses sistemas como Sistemas Distribudos e subclassific-los em Mquinas de Arquitetura Distribuda e Redes de Computadores. Uma Mquina de Arquitetura Distribuda composta por um nmero ilimitado, mas finito de mdulos autnomos de processamento interconectados para formar um nico sistema, no qual o controle executivo global implementado atravs da cooperao de elementos descentralizados. Uma Rede de Computadores tambm formada por um nmero ilimitado, mas finito de mdulos autnomos de processamento interconectados, no entanto a independncia dos vrios mdulos de processamento preservada na sua tarefa de compartilhamento de recursos e troca de informaes.

MAS ENTO O QUE VEM A SER UMA REDE DE COMPUTADORES? UM MEIO FSICO E LGICO DE COMUNICAO DE DADOS, COMPARTILHADO, O QUAL POSSUI OBJETIVO DE UNIR INFORMAES ENTRE TODOS OS PARCIPANTES DESTE INFODUTO CONTROLADO DE DADOS.

Quando voc precisar de ir alm do computador em cima de sua mesa, esta na hora de instalar uma rede local.

Roberto Amaral Marcelo Soares Farias

Pgina 5

03/03/2010

Universidade Tuiuti do Paran GERDS - Grupo Interdisciplinar de Redes de Computadores e Sistemas Distribudos CURSO: LPI - SERVIDORES DE REDES E GERENCIAMENTO - LINUX

Classificao das Redes de Computadores


As redes de computadores podem ser classificadas quanto sua abrangncia geogrfica. Para cada tipo de rede deve existir um tipo de meio de transmisso assim como um tipo de protocolo que far essa comunicao. Na juno de todas estas idias, podemos considerar que cada tipo de rede, possuir sua caracterstica particular assim como seus possveis protocolos de comunicao.

TIPOS DE REDES Cada tipo de rede tem suas caractersticas principais ligadas a sua abrangncia, ou seja, a sua capacidade de atendimento em Km. LAN (Local Area Network) : As redes locais tem uma abrangncia limitada por um prdio, uma sala, um campus ou uma fbrica num limite de alguns quilmetros ( 2 a 3 Km). MAN (Metropolitan Area Network) : As redes metropolitanas podem atender uma grande rea como uma regio metropolitana, por exemplo atendida por uma anel de fibras ticas interligando diversos municpios como se fosse uma infra-estrutura nica, com alcance de 30 Km. WAN (Wide Area Network) : As redes WAN tambm conhecidas como redes de longa distncia podem ser redes nacionais atendendo todo o territrio como tambm redes internacionais interligadas via satlite ou cabos submarinos. Podemos considerar a tabela abaixo

Roberto Amaral Marcelo Soares Farias

Pgina 6

03/03/2010

Universidade Tuiuti do Paran GERDS - Grupo Interdisciplinar de Redes de Computadores e Sistemas Distribudos CURSO: LPI - SERVIDORES DE REDES E GERENCIAMENTO - LINUX

Topologia
Topologia para redes de computadores est relacionada como os equipamentos que compe uma rede so distribudos em um determinado espao. Porem esta distribuio no est relacionada somente a questes fsicas, mas sim sobre questes lgicas tambm. A Topologia define a estrutura da rede. H dois pontos na definio de topologia: a topologia fsica, que o layout real do meio fsico de transmisso, e a topologia lgica, que define como os meios so acessados. As topologias fsicas geralmente usadas so barramento, anel, estrela, estrela estendida, hierrquica e malha. Barramento: usa um nico segmento de transmisso, ao qual todos os hosts se conectam diretamente. Anel: conecta um host ao prximo e o ltimo host ao primeiro. Isso cria um anel fsico do cabo. Estrela: conecta todos ao ponto central, sendo normalmente um hub ou switch.. Estrela estendida: une as estrelas individuais vinculando os hubs/switches. Hierrquica: forma similar a uma estrela estendida, mas em vez de unir os hubs/switches, o sistema vinculado a um computador que controla o trfego na topologia. Malha: Nesta, cada host tem suas prprias conexes com todos os outros hosts. Isso reflete o projeto da Internet, que possui vrios caminhos para qualquer lugar.

A topologia lgica de uma rede a forma como os hosts se comunicam atravs dos meios. Os dois tipos mais comuns de topologias lgicas so broadcast e passagem de token. Broadcast: simplesmente significa que cada host envia seus dados a todos os outros hosts no meio da rede. As estaes no seguem nenhuma ordem para usar a rede, a primeira a solicitar a atendida. Passagem de token: controla o acesso rede, passando um token eletrnico seqencialmente

para cada host. Quando um host recebe o token, significa que esse host pode enviar dados na rede. Se o host no tiver dados a serem enviados, ele vai passar o token para o prximo host.

Roberto Amaral Marcelo Soares Farias

Pgina 7

03/03/2010

Universidade Tuiuti do Paran GERDS - Grupo Interdisciplinar de Redes de Computadores e Sistemas Distribudos CURSO: LPI - SERVIDORES DE REDES E GERENCIAMENTO - LINUX

Roberto Amaral Marcelo Soares Farias

Pgina 8

03/03/2010

Universidade Tuiuti do Paran GERDS - Grupo Interdisciplinar de Redes de Computadores e Sistemas Distribudos CURSO: LPI - SERVIDORES DE REDES E GERENCIAMENTO - LINUX

Dispositivos de Redes
Os dispositivos que se conectam diretamente a um segmento de rede so chamados de hosts. Esses hosts incluem computadores, clientes e servidores, impressoras, scanners e muitos outros dispositivos do usurio. Esses dispositivos fornecem aos usurios conexo rede, com a qual os usurios compartilham, criam e obtm as informaes.

Placas de Redes
Em termos de aparncia, uma placa de rede uma placa de circuito impresso que se encaixa no slot de expanso de um barramento em uma placa me do computador ou em um dispositivo perifrico. tambm chamada de placa de rede. Em computadores laptop/notebook as placas de rede so normalmente do tamanho de uma placa PCMCIA. As placas de rede so consideradas dispositivos da camada 2 do modelo OSI, porque cada placa de rede em todo o mundo transporta um cdigo exclusivo, chamado de um endereo Media Access Control (MAC). Esse endereo usado para controlar as comunicaes de dados do host na rede. Sempre que existir um dispositivo de rede acoplado ao meio de rede, h algum tipo de dispositivo de placa de rede, mesmo que geralmente no seja exibido.

Roberto Amaral Marcelo Soares Farias

Pgina 9

03/03/2010

Universidade Tuiuti do Paran GERDS - Grupo Interdisciplinar de Redes de Computadores e Sistemas Distribudos CURSO: LPI - SERVIDORES DE REDES E GERENCIAMENTO - LINUX

CABEAMENTOS DE REDE
Para que computadores funcionem em conjunto em uma rede, so necessrios meios de transmisso ou cabos. Os meios de transmisso so utilizados em redes de computadores para ligar as estaes entre si, sendo que estes meios diferem com relao banda passante, potencial para conexo ponto a ponto ou multiponto, limitao geogrfica, imunidade a rudo, custo, disponibilidade de componentes e confiabilidade. Qualquer meio fsico capaz de transportar informaes eletromagnticas passvel de ser usado em redes de computadores. Os mais comuns utilizados so: o par tranado, o cabo coaxial e a fibra tica. Sob circunstncias especiais, radiodifuso, infravermelho, enlaces de satlite e microondas tambm so escolhas possveis. As taxas de transmisso desses meios so medidas em bits por segundo, ou bps.

Cabo coaxial
composto de um centro condutivo, envolto por uma camada isolante, e novamente envolto por uma camada condutora. bastante resistente a interferncias. Este possui uma imunidade a rudo tima, e uma fuga eletromagntica mais baixa. Os rudos geralmente presentes em reas urbanas e industriais so de baixa freqncia, tornando as transmisses em banda bsica mais susceptveis a eles. Quanto ao custo, o coaxial mais caro do que o par tranado, assim como mais elevado o custo das interfaces para ligao ao cabo. Para ligar esse tipo de cabo na placa de rede de um computador, necessrio um conector BNC e um T.

Vantagens de sua utilizao Baixos custos de manuteno; Topologia simples de implementar; Resistncia rudos e interferncias;

Desvantagens de sua utilizao Distncias limitadas; Baixo nvel de segurana; Difcil de fazer grandes mudanas na topologia da rede.

Roberto Amaral Marcelo Soares Farias

Pgina 10

03/03/2010

Universidade Tuiuti do Paran GERDS - Grupo Interdisciplinar de Redes de Computadores e Sistemas Distribudos CURSO: LPI - SERVIDORES DE REDES E GERENCIAMENTO - LINUX

Cabo par tranado


Este composto por dois pares de fios (ou 4 pares ) envoltos por uma camada isolante de forma a reduzir o rudo e manter constante as prioridades eltricas do meio atravs de todo o seu comprimento. A perda de energia um parmetro importante quando se discute no s a taxa mxima de transmisso, mas tambm a distncia mxima permitida, qualquer que seja o meio de transmisso. A perda de energia aumenta com a distncia, at chegar um ponto onde o receptor no consegue mais reconhecer o sinal. A energia pode ser perdida por radiao ou por calor. Sua desvantagem a sensibilidade s interferncia e rudo. Com o aumento das taxas de transmisso, cabos de par tranado de melhor qualidade foram gradativamente sendo produzidos. Uma aplicao tpica para o par tranado a ligao ponto a ponto entre terminais e computadores e entre estaes da rede e o meio de transmisso. Esse o mais utilizado atualmente e, o custo total da rede maior pelo fato de necessitar de equipamentos extras (como hub, por exemplo). O conector utilizado o RJ-45.

Conectorizao
Pino 1 Branco do Verde Pino 2 Verde Pino 3 Branco do Laranja Pino 4 Azul Pino 5 Branco do Azul Pino 6 Laranja Pino 7 Branco do Marrom Pino 8 Marrom

PINO 1 2 3 4 5 6 7 8

SINAL Transmisso Transmisso + Recepo -

Recepo +

Roberto Amaral Marcelo Soares Farias

Pgina 11

03/03/2010

Universidade Tuiuti do Paran GERDS - Grupo Interdisciplinar de Redes de Computadores e Sistemas Distribudos CURSO: LPI - SERVIDORES DE REDES E GERENCIAMENTO - LINUX

Fibra ptica
A transmisso em fibra tica realizada pelo envio de um sinal de luz. O cabo tico consiste em um filamento de slica ou plstico, por onde feita a transmisso da luz. Ao redor do filamento existem substncias de menor ndice de refrao, que fazem com que os raios sejam refletidos internamente, minimizando assim as perdas de transmisso. Existem trs tipos de fibras ticas: as multmodo degrau, as multmodo com ndice gradual e as monomodo. Fibras pticas no esto sujeitas a interferncia e transmitem a uma taxa bastante elevada: 100.000 Mbps, podendo chegar a 200.000 Mbps.

Caractersticas
A fibra ptica praticamente imune s influncias do meio ambiente por onde est passando. Imunidade total a interferncia eletromagntica e interferncia por radio-frequncia. No gera campos magnticos e eletromagnticos. Insensvel a relmpagos e descargas atmosfricas. Segura mesmo em contacto com condutores de alta voltagem, pois totalmente dieltrica. Muito segura contra grampeamento (roubo de informaes). Suporta grandes distncias entre repetidores. dados. Redes de Telecomunicaes: - Circuitos de telefonia interurbanos. - Conexes de redes locais (LANs e WANs). - Redes para controle de distribuio de energia eltrica - Redes de transmisso de dados. - Redes de distribuio de sinais de radiodifuso e televiso - Redes de estdios, cabos de cmeras de televiso. - Redes industriais, em monitorao e controle de processos. - Transmisso de sinais de processamento de dados de computador para computador. - Interligao de circuitos dentro de equipamentos. - Aplicaes de controle em geral ( fbricas, maquinrios) - Em veculos motorizados, aeronaves, trens e navios Sua aplicao se d em telecomunicaes, usada para Redes de Telecomunicaes e Transmisso de sinais de processamento de

Vantagens de sua utilizao Desvantagens de sua utilizao

Roberto Amaral Marcelo Soares Farias

Pgina 12

03/03/2010

Universidade Tuiuti do Paran GERDS - Grupo Interdisciplinar de Redes de Computadores e Sistemas Distribudos CURSO: LPI - SERVIDORES DE REDES E GERENCIAMENTO - LINUX

Equipamentos de Redes
Existem diversos fabricantes de equipamentos de redes de computadores, porem basicamente os equipamentos esto classificados em 3 tipos: 1. Os que simplesmente repassam as informaes (sinais eltricos) 2. Os que tratam a informao atravs dos endereos fsicos dos equipamentos 3. Os que realizam a operao de encaminhar a informao atravs de redes lgicas No grupo 1, que so replicadores de sinais eltricos, trabalhando no nvel fsico, esto os Hubs e Repetidores No grupo 2, os equipamentos que realizam a comutao no primeiro nvel lgico de uma rede, so os Switch. No grupo 3 , os equipamentos que realizam o roteamento entre redes diferentes, os Roteadores.

HUB
A finalidade de um hub gerar os sinais da rede novamente e os retemporizar. Isso feito no nvel de bit para um grande nmero de hosts usando um processo conhecido como concentrao. Essa definio muito similar a dos repetidores, por essa razo um hub tambm conhecido como repetidor multiportas. A diferena o nmero de cabos que se conectam ao dispositivo. Os motivos para se usar os hubs criar um ponto de conexo central para os meios de cabeamento e aumentar a confiabilidade da rede. Aumenta-se a confiabilidade da rede permitindo qualquer cabo nico a falhar sem afetar toda a rede. Isso difere da topologia de barramento onde, se houver uma falha no cabo, toda a rede ser afetada. Os hubs so considerados dispositivos da camada 1 porque apenas geram novamente o sinal e o transmite para suas portas. Existem diferentes classificaes dos hubs na rede. A primeira classificao dizer se os hubs so ativos ou passivos. Hubs ativos obtm energia de uma fonte de alimentao para gerar novamente os sinais da rede. Alguns so denominados dispositivos passivos porque simplesmente repartem o sinal entre vrios usurios, como usando um fio "Y". Os hubs passivos no geram novamente os bits. Outra classificao se os hubs so inteligentes ou burros. Os hubs inteligentes tm portas do console, o que significa que podem ser programados para gerenciar o trfego da rede. Os hubs burros simplesmente aceitam um sinal da rede de entrada e o repete em todas as portas sem realizar qualquer gerenciamento.

Roberto Amaral Marcelo Soares Farias

Pgina 13

03/03/2010

Universidade Tuiuti do Paran GERDS - Grupo Interdisciplinar de Redes de Computadores e Sistemas Distribudos CURSO: LPI - SERVIDORES DE REDES E GERENCIAMENTO - LINUX SWITCH Um switch um dispositivo da camada 2. A diferena entre o hub e o switch que os switches tomam as decises com base nos endereos MAC e os hubs no tomam nenhuma deciso. Devido s decises que os switches tomam, eles tornam uma LAN muito mais eficiente. Fazem isso "comutando" os dados apenas pela porta qual o host apropriado est conectado. Os switches, primeira vista, se parecem com os hubs. Os hubs e os switches tm muitas portas de conexo, uma vez que parte de suas funes a concentrao da conectividade. A diferena entre um hub e um switch o que acontece dentro do dispositivo. A finalidade de um switch concentrar a conectividade, ao mesmo tempo tornando a transmisso de dados mais eficiente. Ele comuta os pacotes das portas de entrada para as portas de sada, enquanto fornece a cada porta a largura de banda completa.

Roteadores
O roteador encontra-se na camada de rede OSI, conhecida como camada 3. Toma decises com base em grupos de endereos de rede ao invs de endereos MAC individuais. Os roteadores podem tambm conectar diferentes tecnologias da camada 2, como Ethernet, Token-ring e FDDI. No entanto, devido sua habilidade de rotear pacotes baseados nas informaes da camada 3, os roteadores se tornaram o backbone da Internet, executando o protocolo IP. A finalidade de um roteador examinar os pacotes de entrada (dados da camada 3), escolher o melhor caminho para eles atravs da rede e depois comutar os pacotes para a porta de sada apropriada. So dispositivos de controle de trfego mais importantes nas grandes redes. Permitem que qualquer tipo de computador se comunique com qualquer outro computador em qualquer parte do mundo.

Roberto Amaral Marcelo Soares Farias

Pgina 14

03/03/2010

Universidade Tuiuti do Paran GERDS - Grupo Interdisciplinar de Redes de Computadores e Sistemas Distribudos CURSO: LPI - SERVIDORES DE REDES E GERENCIAMENTO - LINUX

Sistema de Endereamento
Devemos considerar que existem dois tipos de endereamento dentro de uma rede, ou melhor, uma mquina pode assumir 2 tipos de endereos. Os endereos fsicos, que so atribudos pelos fabricantes de placas de redes e os endereos lgicos (IP) atribudos pelo administrador de redes.

Protocolo IP
O protocolo IP foi projetado tendo como principal objetivo a ligao inter-redes. Por isto ele considerado como elemento integrador da Internet, atravs dele possvel a conexo de diversas sub-redes. A Internet composta de diversos backbones construdos atravs linhas de altas velocidades de diversos tipos de tecnologia. A cada um destes backbones esto conectadas vrias redes locais de muitas outras instituies cada uma com suas caractersticas de sub-rede. Em muitas empresas comum utilizar o IP, e outros protocolos de sua famlia, para interligar computadores de tecnologia diferentes.

Endereamento IP
Identificadores Universais
Diz-se que um sistema prov um servio de comunicao universal quando possvel a quaisquer dos elementos deste sistema se comunicar arbitrariamente. Para tornar um sistema de comunicao universal, devemos estabelecer um mtodo globalmente aceito para identificao dos componentes a ele conectados. Nas redes TCP/IP, a entidade que atua como identificador universal o endereo IP, um nmero de 32 dgitos binrios. A idia bsica de seus mentores era a de tornar o roteamento simples e eficiente.

As trs Classes Primrias de Endereo


A Internet uma gigantesca rede de computadores como qualquer outra rede fsica. A grande diferena, entretanto, est no fato de que a Internet uma estrutura virtual, concebida por seus desenhistas e implementada inteiramente em software. Assim, os projetistas tiveram liberdade de arbitrar o tamanho e formato dos pacotes, endereos, tcnicas de roteamento, etc. Na questo do endereamento, cada host atribudo um nmero inteiro que ser seu endereo - no caso o endereo IP Cada endereo IP possui 32 bits, que se divide em duas partes: uma primeira que identifica a rede a qual esse computador est logicamente conectado e uma segunda parte que identifica o computador propriamente dito. Observe que todas as mquinas conectadas a uma mesma rede iro compartilhar essa primeira parte, que se convencionou chamar net id (identificador da rede). Analogamente, segunda poro do endereo IP o host id (identificao da mquina). Em termos prticos, cada endereo IP dever estar contido em uma das cinco categorias. A classe de um endereo pode ser identificada atravs do exame dos quatro bits de mais alta ordem, sendo que as trs classes bsicas (A, B e C) podem ser distinguidas apenas pelos dois primeiros. A classe A, usada para um pequeno nmero de redes que contm mais de 65.535 hosts, reserva 7 bits para o net id e 24 bits para o host id. Os endereos da classe B se destinam a redes de tamanho intermedirio (entre 256 e 65535 mquinas) e reservam 14 bits para o net id e 16 bits para o host id. Finalmente, a classe C, apropriada para pequenas
Roberto Amaral Marcelo Soares Farias 03/03/2010

Pgina 15

Universidade Tuiuti do Paran GERDS - Grupo Interdisciplinar de Redes de Computadores e Sistemas Distribudos CURSO: LPI - SERVIDORES DE REDES E GERENCIAMENTO - LINUX redes, aloca 21 bits para o net id e apenas 8 bits para o host id. Observe que os endereos IP so estruturados de forma a permitir uma rpida extrao da identificao da rede ( net id) e da mquina a ela conectada (host id). Os gateways dependem da extrao eficiente do net id para realizar o roteamento dos pacotes IP.

Endereo de uma rede e Endereo de Difuso (Broadcast)

Por conveno, um host id 0 nunca atribudo a uma mquina. Ao invs disso, esse endereo com os bits do host id todos zerados ir se referir rede propriamente dita. O endereamento IP permite que se faa referncia a todos os hosts de uma determinada rede atravs do chamado endereo de difuso. Um endereo de broadcast aquele em que os bits do host id so todos 1. Nem todas as redes suportam a difuso, algumas iro precisar de implementao de software e outras no permitiro esta facilidade.

Difuso local
O endereo de difuso permite que um sistema remoto mande um pacote para todos os ns de uma determinada rede. Do ponto de vista do endereamento, a desvantagem deste esquema que ele requer o conhecimento do endereo de rede. Outra forma de endereo de difuso chamada endereo de difuso limitada ou endereo de difuso local. Este endereo consiste de 32 bits iguais a 1. Esse mecanismo possibilita a referncia a todas as mquinas de uma rede local sem que os endereos IP reais sejam conhecidos.

Endereos de referncia prpria rede e ao prprio host.


Campos de endereo preenchidos somente com 1's indicam "todos". Um endereo com 32 bits 1, indica todas as mquinas desta rede e um endereo com todos os bits do host id iguais a 1 indica todas as mquinas de uma determinada rede (especificada no net id). Analogamente, campos preenchidos com 0's so geralmente interpretados como significando "este". Assim, um endereo com 32 bits 0, indica o prprio host (este host) e um endereo com todos os bits do net id iguais a zero, se refere rede local (esta rede).

Endereo de Multicast
Muitas tecnologias de rede contm mecanismos que permitem o envio simultneo de pacotes a mltiplos destinatrios. Em redes de barramento (como a Ethernet) isso pode ser alcanado com o envio de um nico pacote (capturado por todos os hosts). Em outras topologias, com conexes ponto-a-ponto, esse pacote dever ser replicado para alcanar todos os hosts.

Roberto Amaral Marcelo Soares Farias

Pgina 16

03/03/2010

Universidade Tuiuti do Paran GERDS - Grupo Interdisciplinar de Redes de Computadores e Sistemas Distribudos CURSO: LPI - SERVIDORES DE REDES E GERENCIAMENTO - LINUX Algumas redes suportam um segundo tipo de comunicao ponto multi-ponto, conhecido com multicast. Ao contrrio do broadcast, a tcnica de multicast permite que cada host "escolha" se deseja ou no participar daquele "canal". Quando um grupo de mquinas decide se comunicar, elas selecionam um endereo de multicast que ser, ento, o seu canal de comunicao. Na Internet, quando um determinado grupo de mquinas deseja criar um grupo de multicast, elas devem todas "sintonizar", isto , configurar suas interfaces para receber pacotes enviados para um mesmo endereo. Esse endereo dever pertencer Classe D. Assim, cada endereo entre 224.0.0.0 e 239.255.255.255 (mais de 268 milhes de alternativas!) pode ser usado como multicast. A idia que hosts podem, a qualquer momento, conectar-se ou desconectar-se de um grupo de multicast. A tcnica de multicasting traz como vantagem sobre a difuso, uma melhor seletividade. Isto , os dados somente sero enviados aos hosts necessrios.

Notao Decimal
Nmeros de 32 bits no so facilmente manipulveis por seres humanos, e mesmo aplicao no tratam diretamente com este tipo de representao. Uma forma mais fcil de representar endereos IP a de particion-lo em quatro octetos convertidos para a notao decimal e separados por pontos.

Desta forma, o binrio 11000000 11000110 00001011 10000001 passa a ser tratado como 192.198.11.129
Pode-se tambm atribuir nomes alfabticos a hosts, facilitando ainda mais sua memorizao. Esta traduo apoiada por um protocolo especfico que atua sobre uma imensa base de dados distribuda conhecida como Domain Name System (DNS). Por questes de simplificao pode-se representar um endereo IP de 32 bits agrupando-os em grupos de 8 bits e representando estes grupos em valores decimais. Por exemplo o endereo 11001000100010011000001100000010 representado em forma de ponto decimal seria 200.137.131.2. Classe A 1.0.0.0 at 127.255.255.255 Classe B 128.0.0.0 at 191.255.255.255 Classe C 192.0.0.0 at 223.255.255.255 Classe D 224.0.0.0 at 239.255.255.255 Classe E 240.0.0.0 at 247.255.255.255 Classes de Endereos representados sobe forma decimal

Roberto Amaral Marcelo Soares Farias

Pgina 17

03/03/2010

Universidade Tuiuti do Paran GERDS - Grupo Interdisciplinar de Redes de Computadores e Sistemas Distribudos CURSO: LPI - SERVIDORES DE REDES E GERENCIAMENTO - LINUX

Endereo de Loopback
O endereo 127.0.0.0 reservado aplicao de loopback. Isto , qualquer pacote enviado a este endereo no deve trafegar na rede, mas retornar ao prprio remetente (isto equivale a dizer que o pacote retornar da prpria interface de rede do host). O endereo de loopback ou localhost se presta a testes e comunicao entre processos que rodam numa mesma mquina.

Resumo Especiais

Endereamento de Sub-Rede
Uma tcnica que permite que se partilhe um mesmo endereo de rede entre diversas redes o endereamento de sub-rede. Vamos imaginar uma instituio a qual foi atribudo um endereo classe C mas que possui diversas redes interconectadas em suas instalaes. Como partilhar este endereo entre estas diversas redes? A adio de sub-redes implica uma nova subdiviso do endereo IP. O sufixo designador do host (host id) dividido em duas partes: a primeira designar uma sub-rede, e a segunda um host.

O problema bsico que surge quando realizamos esta nova diviso que o esquema convencional de roteamento, que procura extrair a poro que designa a rede, deixa de funcionar. Para suplantar esta dificuldade, introduz-se no sistema de roteamento uma nova entidade: a mscara de sub-rede. A mscara de sub-rede um nmero de 32 bits que permite a extrao de sua "poro de rede". Isto , ele possui bits 1 nas posies correspondentes a esta "poro de rede". Para uma rede classe C sem sub-redes a mscara seria:

11111111 11111111 11111111 00000000 que em notao decimal corresponde a: 255.255.255.0

Roberto Amaral Marcelo Soares Farias

Pgina 18

03/03/2010

Universidade Tuiuti do Paran GERDS - Grupo Interdisciplinar de Redes de Computadores e Sistemas Distribudos CURSO: LPI - SERVIDORES DE REDES E GERENCIAMENTO - LINUX

Nomenclatura das interfaces no Linux


Um sistema Linux pode ter vrias interfaces, cada uma com um endereo de Protocolo de Internet (IP) diferente. As interfaces podem ser de diferentes tipos, incluindo:

Loopback: lo Ethernet: eth0, eth1, . . . Wi-Fi: wlan0, wlan1, . . . Token Ring: tr0, tr1, . . . PPP: ppp0, ppp1, . . .

Definindo configuraes
As ferramentas de configurao de rede de baixo nvel tradicionais nos sistemas GNU/Linux so os programas ifconfig e route que vm no pacote net-tools. Essas ferramentas oficialmente foram superadas pelo ip que vem no pacote iproute. O programa ip funciona no Linux 2.2 e superiores e mais capaz que as ferramentas antigas. Entretanto, as ferramentas antigas ainda funcionam e so mais familiares a muitos usurios.

# ifconfig argumentos ( Usado para exibir e configurar uma interface de rede) # route ( Usado para exibir e configurar a tabela de roteamento)
Exemplo: Mudando o endereo IP da interface eth0 de 192.168.0.3 para 192.168.0.111 e tornando eth0 como rota para a rede 10.0.0.0 via 192.168.0.1. Executando ifconfig e route sem argumentos de interface, vamos exibir o estado atual de todas as interfaces de rede e roteamento. # ifconfig eth0 Link encap:Ethernet HWaddr 08:00:46:7A:02:B0 inet addr:192.168.0.3 Bcast:192.168.0.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:23363 errors:0 dropped:0 overruns:0 frame:0 TX packets:21798 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:100 RX bytes:13479541 (12.8 MiB) TX bytes:20262643 (19.3 MiB) Interrupt:9 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:230172 errors:0 dropped:0 overruns:0 frame:0 TX packets:230172 errors:0 dropped:0 overruns:0 carrier:0
Roberto Amaral Marcelo Soares Farias

Pgina 19

03/03/2010

Universidade Tuiuti do Paran GERDS - Grupo Interdisciplinar de Redes de Computadores e Sistemas Distribudos CURSO: LPI - SERVIDORES DE REDES E GERENCIAMENTO - LINUX collisions:0 txqueuelen:0 RX bytes:22685256 (21.6 MiB) TX bytes:22685256 (21.6 MiB) # route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.0.0 * 255.255.0.0 U 0 0 0 eth0 default 192.168.0.1 255.255.255.255 UG 0 0 0 eth0

Desativando a interface eth0: # ifconfig eth0 inet down Conferindo: # ifconfig # route Ativando a interface com o novo endereo IP e novo roteamento. # ifconfig eth0 inet up 192.168.0.111 netmask 255.255.0.0 broadcast 192.168.255.255 # route add -net 10.0.0.0 netmask 255.0.0.0 gw 192.168.0.1 dev eth0 Para vermos o resultado: # ifconfig eth0 Link encap:Ethernet HWaddr 08:00:46:7A:02:B0 inet addr:192.168.0.111 Bcast:192.168.255.255 Mask:255.255.0.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 ... lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 # route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.0.0 * 255.255.0.0 U 0 0 0 eth0 10.0.0.0 192.168.0.1 255.0.0.0 UG 0 0 0 eth0 #ip Usado para exibir e configurar uma interface de rede. Uso: ip argumentos

Os equivalentes para o ip dos comandos ifconfig e route anteriores so:

Roberto Amaral Marcelo Soares Farias

Pgina 20

03/03/2010

Universidade Tuiuti do Paran GERDS - Grupo Interdisciplinar de Redes de Computadores e Sistemas Distribudos CURSO: LPI - SERVIDORES DE REDES E GERENCIAMENTO - LINUX ip link show ip route list ip link set eth0 down ip addr del dev eth0 local 192.168.0.3 ip addr add dev eth0 local 192.168.0.111/16 broadcast 192.168.255.255 ip link set eth0 up ip route add dev eth0 to 10.0.0.0/8 src 192.168.0.111 via 192.168.0.1 O programa ip mostra sua sintaxe de comando quando executado com o argumento help. Por exemplo, ip link help mostra: Usage: ip link set DEVICE { up | down | arp { on | off } | dynamic { on | off } | multicast { on | off } | txqueuelen PACKETS | name NEWNAME | address LLADDR | broadcast LLADDR | mtu MTU } ip link show [ DEVICE ]

Configurando uma interface Wi-Fi


O programa iwconfig, que vem no pacote wireless-tools, usado para interfaces Wi-Fi, juntamente com o ifconfig ou ip.

Configurando uma interface com um endereo IP esttico


Suponha que voc quer configurar uma interface Ethernet que tem um endereo IP fixo 192.168.0.123. Esse endereo comea com 192.168.0 ento deve estar em uma LAN. Suponha tambm que 192.168.0.1 o endereo do gateway da LAN para a Internet. Edite o arquivo /etc/network/interfaces de forma que inclua uma entrada como essa:

iface eth0 inet static address 192.168.0.123 netmask 255.255.255.0 gateway 192.168.0.1
Se voc tiver o resolvconf instalado ento pode adicionar linhas que especifiquem informao de DNS. Por exemplo: iface eth0 inet static address 192.168.0.123 netmask 255.255.255.0 gateway 192.168.0.1 dns-search meudominio.org dns-nameservers 195.238.2.21 195.238.2.22 Depois que a interface foi levantada, os argumentos das opes dns-search e dns-nameservers se tornam disponveis para o resolvconf para incluso no arquivo resolv.conf. O argumento meudominio.org da opo dns-search corresponde ao argumento de uma opo search em resolv.conf(5). Os argumentos 195.238.2.21

Roberto Amaral Marcelo Soares Farias

Pgina 21

03/03/2010

Universidade Tuiuti do Paran GERDS - Grupo Interdisciplinar de Redes de Computadores e Sistemas Distribudos CURSO: LPI - SERVIDORES DE REDES E GERENCIAMENTO - LINUX e 195.238.2.22 da opo dns-nameservers corresponde aos argumentos das opes nameserver no resolv.conf(5). Outras palavras de opo reconhecidas so dns-domain e dns-sortlist.

Configurando uma interface usando DHCP


Para configurar uma interface usando DHCP edite o arquivo /etc/network/interfaces de forma que inclua uma entrada como essa: iface eth0 inet dhcp Para que isso funcione voc precisa ter instalado um dos clientes DHCP mencionados abaixo. A configurao de baixo nvel de interfaces de rede pode ser automatizada por meio do Dynamic Host Configuration Protocol (DHCP) (Protocolo de Configurao Dinmica de Sistemas). Seu firewall ou sistema roteador ou seu ISP de banda larga podem fornecer endereos IP e outros parmetros dessa maneira. Para isso funcionar voc precisa instalar um dos seguintes pacotes: dhcp3-client (verso 3, Internet Software Consortium) dhcpcd (Yoichi Hariguchi e Sergei Viznyuk) pump (Redhat) O pump simples e largamente utilizado. O dhcp3-client complexo mas mais configurvel.

Configurando uma interface Wi-Fi


O pacote wireless-tools inclui um script /etc/network/if-pre-up.d/wireless-tools que torna possvel configurar hardware Wi-Fi (802.11a/b/g) antes de levantar a interface. A configurao feita usando o programa iwconfig. Para cada parmetro de comando possvel do iwconfig voc pode incluir uma opo em /etc/network/interfaces nomeada como o parmetro com um prefixo wireless-. Por exemplo, para definir o ESSID de eth0 para meuessid e a chave de encriptao para 123456789e antes de levantar a eth0 usando DHCP, edite o arquivo /etc/network/interfaces de forma a incluir uma entrada como esta: iface eth0 inet dhcp wireless-essid myessid wireless-key 123456789e

Configurando mltiplas interfaces Ethernet para um gateway


Suponha que a eth0 esteja conectada Internet com um endereo IP configurado por DHCP e que a eth1 esteja conectada LAN com um endereo IP esttico 192.168.1.1. Editando o arquivo /etc/network/interfaces de forma a incluir entradas como essas: iface eth0 inet dhcp iface eth1 inet static address 192.168.1.1 netmask 255.255.255.0

Configurando interfaces virtuais


Usando interfaces virtuais voc pode configurar uma nica placa Ethernet para ser uma interface para vrias sub-redes IP. Por exemplo, suponha que seu sistema esteja em uma rede LAN 192.168.0.x/24. Voc quer

Roberto Amaral Marcelo Soares Farias

Pgina 22

03/03/2010

Universidade Tuiuti do Paran GERDS - Grupo Interdisciplinar de Redes de Computadores e Sistemas Distribudos CURSO: LPI - SERVIDORES DE REDES E GERENCIAMENTO - LINUX conectar o sistema Internet usando um endereo IP pblico provido via DHCP usando sua placa Ethernet existente. Edite o /etc/network/interfaces de forma a incluir entradas como essas: iface eth0 inet static address 192.168.0.1 netmask 255.255.255.0 network 192.168.0.0 broadcast 192.168.0.255 iface eth0:0 inet dhcp A interface eth0:0 uma interface virtual. Quando levantada, tambm levantada a sua superior eth0.

Reconfigurao de rede
O que vem a seguir ser importante para o leitor compreender a diferena entre uma interface fsica e uma interface lgica. Uma interface fsica o que temos chamado de a interface, a coisa que chamada eth0, ppp1, ou o que voc tiver. Uma interface lgica um conjunto de valores que pode ser atribudo aos parmetros variveis de uma interface fsica. Se voc achar isso confuso, substitua a expresso configurado como interface lgica X pela expresso configurado com o perfil de interface X conforme voc ler. As definies iface no arquivo /etc/network/interfaces so na verdade definies de interfaces lgicas, no de interfaces fsicas. Se voc nunca quiser reconfigurar suas interfaces ento pode ignorar esse fato j que a interface fsica X por padro ser configurada como interface lgica X. Entretanto, suponha que seu computador seja um laptop que voc transporta entre a casa e o trabalho. Quando voc conecta o computador rede corporativa ou sua LAN domstica voc precisa configurar a eth0 apropriadamente. Primeiro defina duas interfaces lgicas casa e trabalho (ao invs de eth0 como fizemos anteriormente) que descrevem como a interface deve ser configurada para a rede domstica e a rede do trabalho, respectivamente. iface casa inet static address 192.168.0.123 netmask 255.255.255.0 gateway 192.168.0.1 iface work inet static address 81.201.3.123 netmask 255.255.0.0 gateway 81.201.1.1 Ento a interface fsica eth0 pode ser levantada para a rede domstica com a configurao apropriada especificando na linha de comando: # ifup eth0=casa Para configurar a eth0 para a rede do trabalho execute os comandos:
Roberto Amaral Marcelo Soares Farias

Pgina 23

03/03/2010

Universidade Tuiuti do Paran GERDS - Grupo Interdisciplinar de Redes de Computadores e Sistemas Distribudos CURSO: LPI - SERVIDORES DE REDES E GERENCIAMENTO - LINUX # ifdown eth0 # ifup eth0=work Note que com o arquivo interfaces escrito como acima no ser mais possvel levantar a eth0 usando apenas ifup eth0. A razo para isso que o ifup usa o nome da interface fsica como o nome padro da interface lgica e agora em nosso exemplo no h uma interface lgica eth0 definida.

Configurao de rede durante a inicializao


Na inicializao o script /etc/rcS.d/S40networking executa o comando ifup -a. Isso levanta todas as interfaces fsicas listadas em entradas auto no etc/network/interfaces. Atualmente freqentemente melhor gerenciar a configurao de rede usando mtodos dinmicos. Uma vez que esto disponveis mecanismos para suportar hardware que mude dinamicamente se torna mais simples tratar hardware esttico como se fosse dinmico tambm. Entretanto, na maioria dos casos se deseja que pelo menos a interface de loopback lo seja levantada na inicializao. Assim, certifique-se de que o /etc/network/interfaces inclua as seguintes entradas. auto lo iface lo inet loopback Voc pode listar nomes de interfaces fsicas adicionais em entradas auto se desejar que tambm sejam levantadas durante a inicializao. Nunca liste interfaces PCMCIA em entradas auto. O programa cardmgr de PCMCIA iniciado mais tarde na seqncia de inicializao que quando o /etc/rcS.d/S40networking executado.

Configurao de rede via hotplug


Para obter suporte a hot plug instale o pacote hotplug. Hardware de rede pode ser conectado com o computador ligado durante a inicializao ou depois que um carto (por exemplo, um carto PCMCIA) inserido na mquina ou depois que um utilitrio como o discover executado e carrega os mdulos de controladores necessrios. Quando o kernel detecta um novo hardware ele inicializa o controlador (driver) para o hardware e ento executa o programa hotplug para configur-lo. Mais tarde, se o hardware for removido, ento o kernel executa o hotplug novamente com ajustes de variveis de ambiente diferentes. No Debian, quando o hotplug chamado ele executa scripts em /etc/hotplug/ e /etc/hotplug.d/. O hardware de rede recentemente inserido configurado pelo script /etc/hotplug/net.agent. Suponha que seu carto de rede PCMCIA tenha sido inserido resultando na interface eth0 se tornando disponvel para uso. O /etc/hotplug/net.agent faz o seguinte: ifup eth0=hotplug A menos que voc tenha adicionado uma definio de interface lgica ou um mapeamento chamado hotplug em /etc/network/interfaces, esse comando no far nada. Para fazer com que o comando configure a eth0, adicione a seguinte entrada em /etc/network/interfaces:

Roberto Amaral Marcelo Soares Farias

Pgina 24

03/03/2010

Universidade Tuiuti do Paran GERDS - Grupo Interdisciplinar de Redes de Computadores e Sistemas Distribudos CURSO: LPI - SERVIDORES DE REDES E GERENCIAMENTO - LINUX

mapping hotplug script echo (No inclua uma entrada mapping como essa se voc estiver usando pedidos do ifplugd iniciados pelo hotplug
para controlar a interface, como descrito em Gatilhando a configurao de rede ifplugd on the current page.) Se voc quiser que apenas a eth0 e mais nenhuma outra interface seja levantada com hot plug ento use grep ao invs de echo como a seguir: mapping hotplug script grep map eth0

Resoluo de problemas com rede


Se voc encontrar problemas ento verifique a sada seguinte como primeira verificao do que est acontecendo: # ifconfig # cat /proc/pci # cat /proc/interrupts # dmesg | more

Testes de rede bsicos


Instale os pacotes netkit-ping, traceroute, dnsutils, ipchains (para kernel 2.2), iptables (para kernel 2.4) e nettools e : $ ping yahoo.com # checa a conexo Internet $ traceroute yahoo.com # rastrea pacotes IP $ ifconfig # checa configurao do host $ route -n # checa configurao de roteamento $ dig [@servidor-dns.com] host.domnio [{a|mx|any}] |less # checa os registros DNS de host.domnio usando servidor-dns.com para um registro a {mx|any} $ ipchains -L -n |less # checa o filtro de pacotes (kernel 2.2) $ iptables -L -n |less # checa o filtro de pacotes (kernel 2.4) $ netstat -a # encontra todas as portas abertas $ netstat -l --inet # encontra as portas em escuta $ netstat -ln --tcp # encontra todas as portas TCP em escuta (numrico)

Roteamento

Roberto Amaral Marcelo Soares Farias

Pgina 25

03/03/2010

Universidade Tuiuti do Paran GERDS - Grupo Interdisciplinar de Redes de Computadores e Sistemas Distribudos CURSO: LPI - SERVIDORES DE REDES E GERENCIAMENTO - LINUX O primeiro endereo em uma rede IP o endereo da prpria rede. O ltimo endereo o endereo de broadcast da rede. Todos os outros endereos podem ser alocados a sistemas na rede. Desses, o primeiro ou o ltimo endereo normalmente alocado para o gateway de Internet para a rede. A tabela de roteamento contm a informao do kernel sobre como enviar pacotes IP aos seus destinos. Aqui est um exemplo de tabela de roteamento para um sistema Debian em uma rede local (LAN) com endereo IP 192.168.50.x/24. O sistema 192.168.50.1 (tambm na LAN) um roteador para a rede corporativa 172.20.x.x/16 e o sistema 192.168.50.254 (tambm na LAN) um roteador para a Internet para todos. # route Kernel IP routing table Destination 127.0.0.0 192.168.50.0 172.20.0.0 default Gateway * * 192.168.50.1 192.168.50.254 Genmask 255.0.0.0 255.255.0.0 0.0.0.0 Flags U UG UG Metric Ref 0 0 1 1 0 0 0 0 Use 2 137 7 36 Iface lo eth0 eth0 eth0

255.255.255.0 U

A primeira linha depois do cabealho diz que o trfego destinado rede 127.x.x.x ser roteado para lo a interface de loopback. A segunda linha diz que o trfego destinado aos sistemas na LAN sero roteados atravs de eth0. A terceira linha diz que o trfego destinado rede corporativa ser roteado para o gateway 192.168.50.1 e tambm atravs de eth0. A quarta linha diz que o trfego destinado Internet ser roteado para o gateway 192.168.50.254 e tambm atravs de eth0. Os endereos IP na tabela tambm podem aparecer como nomes que so obtidos procurando endereos em /etc/networks ou usando o resolvedor da Biblioteca C.

Configurao de rotas
Para inserir uma rota use o comando no formato: route add [ -net | -host ] target [ netmask Nm ] [ gw Gw ] [[ dev ] If ]. Exemplos: Inserir uma rota para uma rede: # route add -net 192.168.5.0 netmask 255.255.255.0 gw 192.168.1.3 Inserir uma rota para um host, utilizando uma determinada interface ponto-aponto: # route add -net 192.168.10.1 dev ppp0 Para selecionar a rota default: # route add default gw 192.168.1.200

Roberto Amaral Marcelo Soares Farias

Pgina 26

03/03/2010

Universidade Tuiuti do Paran GERDS - Grupo Interdisciplinar de Redes de Computadores e Sistemas Distribudos CURSO: LPI - SERVIDORES DE REDES E GERENCIAMENTO - LINUX Para remover rotas usamos praticamente a mesma sintaxe, mas ao invs do "add" usamos o "del". Se quisermos adicionar uma rota ao subir uma determinada interface, poderamos usar a seguinte linha dentro das opes da interface: iface eth0 inet static ... up ip route add 10.0.0.0/24 via 200.X.X.Y Entradas na Tabela de Roteamento. Cada tabela de roteamento pode ter vrias entradas. Abaixo temos alguns tipos de rotas que podem ser adicionadas com o comando ip route. unicast: Uma rota unicast a mais comum na tabela. Isto tipicamente um rota para uma rede de destino. Se o tipo de rota no especificado assumido como sendo unicast. Ex: # ip route add unicast 192.168.0.0/24 via 192.168.100.5 # ip route add default via 193.7.255.1 # ip route add unicast default via 206.59.29.193 # ip route add 10.40.0.0/16 via 10.72.75.254 broadcast: Esta rota usada pela camada de link de dispositivos (placas Ethernet) o qual suportam a notao de endereo broadcast. Este tipo de rota usado somente na tabela local e tipicamente manuseado pelo kernel. Ex: # ip route add table local broadcast 10.10.20.255 dev eth0 proto kernel scope link src 10.10.20.67 # ip route add table local broadcast 192.168.43.31 dev eth4 proto kernel scope link src 192.168.43.14 local: O kernel ir adicionar entradas para a tabela de roteamento local quando endereos IP so adicionados para uma interface. Isto significa que os IP's esto no prprio host. # ip route add table local local 10.10.20.64 dev eth0 proto kernel scope host src 10.10.20.67 # ip route add table local local 192.168.43.12 dev eth4 proto kernel scope host src 192.168.43.14 nat: Esta rota adicionada para o kernel na tabela de roteamento local, quando o usurio tenta configurar stateless NAT. (Re-escreve o destino do pacote) Ex: # ip route add nat 193.7.255.184 via 172.16.82.184 # ip route add nat 10.40.0.0/16 via 172.40.0.0 unreachable: Quando um requisio para uma deciso de roteamento retorna um destino com rota do tipo unreachable, um ICMP unreachable gerado e retornado para o endereo de origem. Ex: # ip route add unreachable 172.16.82.184 # ip route add unreachable 192.168.14.0/26 # ip route add unreachable 209.10.26.51

Roberto Amaral Marcelo Soares Farias

Pgina 27

03/03/2010

Universidade Tuiuti do Paran GERDS - Grupo Interdisciplinar de Redes de Computadores e Sistemas Distribudos CURSO: LPI - SERVIDORES DE REDES E GERENCIAMENTO - LINUX prohibit: Anlogo ao unreachable mas gera um ICMP prohibit. Ex: # ip route add prohibit 10.21.82.157 # ip route add prohibit 172.28.113.0/28 # ip route add prohibit 209.10.26.51 blackhole: Um pacote que casa com uma rota do tipo blackhole descartado. Ex: # ip route add blackhole default # ip route add blackhole 202.143.170.0/24 # ip route add blackhole 64.65.64.0/18 throw: Este tipo de rota conveniente, quando deseja-se que uma consulta na tabela de roteamento falhe, fazendo com que o pacote continue sendo analizado no RPDB. Ex: # ip route add throw 10.79.0.0/16 # ip route add throw 172.16.0.0/12

Configurao do Netfilter
O projeto netfilter/iptables um subsistema de firewalling para o kernel Linux 2.4 e superiores. Com o uso desta ferramenta definimos regras especiais para entrada, sada e passagem de pacotes entre interfaces, podendo atuar antes ou aps as aes referentes ao roteamento. O iptables atua sobre as tabelas presentes no Kernel, que indicam situaes de roteamento, de acordo com a situao em que se encontra o pacote, a qual referida por uma corrente de regras, ou chain.

Bsico do netfilter
As tabelas do iptables so: filter: a tabela padro, sobre a qual podemos nos referir a trs correntes de regras, ou chains: INPUT, pacotes que entram na interface; OUTPUT, pacotes que saem da interface FORWARD, pacotes que esto sendo roteados de uma interface para outra; nat: esta tabela se refere ao uso do recurso de Network Address Translation ou NAT, na qual podemos nos referir aos chains: PREROUTING, pacotes que sero alterados antes de roteamento; OUTPUT, pacotes locais que sero alterados antes do roteamento e POSTROUTING, pacotes que sero alterados aps a aplicao das regras de roteamento; mangle: usada para alteraes especiais no pacote, PREROUTING, para alterao antes do roteamento e OUTPUT, pacotes locais que sero alterados antes do roteamento. Dentre as aes que so feitas sobre os pacotes que atendem a um determinado chain em uma dada tabela, temos: ACCEPT: aceita o pacote; DROP: rejeita o pacote;

Roberto Amaral Marcelo Soares Farias

Pgina 28

03/03/2010

Universidade Tuiuti do Paran GERDS - Grupo Interdisciplinar de Redes de Computadores e Sistemas Distribudos CURSO: LPI - SERVIDORES DE REDES E GERENCIAMENTO - LINUX MASQUERADE: atua somente sobre a tabela nat e indica que ser efetuado a converso de endereos ou NAT, conforme indicado no comando. Podemos definir regras padro para um determinado chain e regras mais especficas, usando:

iptables [t TABELA] P CHAIN AO


onde TABELA a tabela sobre a qual estamos atuando caso no especificarmos, ser assumida a tabela filter; CHAIN a corrente de regras qual o pacote est associado; e AO a ao a ser executada. Para adicionarmos uma regra usando iptables, procedemos da seguinte forma: iptables [t TABELA] A CHAIN {OPES} j AO sendo OPES um conjunto diverso de opes que podemos especificar, como interface de origem ou de destino e TABELA, CHAIN e AO definidos como anteriormente. De modo anlogo, iptables [t TABELA] D CHAIN {OPES} j AO permite removermos uma regra. Para limparmos todas as regras existentes de um chain usamos: iptables [t TABELA] F CHAIN.

Alvo Netfilter
Regras de firewall possuem diversos alvos: quatro alvos bsicos : o o o o ACCEPT significa deixar o pacote passar. DROP significa descartar o pacote. QUEUE significa passar o pacote para o userspace (caso suportado pelo kernel). RETURN significa parar de atravessar esta chain e continuar na prxima regra na chain anterior (a chain que chamou esta). alvos extendidos : o o o LOG liga o logging do kernel. REJECT envia como resposta um pacote de erro e descarta o pacote. SNAT altera o endereo de origem de pacote e usado somente na chain POSTROUTING.

(somente tabela nat) --to-source endereoip[-endereoip][:porta-porta]

Roberto Amaral Marcelo Soares Farias

Pgina 29

03/03/2010

Universidade Tuiuti do Paran GERDS - Grupo Interdisciplinar de Redes de Computadores e Sistemas Distribudos CURSO: LPI - SERVIDORES DE REDES E GERENCIAMENTO - LINUX MASQUERADE o mesmo que SNAT mas para conexes com endereos IP atribudos dinamicamente (discadas). (somente tabela nat) --to-ports porta[-porta] DNAT altera o endereo de destino do pacote e usado nas chains PREROUTING e OUTPUT e em chains definidas pelo usurio que so chamadas somente a partir destas chains. (somente tabela nat) --to-destination endereoip[-endereoip][:porta-porta] REDIRECT altera o endereo IP de destino para enviar o pacote para a prpria mquina. --to-ports porta[-porta] Comandos do Netfilter Os comandos bsicos do iptables so : iptables -N chain # cria uma chain iptables -A chain \ # adiciona regra na chain -t tabela \ # usa tabela (filter, nat, mangle) -p protocolo \ # tcp, udp, icmp ou all, -s endereo-origem[/mscara] \ --sport porta[:porta] \ # porta de origem caso -p seja tcp ou udp -d endereo-origem[/mscara] \ --dport porta[:porta] \ # porta de destino caso -p seja tcp ou udp -j alvo \ # o que fazer se o pacote casar -i nome-interface-entrada \# para INPUT, FORWARD, PREROUTING -o nome-interface-sada # para FORWARD, OUTPUT, POSTROUTING Fazendo NAT Dicas: Qualquer regra aplicada a SNAT usa somente a chain POSTROUTING. Antes de iniciar o uso da tabela NAT temos que habilitar o roteamento no kernel, usando: # echo 1 > /proc/sys/net/ipv4/ip_forward Para que no percamos o roteamento necessrio editar o arquivo /etc/sysctl.conf e inserirmos ou modificarmos a linha do modo que fique assim: net.ipv4.ip_forward= 1 Exemplos de SNAT: iptables t nat A POSTROUTING s 10.0.3.1 o eth0 j SNAT --to 192.111.22.33 iptables t nat A POSTROUTING s 10.0.3.0/8 o eth0 j SNAT --to 192.111.22.33 iptables t nat A POSTROUTING s 10.0.3.1 o eth0 j SNAT --to 192.111.22.33-192.11.22.66

Roberto Amaral Marcelo Soares Farias

Pgina 30

03/03/2010

Universidade Tuiuti do Paran GERDS - Grupo Interdisciplinar de Redes de Computadores e Sistemas Distribudos CURSO: LPI - SERVIDORES DE REDES E GERENCIAMENTO - LINUX Exemplos de DNAT: iptables t nat A PREROUTING s 10.0.3.1 i eth0 j DNAT --to 192.111.22.33 iptables t nat A PREROUTING s 10.0.3.1 i eth0 j DNAT --to 192.111.22.33-192.11.22.66 iptables t nat A PREROUTING i eth0 j DNAT --to 192.111.22.33:22 Teste seus conhecimentos: iptables -t nat -A POSTROUTING -s 192.168.1.0/255.255.255.0 -o eth1 -j MASQUERADE

Compartilhando Conexo com IPTABLE


modprobe iptable_nat echo 1 > /proc/sys/net/ipv4/ip_forward iptables -t nat -A POSTROUTING -o INTERFACE -j MASQUERADE Substitua o "INTERFACE" pela placa conectada na Internet. Este comando simplesmente compartilha a conexo proveniente da placa da Internet com todas as demais placas de rede espetadas no servidor, por isso no necessrio especificar a placa de rede local. O primeiro comando ativa o "iptable_nat", o mdulo do Iptables responsvel por oferecer suporte ao roteamento de pacotes via NAT. O segundo comando ativa o "ip_forward", o mdulo responsvel pelo encaminhamento de pacotes, utilizado pelo mdulo iptable_nat. O terceiro comando cria uma regra de roteamento, que orienta o servidor a direcionar para a Internet todos os pacotes (recebidos dos clientes) que se destinarem a endereos que no faam parte da rede local (ou seja, qualquer coisa fora da faixa 192.168.0.x). A partir da, o servidor passa a ser o gateway da rede. Nem todas as distribuies instalam o executvel do Iptables por padro. Em muitas distribuies com o Kernel 2.6, necessrio usar um quarto comando ao compartilhar uma conexo, por exemplo ADSL. Este comando ajusta os tamanhos dos pacotes recebidos do modem ao MTU usado na rede local. iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN -m tcpmss --mss 1400:1536 -j TCPMSS --clampmss-to-pmtu Caso a conexo seja via via ADSL com autenticao (PPPoE), e precise usar o pppoeconf ou o adslsetup para estabelecer a conexo, lembre-se de substituir "eth0" no comando por "ppp0". DHCP De um modo geral o trabalho de um servidor DHCP bastante simples. Ele responde aos pacotes de broadcast das estaes, enviando um pacote com um dos endereos IP disponveis e os demais dados da

Roberto Amaral Marcelo Soares Farias

Pgina 31

03/03/2010

Universidade Tuiuti do Paran GERDS - Grupo Interdisciplinar de Redes de Computadores e Sistemas Distribudos CURSO: LPI - SERVIDORES DE REDES E GERENCIAMENTO - LINUX rede. Periodicamente o servidor DHCP verifica se as estaes ainda esto l, exigindo uma renovao do "aluguel" do endereo IP (opo lease time). Assim os endereos IP so gastos apenas com quem realmente estiver online, evitando que os endereos disponveis se esgotem. No Linux o servio de DHCP exercido pelo dhcp3-server que nas distribuies baseadas no Debian pode ser instalado atravs do comando: # apt-get install dhcp3-server Os comandos "/etc/init.d/dhcp3-server start" e "/etc/init.d/dhcp3-server stop" comandam a atividade do servio. O arquivo de configurao o dhcpd.conf. No Debian o caminho completo para ele : /etc/dhcp3/dhcpd.conf A configurao do arquivo igual independentemente da distribuio. Um arquivo de configurao bsico, contm o seguinte: ddns-update-style none; default-lease-time 600; max-lease-time 7200; authoritative; subnet 192.168.0.0 netmask 255.255.255.0 { range 192.168.0.100 192.168.0.201; option routers 192.168.0.10; option domain-name-servers 200.177.250.10,200.204.0.10; option broadcast-address 192.168.0.255; } A opo " default-lease-time" controla o tempo de renovao dos endereos IP. O "600" indica que o servidor verifica a cada dez minutos se as estaes ainda esto ativas. Se voc tiver mais endereos IP do que mquinas os endereos IP das estaes raramente vai precisar mudar. Mas, no caso de uma rede congestionada, o " max-lease-time" determina o tempo mximo que uma estao pode usar um determinado endereo IP. Isso foi planejado para ambientes onde haja escassez de endereos IP. A opo "range" determina a faixa de endereos IP que ser usada pelo servidor. Se voc utiliza a faixa de endereos 192.168.0.1 at 192.168.0.254 por exemplo, pode reservar os endereos de 192.168.0.1 a 192.168.0.100 para estaes configuradas com IP fixo e usar os demais para o DHCP. Na "option routers" vai o endereo do default gateway da rede, ou seja, o endereo do servidor que est compartilhando a conexo. No necessrio que o mesmo micro que est compartilhando a conexo rode tambm o servidor DHCP. A opo "option domain-name-servers" contm os servidores DNS que sero usados pelas estaes. Ao usar dois ou mais endereos eles devem ser separados por vrgula, sem espaos. Ao fazer qualquer alterao no arquivo, voc deve reiniciar o servidor DHCP usando o comando: # /etc/init.d/dhcp3-server restart

Roberto Amaral Marcelo Soares Farias

Pgina 32

03/03/2010

Universidade Tuiuti do Paran GERDS - Grupo Interdisciplinar de Redes de Computadores e Sistemas Distribudos CURSO: LPI - SERVIDORES DE REDES E GERENCIAMENTO - LINUX Sempre que configurar um servidor com duas placas de rede, importante que o servidor DHCP seja configurado para escutar apenas na placa da rede local. No Debian, esta configurao vai no arquivo "/etc/default/dhcp3-server". Procure pela linha: INTERFACES="" ... e adicione a placa que o servidor DHCP deve escutar, como em: INTERFACES="eth0" Para que a configurao entre em vigor, basta reiniciar o servio novamente.

Trabalho prtico sobre conhecimentos adquiridos:


Juntar a um amigo, utilize um dos computadores para ser o roteador (compartilhamento de conexo). 1) Execcio Mquina 1 Crie um alias (192.168.0.X) x = nmero da mquina. Crie um compartilhamento com iptable. Mquina 2 Coloque o endereo desta como 192.168.0.x x = nmero da mquina Coloque o Mquina 1 como gateway. Ping o site www.utp.br Com o Lynx verifique se sua conexo ficou correta, acessando o www.google.com.br 2) Execcio Mquina 1 Crie um alias (192.168.0.X) x = nmero da mquina. Crie um compartilhamento com iptables. Filtre com iptable o protocolo ICMP Mquina 2 Coloque o endereo desta como 192.168.0.x x = nmero da mquina Coloque o Mquina 1 como gateway. Ping o site www.utp.br Com o Lynx verifique se sua conexo ficou correta, acessando o www.google.com.br

Roberto Amaral Marcelo Soares Farias

Pgina 33

03/03/2010

Universidade Tuiuti do Paran GERDS - Grupo Interdisciplinar de Redes de Computadores e Sistemas Distribudos CURSO: LPI - SERVIDORES DE REDES E GERENCIAMENTO - LINUX

Universidade Tuiuti do Paran UTP

Faculdade de Cincias Exatas e de Tecnologia


Cursos de Computao

Grupo de Estudos de Redes de Computadores e Sistemas Distribudos

Professores: Marcelo Soares Farias Roberto Nia Amaral

Roberto Amaral Marcelo Soares Farias

Pgina 34

03/03/2010

Universidade Tuiuti do Paran GERDS - Grupo Interdisciplinar de Redes de Computadores e Sistemas Distribudos CURSO: LPI - SERVIDORES DE REDES E GERENCIAMENTO - LINUX

Curitiba, 2008

Samba
Com o SAMBA possvel compartilhar diretrios, impressoras, acessar arquivos na rede exatamente como em redes Microsoft. Mas neste caso, seu servidor um Linux rodando uma aplicao especfica.

Instalao
Para instalar o SAMBA necessrio executar o comando: ( apt-get install samba smbclient smbfs ) Algumas perguntas aparecero e aparecem com a resposta sugerida: Senhas criptografadas? Sim Modificar para usar conf Wins do dhcp? No Como deseja executar o Samba? Daemons Gerar a base de dados? Sim

Configurao
Toda a configurao do SAMBA centralizada no arquivo smb.conf, que deve ser guardado no diretrio /etc/samba. Nele que so descritos os compartilhamentos, permisses de acesso, impressoras, dentre outras configuraes disponveis. Quando instalado, o SAMBA disponibiliza os seguintes componentes: smbd - O servidor SAMBA. nmbd - O Servidor de nomes NetBios. smbclient - Cliente SMB para sistemas Unix. smbpasswd - Alterar senhas (encriptadas) de usurios smb. smbspool - Cliente para envio de impreso a sistemas Linux. smbstatus - Apresenta a situao atual das conexoes SMB no Host. testparm - Verifica o arquivo smb.conf (configurao do SAMBA). testprns - Verifica a comunicao via rede com as impressoras. O smb.conf dividido basicamente em trs partes: a configurao do servidor SAMBA (parmetros na seo [global]), a configurao dos diretrios/pastas pessoais dos usurios (parmetros na seo [homes]) e as demais sees que correspondem aos diretrios compartilhados ou impressoras.

Nome de mquina (nome NetBios)


Toda a mquina em uma rede NetBEUI identificada por um nome, este nome deve ser nico na rede e permite que outras mquinas acessem os recursos disponibilizados ou que sejam enviadas mensagens para a mquina. Este nome composto de 16 caracteres, sendo 15 que identificam a mquina e o ltimo o tipo de servio que ela disponibiliza. O tipo de servio associado com o nome da mquina e registrado em servidores de nomes confirme a configurao da mquina.

Roberto Amaral Marcelo Soares Farias

Pgina 35

03/03/2010

Universidade Tuiuti do Paran GERDS - Grupo Interdisciplinar de Redes de Computadores e Sistemas Distribudos CURSO: LPI - SERVIDORES DE REDES E GERENCIAMENTO - LINUX

Grupo de trabalho O grupo de trabalho organiza a estrutura de mquinas da rede em forma de rvore, facilitando sua pesquisa e localizao. Tomemos como exemplo uma empresa grande com os departamentos comunicao, redes, web, rh, as mquinas que pertencem ao grupo de redes sero agrupadas no programa de navegao: redes tcnico; marcelo; henrique; michelle rh burns web web1; web2; web3 comunicacao comunic1; comunic2; comunic3 A segurana no acesso a arquivos e diretrios na configurao de grupo de trabalho controlada pela prpria mquina, normalmente usando segurana a nvel de compartilhamento. Esta segurana funciona definindo um usurio/senha para acessar cada compartilhamento que a mquina possui. O Lan Manager, Windows for Workgroups, Windows 95, Windows 98, XP Home Edition usam este nvel de acesso por padro.

Domnio
O funcionamento semelhante ao grupo de trabalho, com a diferena que a segurana controlada pela mquina central (PDC) usando diretivas de acesso e grupos. O PDC (Primary Domain Controller) dever ter todas as contas de acesso que sero utilizadas pelo usurio para acessar os recursos existentes em outras mquinas, script de logon que poder ser executado em cada mquina para fazer ajustes, sincronismo, manuteno ou qualquer outra tarefa programada pelo administrador do sistema. Compartilhamento Um compartilhamento um recurso da mquina local que disponibilizado para acesso via rede, que poder ser mapeada por outra mquina. O compartilhamento pode ser um diretrio, arquivo, impressora. Alm de permitir o acesso do usurio, o compartilhamento pode ser protegido por senha, e ter controle de acesso de leitura/gravao, monitorao de acessos, diretrios ocultos, autenticao via PDC e outras formas para restringir e garantir segurana na disponibilidade dos dados. Um compartilhamento no SAMBA pode ser acessvel publicamente (sem senha) ou estar rigidamente protegido tendo que passar por diversas barreiras para chegar ao seu contedo, como senhas, endereo de origem, interfaces, usurios autorizados, permisses de visualizao, etc.

Roberto Amaral Marcelo Soares Farias

Pgina 36

03/03/2010

Universidade Tuiuti do Paran GERDS - Grupo Interdisciplinar de Redes de Computadores e Sistemas Distribudos CURSO: LPI - SERVIDORES DE REDES E GERENCIAMENTO - LINUX

Mapeamento
Mapear significa pegar um diretrio/arquivo/impressora compartilhado por alguma mquina da rede para ser acessada pela mquina local. Para mapear algum recurso de rede, necessrio que ele seja compartilhado na outra mquina. Por exemplo, o diretrio /usr compartilhado com o nome usr, pode ser mapeado por uma mquina Windows como a unidade F:, ou mapeado por uma mquina Linux no diretrio /mnt/samba. O programa responsvel por mapear unidades compartilhadas no Linux o smbmount e smbclient. Navegao na Rede e controle de domnio Esta funo controlada pelo nmbd que fica ativo o tempo todo disponibilizando os recursos da mquina na rede, participando de eleies NetBIOS, fazer logon de mquinas no domnio, etc. A funo de navegao na rede feita utilizando o compartilhamento IPC$. Este compartilhamento possui acesso pblico somente leitura e utiliza o usurio "guest" para disponibilizao de seus recursos. OBS: A funo de navegao (browsing) poder no funcionar corretamente caso a mquina no consiga resolver nomes NetBIOS para endereos IP.

smbmount
O smbmount uma ferramenta que permite a montagem de um disco compartilhado por uma mquina NetBEUI remota como uma partio. Alguns exemplos: smbmount //servidor/discoc /mnt/discoc Monta o compartilhamento de //servidor/discoc em /mnt/discoc usando o nome de usurio atual. Ser pedido uma senha para acessar o contedo do compartilhamento, caso ele seja pblico, voc pode digitar qualquer senha ou simplesmente pressionar enter. smbmount //servidor/discoc /mnt/discoc -N Semelhante ao comando cima, com a diferena que o parmetro -N no pergunta por uma senha. Isto ideal para acessar compartilhamentos annimos. smbmount //servidor/discoc /mnt/discoc -o username=adminsamba,workgroup=teste Semelhante aos anteriores, mas acessa o compartilhamento usando adminsamba como nome de usurio e teste como grupo de trabalho. Este mtodo ideal para redes que tem o nvel de acesso por usurio ou para acessar recursos compartilhados em um domnio.

smbclient
O smbclient uma ferramenta de navegao em servidores SAMBA. Ao invs dela montar o compartilhamento como um disco local, voc poder navegar na estrutura do servidor de forma semelhante a um cliente FTP e executar comandos como ls, get, put para fazer a transferncia de arquivos entre a mquina remota e a mquina local. Tambm atravs dele que feita a interface com impressoras compartilhadas remotamente. Alguns exemplos do uso do smbclient:
Roberto Amaral Marcelo Soares Farias 03/03/2010

Pgina 37

Universidade Tuiuti do Paran GERDS - Grupo Interdisciplinar de Redes de Computadores e Sistemas Distribudos CURSO: LPI - SERVIDORES DE REDES E GERENCIAMENTO - LINUX smbclient -L samba1 Lista todos os compartilhamentos existentes (-L) no servidor samba1. smbclient //samba1/discoc Acessa o contedo do compartilhamento discoc no servidor samba1. smbclient //samba1/discoc -N Idntico ao acima, mas no utiliza senha (ideal para compartilhamentos com acesso annimo). smbclient //samba1/discoc -I 192.168.1.2 Se conecta ao compartilhamento usando o endereo IP 192.168.1.2 ao invs da resoluo de nomes. smbclient //samba1/discoc -U user -W teste Se conecta ao compartilhamento como usurio user usando o grupo de trabalho teste. smbclient //samba1/discoc -U user%senha01 -W teste Idntico ao acima, mas tambm envia a senha senha01 para fazer a conexo diretamente. Caso receba a mensagem NT Status Access Denied, isto quer dizer que no possui direitos de acesso adequados para listas ou acessar os compartilhamentos da mquina. Nesse caso, utilize as opes -U usurio e -W grupo/domnio para fazer acesso com uma conta vlida de usurio existente na mquina. OBS:Note que a ordem das opes faz diferena no smbmount.

O smb.conf
Um parmetro definido no formato nome = valor. Na configurao de booleanos, a seguinte sintaxe pode ser usada: 0 ou 1 - yes ou no - true ou false Linhas iniciadas por # ou ; so tratadas como comentrio. Quebras de linha podem ser especificadas com uma \ no final da linha.

Nomes e grupos de trabalho


netbios name = [nome do servidor] Especifica o nome NetBIOS primrio do servidor samba. Caso no seja ajustado, ele usar o hostname de sua mquina como valor padro. Ex.: netbios name = Servidorsamba. workgroup = [grupo de trabalho/domnio] Diz qual o nome do grupo de trabalho/domnio que a mquina samba pertencer. Ex.: workgroup = empresa. netbios aliases = [nomes alternativos ao sistema] Permite o uso de nomes alternativos ao servidor, separados por espaos. Ex.: teste1 teste2. server string = [identificao] Identificao enviada do servidor samba para o ambiente de rede. A string padro Samba %v (%v substituda pela verso do samba) Ex: server string = Servidor Samba verso %v. name resolve order = [ordem]

Roberto Amaral Marcelo Soares Farias

Pgina 38

03/03/2010

Universidade Tuiuti do Paran GERDS - Grupo Interdisciplinar de Redes de Computadores e Sistemas Distribudos CURSO: LPI - SERVIDORES DE REDES E GERENCIAMENTO - LINUX Define a ordem de pesquisa para a resoluo de nomes no samba. A ordem padro : lmhosts host wins bcast, que a melhor para resoluo rpida e que tente gerar menos trfego broadcast possvel.

Restries de acesso/mapeamento de usurios


guest account = [conta] Define a conta local de usurio que ser mapeada quando um usurio se conectar sem senha (usurio guest). invalid users Define uma lista de usurios que no tero acesso aos recursos do servidor ou compartilhamento. seguro restringir o acesso samba a usurios com grande poder no sistema (como o root). valid users Semelhante a opo invalid users mas permite que somente os usurios especificados tenham acesso ao sistema. default service = nome Caso o servio que o usurio deseja se conectar no for encontrado no servidor, o SAMBA mapear o servio especificado nesta diretiva como alternativa. A varivel "%S" e o caracter "_" podem ser interessantes em algumas alternativas de configurao. A opo default um sinnimo para esta opo. Caso utilize esta opo, crie o compartilhamento em modo somente leitura e com acesso pblico, caso contrrio (dependendo do planejamento de parties e segurana do sistema de arquivos) a mquina poder ser derrubada sem dificuldades. username map = [arquivo] Especifica um arquivo que faz o mapeamento entre nomes fornecidos por clientes e nomes de contas Unix locais. obey pam restrictions = yes Indica se as restries do usurio nos mdulos PAM tero efeito tambm no SAMBA.

Nveis de autenticao
Define o nvel de segurana do servidor. Os seguintes valores so vlidos: share - Usada principalmente quando apenas a senha enviada por compartilhamento acessado para o servidor, caso muito tpico em sistemas Lan Manager e Windows for Workgroups. Mesmo assim o samba tenta mapear para um UID de usurio local do sistema usando os seguintes mtodos (retirado da pgina de manual do samba): Se o parmetro guest only usado no compartilhamento junto com o guest ok, o acesso imediatamente permitido, sem verificar inclusive a senha. Caso um nome de usurio seja enviado junto com a senha, ele utilizado para mapear o UID e aplicar as permisses deste usurio (como acontece no nvel de segurana user).

Roberto Amaral Marcelo Soares Farias

Pgina 39

03/03/2010

Universidade Tuiuti do Paran GERDS - Grupo Interdisciplinar de Redes de Computadores e Sistemas Distribudos CURSO: LPI - SERVIDORES DE REDES E GERENCIAMENTO - LINUX Se ele usou um nome para fazer o logon no Windows este nome ser usado como usurio local do SAMBA. Caso ele seja diferente, voc dever usar o mapeamento de nomes para associar o nome remoto do nome local O nome do servio tentado como nome de usurio. O nome da mquina NetBios tentada como nome de usurio Os usurios especificados na opo user dos compartilhamentos so utilizados. Caso nenhum destes mtodos acima for satisfeito, o acesso NEGADO. Hoje em dia, o uso do nvel de acesso share raramente usado, porque todos os sistemas a partir do Windows 95 e acima enviam o nome de usurio ao acessar um compartilhamento (caindo na segunda checagem do nvel share), sendo equivalente a usar o nvel user. Entretanto, o nvel de segurana share recomendado para servidores onde TODO o contedo deve ter acesso pblico (seja leitura ou gravao) e o parmetro guest shares tambm funciona nativamente. As senhas criptografadas (encrypt passwords = 1) NO funcionaro no nvel share, lembre-se deste detalhe. user - Este o padro. O usurio precisa ter uma conta de usurio no Linux para acessar seus compartilhamentos. A mesma conta de usurio/senha dever ser usada no Windows para acessar seus recursos ou realizado um mapeamento de nomes de usurios. Este o padro do SAMBA. No nvel de acesso user o usurio precisa ser autenticado de qualquer forma, inclusive se for usado o parmetro guest only ou user. Os seguintes passos so usados para autorizar uma conexo usando o nvel user (retirado da documentao do SAMBA): tentada a validao usando o nome/senha passados pelo cliente. Se tudo estiver OK, a conexo permitida. Caso j tenha se autenticado anteriormente para acessar o recurso e forneceu a senha correta, o acesso permitido. O nome NetBIOS da mquina do cliente e qualquer nome de usurio que foi usado novamente tentado junto com a senha para tentar permitir o acesso ao recurso compartilhado. Caso o cliente tenha validado o nome/senha com o servidor e o cliente enviou novamente o token de validao, este nome de usurio usado. tentada a checagem com o parmetro user no compartilhamento.. verificado se o servio pblico, ento a conexo feita usando o usurio guest account e ignorando a senha. domain - Neste nvel, o acesso s ser permitido quando a mquina for adicionada ao domnio com o smbpasswd. Neste nvel de acesso, a conta de usurio ser validada em um servidor PDC (controlador de domnio) e o acesso aos recursos das mquinas que fazem parte do domnio ser feito a partir do PDC. server - A mquina samba tentara autenticar o usurio em outro servidor NT (ou samba). No caso da autenticao falhar, ser usado o nvel de acesso user na base de usurios local (ser necessrio o arquivo de senhas criptografado do samba para que a autenticao local funcione. Este nvel bastante usado quando configuramos um servidor de perfis de usurios ou logon separado do PDC.

Roberto Amaral Marcelo Soares Farias

Pgina 40

03/03/2010

Universidade Tuiuti do Paran GERDS - Grupo Interdisciplinar de Redes de Computadores e Sistemas Distribudos CURSO: LPI - SERVIDORES DE REDES E GERENCIAMENTO - LINUX

Log de acessos/servios
log file= [arquivo] Define a localizao e nome do arquivo de log gerado pelo samba. As variveis de expanso podem ser usadas caso o administrador queira ter um melhor controle dos logs gerados. Ex.: /var/log/samba/samba-log%m. OBS: Se possvel coloque uma extenso no arquivo de log gerado pelo SAMBA (como .log). O motivo disto porque se estes logs forem rotacionados pelo logrotate voc ter problemas de recompactao mltiplas caso utilize um coringa samba-log-*, gerando arquivos como .gz.gz.gz.., lotando a tabela de arquivos do diretrio e deixando sua mquina em um loop de compactao. max log size = [tamanho] Especifica o tamanho mximo em Kb do arquivo de log gerado pelo samba. O valor padro 5000Kb (5MB). debug pid = [valor] Este processo adiciona a pid aos logs gerados pelo processo smbd Isto til para depurao caso existam mltiplos processos rodando. O valor padro no e a opo debug timestamp deve ser yes para esta opo ter efeito. debug timestamp = [valor] Ativa ou desativa a gravao de data/hora nos arquivos de log gerados pelo samba. O valor padro yes. debug level = [valor] Aumenta o nvel de depurao dos daemons do SAMBA de 0 a 9. Um nvel de depurao interessante e que produz uma quantidade razovel de dados para configurao de um logrotate s para o SAMBA o 2, produzindo a lista de todos os compartilhamentos acessados, quem acessou, data/hora (dependendo das outras opes de depurao). Isto permite ao administrador saber exatamente o que est sendo acessado e por quem, quais as tentativas de acesso. Assim ter certeza que o contedo no est sendo acessado indevidamente. O nvel de depurao 0 o padro. debug uid = [valor] Este parmetro inclui o euid, egid, uid, gid nos arquivos de log. O valor padro no. lock directory = [diretrio] Define onde sero gravados os arquivos de lock gerados pelo samba.

Navegao no servidor/tipo de servidor


os level=[num] Especifica o nvel do sistema operacional. Este nmero usado para as eleies netbios para definir o navegador de grupo local e controlador de domnio. O valor pode ser de 0 a 255, o padro 32. announce as = [sistema] Selecione o nome que o samba (nmbd) se anunciar na lista de pesquisa de rede. Os seguintes nomes podem ser usados: NT Server (ou NT) - Anuncia como Windows NT Server. Este o padro. NT Workstation - Anuncia-se como um NT Workstation.

Roberto Amaral Marcelo Soares Farias

Pgina 41

03/03/2010

Universidade Tuiuti do Paran GERDS - Grupo Interdisciplinar de Redes de Computadores e Sistemas Distribudos CURSO: LPI - SERVIDORES DE REDES E GERENCIAMENTO - LINUX Win95 ou WfW - Anuncia-se na rede como uma estao Windows 9x, Windows for Workgroups, Windows NT Server e Windows NT Workstation de uma s vez. domain master = [valor] Diz se o servidor tentar se tornar o navegador principal de domnio. Os valores que podem ser especificados so: yes, no e auto. O valor padro auto. local master = [valor] Diz se o servidor participar ou no das eleies para navegador local do grupo de trabalho (workgroup). Os valores que podem ser especificados so: yes, no. O valor padro yes. Para vencer a eleio, o samba precisa ter o valor de os level maior que os demais. Note tambm que o Windows NT no aceita perder as eleies e convoca uma nova eleio caso ele perca. Como esta eleio feita via broadcasting, isso gera um trfego grande na rede. Desta forma, se tiver um computador NT na rede configure este valor para "no". preferred master = [valor] Diz se o servidor samba ter ou no vantagens de ganhar uma eleio local. Se estiver configurado para "yes", o servidor samba pedir uma eleio e ter vantagens para ganha-la. O servidor poder se tornar garantidamente o navegador principal do domnio se esta opo for usada em conjunto com domain master = 1. Os valores especificados podem ser yes, no e auto, o padro auto. Antes de ajustar este valor para yes, verifique se existem outros servidores NetBIOS em sua rede que tem preferncia para se tornar o master principal, pois poder ocorrer um trfego alto de broadcasting causado pelas eleies solicitadas pelas outras mquinas.

Seo [homes]
Esta seo tem a funo especial de disponibilizar o diretrio home do usurio. Quando o usurio envia seu nome de login como compartilhamento feita uma busca no arquivo smb.conf procurando por um nome de compartilhamento que confira. Caso nenhum seja encontrado, feita uma busca por um nome de usurio correspondente no arquivo /etc/passwd, se um nome conferir e a senha enviada tambm, o diretrio de usurio disponibilizado como um compartilhamento com o mesmo nome do usurio local. O diretrio home do usurio poder ser modificado com o uso de mapeamento de nomes. Quando o caminho do compartilhamento no for especificado, o SAMBA utilizar o diretrio home do usurio (no /etc/passwd). Para maior segurana da instalao, principalmente porque o diretrio home do usurio no um requerimento para a autenticao de usurio, recomendo usar a varivel de substituio %S apontando para um diretrio com as permisses apropriadas configuradas em seu sistema, por exemplo: [homes] comment = Diretrios de Usurios path=/pub/usuarios/%S

Roberto Amaral Marcelo Soares Farias

Pgina 42

03/03/2010

Universidade Tuiuti do Paran GERDS - Grupo Interdisciplinar de Redes de Computadores e Sistemas Distribudos CURSO: LPI - SERVIDORES DE REDES E GERENCIAMENTO - LINUX Voc apenas ter o trabalho extra de criar os diretrios de usurios que faro acesso ao sistema. Isto no ser nenhum problema aps voc programar um shell script simples que verifique os nomes de contas em /etc/passwd e crie os diretrios com as permisses/grupos adequados. Os parmetros aceitos em [homes] aqui so os mesmos usados para compartilhamentos normais. OBS1:Caso nenhum caminho de compartilhamento seja utilizado, o diretrio home do usurio ser compartilhado. OBS2:No utilize o parmetro public yes na seo guest, caso contrrio todos os diretrios de usurios sero lidos por todos.

Seo [printers]
Esta seo tem a funo de disponibilizar as impressoras existentes no sistema (lp, lp1, lp2, etc) existentes no /etc/printcap como compartilhamento de sistemas Windows. O mtodo que os nomes de impressoras so pesquisados idntico a forma feita para a seo [homes]: Primeiro o nome do compartilhamento pesquisado como um nome de servio, depois se ele um nome de usurio (tentando mapear o servio disponibilizado em [homes]), depois ser verificado a seo [printers]. OBS: importante lembrar que a seo [printers] DEVE ser definida como printable usando o parmetro printable = yes para funcionar. O utilitrio testparm poder ser usado para verificar problemas no arquivo de configurao do SAMBA.

Compartilhamento de arquivos e diretrios


Esta seo documenta como disponibilizar arquivos e impressoras com o SAMBA e os parmetros usados para realizar restries de compartilhamento, modo que os dados sero disponibilizados e itens de performance. A maior parte destes parmetros empregada em servios do SAMBA, mas nada impede que tambm sejam colocados na seo [global] do arquivo de configurao, principalmente quando isto vlido para diversos servios compartilhados. Descrio de parmetros usados em compartilhamento Abaixo temos algumas das opes que podem ser usadas para controlar o comportamento do compartilhamento de arquivos por servios no servidor SAMBA: path Indica o diretrio que ser compartilhado. Lembre-se que o usurio ter as permisses de acesso que ele teria caso estivesse logado no sistema como um usurio UNIX normal, exceto se estiver fazendo mapeamento para outros nomes de usurios. Ex: path=/pub - Compartilha o diretrio local /pub. OBS: Quando no definido um path, o diretrio /tmp usado como padro. comment Descrio do compartilhamento que ser mostrada na janela de procura de rede ou no smbclient -L maquina. Ex: comment=Pasta de contedo pblico do sistema.

Roberto Amaral Marcelo Soares Farias

Pgina 43

03/03/2010

Universidade Tuiuti do Paran GERDS - Grupo Interdisciplinar de Redes de Computadores e Sistemas Distribudos CURSO: LPI - SERVIDORES DE REDES E GERENCIAMENTO - LINUX browseable Define se o compartilhamento ser ou no exibido na janela de procura de rede. Mesmo no sendo exibido, o compartilhamento poder ser acessado. Ex: browseable=yes - Lista o compartilhamento na janela de pesquisa de servidores. guest account Conta que ser usada para fazer acesso sem senha (convidado) quando o parmetro guest ok ou public forem usados em um compartilhamento. Por padro ela mapeada para o usurio nobody. importante especificar uma nome de usurio guest (convidado), principalmente porque seu UID ser usado para fazer vrias operaes no SAMBA, como exibir os recursos disponveis na mquina para a rede. Por motivos claros, recomendvel que este usurio no tenha acesso login ao sistema. Caso no tenha a inteno de ocultar o SAMBA na lista de mquinas da rede (fazendo apenas acesso direto aos recursos), especifique um valor para esta opo. Ex: guest account = sambausr - Mapeia os usurios se conectando sem senha para o usurio sambausr, desde que o acesso guest seja permitido pela opo public. public Permitem aos usurios usurios se conectarem ao compartilhamento sem fornecer uma senha usando o usurio guest. O UID que o usurio guest ser mapeado especificado pelo parmetro guest account. O parmetro guest ok equivalente a public. Ex: public = no - No permite guest only Permite somente conexes guest ao recurso. O UID do usurio mapeado para guest, mesmo que fornea uma senha correta. O valor padro no. Ex: guest only = no. write list Lista de usurios separados por espao ou vrgula que podero ler e gravar no compartilhamento. Caso o nome for iniciado por "@", o nome especificado ser tratado como um grupo UNIX (/etc/group) e todos os usurios daquele grupo tero acesso de gravao. O uso deste parmetro ignora o read only = yes. Ex: write list = adminsamba, @usuarios - Permite acesso gravao somente do usurio adminsamba e todos os usurios pertencentes ao grupo @usuarios. OBS: - O significado de "@" nos parmetros "invalid users"/"valid users" diferente das opes write list e read list. read list Lista de usurios separados por espao ou vrgula que podero apenas ler o compartilhamento. O caracter "@" pode ser especificado para fazer referncia a grupos, como no write list. O uso deste parmetro ignora o read only = no. Ex: read list = nobody, system, operador, @usuarios - Permite acesso de leitura somente do usurio nobody, system, operador e todos os usurios pertencentes ao grupo @usuarios. user Especifica um ou mais nomes de usurios ou grupos (caso o nome seja seguido de "@") para checagem de senha. Quando o cliente somente fornece uma senha (especialmente na rede Lan Manager, Windows for

Roberto Amaral Marcelo Soares Farias

Pgina 44

03/03/2010

Universidade Tuiuti do Paran GERDS - Grupo Interdisciplinar de Redes de Computadores e Sistemas Distribudos CURSO: LPI - SERVIDORES DE REDES E GERENCIAMENTO - LINUX Workgroups e primeira verso do Windows 95) ela ser validada no banco de dados de senhas usando o usurio especificado nesta opo. Ex: user = john @usuariosrede only user Especifica se somente sero permitidas conexes vindas de usurios da diretiva user. O padro no. Caso deseje restringir o acesso a determinados usurios, o certo faze-lo usando valid users e invalid users. O uso de only user apropriado quando necessrio um controle especfico de acesso sobre a diretiva user. Ex: only user = no. locking Permite ao SAMBA fazer um lock real de arquivo ou apenas simular. Caso seja especificado como "0", o arquivo no bloqueado para acesso exclusivo no servidor mas uma resposta positiva de lock retornada ao cliente. Se definido como "1", um lock real feito. O padro yes. Ex: locking = yes available Faz o SAMBA ignorar o compartilhamento (como se tivesse retirado do servidor). O valor padro "no". follow symlinks Permite o uso de links simblicos no compartilhamento (veja tambm a opo wide links). A desativao desta opo diminui um pouco a performance de acesso aos arquivos. Como restrita a compartilhamento, o impacto de segurana depende dos dados sendo compartilhados. O valor padro desta opo "YES". Ex: follow symlinks = yes wide links Permite apontar para links simblicos para fora do compartilhamento exportado pelo SAMBA. O valor padro esta opo "YES". Ex: wide links = yes. OBS: - A desativao desta opo causa um aumento na performance do servidor SAMBA, evitando a chamada de funes do sistema para resolver os links. Entretanto, diminui a segurana do seu servidor, pois facilita a ocorrncia de ataques usando links simblicos. Lembre-se mais uma vez que a segurana do seu sistema comea pela poltica e uma instalao bem configurada, isso j implica desde a escolha de sua distribuio at o conhecimento de permisses e planejamento na implantao do servidor de arquivos. dont descend No mostra o contedo de diretrios especificados. Ex: dont descend = /root, /proc, /win/windows, "/win/Arquivos de Programas", "/win/program files". printable Especifica se o compartilhamento uma impressora (yes) ou um compartilhamento de arquivo/diretrio (no). O padro "no". read only Especifica se o compartilhamento somente para leitura (yes) ou no (no) para todos os usurios. O parmetro writable um antnimo equivalente a este parmetro, s que utiliza as opes invertidas. Por segurana, o valor padro somente leitura. Ex: read only = yes. create mask
Roberto Amaral Marcelo Soares Farias

Pgina 45

03/03/2010

Universidade Tuiuti do Paran GERDS - Grupo Interdisciplinar de Redes de Computadores e Sistemas Distribudos CURSO: LPI - SERVIDORES DE REDES E GERENCIAMENTO - LINUX Modo padro para criao de arquivos no compartilhamento. O parmetro "create mode" um sinnimo para este. O modo de arquivos deve ser especificado em formato octal. Ex: create mask = 0600. directory mask Modo padro para a criao de diretrios no compartilhamento. O parmetro "directory mode" um sinnimo para este. O modo de diretrio deve ser especificado em formato octal. Ex: directory mask = 0700. getwd cache Permite utilizar um cache para acesso as requisies getwd, diminuindo o nmero de ciclos de processamento para acesso a arquivos/diretrios. O valor padro "Yes". write cache size Tamanho do cache de leitura/gravao do compartilhamento. Este valor especificado em bytes e o padro "0". Ex: write cache size = 384000. inherit permissions Permite herdar permisses de arquivos/diretrios do diretrio pai quando novos arquivos/diretrios so criados, isto inclui bits SGID (set group ID). O padro NO herdar permisses. O uso desta opo substitui as opes fornecidas por create mask, directory mask, force create mask e force directory mask. Ex: inherit permissions. preexec Executa um comando antes a abertura de um compartilhamento. O parmetro exec um sinnimo para este. postexec Executa um comando depois da utilizao do compartilhamento. preexec close Fecha imediatamente o compartilhamento caso o valor do comando executado pela opo preexec seja diferente de 0. O uso desta opo s faz sentido em conjunto com preexec. O valor padro "no". Exemplo: preexec close = yes. volume = nome Retorna o nome de volume especificado quando feito o acesso ao compartilhamento. Isto muito til para instalaes onde o serial do CD, disquete ou HD verificado durante o acesso. Isto acontece com freqncia em produtos de fabricantes proprietrios como forma de evitar a execuo ilegal do programa. WINS Este um servio de resoluo de nomes que funciona de forma semelhante ao DNS, s que voltado para o NetBIOS. Quando uma mquina cliente NetBIOS entra na rede, o servidor WINS pega seu nome e IP e inclui em uma tabela para futura consulta pelos clientes da rede. Esta tabela consultada toda vez que um cliente NetBIOS solicita um nome de mquina, componentes do grupo de trabalho ou domnio na rede. Uma outra aplicao importante de um servidor WINS permitir a resoluo de nomes em pontos de redes que requerem roteamento, a simplicidade de um protocolo no rotevel como o NetBIOS fica limitada a simplicidade das instalaes de rede. Um servidor WINS pode ser instalado em cada ponta da rede e eles trocarem dados entre si e atualizar suas tabelas de nomes/grupos de trabalhos/IPs. A resoluo de nomes de mquinas ser feita consultando diretamente a mquina WINS ao invs de broadcasting (que geram um trfego alto na rede).
Roberto Amaral Marcelo Soares Farias

Pgina 46

03/03/2010

Universidade Tuiuti do Paran GERDS - Grupo Interdisciplinar de Redes de Computadores e Sistemas Distribudos CURSO: LPI - SERVIDORES DE REDES E GERENCIAMENTO - LINUX

Configurando o servidor WINS


Para ativar o servidor WINS no samba, inclua as seguinte linha na seo [global] do seu arquivo /etc/samba/smb.conf: [global] wins support = yes wins proxy = no dns proxy = no max wins ttl = 518400 O parmetro wins proxy pode ser necessrio para alguns clientes antigos que tenham problemas no envio de suas requisies WINS. O dns proxy permite que o servidor WINS faa a pesquisa no DNS para localizao de nomes de mquinas caso no exista no cache. Ambas as opes wins support, wins proxy e dns proxy tem como valor padro no. Se estiver configurando uma subrede com masquerade para acesso a um PDC ou um servidor WINS, voc ter que mexer no gateway central para apontar uma rota para o gateway masquerade. O motivo disto porque o masquerade do Linux atua somente nos cabealhos, mas o IP da estao enviada e processada pelo PDC para retornar uma resposta. Da mesma forma, este IP registrado no servidor WINS para uso das estaes de trabalho. Isto s vai ser resolvido quando for escrito um mdulo de conntrack para conexes SAMBA. OBS1: NUNCA configure mais de um servidor WINS em uma mesma rede. OBS2: NO especifique o parmetro wins server caso esteja usando o suporte a WINS.

Ativando o suporte a senhas criptografadas


O uso de senhas criptografadas um requisito quando voc deseja configurar o SAMBA para ser um servidor PDC ou um cliente de um domnio. Quando utiliza senhas criptografadas, elas trafegam em formato seguro atravs da rede, dificultando a captura por outras pessoas. Em verses mais recentes do Windows (a partir da OSR/2 e NT 4 service pack3) o suporte a senhas criptografadas vem habilitado como padro para login e utilizao de servios da rede. O utilitrio smbpasswd o programa utilizado para gerenciar o arquivo de senhas e tambm o status de contas de usurios/mquinas do domnio. Edite o arquivo /etc/samba/smb.conf e altere as seguintes linhas na seo [global] para adicionar o suporte a senhas criptografadas: [global] encrypt passwords = true smb passwd file =/etc/samba/smbpasswd A linha encrypt passwords = true diz para usar senhas criptografadas e que o arquivo /etc/samba/smbpasswd contm as senhas (smb passwd file =/etc/samba/smbpasswd).

Roberto Amaral Marcelo Soares Farias

Pgina 47

03/03/2010

Universidade Tuiuti do Paran GERDS - Grupo Interdisciplinar de Redes de Computadores e Sistemas Distribudos CURSO: LPI - SERVIDORES DE REDES E GERENCIAMENTO - LINUX Opes da conta criada no smbpasswd: U - Especifica que a conta uma conta de usurio normal D - Significa que a conta foi desativada com a opo -d W - Especifica que a conta uma conta de mquina criada com a opo -m N - A conta no possui senha Para ativar a conta do usurio adminsamba, usamos o comando: smbpasswd -U adminsamba Digite a senha do usurio e repita para confirmar. Assim que a senha for definida, a conta do usurio ativada. Voc tambm pode especificar a opo "-s" para entrar com a senha pela entrada padro (muito til em scripts). Apenas tenha cuidado para que esta senha no seja divulgada em seus arquivos/processos. Reinicie o processo do SAMBA. Verifique se o suporte a senhas criptografadas est funcionando com o comando: smbclient -L localhost -U adminsamba Substitua localhost pelo IP do servidor e adminsamba pelo usurio. Caso obtenha a mensagem session setup failed: NT_STATUS_LOGON_FAILURE significa que a senha informada est incorreta.

Migrando de senhas texto plano para criptografadas


No SAMBA, possvel fazer um processo de migrao de senhas em texto plano de usurios para criptografadas sem que eles deixem de acessar o servidor durante esta mudana. Caso este seja seu caso, insira o parmetro update encrypted = yes na seo [global] do seu arquivo de configurao smb.conf. A senha criptografada definida assim que o usurio se logar usando sua senha em texto plano. No se esquea de desativar esta opo ou remove-la aps o prazo necessrio para que todas as senhas sejam trocadas.

Adicionando usurios no smbpasswd


A adio de um usurio no smbpasswd segue duas etapas: primeiro necessrio adiciona-lo no sistema com o adduser e depois no samba com o smbpasswd. Voc deve estar se perguntando qual a vantagem de se ter um arquivo separado de usurios se ainda preciso criar o login nos dois arquivos; O SAMBA para fazer o controle de acesso aos arquivos utiliza alm dos mecanismos tradicionais do NT, o controle de permisses a nvel UNIX para manter os arquivos ainda mais restritos. Alm disso, ser necessrio usurios e grupos para criao e acesso ao sistema. Adicione um usurio no sistema com o comando:

Roberto Amaral Marcelo Soares Farias

Pgina 48

03/03/2010

Universidade Tuiuti do Paran GERDS - Grupo Interdisciplinar de Redes de Computadores e Sistemas Distribudos CURSO: LPI - SERVIDORES DE REDES E GERENCIAMENTO - LINUX useradd -g grupo-dominio -c "Usurio de Domnio" -s /bin/false -d /dev/null joo Este comando adiciona o usurio "joao" no grupo grupo-dominio e no define nem uma shell, diretrio home nem senha para este usurio. Isto mantm o sistema mais seguro e no interfere no funcionamento do SAMBA, pois somente necessrio para fazer o mapeamento de UID/GID de usurios com as permisses do sistema UNIX. interessante padronizar os usurios criados no domnio para um mesmo grupo para pesquisa e outras coisas. Crie o usurio "joao" no SAMBA: smbpasswd -a joao Ser solicitada a senha do usurio.

Removendo usurios do smbpasswd


Utilize o comando smbpasswd -x usuario para remover um usurio do arquivo smbpasswd. Se desejar, voc pode manter o usurio no /etc/passwd ou remove-lo com o userdel. OBS: Removendo um usurio deste arquivo far que ele no tenha mais acesso ao SAMBA. Utilize o comando smbpasswd -a teste

Desabilitando uma conta no smbpasswd


Como administrador, pode ser necessrio que precise desativar temporariamente uma conta de usurio por alguma situao qualquer (m utilizao de recursos, dvida se a conta est sendo usada, etc.). Remover uma conta e novamente adicion-la ento no uma situao muito prtica. Utilize ento o seguinte comando para desativar uma conta de usurio: smbpasswd -d usurio Quando a conta de usurio desativada, uma flag "D" adicionada s opes do usurio (junto com as opes "UX").

Roberto Amaral Marcelo Soares Farias

Pgina 49

03/03/2010

Universidade Tuiuti do Paran GERDS - Grupo Interdisciplinar de Redes de Computadores e Sistemas Distribudos CURSO: LPI - SERVIDORES DE REDES E GERENCIAMENTO - LINUX

Habilitando uma conta no smbpasswd


Uma conta desativada com o uso do comando smbpasswd -d pode ser novamente ativada usando: smbpasswd -e usuario Alterando a senha de um usurio O utilitrio smbpasswd pode ser usado tanto para alterar a senha de usurios locais do SAMBA ou de uma conta em um servidor remoto (seja SAMBA, NT, W2K). Para alterar a senha de um usurio local, digite: smbpasswd -U usuario Ser pedida a antiga senha, a nova senha e a confirmao. Caso seja o usurio root, somente a nova senha e a confirmao. Isto mecanismo de proteo para usurios que esquecem a senha. Para alterar a senha de um usurio remoto, utilize: smbpasswd -r servidor -U usurio Note que apenas foi adicionada a opo -r servidor comparado com a opo anterior. A diferena que a senha antiga do usurio sempre ser solicitada para troca (pois o root das 2 mquinas pode no ser o mesmo).

Definindo acesso sem senha para o usurio


Para fazer um usurio acessar sem senha, use o comando: smbpasswd -n usuario Isto completamente desencorajado e necessita que a opo null passwords da seo [global] no arquivo smb.conf esteja ajustada para yes (que NO o padro).

Ativando o suporte a senhas em texto plano


Esta forma de autenticao enviada por implementaes NetBIOS antigas, como a encontrada no Lan Manager, Windows for Workgroups e Windows 95 OSR1. As verses mais novas destas implementaes enviam a senha em formato criptografado, sendo necessrio tambm usar o formato criptografado no SAMBA para que possa se autenticar. Em geral, o administrador prefere a utilizao da autenticao usando texto plano quando deseja usar o /etc/passwd para autenticao e est usando grupos de trabalho necessrio usar senhas criptografadas para autenticao). Para configurar o SAMBA para utilizar senhas em texto, modifique o parmetro encrypt passwords para no: [global] encrypt passwords = no

Roberto Amaral Marcelo Soares Farias

Pgina 50

03/03/2010

Universidade Tuiuti do Paran GERDS - Grupo Interdisciplinar de Redes de Computadores e Sistemas Distribudos CURSO: LPI - SERVIDORES DE REDES E GERENCIAMENTO - LINUX Reinicie o SAMBA e a partir de agora, ele usar o /etc/passwd para autenticao. OBS: Tenha certeza de no estar participando de um domnio ou que sua mquina seja o PDC antes de fazer esta modificao.

Configurao em Domnio
Esta seo descreve todos os passos necessrios para configurar um servidor de domnio PDC (Primary Domain Control) com perfis mveis e outros recursos que tornam teis e seguras a administrao de uma rede NetBEUI.

Uma breve introduo a um Domnio de rede


Um domnio de rede consiste em uma mquina central chamada de PDC, que mantm o controle de todas as contas de usurios/grupos e permisses para acesso a rede NetBEUI. O acesso desta forma centralizado, como vantagem disto voc pode usar o nvel de acesso por usurios nas mquinas, definindo quais usurios ou grupos tero acesso de leitura/gravao. permitido criar scripts de logon, assim comandos programados pelo administrador sero executados nas mquinas clientes durante o logon no. O nome da mquina protegido contra hijacking atravs de contas de mquinas que fazem parte do domnio. Isto s possvel em clientes Linux, Windows NT, Windows 2000 e Windows XP. Voc poder usar perfis mveis, copiando todas as personalizaes do seu desktop para qualquer mquina na rede que voc faa o logon. Para o administrador, ele poder definir polticas com o Poledit e outros programas que sero salvas junto com o perfil do usurio, valendo para qualquer mquina que ele se autentique na rede.

Local Master Browser


a mquina que ganhou a eleio no segmento local de rede. Logo que declarada o local master browser, ela comea a receber via broadcasting a lista de recursos compartilhados por cada mquina para montar a lista principal que ser retornada para outras mquinas do grupo de trabalho ou outras subredes que solicite os recursos compartilhados por aquele grupo. Uma nova eleio feita a cada 36 minutos ou quando a mquina escolhida desligada.

Domain Master Browser


Quando o local master browse eleito no segmento de rede, uma consulta feita ao servidor WINS para saber quem o Domain Master Browse da rede para enviar a lista de compartilhamentos. A mquina escolhida como Local Master Browse envia pacotes para a porta UDP 138 do Domain Master e este responde pedindo a lista de todos os nomes de mquinas que o local master conhece, e tambm o registra como local master para aquele segmento de rede. Caso tenha configurado sua mquina para ser o domain master browser da rede (tambm chamado de controlador principal de domnio ou PDC), ela tentar se tornar a mquina que ter a lista completa de recursos

Roberto Amaral Marcelo Soares Farias

Pgina 51

03/03/2010

Universidade Tuiuti do Paran GERDS - Grupo Interdisciplinar de Redes de Computadores e Sistemas Distribudos CURSO: LPI - SERVIDORES DE REDES E GERENCIAMENTO - LINUX enviados pelos locais master browsers de cada segmento de rede. Um PDC tambm o local master browse de seu prprio segmento de rede. possvel ter mais de um domain master browse, desde que cada um controle seu prprio domnio, mas no possvel ter 2 domain master browsers em um mesmo domnio. Caso utilize um servidor WINS em sua rede, o PDC far consultas constantes em sua base de dados para obter a lista de domnios registrados. O domnio identificado pelo caracter 1b na rede. OBS: O Windows NT configurado como PDC sempre tenta se tornar o domain master browser em seu grupo de trabalho. No sendo possvel retirar o Windows NT configurado como PDC do domnio (por alguma outra razo), a nica forma ser deixar ele ser o domain master browser. Se este for o caso, voc poder continuar lendo este documento para aprender mais sobre NetBIOS e talvez ainda mudar de idia sobre manter o NT na rede aps ver as caractersticas do SAMBA ;-)

Configurando um servidor PDC no SAMBA


Para configurar uma mquina para ser o PDC (Controladora Principal de Domnio ou Primary Domain Control), siga esta seqncia: Habilite o suporte a senhas criptografadas. Na seo [global], insira/modifique os seguintes parmetros: ;Identificao da mquina e domnio netbios name = adminsamba workgroup = empresa ;nveis de acesso e funes do servidor security = user domain master = yes prefered master = yes local master = yes ; senhas criptografadas encrypt passwords = yes smb passwd file = /etc/samba/smbpasswd.db Onde os parmetros significam: netbios name = adminsamba - Nome do computador. Este tambm ser o nome usado pelas outras mquinas clientes quando for configurar o PDC (controlador de domnio). workgroup = empresa - Nome do domnio que est criando. Todas as mquinas que pertencerem a este domnio tero o nvel de acesso definido pelo PDC. Note que o parmetro workgroup tambm usado ao especificar o nome do grupo de trabalho quando se usado a configurao grupo de trabalho.

Roberto Amaral Marcelo Soares Farias

Pgina 52

03/03/2010

Universidade Tuiuti do Paran GERDS - Grupo Interdisciplinar de Redes de Computadores e Sistemas Distribudos CURSO: LPI - SERVIDORES DE REDES E GERENCIAMENTO - LINUX security = user - Requerido para controle de acesso por domnio, j que utilizado o controle de acesso local usando usurios e grupos locais. domain master = yes - Especifica se est mquina est sendo configurada para ser o PDC da rede. OBS: Certifique-se que no existe outro PDC no domnio. prefered master = yes - Fora uma eleio com algumas vantagens para seu servidor ser eleito sempre como o controlador de domnio. Isto garante que a mquina SAMBA sempre seja o PDC. local master = yes - Define se a mquina ser o controlador principal do grupo de trabalho local que ela pertence. Pronto, agora teste se existem erros em sua configurao executando o comando testparm e corrija-os se existir. Resta agora reiniciar o servidor nmbd para que todas as suas alteraes tenham efeito.

Contas de mquinas de domnio


Uma conta de mquina de domnio garante que nenhum outro computador possa utilizar o mesmo nome de uma mquina confivel e assim utilizar os compartilhamentos que ela tem permisso. Os clientes Windows NT, Windows XP e Windows 2000 precisam de uma conta de mquina para ter acesso ao domnio e seus recursos. A criao de uma conta de mquina bastante semelhante a criao da conta de um usurio normal no domnio. Existe uma coisa que precisa sempre ter em mente quando estiver configurando uma conta de mquina de domnio: Quando voc cria uma conta para a mquina, ela entra e altera sua senha no prximo logon usando um "segredo" entre ela e o PDC, este segredo a identifica sempre como dona daquele nome NetBIOS, ou seja, at o primeiro logon no NT, outra mquina com o mesmo nome NetBIOS poder ser a dona do netbios naquele domnio caso faa o logon no domnio. A nica forma de se evitar isto logar imediatamente no domnio NT assim que criar as contas de mquinas. Existem duas formas para criao de contas de mquinas: manual e automtica.

Criando contas de mquinas manualmente


Para criar uma conta de domnio para a mquina master, siga estes 2 passos: Crie uma conta de mquina no arquivo /etc/passwd: useradd -g domainmac -c "Maquina de Dominio" -s /bin/false -d /dev/null master$ O comando acima cria uma conta para a mquina master$ e torna ela parte do grupo domainmac. necessrio especificar o caracter $ aps o nome da mquina para criar uma conta de mquina no domnio, caso contrrio o prximo passo ir falhar. Acredito que nas prximas verses do SAMBA seja desnecessrio o uso do arquivo /etc/passwd para a criao de contas de mquina. Crie uma conta de mquina no arquivo /etc/samba/smbpasswd: smbpasswd -m -a master

Roberto Amaral Marcelo Soares Farias

Pgina 53

03/03/2010

Universidade Tuiuti do Paran GERDS - Grupo Interdisciplinar de Redes de Computadores e Sistemas Distribudos CURSO: LPI - SERVIDORES DE REDES E GERENCIAMENTO - LINUX Isto cria uma conta de mquina para o computador master no arquivo /etc/samba/smbpasswd. Note que a criao de uma conta de mquina muito semelhante a criao de um usurio apenas precisa adicionar a opo -m. Quando for criar uma conta com o smbpasswd No necessrio especificar $ no final do nome da mquina. O mais importante: Entre IMEDIATAMENTE no domnio aps criar a conta de mquina usando a conta de administrador de domnio criada no SAMBA. Como a mquina ainda no se autenticou pela primeira vez, qualquer mquina que tenha o mesmo nome e entre no domnio, poder alocar o nome recm criado. A nica forma de resolver este problema, apagando a conta de mquina e criando-a novamente no domnio. Siga os passos de acordo com o sistema operacional em Configurando clientes em Domnio para colocar seus clientes em domnio.

Criando contas de mquinas automaticamente


Atravs deste mtodo, as mquinas clientes tero sua conta criada automaticamente assim que seja feita a entrada no domnio usando a conta do administrador de domnio no SAMBA. Este o mtodo recomendvel de colocao de mquinas no domnio por ser mais prtica ao invs do mtodo manual. Note que normalmente isto funciona para o WinXP e Win2000 mas no funciona em redes com o NT4, devendo ser criadas contas de mquinas usando o mtodo manual. Para fazer a configurao automtica, coloque a seguinte linha no arquivo smb.conf na seo [global]: add user script = useradd -g domainmac -c "Maquina de Dominio" -s /bin/false -d /dev/null %u Assim, a conta de mquina ser automaticamente criada quando o administrador fizer sua configurao no domnio. No SAMBA 3.0, a opo add machine script dever ser usada no lugar de add user script para adicionar uma mquina no domnio.

Criando uma conta de administrador de domnio


A conta de administrador do domnio a conta que tem permisses para realizar operaes de manuteno e administrao de mquinas que compem o domnio de rede. Com ela possvel, entre outras coisas, adicionar e remover mquina que compem o domnio. Para especificar que contas de usurios do arquivo /etc/samba/smbpasswd que tero poderes administrativos, utilize a opo domain admin group ou admin users na seo [global] do arquivo /etc/samba/smb.conf. O parmetro admin users permite que todas as operaes realizadas pelo usurio sejam feitas com poderes de usurio root. Isto necessrio porque o arquivo smbpasswd (usado para ajustar as contas de mquinas) normalmente tem permisses de leitura/gravao somente para root. O domain admin group permite que usurios especficos ou usurios do grupo especificado sejam parte do grupo de administradores do domnio para adicionar mquinas, etc. Por exemplo, para tornar o usurio adminsamba com privilgios para adicionar/remover mquinas no domnio:

Roberto Amaral Marcelo Soares Farias

Pgina 54

03/03/2010

Universidade Tuiuti do Paran GERDS - Grupo Interdisciplinar de Redes de Computadores e Sistemas Distribudos CURSO: LPI - SERVIDORES DE REDES E GERENCIAMENTO - LINUX [global] ... admin users = adminsamba ou domain admin group = @admins adminsamba Isto permite que o usurio adminsamba possa adicionar/remover mquinas do domnio NT entre outras tarefas. Por segurana, recomendo que coloque esta conta no invalid users de cada compartilhamento para que seja utilizada somente para fins de gerenciamento de mquinas no domnio, a menos que deseje ter acesso total aos compartilhamentos do servidor (nesse caso, tenha conscincia do nvel de acesso que esta conta possui e dos problemas que pode causar caso caia em mos erradas).

Compartilhamento de impresso no servidor SAMBA


Configurando o Linux como um servidor de impresso Windows Ser necessrio ter o pacote samba instalado e adicionar as seguintes linhas no seu arquivo /etc/samba/smb.conf: [hp-printer] path = /tmp printer name=HP DeskJet 690C printable = yes print command = lpr -r -h -P %p %s valid users = winuser winuser2 create mode = 0700 O compartilhamento acima tornar disponvel a impressora local "lp" as mquinas Windows com o nome "HP DeskJet 690C". Uma impressora alternativa pode ser especificada modificando a opo -P da linha de comando do lpr. Note que somente os usurios "winuser" e "winuser2" podero usar esta impressora. Os arquivos de spool (para gerenciar a fila de impresso) sero gravador em /tmp (path = /tmp) e o compartilhamento [hp-printer] ser mostrado como uma impressora (printable = yes). Agora ser necessrio instalar o driver desta impressora no Windows (HP 690C) e escolher impressora instalada via rede e seguir os demais passos de configurao.

Controle de acesso ao servidor SAMBA Nvel de acesso de usurios conectados ao SAMBA


Quando acessa um compartilhamento, o usurio do samba mapeado com o UID respectivo de usurio do sistema ou o usurio guest (especificado pela opo "guest account") no caso de um acesso pblico. Quando isto ocorre, um processo filho do smbd executado sobre o UID e GID deste usurio. Isto significa que em

Roberto Amaral Marcelo Soares Farias

Pgina 55

03/03/2010

Universidade Tuiuti do Paran GERDS - Grupo Interdisciplinar de Redes de Computadores e Sistemas Distribudos CURSO: LPI - SERVIDORES DE REDES E GERENCIAMENTO - LINUX nenhuma ocasio o SAMBA dar mais permisses que as necessrias para o usurio (com excesso de quando usado o parmetro admin users).

Restringindo o acesso por IP/rede


Esta restrio pode ser feita pelos parmetros allow hosts e deny hosts tanto em servios individuais ou em todo o servidor. Os parmetros hosts allow e hosts deny so equivalentes a estes acima. O allow hosts permite o acesso a mquina especificadas como argumento. So permitidos os seguintes mtodos para permitir o acesso a uma mquina/rede: 192.168.1.1 - IP da mquina servidor - Nome da mquina 192.168.1.0/255.255.255.0 - IP com mscara de rede 192.168.1.0/24 - IP com mscara de rede octal 192.168.1. - Poro de rede sem o host (como no hosts.allow e hosts.deny. @nome - Pesquisa por mquinas no grupo NIS. permitido usar mais de um endereo IP separando-os por vrgulas ou espaos. A palavra chave EXCEPT pode ser usada para fazer excesso de um ou mais endereos IPs, por exemplo: hosts allow = 192.168.1. EXCEPT 192.168.1.20 Que permite o acesso a toda as mquinas da faixa de rede 192.168.1.0/24 exceto para a 192.168.1.20. O deny hosts possui a mesma sintaxe do allow hosts mas bloqueia o acesso das mquinas especificadas como argumento. Quando o allow hosts e deny hosts so usados juntos, as mquinas em allow hosts tero prioridade (processa primeiro as diretivas em allow hosts e depois em deny hosts). Se voc est executando o SAMBA via inetd, os arquivos hosts.allow e hosts.deny so verificados antes do controle e acesso ao smbd. Caso estiver usando o SAMBA via inetd e deseja restringir o acesso usando TCP Wrappers. OBS: Lembre-se de usar o testparm para verificar a sintaxe do arquivo smb.conf sempre que desconfiar de problemas.

Testando a restrio de Acesso por IP/Redes


Um mtodo interessante e til para testar se a nossa configurao vai bloquear o acesso a servios usando o testparm da seguinte forma: testparm /etc/samba/smb.conf IP/host Voc precisar dizer para o testparm qual o arquivo de configurao que est usando e o endereo IP/nome de host que far a simulao de acesso. Este mtodo no falsifica o endereo IP para testes, apenas usa os valores em allow hosts e deny hosts para checagem. Por exemplo, para verificar o acesso vindo do IP 192.168.1.50: testparm /etc/samba/smb.conf 192.168.1.50 Load smb config files from /etc/samba/smb.conf

Roberto Amaral Marcelo Soares Farias

Pgina 56

03/03/2010

Universidade Tuiuti do Paran GERDS - Grupo Interdisciplinar de Redes de Computadores e Sistemas Distribudos CURSO: LPI - SERVIDORES DE REDES E GERENCIAMENTO - LINUX Processing section "[homes]" Processing section "[printers]" Processing section "[tmp]" Processing section "[cdrom]" Loaded services file OK. Allow connection from /etc/samba/smb.conf (empresa) to homes Allow connection from /etc/samba/smb.conf (empresa) to printers Allow connection from /etc/samba/smb.conf (empresa) to tmp Allow connection from /etc/samba/smb.conf (empresa) to cdrom

Restringindo o acesso por interface de rede


Esta restrio de acesso permite que faamos o SAMBA responder requisies somente para a interfaces indicadas. O mtodo de segurana descrito em Restringindo o acesso por IP/rede sero analisadas logo aps esta checagem. Para restringir o servio SAMBA a interfaces, primeiro ser necessrio ativar o parmetro bind interfaces only usando 1, yes ou true (o padro desativado). Depois, definir que interfaces sero servidas pelo samba com o parmetro interfaces. Os seguintes formatos de interfaces so permitidos: eth0, sl0, plip0, etc - Um nome de interface local. permitido o uso de * para fazer o SAMBA monitorar todas as interfaces que iniciam com aquele nome (por exemplo, eth*). 192.168.1.1, 192.168.1.2, etc - Um endereo IP de interface local. 192.168.1.2/24, 192.168.1.2/255.255.255.0 - Um par de endereo/mscara de rede. Mais de uma interface pode ser usada separando-as com vrgula ou espaos. A escolha do uso de nome da interface ou do IP feita de acordo com a configurao da mquina. Em uma mquina DHCP por exemplo, recomendado o uso do nome da interface. Quando bind interfaces only estiver ativado, o padro esperar conexes em todas as interfaces que permitem broadcast exceto a loopback. Exemplo: bind interfaces only = 1 interfaces = loopback eth0 Permite o recebimento de requisies de acesso ao SAMBA somente da interface loopback (desnecessrio, pois como notou durante a leitura, sempre permitida a conexo) e eth0.

Restringindo o acesso por usurios


Permite que voc controle quem poder ou no acessar o compartilhamento da mquina. Este controle feito pelos parmetros valid users e invalid users. O invalid users lista de usurio que NO tero acesso ao compartilhamento. Se o nome for iniciado por "+" o parmetro ser tratado como um nome de grupo UNIX (/etc/group). O caracter "&" faz ele pesquisar o nome de

Roberto Amaral Marcelo Soares Farias

Pgina 57

03/03/2010

Universidade Tuiuti do Paran GERDS - Grupo Interdisciplinar de Redes de Computadores e Sistemas Distribudos CURSO: LPI - SERVIDORES DE REDES E GERENCIAMENTO - LINUX grupo no banco de dados NIS. O caracter "@" permite fazer a busca do grupo primeiro no banco de dados NIS e caso ele no seja encontrado, no arquivo de grupos do sistema (/etc/group). possvel usar a combinao de caracteres "+&" e "&+" para alternar a ordem de busca enter o /etc/group e o NIS. Exemplos: invalid users = junior, marcio, +badusers No permite que os usurios especificados e os usurios do grupo +badusers tenham acesso ao compartilhamento. invalid users = &;semacesso Bloqueia o acesso de todos os usurios NIS que pertenam ao grupo semacesso. invalid users = bruno, henrique, +@users, Bloqueia o acesso dos usurios bruno, henrique e de todos os usurios que pertenam ao grupo users. A pesquisa de grupo feita primeiro no /etc/group e em seguida no NIS. invalid users = @semacesso Bloqueia o acesso dos usurios que pertencem ao grupo "semacesso". A pesquisa feita primeiro no NIS e depois no /etc/group (equivalente ao uso de "&+"). O valid users possui a mesma sintaxe de funcionamento do invalid users, mas permite somente o acesso para os usurios/grupos listados. Caso a opo valid users no seja especificada ou a lista esteja vazia, o acesso permitido. Se um mesmo nome de usurio estiver na lista valid users e invalid users, o padro ser mais restritivo, negando o acesso. valid users = adminsamba, michelle, geo A segurana deste mtodo de acesso depende muito da forma de autenticao dos nomes antes de passar o controle para o SAMBA, pois uma autenticao fraca pe em risco a segurana da sua mquina. Evite o uso do parmetro hosts equiv! Este parmetro permite que mquinas tenham acesso sem senha a um servidor. Evite o uso de senhas em branco! O parmetro null passwords usado na seo [global] permitindo que contas de usurios sem senha tenham acesso permitido ao servidor. ISTO TOTALMENTE INSEGURO e deve ser sempre evitado.

Criando um compartilhamento para acesso sem senha


Em algumas situaes (mesmo em instalaes seguras) preciso tornar um compartilhamento acessvel publicamente, exemplos disto incluem um diretrio que contm drivers de impressoras, arquivos comuns, um diretrio temporrio, etc. Para configurar um acesso pblico utilizamos a opo public = yes ou guest ok = yes (que um sinnimo para o ltimo comando). O UID utilizado no acesso pblico especificado pelo parmetro guest account, portanto

Roberto Amaral Marcelo Soares Farias

Pgina 58

03/03/2010

Universidade Tuiuti do Paran GERDS - Grupo Interdisciplinar de Redes de Computadores e Sistemas Distribudos CURSO: LPI - SERVIDORES DE REDES E GERENCIAMENTO - LINUX ele dever ser um usurio vlido do sistema. Caso voc queira somente definir acesso guest a um compartilhamento, especifique a opo guest only para o servio, desta forma, mesmo que o usurio tenha acesso, ele ser mapeado para o usurio guest. Uma boa medida de segurana usar o usurio nobody pois a maioria das distribuies de Linux seguras adotam-o como padro como usurio que no dono de quaisquer arquivos/diretrios no sistema, no possui login, senha ou sequer um diretrio home. Veja um exemplo disponibilizando o compartilhamento [download] para acesso pblico com acesso a gravao: [global] guest account = nobody .. .. [download] path = /downloads comment = Espao pblico para abrigar downloads de Usurios guest ok = yes (aqui poder ser tambm "public = yes"). writable = yes follow symlinks = false O parmetro guest account tambm poder ser especificado no compartilhamento, isto til quando no quiser que o usurio que acesse o compartilhamento no seja o mesmo usado na diretiva [global]. Caso seu servidor somente disponibiliza compartilhamentos para acesso pblico, mais recomendado utilizar o nvel security = share pra diminuir a carga mquina, pois o usurio guest ser o primeiro a ser checado pelas regras de acesso (ao contrrio do nvel user, onde o acesso guest o ltimo checado).

Criando um compartilhamento com acesso somente leitura


Esta proteo til quando no desejamos que pessoas alterem o contedo de um compartilhamento. Isto pode ser feito de duas formas: negando o acesso de gravao para todo o compartilhamento ou permitindo leitura somente para algumas pessoas. O parmetro usado para fazer a restrio de acesso somente leitura o read only = yes ou seu antnimo writable = no. Abaixo seguem os dois exemplos comentados: [teste] comment = Acesso a leitura para todos path = /tmp read only = yes public = yes No exemplo acima, o diretrio /tmp (path = /tmp) foi compartilhado com o nome teste ([teste]), de forma pblica (acesso sem senha - public = yes), e todos podem apenas ler seu contedo read only = yes).

Roberto Amaral Marcelo Soares Farias

Pgina 59

03/03/2010

Universidade Tuiuti do Paran GERDS - Grupo Interdisciplinar de Redes de Computadores e Sistemas Distribudos CURSO: LPI - SERVIDORES DE REDES E GERENCIAMENTO - LINUX [teste] comment = Acesso a gravao para todos com excesses path = /tmp read only = no read list = @users, adminsamba invalid users = root Neste, o mesmo compartilhamento teste ([teste]) foi definido como acesso leitura/gravao para todos (read only = no), mas os usurios do grupo @users e o usurio adminsamba tero sempre acesso leitura (read list = @users, adminsamba). Adicionalmente foi colocada uma proteo para que o superusurio no tenha acesso a ele (invalid users = root). Esta forma de restrio explicada melhor em Excesso de acesso na permisso padro de compartilhamento).

Criando um compartilhamento com acesso leitura/gravao


Esta forma de compartilhamento permite a alterao do contedo do compartilhamento dos usurios que possuem as permisses de acesso apropriadas. Este controle pode ser feito de duas formas: Acesso total de gravao para os usurios e acesso de gravao apenas para determinados usurios. Este controle feito pela opo read only = no e seu antnimo equivalente writable = yes. Abaixo dois exemplos: [teste] comment = Acesso de gravao para todos. path = /tmp writable = yes public = yes No exemplo acima, o diretrio /tmp (path = /tmp) foi compartilhado com o nome teste ([teste]), de forma pblica (acesso sem senha - public = yes) e todos podem ler/gravar dentro dele (writable = yes). [teste] comment = Acesso a leitura para todos com excesses path = /tmp writable = no write list = @users, adminsamba Neste, o mesmo compartilhamento teste ([teste]) foi definido como acesso de leitura para todos (writable = no), mas os usurios do grupo @users e o usurio adminsamba sero os nicos que tero tambm acesso a gravao (write list = @users, adminsamba). Esta forma de restrio explicada melhor em Excesso de acesso na permisso padro de compartilhamento).

Roberto Amaral Marcelo Soares Farias

Pgina 60

03/03/2010

Universidade Tuiuti do Paran GERDS - Grupo Interdisciplinar de Redes de Computadores e Sistemas Distribudos CURSO: LPI - SERVIDORES DE REDES E GERENCIAMENTO - LINUX

Excesso de acesso na permisso padro de compartilhamento


possvel alterar o nvel de acesso para determinados usurios/grupos em um compartilhamento, para entender melhor: Caso tenha criado um compartilhamento somente leitura e queira permitir que apenas alguns usurios ou grupos tenham acesso a gravao, isto possvel e ser explicado nesta seo. Este comportamento controlado por duas opes: read list e write list. Veja alguns exemplos: [temporario] comment = Diretrio temporrio path = /tmp writable = yes read list = adminsamba, root browseable = no available = yes Neste exemplo, disponibilizamos o diretrio /tmp (path = /tmp) como compartilhamento de nome temporario ([temporario]), seu acesso padro leitura/gravao para todos (writable = yes), exceto para os usurios root e adminsamba (read list = root, adminsamba). Em adio, tornamos o compartilhamento invisvel no "Ambiente de Rede" do Windows (browseable = no) e ele ser lido e disponibilizado pelo SAMBA (available = yes). [temporario] comment = Diretrio temporrio path = /tmp writable = no write list = adminsamba, @operadores browseable = yes Neste exemplo, disponibilizamos o diretrio /tmp (path = /tmp) como compartilhamento de nome temporario ([temporario]), seu acesso padro apenas leitura para todos (writable = no), exceto para o usurio adminsamba e usurios do grupo Unix operadores, que tem acesso a leitura/gravao (write list = adminsamba, @operadores). Tornamos o compartilhamento visvel no "Ambiente de Rede" do Windows (browseable = yes - que o padro).

Criando um compartilhamento invisvel


Para no exibir um compartilhamento da lista de compartilhamentos das mquinas, utilize o parmetro browseable = no. Por exemplo: [teste] path = /tmp comment = Diretrio temporrio read only = yes browseable = no

Roberto Amaral Marcelo Soares Farias

Pgina 61

03/03/2010

Universidade Tuiuti do Paran GERDS - Grupo Interdisciplinar de Redes de Computadores e Sistemas Distribudos CURSO: LPI - SERVIDORES DE REDES E GERENCIAMENTO - LINUX Neste exemplo, o diretrio /tmp (path = /tmp) foi compartilhado atravs de teste ([teste]) com acesso somente leitura (read only = yes) e ele no ser mostrado na listagem de compartilhamentos do ambiente de rede do Windows (browseable = no). Note que o compartilhamento continua disponvel, porm ele poder ser acessado da estao Windows, especificando a \\maquina\compartilhamento. Para acessar o compartilhamento do exemplo acima: # Clique em Iniciar/Executar e digite: \\nome_do_servidor_samba\teste Ao contrrio das mquinas Windows onde necessrio adicionar um "$" do nome de compartilhamento para criar um compartilhamento oculto (como teste$) o SAMBA cria um compartilhamento realmente oculto, no aparecendo mesmo na listagem do smbclient.

Exemplos de configurao do servidor SAMBA


Os exemplos existentes nesta seo cobrem diferentes tipos de configurao do servidor, tanto em modo de compartilhamento com acesso pblico ou um domnio restrito de rede. Todos os exemplos esto bem comentados e explicativos, apenas pegue o que se enquadre mais em sua situao para uso prprio e adaptaes.

Grupo de Trabalho com acesso pblico


Este exemplo pode ser usado de modelo para construir uma configurao baseada no controle de acesso usando o nvel de segurana share e quando possui compartilhamentos de acesso pblico. Esta configurao indicada quando necessita de compatibilidade com softwares NetBIOS antigos. [global] # nome da mquina na rede netbios name = teste # nome do grupo de trabalho que a mquina pertencer workgroup = empresa # nvel de segurana share permite que clientes antigos # mantenham a compatibilidade enviando somente a senha para # acesso ao recurso, determinando o nome de usurio de outras # formas security = share # O recurso de senhas criptografadas no funciona quando usamos # o nvel share de segurana. O motivo disto porque # automaticamente assumido que voc est selecionando este # nvel por manter compatibilidade com sistemas antigos ou para
Roberto Amaral Marcelo Soares Farias 03/03/2010

Pgina 62

Universidade Tuiuti do Paran GERDS - Grupo Interdisciplinar de Redes de Computadores e Sistemas Distribudos CURSO: LPI - SERVIDORES DE REDES E GERENCIAMENTO - LINUX # disponibilizar compartilhamentos pblicos, onde encrypt passwords = false # Conta que ser mapeada para o usurio guest guest account = nobody # Como todos os compartilhamentos desta configurao so de # acesso pblico coloquei este parmetro na seo [global], # assim esta opo afetar todos os compartilhamentos. guest ok = 1 # Conjunto de caracteres utilizados para acessar os # compartilhamentos. O padro para o Brasil e pases de lngua # latina o ISO 8859-1 character set = ISO8859-1

# Compartilha o diretrio /tmp (path = /tmp) com o nome # "temporario" ([temporario]), # adicionada a descrio "Diretrio temporrio" com acesso # leitura/gravao (read only = no) e exibido na janela de # navegao da rede (browseable = yes). [temporario] path = /tmp comment = Diretrio temporrio read only = no browseable = yes # Compartilha o diretrio /pub (path = /pub) com o nome # "publico" ([publico]). A descrio "Diretrio de acesso # pblico" associada ao compartilhamento com acesso somente # leitura (read only = yes) e exibido na janela de navegao # da rede (browseable = yes). [publico] path =/pub comment = Diretrio de acesso pblico read only = yes browseable = yes # Compartilha todas as impressoras encontradas no /etc/printcap # do sistema.
Roberto Amaral Marcelo Soares Farias

Pgina 63

03/03/2010

Universidade Tuiuti do Paran GERDS - Grupo Interdisciplinar de Redes de Computadores e Sistemas Distribudos CURSO: LPI - SERVIDORES DE REDES E GERENCIAMENTO - LINUX [printers] comment = All Printers path = /tmp create mask = 0700 printable = Yes browseable = No

Grupo de Trabalho com acesso por usurio


O exemplo abaixo descreve uma configurao a nvel de segurana por usurio onde existem compartilhamentos que requerem login e usurios especficos, e restries de IPs e interface onde o servidor opera. Esta configurao utiliza senhas em texto claro para acesso dos usurios, mas pode ser facilmente modificada para suportar senhas criptografadas. [global] # nome da mquina na rede netbios name = teste # nome do grupo de trabalho que a mquina pertencer workgroup = empresa # nvel de segurana user somente aceita usurios autenticados # aps o envio de login/senha security = user # utilizada senhas em texto claro nesta configurao encrypt passwords = false # Conta que ser mapeada para o usurio guest guest account = nobody # Permite restringir quais interfaces o SAMBA responder bind interfaces only = yes # Faz o samba s responder requisies vindo de eth0 interfaces = eth0 # Supondo que nossa interface eth0 receba conexes roteadas de # diversas outras redes, permite somente as conexes vindas da # rede 192.168.1.0/24 hosts allow = 192.168.1.0/24 # A mquina 192.168.1.57 possui gateway para acesso interno, como # medida de segurana, bloqueamos o acesso desta mquina. hosts deny = 192.168.1.57/32 # Conjunto de caracteres utilizados para acessar os

Roberto Amaral Marcelo Soares Farias

Pgina 64

03/03/2010

Universidade Tuiuti do Paran GERDS - Grupo Interdisciplinar de Redes de Computadores e Sistemas Distribudos CURSO: LPI - SERVIDORES DE REDES E GERENCIAMENTO - LINUX # compartilhamentos. O padro para o Brasil e pases de lngua # latina o ISO 8859-1 character set = ISO8859-1 # As restries do PAM tero efeito sobre os usurios e recursos # usados do SAMBA obey pam restriction = yes # Mapeia o diretrio home do usurio autenticado. [homes] comment = Diretrio do Usurio create mask = 0700 directory mask = 0700 browseable = No # Compartilha o diretrio win (path = /win) com o nome "win" #([win]). A descrio associada ao compartilhamento ser "Disco do Windows", o nome de volume precisa ser especificado pois usamos # programas que a proteo anti cpia o serial. Ainda fazemos # uma proteo onde qualquer usurio existente no grupo @adm # automaticamente rejeitado e o usurio "baduser" somente possui # permisso de leitura (read list = baduser). # [win] path = /win comment = Disco do Windows volume = 3CF434C invalid users = @adm browseable = yes read list = baduser # Compartilha o diretrio /pub (path = /pub) com o nome "publico" # ([publico]). A descrio "Diretrio de acesso pblico" # associada ao compartilhamento com acesso somente leitura (read # only = yes) e exibido na janela de navegao da rede (browseable # = yes). O parmetro public = yes permite que este # compartilhamento seja acessado usando o usurio "nobody" sem o # fornecimento de senha.
Roberto Amaral Marcelo Soares Farias

Pgina 65

03/03/2010

Universidade Tuiuti do Paran GERDS - Grupo Interdisciplinar de Redes de Computadores e Sistemas Distribudos CURSO: LPI - SERVIDORES DE REDES E GERENCIAMENTO - LINUX [publico] path =/pub comment = Diretrio de acesso pblico read only = yes browseable = yes public = yes

Domnio
[global] # nome da mquina na rede netbios name = teste # nome do grupo de trabalho que a mquina pertencer workgroup = empresa # String que ser mostrada junto com a descrio do servidor server string = servidor PDC principal de testes # nvel de segurana user somente aceita usurios autenticados # aps o envio de login/senha security = user # Utilizamos senhas criptografadas nesta configurao encrypt passwords = true smb passwd file = /etc/samba/smbpasswd # Conta que ser mapeada para o usurio guest guest account = nobody # Permite restringir quais interfaces o SAMBA responder bind interfaces only = yes # Faz o samba s responder requisies vindo de eth0 interfaces = eth0 # como estamos planejando ter um grande nmero de usurios na # rede, dividimos os arquivos de log do servidor por mquina. log file = /var/log/samba/samba-%m-%I.log # O tamanho de CADA arquivo de log criado dever ser 1MB (1024Kb). max log size = 1000 # Escolhemos um nvel de OS com uma boa folga para vencer as # eleies de controlador de domnio local os level = 80 # Dizemos que queremos ser o Domain Master Browse (o padro

Roberto Amaral Marcelo Soares Farias

Pgina 66

03/03/2010

Universidade Tuiuti do Paran GERDS - Grupo Interdisciplinar de Redes de Computadores e Sistemas Distribudos CURSO: LPI - SERVIDORES DE REDES E GERENCIAMENTO - LINUX # auto) domain master = yes # Damos algumas vantagens para o servidor ganhar a eleio caso # acontea desempate por critrios preferred master = yes # Tambm queremos ser o local master browser para nosso segmento # de rede local master = yes # Este servidor suportar logon de usurios domain logons = yes # Usurios que possuem poderes para adicionar/remover mquinas no # domnio (tero seu nvel de acesso igual a root) admin users = adminsamba # Unidade que ser mapeada para o usurio local durante o logon # (apenas sistemas baseados no NT). logon drive = m: # Nome do script que ser executado pelas mquinas clientes logon script = logon.bat # Ao que ser tomada durante o recebimento de mensagens do # Winpopup. message command = /bin/sh -c '/usr/bin/linpopup "%f" "%m" %s; rm %s' & # Conjunto de caracteres utilizados para acessar os # compartilhamentos. O padro para o Brasil e pases de lngua # latina o ISO 8859-1 character set = ISO8859-1 # As restries do PAM tero efeito sobre os usurios e recursos # usados do SAMBA obey pam restriction = yes # Mapeia o diretrio home do usurio autenticado. Este # compartilhamento especial descrito em mais detalhes no inicio # do captulo sobre o SAMBA no Foca Linux. [homes] comment = Diretrio do Usurio create mask = 0700
Roberto Amaral Marcelo Soares Farias

Pgina 67

03/03/2010

Universidade Tuiuti do Paran GERDS - Grupo Interdisciplinar de Redes de Computadores e Sistemas Distribudos CURSO: LPI - SERVIDORES DE REDES E GERENCIAMENTO - LINUX directory mask = 0700 browseable = No # Compartilha o diretrio win (path = /win) com o nome "win" # ([win]). A descrio associada ao compartilhamento ser "Disco # do Windows", o nome de volume precisa ser especificado pois # usamos programas que a proteo anti cpia o serial. Ainda # fazemos uma proteo onde qualquer usurio existente no grupo # @adm automaticamente rejeitado e o usurio "baduser" somente # possui permisso de leitura (read list = baduser). # [win] path = /win comment = Disco do Windows volume = 3CF434C invalid users = @adm browseable = yes read list = baduser # Compartilha o diretrio /pub (path = /pub) com o nome "publico" # ([publico]). A descrio "Diretrio de acesso pblico" # associada ao compartilhamento com acesso somente leitura (read # only = yes) e exibido na janela de navegao da rede (browseable # = yes). O parmetro public = yes permite que este # compartilhamento seja acessado usando o usurio "nobody" sem o # fornecimento de senha. [publico] path =/pub comment = Diretrio de acesso pblico read only = yes browseable = yes public = yes # Compartilhamento especial utilizado para o logon de mquinas na # rede [netlogon] path=/pub/samba/netlogon/logon.bat read only = yes

Roberto Amaral Marcelo Soares Farias

Pgina 68

03/03/2010

Universidade Tuiuti do Paran GERDS - Grupo Interdisciplinar de Redes de Computadores e Sistemas Distribudos CURSO: LPI - SERVIDORES DE REDES E GERENCIAMENTO - LINUX

Servidor de Informao (NIS)


O sistema NIS (Network Information System) permite compartilhar bases de dados globais, contendo informaes sobre usurios (/etc/passwd), grupos (/etc/group) e hosts (/etc/hosts) em ambiente Unix. Informaes compartilhadas por servidores NIS so visveis pelos cliente, servindo, por exemplo, para a autenticao de usurios num domnio de redes. As informaes compartilhadas pelo NIS eram chamadas de Yellow Pages yp. A unidade de compartilhamento do NIS so os registros e no o arquivo. Um registro corresponde a uma linha de configurao em um arquivo de configurao. A operao deste sistema envolve a execuo de um processo servidor (ypserv) numa mquina que ser o mestre de um domnio (NIS mster) e a execuo da verso cliente do programa (ypbind) nas mquinas clientes. A utilizao dos arquivos compartilhados para autenticao dos usurios nos cliente, contudo, depende ainda dos ajustes de autenticao.

ypserv: processo servidor do NIS; ypbind: processo cliente NIS; yppasswdd: processo de autenticao/modificao de senhas via rede. Deve ser executado no servidor mestre do domnio; ypinit: script de configurao do servidor NIS (como principal ou secundrio). Cria as tabelas a partir dos arquivos em /etc; yppush: comando para cpia dos arquivos do mestre para os escravos; portmap: faz o mapeamento entre chamada RPC e nmero de portas para o servio NIS; /etc/yp.conf: arquivo de configurao do cliente NIS; /etc/ypserv.conf: arquivo de configurao do servidor NIS; /var/yp: arquivos de configurao e tabelas de domnio exportado pelo servidor; /var/yp/ypservers; relao dos servidores do domnio; /var/yp/securenets: relao de redes e hosts autorizados a acessar as informaes do domnio

Configurao do servidor
Antes que o servidor NIS possa ser ativado, preciso criar as tabelas exportadas. Para simplificar a construo das tabelas exportadas, entretanto, h um arquivo de configurao em /var/yp. Sua operao requer apenas que o nome do domnio NIS que se deseja atender esteja configurado:

Roberto Amaral Marcelo Soares Farias

Pgina 69

03/03/2010

Universidade Tuiuti do Paran GERDS - Grupo Interdisciplinar de Redes de Computadores e Sistemas Distribudos CURSO: LPI - SERVIDORES DE REDES E GERENCIAMENTO - LINUX

Domainname: define o nome do domnio DNS. Ex: domainname gerds.utp.br Ypdomainname, nisdomainname: define o nome do domnio NIS. Ex. ypdomainname gerds.utp.br

Embora sejam normalmente coincidentes, no h restries entre o nome de domnio DNS e o domnio NIS. A configurao de um servidor NIS requer a instalao do pacote ypserv. Uma vez ajustado o domnio NIS que se deseja gerenciar, preciso ajustar os scripts de configurao das tabelas exportadas, localizados no diretrio /var/yp.

/var/yp: diretrio que contm os arquivos para configurao do servidor NIS e as tabelas exportadas; /var/yp/Makefile: arquivo de configurao das tabelas que sero criadas para exportao.

Configurao (manual) de um servidor NIS:


1. Definio do domnio: domainname dom.com.br ypdomainname dom.com.br nisdomaniname dom.com.br 2. Ajuste das tabelas exportadas (/var/yp/Makefile) : cd /var/yp #editar /var/yp/Makefile #editar linha all: passwd group hosts ... contm relao dos mapas que sero criados para exportao #editar linha MERGE_PASSWD=true indica se passwd e shadow sero unificados para exportao #editar linha MERGE_GROUP=true indica se group e gshadow sero unificados para exportao #editar linha MINUID=500 incio dos logins exportados #editar linha MINGID=500 incio dos grupos exportados 3. Criao das tabelas exportadas Make cria tabelas para domnio definido com ypdomaninname, caso no existam, ou atualiza as tabelas existente. ou ou

Roberto Amaral Marcelo Soares Farias

Pgina 70

03/03/2010

Universidade Tuiuti do Paran GERDS - Grupo Interdisciplinar de Redes de Computadores e Sistemas Distribudos CURSO: LPI - SERVIDORES DE REDES E GERENCIAMENTO - LINUX OBS.: O padro utilizar os arquivos em /etc como fonte para gerao dos maas do NIS. possvel alterar este padro, editando o arquivo /var/yp/Makefile, modificando as variveis YPSRCDIR e YPPWDDDIR para que indiquem o diretrio onde esto os arquivos. Assim, vivel manter usurios locais e do NIS de forma independente. As opes MINUID e MINGID tambm permitem restringir os usurios que sero exportados. Os comandos executados pelo make, equivalem a criao das tabelas, utilizando os comandos abaixo:

/usr/lib/yp/ypinit m: script para criao das tabelas do servidor. Este script, executando com opo m, configura o servidor como mestre(ou principal), pegando como informaes os dados contidos em /etc/passwd, /etc/group, /etc/hosts, /etc/networks, /etc/services, /etc/protocols, /etc/netgroup e /etc/rpc. Inclui, linha a linha, os servidores do NIS.

/usr/lib/yp/yp/ypinit s nome-do-servidor-principal. A opo s, seguida do nome do servidor mestre, configura o servidor escravo (ou secundrio). Pode haver um nico mestre, mas vrias escravos.

4. Ajustes de segurana: limitar o acesso aos campos das tabelas exportadas editando /etc/ypserv.conf Uma vez definidas as tabelas que sero exportadas, preciso realizar ajustes de segurana antes de ativar o servidor (ypserv). O ajuste de opo de segurana dos mapas exportados feito atravs do arquivo /etc/ypserv.conf.

/etc/ypserv.conf: arquivo com parmetros para o servidor do domnio NIS:

i.

Dns: indica se o servidor far consultas ao servidor DNS para a resoluo de nomes de domnio no atendidos por /etc/hosts

ii. Cada linha contm informaes sobre uma tabela exportada, incluindo os seguintes campos, separados por ::host, mo, security, mangle e field 1. host: endereo IP 2. map: nome do mapa ou *, para todos os mapas 3. security: nome (sempre permite acesso), port (permite acesso se porta < 1024), deny (nega acesso a este mapa), des (exige autenticao no formato DES); 4. mangle: yes ou no. Substitui valor de campo nas informaes exibidas caso o usurio no tenha acesso. 5. field: indica o campo que ser substitudo (mangled). Defaul=2

Roberto Amaral Marcelo Soares Farias

Pgina 71

03/03/2010

Universidade Tuiuti do Paran GERDS - Grupo Interdisciplinar de Redes de Computadores e Sistemas Distribudos CURSO: LPI - SERVIDORES DE REDES E GERENCIAMENTO - LINUX

Exemplo: # /etc/ypserv.conf # HOST: Domain # * * :* :* :passwd.byname :passwd.byuid :port # restringe o acesso a tabela :port # restringe o acesso a tabela :Map :Security

5. Restringir os hosts que podero fazer a autenticao de usurios usando as tabelas exportadas (/var/yp/securenets) A relao de clientes autorizados a usar as tabelas do sistema (nis clients) definida atravs do arquivo /var/yp/securenets. As linhas do arquivo contm informaes sobre as mscaras de rede e os endereos IP autorizados. # /var/yp/securenets # 255.0.0.0 255.255.255.0 127.0.0.0 200.1.1.0 #libera acesso para o localhost #libera acesso para a rede 200.1.1.0

6. Ativao do servio do servidor: A ativao do servidor feita iniciando-se o processo ypserv (/usr/sbin/ypserv). O ajuste para sua ativao automtica nos nveis de execuo multiusurio pode ser feita como descrito anteriormente. AplicaesConfiguraes do SistemaConfiguraes de ServidorServios Portmap Ypserv O servio ypxferd pode ser ativado para auxiliar na transferncia dos mapas entre o servidor NIS mster e os servidores slave: Ypxferd 7. Habilitando o ajuste de senhas pela rede (yppasswdd): A alterao de senha no ambiente NIS pode ser feita com o comando yppasswd. Para tanto, ;e preciso que o servio yppasswdd esteja sendo executado no servidor NIS, caso contrrio, os usurios devero fazer um acesso remoto ao servidor para alterar a senha localmente com o comandopasswd. Neste caso, ainda, a nova senha s se torna clida aps a reiniciao do servidor NIS (ypserv). AplicaesConfiguraes SistemasConfiguraes de ServidorServios Yppasswdd

Roberto Amaral Marcelo Soares Farias

Pgina 72

03/03/2010

Universidade Tuiuti do Paran GERDS - Grupo Interdisciplinar de Redes de Computadores e Sistemas Distribudos CURSO: LPI - SERVIDORES DE REDES E GERENCIAMENTO - LINUX

Nos clientes, a senha da rede pode ser alterada executando-se o comando yppasswd. Configurao dos clientes para realizarem acessaem um servidor NIS corresponde a habilitar a autenticao usando NIS.

HTTPD - Servidor Web Apache2


O Apache o Servidor Web mais utilizado sendo utilizados para servir pedidos de Pginas WEB por clientes. Os clientes em geral fazem requisies e visualizam Pginas da WEB usando navegadores. Usurios utilizam URL (Uniform Resource Locator) para apontar para um servidor Web atravs do seu Nome de Domnio Completo (Fully Qualified Domain Name - FQDN) e um caminho. O protocolo mais comum usado para transferir pginas o HTTP - Protocolo de transferncia de hipertexto. Protocolos como HTTPS - Protocolo seguro de transferncia de hipertexto e FTP - Protocolo de transferncia de arquivo, protocolo para enviar e receber arquivos, so tambm suportados. Servidores Web Apache so geralmente utilizados em conjunto com o banco de dados MySQL, a linguagem de construo de scripts pr-processadora de hiper-texto (PHP), e outras linguagens de construo de scripts populares como o Python e o Perl..

Instalao
O servidor web Apache2 est disponvel no Ubuntu Linux. Para instalar o Apache2: # sudo apt-get install apache2#

Configurao
O Apache configurado colocando-se diretivas em arquivos de configurao de texto puro. O arquivo de configurao principal chamado apache.conf. Alm disso, outros arquivos de configurao podem ser adicionados utilizando-se a diretiva Include. Qualquer diretiva pode ser colocada em qualquer desses arquivos de configurao. Mudanas no arquivo de configurao apenas so reconhecidas quando este for iniciado ou reiniciado. O servidor tambm ir ler um arquivo contendo os tipos mime de documentos; o nome do arquivo definido pela diretiva TypesConfig. O arquivo de configurao do Apache2 o /etc/apache2/apache2.conf. Pode ser configurado, nmero da porta, raiz dos documentos, mdulos, arquivos de log, hosts virtuais, etc.

Configuraes Bsicas O Apache configurado com um host virtual nico padro (diretiva VirtualHost) o qual pode ser modificado ou utilizado como est, se voc tiver apenas um site, ou ainda usado como modelo para hosts virtuais adicionais

Roberto Amaral Marcelo Soares Farias

Pgina 73

03/03/2010

Universidade Tuiuti do Paran GERDS - Grupo Interdisciplinar de Redes de Computadores e Sistemas Distribudos CURSO: LPI - SERVIDORES DE REDES E GERENCIAMENTO - LINUX

caso tenha mltiplos sites. Se no for alterado, o host virtual padro servir como seu site padro. Para modificar o virtual host padro, edite o arquivo /etc/apache2/sites-available/default. Caso deseje configurar um novo host virtual, copie esse arquivo para o mesmo diretrio com um nome de sua escolha. Por exemplo: sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/meunovosite.

Edite o novo arquivo para configurar o novo site utilizando algumas das diretivas descritas abaixo. ServerAdmin especifica o endereo de email a ser anunciado. Se website apresentar problema, o Apache2 mostrar uma mensagem de erro contendo este endereo de email para qual o problema poder ser relatado. Listen especifica a porta, e opcionalmente o endereo IP, na qual o Apache2 ir escutar. Se o endereo IP no for especificado, o Apache2 ir escutar em todos os endereos IP designados para a mquina no qual ele esteja rodando. O valor padro para diretiva Listen 80. Altere isso para 127.0.0.1:80 para fazer com que o Apache apenas escute apenas na sua interface de loopback. Esta diretiva pode ser encontrada e alterada em seu prprio arquivo, /etc/apache2/ports.conf ServerName especifica qual a FQDN seu site dever responder. O host virtual padro no possui diretiva ServerName especificada, portanto ele ir responder a todas as requisies que no combinem com uma diretiva ServerName em outro host virtual. Por exemplo: para o domnio ubunturocks.com e adicione este nome na diretiva ServerName no arquivo de configurao do host virtual. Adicione esta diretiva ao novo arquivo de site virtual que voc criou antes (/etc/apache2/sites-available/meunovosite). DocumentRoot especifica o local dp s arquivos padro que formam o site. O padro /var/www. Nenhum site est configurado l, mas pode descomentar a diretiva RedirectMatch em /etc/apache2/apache2.conf as requisies sero redirecionadas para /var/www/apache2-default. Altere este valor no arquivo de host virtual do seu site e lembre-se de criar aquele diretrio se necessrio. O diretrio /etc/apache2/sites-available no decodificado pelo Apache2. Links simblicos em /etc/apache2/sites-enabled apontam para sites "disponveis" (available). Utilize o utilitrio a2ensite (Apache2 EnableSite) para criar esses links simblicos. Configurao Padro Esta seo explica a configurao das definies padro do servidor Apache2. DirectoryIndex a pgina padro do servidor quando o usurio requisita um ndice de um diretrio especificando uma barra (/) no final do nome do diretrio. Por exemplo, quando um usurio solicita a pgina http://www.examplo.com/este_diretrio/, ele vai ver: o DirectoryIndex se ele existir; uma lista do diretrio gerado pelo servidor caso no exista e as opes de ndices estiverem especificadas; ou uma pgina de Permisso Negada se nenhuma das duas opes forem verdadeiras. Se ele no encontrar nenhum destes arquivos e se as Opes de ndices estiver ajustada para aquele diretrio, o servidor ir gerar e retornar uma lista, no formato HTML, dos subdiretrios e arquivos no diretrio. O valor padro, encontrado em /etc/apache2/apache2.conf "index.html index.cgi index.pl index.php index.xhtml". ErrorDocument permite que voc especifique um arquivo para o Apache usar para um evento especfico de erro. Por exemplo, se um usurio solicitar um recurso que no existe, um erro 404 ocorrer, e por padro de

Roberto Amaral Marcelo Soares Farias

Pgina 74

03/03/2010

Universidade Tuiuti do Paran GERDS - Grupo Interdisciplinar de Redes de Computadores e Sistemas Distribudos CURSO: LPI - SERVIDORES DE REDES E GERENCIAMENTO - LINUX configurao do Apache, o arquivo /usr/share/apache2/error/HTTP_NOT_FOUND.html. vai ser mostrado. Este arquivo no est na Raiz de Documentos do servidor, mais existe uma diretiva em /etc/apache2/apache2.conf que redireciona as requisies do diretrio /error para /usr/share/apache2/error/. Para ver a listagem de diretiva padro de Documentos de Erro, use o comando: grep ErrorDocument /etc/apache2/apache2.conf Por padro, o servidor registra as transferncias no arquivo /var/log/apache2/access.log, conforme informado no arquivo de configurao e na diretriz CustomLog,. Pode ser especificado o arquivo onde os erros sero registrados, atravs da diretriz ErrorLog, que por padro /var/log/apache2/error.log. Estes so mantidos separados do log de transferncia para permitir eliminao de problemas. Pode ser especificado o LogLevel (o valor padro "alertar") e o LogFormat (veja o /etc/apache2/apache2.conf para o valor padro). Algumas opes so especificadas num esquema por diretrios. A diretiva Option uma dessas diretivas. Uma instncia de Directory encapsulada entre tags semelhantes ao XML, como em:
<Directory /var/www/mynewsite> ... </Directory>

A diretiva Options com uma instncia de Directory aceita um ou mais dos seguintes valores:
ExecCGI - Permite execuo de scripts CGI. Scripts CGI no so executados se esta opo no estiver habilitada. Scripts CGI devem ser mantidos em diretrios separados, fora do DocumentRoot, e somente este diretrio deve ter a opo ExecCGI habilitada. O local padro para os scripts CGI /usr/lib/cgi-bin.

Includes - Permite incluses no lado do servidor, permitindo que um arquivo HTML inclua outros arquivos. IncludesNOEXEC - Permite includes, mais desabilita o comandos #exec e #include nos scripts CGI Indexes - Mostra uma lista formatada dos contedos dos diretrios, caso no exista um DirectoryIndex (tal como index.html). Por motivos de segurana, no deve estar habilitado. Habilite esta opo com cuidado, somente se voc tem certeza de que quer que os usurios vejam o contedo inteiro do diretrio. Multiview - Suporta multi-vises negociadas pelo contedo; esta opo desabilitada por segurana. SymLinksIfOwnerMatch - Segue os links simblicos caso o arquivo seja do mesmo dono que o link.
Configuraes de Hosts Virtuais Hosts virtuais permitem que rode diferentes servidores para diferentes endereos IP, diferentes nomes, ou diferentes portas da mesma mquina. Por exemplo, pode rodar o website por http://www.exemplo.com.br e http://www.outroexemplo.com.br no mesmo servidor Web usando hosts virtuais. Esta opo corresponde diretiva <VirtualHost> para o virtual host padro e virtual hosts baseados em IP. E corresponde diretiva <NameVirtualHost> para um virtual host baseado em nomes. As diretivas para um host virtual somente so aplicadas para um host virtual em particular. Se a diretiva setada para escopo de servidor e no definida dentro das configuraes de um virtual host, as configuraes padro sero usadas. Ajuste DocumentRoot para o diretrio que contm o documento raz para o host virtual. O DocumentRoot padro /var/www. A diretiva ServerAdmin dentro da instncia do VirtualHost armazena o email usado no rodap da pgina de erros caso voc escolha mostrar um rodap com o endereo de email na pgina de erro.

Roberto Amaral Marcelo Soares Farias

Pgina 75

03/03/2010

Universidade Tuiuti do Paran GERDS - Grupo Interdisciplinar de Redes de Computadores e Sistemas Distribudos CURSO: LPI - SERVIDORES DE REDES E GERENCIAMENTO - LINUX

Configuraes do Servidor
LockFile - A diretiva LockFile define o caminho do arquivo usado quando o servidor compilado tanto com USE_FCNTL_SERIALIZED_ACCEPT quanto com USE_FLOCK_SERIALIZED_ACCEPT. PidFile - A diretiva PidFile define o arquivo em que o servidor gravar o seu ID de processo (pid). Este arquivo deve ter permisses de leitura somente para o root. Na maioria dos casos, o valor padro deve ser deixado. User - A diretiva User seta o UserID usado pelo servidor para responder as solicitaes. Esta opo determina o acesso ao servidor. Qualquer arquivo inacessvel a este usurio ser tambm inacessvel aos visitantes do seu website. O valor padro para o User www-data. Usando o root como User voc ir criar brechas de segurana para seu ser servidor Web. A diretiva Group similar a diretiva User. Group define o grupo que o servidor ir responder as solicitaes. O grupo padro www-data. Mdulos do Apache O Apache um servidor modular. Isso significa que somente as funcionalidades bsicas so inclusas no ncleo do servidor. A extenso das funcionalidades so disponibilizadas atravs de mdulos, que podem ser carregados no Apache. Por padro, alguns mdulos bsicos j esto inclusos na hora da compilao. Se o servidor for compilado para usar o carregamento dinmico de mdulos, ento os mdulos podem ser compilados separadamente, e adicionados qualquer hora usando a diretiva LoadModule. Caso contrrio, o Apache2 precisa ser recompilado para adicionar ou remover mdulos. As diretivas de configurao podem ser includas condicionalmente, com a presena de um mdulo em particular includo num bloco <IfModule>. Voc pode instalar mdulos adicionais do Apache2 e us-los com o seu servidor WEB. Voc pode instalar mdulos do Apache2 usando o comando apt-get. Por exemplo, para instalar o mdulo do Apache2 para autenticao por MYSQL, voc pode executar o seguinte comando de um prompt de terminal (linha de comando). sudo apt-get install libapache2-mod-auth-mysql Quando voc instala um mdulo, ele estar disponvel no diretrio /etc/apache2/mods-available. Configuraes HTTPS O mdulo mod_ssl adiciona uma funcionalidade importante no servidor Apache2 a habilidade de encriptar comunicaes. Portanto, quando o seu navegador se comunica utilizando encriptao SSL, o prefixo https:// usado no comeo da URL na barra de navegao do navegador. O mdulo mod_ssl est disponvel no pacote apache2-common. Se voc possuir este pacote instalado, voc pode executar o comando a seguir de um prompt de terminal para ativar o mdulo mod_ssl: sudo a2enmod ssl Certificados e Segurana Para configurar um servidor seguro, use a criptografia de chave pblica para criar um par de chaves pblica e privada. Na maioria dos casos, voc manda o seu pedido de certificao (incluindo a sua chave pblica), uma prova da identidade da sua companhia e o pagamento para uma Autoridade de Certificados (CA). A CA verifica o pedido de certificao e sua identidade, e depois manda de volta um certificado para o seu servidor seguro.

Roberto Amaral Marcelo Soares Farias

Pgina 76

03/03/2010

Universidade Tuiuti do Paran GERDS - Grupo Interdisciplinar de Redes de Computadores e Sistemas Distribudos CURSO: LPI - SERVIDORES DE REDES E GERENCIAMENTO - LINUX Alternativamente, voc pode criar o seu certificado auto-assinado. Note que, entretanto, o certificado autoassinado no deve ser usando na maioria dos ambientes de produo. Certificados auto-assinados no so automaticamente aceitos pelo navegador dos usurios. Os usurios so questionados pelo navegador para aceitar o certificado e criar uma conexo segura. Assim que voc tiver um certificado auto-assinado ou um certificado assinado por um CA de sua escolha, voc precisa instal-lo no seu servidor seguro. Tipos de Certificados Voc precisa de uma chave e um certificado para operar o seu servidor seguro, o que significa que voc tanto pode gerar uma certificado auto-assinado como comprar um certificado assinado por um CA. Um certificado assinado por um CA prov duas capacidades importantes para o seu servidor: Navegadores reconhecem o certificado e permitem uma conexo segura sem questionamentos ao usurio. Quando um CA emite um certificado assinado, est garantindo a identidade da organizao que est provendo as pginas da web para o navegador.

Squid
Atualmente, os servidores proxy deixaram de ser um simples privilgio e passaram a ser uma necessidade.

Proxy e Cache
Um proxy serve para basicamente uma coisa: tratar as requisies dos clientes nos protocolos suportados por ele, seja bloqueando URL's de sites indevidos ou controlando o acesso WWW pelos usurios. O Squid alm de um servidor proxy, tambm integra um sistema de caching para requisies feitas Internet. Um servidor cache armazena informaes de requisies temporariamente em disco para uma visualizao mais rpida posterior.

O que o Squid?
O Squid o servidor proxy HTTP para plataformas UNIX-Like, surgiu de um projeto entre o governo americano e a Universidade do Colorado. O Squid trabalha com os protocolos HTTP, HTTPS, FTP, Gopher e WAIS e o proxy que possui o maior nmero de co-projetos.

Instalando via APT


Partindo do princpio que voc j tenha o seu APT e seus repositrios de preferncia no sources.list, voc pode simplesmente rodar este comando. # apt-get install squid

Roberto Amaral Marcelo Soares Farias

Pgina 77

03/03/2010

Universidade Tuiuti do Paran GERDS - Grupo Interdisciplinar de Redes de Computadores e Sistemas Distribudos CURSO: LPI - SERVIDORES DE REDES E GERENCIAMENTO - LINUX

O arquivo squid.conf
O arquivo squid.conf o principal arquivo de configurao do Squid. Zela pela simplicidade das tags, mas no muito pelo tamanho, possuindo cerca de 2 mil linhas. Antes de mexer no arquivo, recomendvel que faa um backup do arquivo original, em caso quaisquer problemas: # cp /etc/squid/squid.conf /etc/squid/squid.conf.defaults

Algumas das tags mais importantes


Um proxy que apenas sejam configuradas estas tags ainda no um proxy funcional.

http_port
Padro: http_port 3128 - Define a porta em que o servio Squid ir escutar por requisies.

cache_mem
Padro: cache_mem 8M - Este parmetro configura a quantidade de memria utilizada para cache e objetos em trnsito, e no a quantidade de memria reservada para o Squid.

cache_dir
Padro: cache_dir ufs /var/spool/squid 100 16 256 - Nesta opo so configurados os nmeros de diretrios, subdiretrios e tamanho do cache. onde: cache_dir - Nome da tag; ufs - a forma de armazenamento de cache. Existe tambm a opo aufs, mas que s est disponvel para outras plataformas. Para mais informaes, leia o squid.conf; /var/spool/squid - Diretrio onde o cache do Squid ficar; 100 - Espao em disco que o cache do Squid poder ocupar, contado em MB; 16 - Quantidade de diretrios que o cache do Squid possuir; 256 - Quantidade de subdiretrios que o cache do Squid possuir;

cache_access_log
Padro: cache_access_log /var/log/squid/access.log - Define o arquivo de log de acessos do Squid. Caso queira saber quem acessou determinada pgina da internet, atravs deste arquivo que descobrir.

cache_mgr
Padro: cache_mgr email - Este parmetro tem a finalidade de especificar o e-mail do administrador do proxy.

Roberto Amaral Marcelo Soares Farias

Pgina 78

03/03/2010

Universidade Tuiuti do Paran GERDS - Grupo Interdisciplinar de Redes de Computadores e Sistemas Distribudos CURSO: LPI - SERVIDORES DE REDES E GERENCIAMENTO - LINUX

cache_effective_user
Padro: cache_effective_user squid - Informa ao Squid com qual nome de usurio ele deve rodar.

cache_effective_group
Padro: cache_effective_group squid - Tem a mesma funo da tag acima, mas trabalhar com com o grupo.

visible_hostname
Padro: visible_hostname none - Define o hostname que fica visvel nas mensagens de erro do Squid apresentadas para os clientes e caso no seja setada, o Squid no starta. Por isso coloque alguma coisa parecida com isto: visible_hostname squid.seudominio.com.br

Access Control Lists (ACL's)


Uma ACL nada mais do que a ferramenta que o Squid utiliza para especificar quem pode quem no pode, o qu pode e o que no pode.

Tipos de ACL's
Src : Endereo IP de origem. Especifica um determinado host ou uma determinada rede de origem. Dst : Endereo IP de destino. Especifica um determinado host ou uma determinada rede de destino. Dstdomain : Domnio de destino. Restringe o acesso um determinado ou para identificar um domnio de destino. time : Hora e dia da semana. Especifica um determinado horrio. Port : Nmero da porta de destino, usado para especificar acesso determinada porta de um servidor. url_regex : Compara uma string uma URL inteira. Muito utilizado para fazer o bloqueio de sites indevidos. urlpath_regex : Tem uma funo semelhante anterior, porm procura apenas em pedaos do caminho da URL. Muito utilizado para bloquear extenses. proto: Especifica um protocolo de transferncia. proxy_auth: Somente utilizada caso esteja utilizando autenticao. Serve para especificar nomes de usurios.

Definindo ACL's
Dentro do arquivo de configurao do Squid, o squid.conf, encontra-se uma rea que ideal para declarar as ACL's, onde comeam a ser definidas, facilmente identificada. Para declarar ACL's, a sintaxe bsica: acl <nome da acl> <tipo da acl> <string>|"<endereo de arquivo>" Um exemplo prtico de ACL: acl palavra_proibida url_regex -i sexo A ACL acima bloqueia todos os sites que contenham em seu endereo a palavra "sexo".

A tag http_access
intil o uso de ACL's sem o uso da tag http_access. Esta trava ou libera o que a ACL est estipulando.
Roberto Amaral Marcelo Soares Farias

Pgina 79

03/03/2010

Universidade Tuiuti do Paran GERDS - Grupo Interdisciplinar de Redes de Computadores e Sistemas Distribudos CURSO: LPI - SERVIDORES DE REDES E GERENCIAMENTO - LINUX Exemplo: http_access deny proibido Se ns considerarmos o conjunto ACL + http_access, ficaria: acl proibido url_regex -i sexo http_access deny proibido O que o conjunto acima proibi qualquer site que possua em seu endereo a palavra "sexo".

Ordem das ACL's


1 - O Squid vai ler todas as ACL's e testar se todas as ACL's declaradas possuem uma sintaxe correta e se elas esto sendo referenciadas por algum http_access; 2 - Depois disso, se ele iniciar normalmente, ir comear a testar todas as requisies que so feitas e tentar casar as mesmas com as regras que as ACL's estipulam em conjunto com os http_access; 3 - Caso uma URL case com uma ACL, ele ignorar todas as outras ACL's para aquela requisio.

Uma outra maneira mais prtica de tentar implementar isso fazer da seguinte maneira: 1 - Coloque as ACL's que estipulam uma exceo alguma regra de bloqueio que vir seguir; 2 - Depois coloque as suas ACL's que vo bloquear sites e tudo o mais; 3 - S ento voc coloca as suas ACL's liberando o acesso.

Casos
Alguns casos e alguns modos principais para configurar o Squid.

Habilitando o Squid
Para botar o Squid para rodar, basta encontrar a linha: http_access deny all Para: http_access allow all E depois reinicie o servio: # /etc/init.d/squid restart

Restringindo o acesso ao Squid


Quando encontrar a linha http_access allow all, ela vai estar liberando acesso todos os hosts, j que a ACL "all" est especificando todos os hosts. Para arrumar isto, voc deve encontrar e comentar as linhas: acl all src 0.0.0.0/0.0.0.0

Roberto Amaral Marcelo Soares Farias

Pgina 80

03/03/2010

Universidade Tuiuti do Paran GERDS - Grupo Interdisciplinar de Redes de Computadores e Sistemas Distribudos CURSO: LPI - SERVIDORES DE REDES E GERENCIAMENTO - LINUX http_access allow all Agora crie uma nova ACL do tipo "src", especificando a rede interna: acl redeinterna src 192.168.0.0/24 Agora autorize a ACL que acabou de criar por meio de um http_access: http_access allow redeinterna Como visto acima, estamos somente permitindo o uso ao proxy pela rede interna. Agora, caso queira especificar uma range de IP's, faa assim: acl faixa_adm src 192.168.0.10-192.168.0.50 http_access allow faixa_adm

Bloqueando sites indevidos no proxy


O tipo de ACL url_regex serve para comparar termos dentro de uma URL para saber se esta palavra est ou no liberada e se os usurios vo ou no, visualizar a pgina. Utilizado para bloquear sites, Exemplo: Adicione a seguinte ACL: acl palavra url_regex -i sex Agora bloqueie o acesso com o http_access: http_access deny palavra Com este exemplo, todos os sites que possuam a palavra "sex" no sero visualizados pelos usurios. O parmetro "-i" serve para que o Squid no distingua entre maisculas ou minsculas. Porm neste momento voc deve estar pensando que no prtico definir uma ACL para cada palavra que voc deseje bloquear. E realmente no . Por isso ns vamos declarar listas inteiras de palavras negadas. Eis o exemplo: Primeiro ns vamos criar o arquivo texto que nos vai servir como lista de palavras bloqueadas e damos ela permisses de leitura: # touch /etc/squid/lists/blocked # chmod 755 /etc/squid/lists/blocked Nele insira todas as palavras proibidas. Lembre-se que voc deve adicionar uma palavra por linha. Aps isto, ns criamos a ACL da seguinte maneira: acl blocked url_regex -i "/etc/squid/lists/blocked" E bloqueamos o acesso com o http_access: http_access deny blocked Feito isto, todos os sites que contm em seu endereo palavras como "sex", "sexo", "sexologia" sero bloqueados, porm nem todos os sites que contm a palavra "sex" um site pornogrfico. Para distinguir os sites que podem ser liberados dos que no podem, crie uma outra lista para as excees como "sexologia". Vamos seguir o mesmo procedimento. Criamos uma lista tambm para as palavras no bloqueadas. # touch /etc/squid/lists/unblocked

Roberto Amaral Marcelo Soares Farias

Pgina 81

03/03/2010

Universidade Tuiuti do Paran GERDS - Grupo Interdisciplinar de Redes de Computadores e Sistemas Distribudos CURSO: LPI - SERVIDORES DE REDES E GERENCIAMENTO - LINUX # chmod 755 /etc/squid/lists/unblocked Nesta lista coloque todos os sites que so excees regra, como "www.sexologia.org", um site por linha, ou palavras somente. Depois junte as duas ACL's em um nico http_access, desta maneira: http_access deny blocked !unblocked Note a utilizao do sinal de exclamao, significando uma inverso no sentido da regra. Pronto, o procedimento est feito. Agora tudo o que voc deve fazer reiniciar o servio do Squid: # /etc/init.d/squid restart

Restringindo o horrio de acesso


Aqui o controle que pode ser criado para controle por horrio. Para fazer isto, deve ser feito o uso da ACL do tipo time. Exemplo: acl horariopermitido time MTWHF 08:00-18:00 http_access deny !horariopermitido O sinal de exclamao inverte o sentido da regra, negando o uso do proxy em todos os horrios, COM EXCESSO do horrio especificado na ACL horrio permitido. As letras "MTWHF" na frente da ACL, especificam os dias da semana conforme esta tabela: S - Sunday (Domingo), M - Monday (Segunda), T Tuesday (Tera), W - Wednesday (Quarta), H - Thursday (Quinta), F - Friday (Sexta), A - Saturday (Sbado).

O chefe...
O seu chefe adora proibir as coisas para os usurios mortais, mas ele quer ter o controle completo. Para contornar a situao, faa o seguinte: acl chefidap src 192.168.1.23 E permitir a lista de palavras negadas para ele, assim: http_access allow blocked chefidap Uma outra maneira de se fazer ambos os bloqueios definir o IP/login do seu chefe em uma ACL e na hora em que for declarar o http_access, definir acima das ACL's de bloqueio, assim: http_access allow chefidap http_access deny blocked !unblocked

S site liberado
Ao invs de especificar os sites negados, especifique o site que vai poder acessar. Primeiramente, especifique os sites que iro poder acessar: acl bancos url_regex -i "/etc/squid/lists/bancos" Adicione os endereos dos bancos na lista e especifique tambm o IP do computador do usurio: acl peao src 192.168.1.24 Ento junte os dois em um nico http_access, desta maneira: http_access deny !bancos peao
Roberto Amaral Marcelo Soares Farias 03/03/2010

Pgina 82

Universidade Tuiuti do Paran GERDS - Grupo Interdisciplinar de Redes de Computadores e Sistemas Distribudos CURSO: LPI - SERVIDORES DE REDES E GERENCIAMENTO - LINUX Interpretando a regra, fica: Vamos bloquear todos os sites, COM EXCESSO DOS SITES ESPECIFICADOS NA LISTA DE BANCOS para o IP 192.168.1.24.

Bloqueando MSN
Bem, aqui est um problema pelo qual alguns administradores possam ter dificuldades. O MSN a partir da verso 6.x (in)felizmente passou a fazer conexes utilizando tunneling por http. Ou seja: Ele se conecta pela porta 80 tambm! O bloqueio do Squid simples de ser feito, bastando adicionar o termo "gateway.dll" na sua lista de palavras negadas.

Bloqueando extenses e downloads de determinados


Voc pode bloquear extenses que os usurios baixam no computador por meio de HTTP ou de FTP e de quaisquer outros protocolos que o Squid suporte, fazendo os seguintes passos: Primeiramente, voc deve criar a velha listinha e setar as permisses corretas: # touch /etc/squid/lists/extensoes # chmod 755 /etc/squid/lists/extensoes Feito isto, deve escrever as extenses que deseja bloquear da seguinte maneira no arquivo: \.mp3$ \.wav$ \.pif$ \.bat$ NOTA: O "\" um eliminador de metacaracteres e serve para cancelar a funo do ".". J o "$" serve para que seja analizado at o final de string. Agora vamos adicionar a ACL no Squid que vai bloquear as extenses efetivamente, juntamente com o seu http_access: acl extensoes urlpath_regex -i "/etc/squid/lists/extensoes" http_access deny extensoes Note que ao invs do url_regex, eu utilizei o urlpath_regex.

Segurana em um servidor Squid


Todo servidor, independente de plataforma ou servio que executa, precisa de certas configuraes de segurana, para no sofrer ataques. Os principais erros de segurana na configurao do Squid:

Erro I: Definio de relay do servidor Squid


Assim como a maioria dos servidores, o Squid tambm possui suas configuraes de relay. Entenda por relay o "lado para qual o servidor est rodando, se para a internet ou para a rede interna". Claro que

Roberto Amaral Marcelo Soares Farias

Pgina 83

03/03/2010

Universidade Tuiuti do Paran GERDS - Grupo Interdisciplinar de Redes de Computadores e Sistemas Distribudos CURSO: LPI - SERVIDORES DE REDES E GERENCIAMENTO - LINUX interessante que monte um servidor para a sua rede interna. Sendo assim, deveria se preocupar com o relay do servidor Squid, pois geralmente os usurios costumam disfarar seus IP's utilizando servidores proxy abertos pela Internet, prtica conhecida como IP Spoofing. Voc pode detectar se existe algum utilizando o seu proxy de duas maneiras: A primeira deixar o seu servidor rodando e tirar o log de 1 dia.. Com certeza algo aparecer, seja um endereo IP que no da rede interna ou um endereo de host totalmente nada a ver. A segunda monitorar a aes do seu proxy com o "tail", em tempo real. Por outro lado, temos tambm duas maneiras de resolver este problema.

1 Maneira: http_port
Voc pode editar esta tag para que o Squid s escute requisies vindas da rede interna, desta maneira: Troque o valor-padro da tag: http_port 3128 Para: http_port 192.168.1.1:3128 Se voc resolver por aqui, o seu problema com relay morreu. Eu prefiro esta maneira por ser mais prtica e por no ter que ficar mexendo com ACL's e se algum dia um abelhudo passar um portscanner na sua mquina, como o nmap, ele no ir apresentar o servio Squid rodando.

2 Maneira: acl all src 192.168.0.0/24


Voc pode permitir o http_port como mencionado acima, mas dever definir a sua rede interna quando for utilizar as suas ACL's, desta maneira: Troque a ACL all de: acl all src 0.0.0.0/0 Para: acl all src 192.168.0.0/24 (O Squid somente ir permitir conexes vindas da rede interna.)

Erro II: http_access deny all


Coloque esta linha no final das declaraes das suas ACL's. O motivo disto que se o Squid no encontra uma ocasio pela qual encaixar uma ACL, ele simplesmente libera a sua utilizao.

Erro III: Usurios


Geralmente usurios removem as configuraes de proxy do navegador para navegarem sem restries e somente pelo NAT ou procuram por proxies abertos na Internet e configuram os navegadores para utilizarem estes endereos ou ainda vo em pginas como o "anonymizer" ou similares e navegam por l. Por isto, importante bloquear de tais pginas.

Roberto Amaral Marcelo Soares Farias

Pgina 84

03/03/2010

Universidade Tuiuti do Paran GERDS - Grupo Interdisciplinar de Redes de Computadores e Sistemas Distribudos CURSO: LPI - SERVIDORES DE REDES E GERENCIAMENTO - LINUX

Erro IV - Proxy Transparente sem ser no gateway da rede


Tambm comum receber e-mails de pessoas perguntando como fazer isso. No uma idia muito segura, a menos que voc possua uma DMZ. Isso porque os usurios podem alterar as configuraes de rede e fazer com que o gateway da rede aponte para o roteador final, fazendo um caminho alternativo para os pacotes e fazendo com que os mesmos no passem pelo servidor Squid.

Criando um script de relatrio simples


Para a criao de um shell-script que gere o relatrio que pegue as ltimas requisies negadas pelo proxy, devemos criar um arquivo em branco:# touch /usr/bin/squidreport Com o contedo abaixo: #!/bin/bash cat /var/log/squid.log | grep DENIED | tail -n 60 | mail root Mude as permisses do arquivo para: # chmod 700 relatoriosquid.sh E agende o relatrio para ser gerado dentro do CRON, com a seguinte linha: # crontab -e 30 21 * * * squidreport

Pronto! Todos os dias s nove e meia da noite, ser gerado o relatrio de acessos negados pelo Squid e eles vo estar dentro da caixa de e-mails do administrador do sistema.

NFS
O que NFS?
O Network File System (NFS) foi desenvolvido para permitir que se possam montar parties ou diretrios remotos como se fosse um disco local, garantindo especificar diferentes permisses de acesso a cada cliente de acesso ao compartilhamento.

Servidor
Instalao # apt-get install nfs-user-server nfs-common statd portmap

Configurando o Servidor NFS


Para comear a configurar o servio, deve entrar no sistema como root e criar um diretrio /Compartilhado, como default desse documento, ou se preferir escolha outro local ou outro nome de diretrio a ser compartilhado. Editar o arquivo /etc/exports para definir a pasta a ser compartilhada e permisses de acesso. A linha abaixo, por exemplo, d acesso diretrio "Compartilhado" para o IP 192.168.0.2 com direitos de leitura, escrita e execuo. /Compartilhado 192.168.0.2/255.255.255.0(rw,no_root_squash,sync)

Roberto Amaral Marcelo Soares Farias

Pgina 85

03/03/2010

Universidade Tuiuti do Paran GERDS - Grupo Interdisciplinar de Redes de Computadores e Sistemas Distribudos CURSO: LPI - SERVIDORES DE REDES E GERENCIAMENTO - LINUX

Onde: rw (escrita e leitura), no_root_squash (privilgios de superusurio), sync (no permite que o servidor responda a pedidos antes que as alteraes feitas pelo pedido sejam salvas no disco.) O padro de construo da linha de permisses de acesso ao compartilhamento, est abaixo: Diretrio host1(opo11, opo12) host2(opo21, opo22) Diretrio: Diretrio a ser compartilhado (ex. /home/fabio/). HostN: IP do pc cliente do compartilhamento. OpoXY: Permisses de acesso ao compartilhamento Editar o arquivo /etc/hosts.deny para definir a segurana do compartilhamento. nserir as seguintes linhas: portmap: ALL lockd: ALL mountd: ALL rquotad: ALL Editar o arquivo /etc/hosts.allow para definir o IP ou faixa de IPs que podero "concorrer" aos compartilhamentos, ou seja, especifica quem ter acesso a cada servio. Inserir as seguintes linhas para permitir que toda a rede 192.168.0.0/24 tenha direito servios especificados. portmap: 192.168.0.0/24 lockd: 192.168.0.0/24 rquotad: 192.168.0.0/24 mountd: 192.168.0.0/24 statd: 192.168.0.0/24 No exemplo especificado uma faixa de IPs, mas pode definir os hosts separadamente dentro do padro abaixo: servio: host1, host2, host3, hostX Executar os seguintes comandos: /etc/init.d/portmap restart /etc/init.d/nfs-user-server restart /etc/init.d/nfs-common restart rpc.montd rpc.nfsd rpc.statd rpc.lockd

Roberto Amaral Marcelo Soares Farias

Pgina 86

03/03/2010

Universidade Tuiuti do Paran GERDS - Grupo Interdisciplinar de Redes de Computadores e Sistemas Distribudos CURSO: LPI - SERVIDORES DE REDES E GERENCIAMENTO - LINUX

Cliente Instalao
# apt-get install nfs-common statd portmap

Editar o arquivo /etc/hosts.deny para definir a segurana do compartilhamento. Inserir as seguintes linhas: portmap: ALL lockd: ALL mountd: ALL rquotad: ALL Executar os seguintes comandos: /etc/init.d/portmap restart rpc.statd rpc.lockd mount -t nfs 192.168.1.115(end do servidor):/Compartilhado /diretorio/local Se voc acha muito incmodo ter que repetir essa linha de comando enorme, adicione essa linha ao fstab: : /Compartilhado /diretorio/local nfs defaults,noauto 0 0 Feito isso a montagem fica bem mais simples, basta digitar: # mount /diretorio/local

Ssh
O SSH permite administrar mquinas remotamente, permite transferir arquivos de vrias formas diferentes e, como se no bastasse, permite tambm encapsular outros protocolos. A grande vantagem do SSH sobre outras ferramentas de acesso remoto a grande nfase na segurana. Um servidor SSH bem configurado virtualmente impenetrvel. O SSH dividido em dois mdulos. O sshd o mdulo servidor, um servio que fica residente na mquina que ser acessada, enquanto o ssh o mdulo cliente, um utilitrio que voc utiliza para acess-lo. No Debian, ambos so instalados atravs do pacote "ssh".

Instalao
O padro do Debian j trazer o ssh instalado. Caso seja necessrio instalar, use:#apt-get install ssh Iniciando o servidor ssh. Com o pacote instalado, voc inicia o servidor usando o comando:/etc/init.d/ssh start Para que ele seja inicializado durante o boot, use o comando: update-rc.d -f ssh defaults A configurao do servidor, vai no arquivo /etc/ssh/sshd_config, enquanto a configurao do cliente vai no /etc/ssh/ssh_config. Note que muda apenas um "d" entre os dois. No Debian o servidor s funcionar se o arquivo sshd_not_to_be_run, presente em /etc/ssh for renomeado ou excludo. Renomeando o arquivo: mv /etc/ssh/sshd_not_to_be_run /etc/sshd_not_to_be_run.old
Roberto Amaral Marcelo Soares Farias

Pgina 87

03/03/2010

Universidade Tuiuti do Paran GERDS - Grupo Interdisciplinar de Redes de Computadores e Sistemas Distribudos CURSO: LPI - SERVIDORES DE REDES E GERENCIAMENTO - LINUX

Configurao do servidor
O SSH tem dois protocolos de autenticao: protocolo SSH verso 1: mtodos de autenticao disponveis: * RSAAuthentication: autenticao de usurio baseado em chave de identidadeRSA * RhostsAuthentication: autenticao de mquina baseado em .rhosts (inseguro, desabilitado) * RhostsRSAAuthentication: autenticao .rhosts combinada com chave de mquina RSA * ChallengeResponseAuthentication: autenticao pergunta-resposta RSA * PasswordAuthentication: autenticao baseada em senha protocolo SSH verso 2: mtodos de autenticao disponveis: * PubkeyAuthentication: autenticao de usurio baseado em chave pblica * HostbasedAuthentication: autenticao .rhosts ou /etc/hosts.equiv combinado com autenticao de chave pblica de mquina cliente (desabilitado) * ChallengeResponseAuthentication: autenticao pergunta-resposta * PasswordAuthentication: autenticao baseada em senha Voc pode configurar vrias opes relacionadas ao servidor SSH, incluindo a porta TCP a ser usada editando o arquivo "/etc/ssh/sshd_config". A maior parte das opes dentro do arquivo podem ser omitidas, pois o servidor simplesmente utiliza valores padro para as opes que no constarem no arquivo. - Porta: Uma das primeiras linhas a: Port 22 Esta a porta que ser usada pelo servidor SSH. O padro usar a porta 22. Ao mudar a porta do servidor aqui, voc dever usar a opo "-p" ao conectar a partir dos clientes, para indicar a porta usada, como em: # ssh -p 2222 usuario@IP.DO.SERVIDOR.SSH Outra opo editar o arquivo "/etc/ssh/ssh_config" (nos clientes) e alterar a porta padro. Mudar a porta padro do SSH uma boa idia se voc est preocupado com a segurana. Muitos dos ataques "casuais", quando no existe um alvo definido, comeam com um portscan genrico, feito em faixas inteiras de endereos IP, mas apenas em algumas portas conhecidas, como a 21, 22 e 80. A partir da, os ataques vo sendo refinados e direcionados apenas para os servidores vulnerveis encontrados na primeira varredura. Colocar seu servidor numa porta mais escondida, j dificulta um pouco as coisas. Controle de acesso: Logo abaixo vem a opo "ListenAddress", que permite limitar o SSH a uma nica placa de rede (mesmo sem usar firewall), em casos de micros com duas ou mais placas. O tpico caso onde voc quer que o SSH fique acessvel apenas na rede local, mas no na internet, por exemplo. Digamos que o

Roberto Amaral Marcelo Soares Farias

Pgina 88

03/03/2010

Universidade Tuiuti do Paran GERDS - Grupo Interdisciplinar de Redes de Computadores e Sistemas Distribudos CURSO: LPI - SERVIDORES DE REDES E GERENCIAMENTO - LINUX servidor use o endereo "192.168.0.1" na rede local e voc quer que o servidor SSH no fique disponvel na Internet. adicionaria a linha: ListenAddress 192.168.0.1 Note que especificamos nesta opo o prprio IP do servidor na interface escolhida, no a faixa de IP's da rede local ou os endereos que tero acesso a ele. Protocolo: Atualmente utilizamos o SSH 2, mas ainda existem alguns poucos clientes que utilizam a primeira verso do protocolo. Por padro, o servidor SSH aceita conexes de clientes que utilizam qualquer um dos dois protocolos, o que indicado na linha: Protocol 2,1 O protocolo SSH 1 tem alguns problemas fundamentais de segurana, por isso alguns administradores preferem desabilitar a compatibilidade com ele, aceitando apenas clientes que usam o SSH 2. Neste caso, a linha fica apenas "Protocol 2" - Usurios e senhas: Outra opo interessante, logo abaixo a: PermitRootLogin yes Esta opo determina se o servidor aceitar que usurios se loguem como root. Do ponto de vista da segurana, melhor deixar esta opo como "no", pois assim o usurio precisar primeiro se logar usando um login normal e depois virar root usando o "su" ou "su -". Por padro, o SSH permite que qualquer usurio cadastrado no sistema logue-se remotamente, mas voc pode refinar isso atravs da opo "AllowUsers", que especifica uma lista de usurios que podem usar o SSH. Quem no estiver na lista, continua usando o sistema localmente, mas no consegue se logar via SSH. Isso evita que contas com senhas fracas, usadas por usurios que no tem necessidade de acessar o servidor remotamente coloquem a segurana do sistema em risco. Para permitir que apenas os usurios tico e teco possam usar o SSH, adicione a linha: AllowUsers tico teco. Voc pode ainda inverter a lgica, usando a opo "DenyUsers". Neste caso, todos os usurios cadastrados no sistema podem fazer login, com exceo dos especificados na linha, como em: DenyUsers joaquim ricardao Outra opo relacionada segurana a: PermitEmptyPasswords no Esta opo faz com que qualquer conta sem senha fique automaticamente desativada no SSH, evitando que algum consiga se conectar ao servidor "por acaso" ao descobrir a conta desprotegida. Lembre-se que a senha justamente o ponto fraco do SSH. De nada adianta usar 2048 bits de encriptao se o usurio escreve a senha num post-it colado no monitor, ou deixa a senha em branco. - Banner: Alguns servidores exibem mensagens de advertncia antes do prompt de login, avisando que todas as tentativas de acesso esto sendo monitoradas ou coisas do gnero. A mensagem especificada atravs da opo "Banner", onde voc indica um arquivo de texto com o contedo a ser mostrado, como em:

Roberto Amaral Marcelo Soares Farias

Pgina 89

03/03/2010

Universidade Tuiuti do Paran GERDS - Grupo Interdisciplinar de Redes de Computadores e Sistemas Distribudos CURSO: LPI - SERVIDORES DE REDES E GERENCIAMENTO - LINUX Banner = /etc/ssh/banner.txt - X11 Forwarding: Um pouco depois temos a opo: X11Forwarding yes Esta opo determina se o servidor permitir que os clientes executem aplicativos grficos remotamente. Se o servidor ser acessado via internet ou se possui um link lento, voc pode deixar esta opo como "no" para economizar banda. Desta forma, os clientes podero executar apenas comandos e aplicativos de modo texto. - Mdulos: O SSH inclui um mdulo de transferncia de arquivos (o SFTP). Ele ativado atravs da linha: Subsystem sftp /usr/lib/sftp-server realmente necessrio que esta linha esteja presente para que o SFTP funcione. Comente esta linha apenas se voc realmente quiser desativ-lo. Para que as alteraes entrem em vigor, reinicie o servidor SSH: # /etc/init.d/ssh restart

Transferindo arquivos
Alm de permitir rodar aplicativos e fazer toda a administrao de um servidor remotamente, o ssh tambm pode ser usado para transferir arquivos. Uma forma primitiva de transferir arquivos via SSH usar o "scp", que permite especificar numa nica linha o login e endereo do servidor, junto com o arquivo que ser transferido. Graas a isso, ele muito usado em scripts. A sintaxe do scp : scp arquivo_local login@servidor:pasta_remota como em: $ scp /home/arquivo.tar usuario@empresa.com.br:/var/www/download Voc pode adicionar tambm as opes "-p" (que preserva as permisses de acesso alm das datas de criao e modificao do arquivo original), "-r" (que permite copiar pastas, recursivamente), "-v" (verbose, onde so mostradas todas as mensagens) e "-C" (que ativa a compresso dos dados, ajuda muito na hora de transferir grandes arquivos via internet). Neste caso o comando ficaria: $ scp -prvC /home/arquivo.tar usuario@empresa.com.br:/var/www/download Ao incluir a opo "-r", voc pode especificar diretamente uma pasta no primeiro parmetro.

Roberto Amaral Marcelo Soares Farias

Pgina 90

03/03/2010

Universidade Tuiuti do Paran GERDS - Grupo Interdisciplinar de Redes de Computadores e Sistemas Distribudos CURSO: LPI - SERVIDORES DE REDES E GERENCIAMENTO - LINUX

Outra forma mais bsica de fazer isso usar o sftp, um comando que faz parte do pacote padro. Ele oferece uma interface similar dos antigos programas de FTP de modo texto, mas todos os arquivos transferidos atravs dele trafegam atravs de um tnel encriptado, criado atravs do SSH. Na prtica, temos uma espcie de VPN temporria, criada no momento em que efetuada a conexo. A melhor parte que o prprio SSH cuida de tudo, no necessrio instalar nenhum programa adicional. Para se conectar a um servidor usando o sftp, o comando : $ sftp usuario@IP.DO.SERVIDOR.SSH Se o servidor ssh na outra ponta estiver configurado para escutar numa porta diferente da 22, preciso indicar a porta no comando, incluindo o parmetro -o port=, como em: $ sftp -o port=22 usuario@IP.DO.SERVIDOR.SSH A partir da voc tem um prompt do sftp. Use o comando "put" para dar upload de um arquivo e "get" para baixar um arquivo do servidor para a pasta local. Para navegar entre as pastas do servidor, use os comandos "cd pasta/" (para acessar a pasta), "cd .." (para subir um diretrio), "ls" (para listar os arquivos) e "pwd" (para ver em qual diretrio est). Exemplo: user@athenas:~$ sftp -o port=2222 usuario@IP.DO.SERVIDOR.SSH Connecting to XX.XX.XX.XX... Password: sftp> ls Desktop Meu Computador OpenOffice.org1.1.1a bkp060901 sftp> get bkp060901 Fetching /home/user/bkp060901 to bkp060901 /home/user/bkp060901 100% 825KB 825.1KB/s 00:01 sftp> put RealPlayer10GOLD.bin Uploading RealPlayer10GOLD.bin to /home/user/RealPlayer10GOLD.bin RealPlayer10GOLD.bin 100% 6726KB 3.3MB/s 00:02 sftp> pwd Remote working directory: /home/user Existem ainda os comandos: lcd lls lmkdir lpwd #(local cd) #(local ls) #(local mkdir) #(local pwd)

Por exemplo, digamos que voc est atualmente no diretrio /mnt/arquivos. Ao abrir a conexo via sftp, tudo que voc baixar ser colocado automaticamente neste diretrio. Mas, digamos que voc queira baixar um determinado arquivo para o diretrio /home/tico. Voc usaria ento o comando lcd /home/tico
Roberto Amaral Marcelo Soares Farias

Pgina 91

03/03/2010

Universidade Tuiuti do Paran GERDS - Grupo Interdisciplinar de Redes de Computadores e Sistemas Distribudos CURSO: LPI - SERVIDORES DE REDES E GERENCIAMENTO - LINUX

para mudar o diretrio local e depois o get arquivo para baix-lo j na pasta correta. Na hora de dar upload de um arquivo a mesma coisa. Voc pode usar o "lpwd" para listar os arquivos no diretrio local e depois o "put arquivo" para dar upload.

Telnet
O servio telnet oferece o login remoto em seu computador, que permite trabalhar conectado a distncia como se estivesse em frente a ele. Ele substitui o rlogin e possui muitas melhorias em relao a ele, como o controle de acesso, personalizao de seo e controle de terminal. Atualmente possui tanto a verso original (insegura), quanto uma verso mais segura com suporte a ssl. Pacotes: telnet Cliente telnet com suporte a autenticao. telnetd Servidor telnet com suporte a autenticao. telnet-ssl Cliente telnet com suporte a autenticao e ssl. Tambm suporta conexo a servidores telnet padro quando o servidor no suporta ssl. Por padro tentada a conexo usando ssl, se esta falhar ser assumida a transmisso em texto plano. Telnetd-ssl Servidor telnet com suporte a autenticao e ssl. Tambm suporta conexo de clientes telnet padro (sem suporte a ssl). Utilitrios: in.telnetd Servidor telnet telnet Cliente telnet padro (quando o pacote telnetssl est instalado, simplesmente um link para telnetssl). telnet-ssl Cliente telnet com suporte a ssl. Instalao apt-get install telnet telnetd ou apt-get install telnet-ssl telnetd-ssl Os pacotes com o ssl no final possuem suporte a criptografia ssl. Por padro a porta usada para executar o servio telnet a 23 (ou outro nmero de porta definido no /etc/services). A instalao do servidor telnet feita via inetd (no arquivo /etc/inetd.conf) e o controle de acesso ao servio feito atravs dos arquivos /etc/hosts.allow e /etc/hosts.deny. O servidor tem o nome in.telnetd e este dever ser usado para ajustar o controle de acesso nos arquivos acima.

Roberto Amaral Marcelo Soares Farias

Pgina 92

03/03/2010

Universidade Tuiuti do Paran GERDS - Grupo Interdisciplinar de Redes de Computadores e Sistemas Distribudos CURSO: LPI - SERVIDORES DE REDES E GERENCIAMENTO - LINUX

Iniciando o servidor/reiniciando/recarregando a configurao


O arquivo que controla o funcionamento do servidor telnet o /etc/inetd.conf e o controle de acesso sendo feito pelos arquivos /etc/hosts.allow e /etc/hosts.deny. Ser necessrio reiniciar o servidor inetd caso algum destes trs arquivos seja modificado: killall HUP inetd A porta de operao padro a 23 e pode ser modificada no arquivo /etc/services. Opes de linha de comando do servidor telnetd: -D nvel_de_depurao Permite especificar o que ser registrado pelo servidor durante a conexo dos clientes telnet. As seguintes opes so suportadas: options Mostra detalhes sobre a negociao das opes de conexo. report Mostra detalhe de opes e o que est sendo feito. netdata Mostra os dados transferidos na conexo telnetd. ptydata Mostra os dados mostrados na pty. -edebug Ativa a depurao do cdigo de criptografia apenas para o servidor telnet com suporte a ssl. -h Somente mostra os detalhes de configurao do seu PC aps o usurio fornecer um nome/senha vlidos. -L [programa] Utiliza o programa especificado para fazer o login do usurio (/usr/sbin/telnetlogin o padro). -n No envia pacotes keep alive para verificar o estado da conexo. Desativando esta opo poder fazer o servidor ficar rodando constantemente caso acontea algum problema e o usurio no consiga se desconectar normalmente. -S TOS Ajusta o tipo de servio usado na conexo para o valor especificado. Estas opes devero ser especificadas aps o servidor in.telnetd no arquivo /etc/inetd.conf. Fazendo conexes ao servidor telnet Use o comando: telnet [endereo] [porta] para realizar conexes com uma mquina rodando o servidor telnet. Adicionalmente as seguintes opes podem ser usadas: -l [usuario] Envia o nome de usurio ao computador remoto. Muito til com o telnetssl. -E Desativa o caracter de escape

Roberto Amaral Marcelo Soares Farias

Pgina 93

03/03/2010

Universidade Tuiuti do Paran GERDS - Grupo Interdisciplinar de Redes de Computadores e Sistemas Distribudos CURSO: LPI - SERVIDORES DE REDES E GERENCIAMENTO - LINUX -a Tenta fazer o login automtico usando o nome de usurio local. Se o login falhar, ser solicitado o nome de usurio. Esta opo usada por padro com o cliente telnetssl. -r Emula o comportamento do programa rlogin. Exemplo: # Conecta-se ao servidor telnet rodando na porta 23 de sua prpria mquina telnet localhost # Conecta-se ao servidor telnet 200.200.200.200 operando na porta 53454 usando o # nome de usurio john telnet l john 200.200.200.200 53454

Roberto Amaral Marcelo Soares Farias

Pgina 94

03/03/2010

Universidade Tuiuti do Paran GERDS - Grupo Interdisciplinar de Redes de Computadores e Sistemas Distribudos CURSO: LPI - SERVIDORES DE REDES E GERENCIAMENTO - LINUX

Instalao de Servidor de e-mail (usando post-fix) # apt-get install postfix # apt-get install postfix-ldap # apt-get install postfix-mysql # apt-get install postfix-pgsql
Passos de Configurao: I. A primeira pergunta sobre a funo do servidor de e-mails. a. "Internet Site", cria um servidor que envia e recebe os e-mails diretamente. b. "with smarthost", servidor recebe mensagens, mas o envio fica a cargo de outra mquina. c. "Satellite system", servidor envia atravs de outra mquina e no recebe mensagens. d. "Local only" usada apenas em redes de terminais leves,permite apenas que os usurios logados no servidor troquem e-mails entre si. II. Defina a conta do Administrador do Sistema de e-mail III. Insira o Domno Registrado (neste caso use gerds+bancada.utp.br) IV. Definir os destinos que sero aceitos pelo servidor, ou seja, os endereos que colocados no destinatrio da mensagem fazem ele entender que o e-mail para ele. Use o nome da mquina, o domnio registrado, "localhost.localdomain" e "localhost", todos separados por vrgula e espao. V. A opo "synchronous updates" permite desativar as otimizaes no envio das mensagens, fazendo com que os e-mails sejam enviados conforme so recebidos e em ordem. Depois de concluda a instalao, o servidor j estar iniciado e configurado para subir automaticamente durante o boot. Testando:

$ telnet seuip 25 Trying seuip Connected to seuip Escape character is '^]'. 220 debian ESMTP Postfix (Debian/GNU) HELO smtp.eu.com 250 debian MAIL From: eu@eu-mesmo.com 250 Ok RCPT to: joao@localhost 250 Ok DATA 354 End data with <CR><LF>.<CR><LF> Vai ver se estou na esquina! . 250 Ok: queued as 8CEDB2215 QUIT 221 Bye Connection closed by foreign host.

Roberto Amaral Marcelo Soares Farias

Pgina 95

03/03/2010

Universidade Tuiuti do Paran GERDS - Grupo Interdisciplinar de Redes de Computadores e Sistemas Distribudos CURSO: LPI - SERVIDORES DE REDES E GERENCIAMENTO - LINUX Instalando um Cliente em modo texto apt-get install mutt Instalando suportes

Existem vrios servidores pop3, como o Cyrus e o Courier. O Courier o mais usado, pois inclui vrios componentes adicionais. Ele , na verdade, uma sute, que inclui at mesmo um webmail. # apt-get install courier-pop # apt-get install courier-pop-ssl # apt-get install courier-imap # apt-get install courier-imap-ssl
Cadastro de Usurio # adduser usuario Configurando o /etc/postfix/main.cf

# /etc/postfix/main.cf myhostname = gerds(+bancada).utp.br mydomain = gerds.utp.br append_dot_mydomain = no alias_maps = hash:/etc/aliases alias_database = hash:/etc/aliases myorigin = /etc/mailname mydestination = etch.gerds.utp.br, gerds.utp.br, localhost relayhost = mynetworks = 10.10.10.0/24 home_mailbox = Maildir/ mailbox_command = recipient_delimiter = + inet_interfaces = all inet_protocols = all message_size_limit = 20000000 mailbox_size_limit = 0

Roberto Amaral Marcelo Soares Farias

Pgina 96

03/03/2010

Universidade Tuiuti do Paran GERDS - Grupo Interdisciplinar de Redes de Computadores e Sistemas Distribudos CURSO: LPI - SERVIDORES DE REDES E GERENCIAMENTO - LINUX

Universidade Tuiuti do Paran UTP

Faculdade de Cincias Exatas e de Tecnologia


Cursos de Computao

Grupo de Estudos de Redes de Computadores e Sistemas Distribudos

AULA PRTICA

Professores: Marcelo Soares Farias Roberto Nia Amaral

Roberto Amaral Marcelo Soares Farias

Pgina 97

03/03/2010

Universidade Tuiuti do Paran GERDS - Grupo Interdisciplinar de Redes de Computadores e Sistemas Distribudos CURSO: LPI - SERVIDORES DE REDES E GERENCIAMENTO - LINUX

Curitiba, 2008

HTTPD - Servidor Web Apache2 Instalao


O servidor web Apache2 est disponvel no Ubuntu Linux. Para instalar o Apache2: # sudo apt-get install apache2#

Configurao
sudo cp /etc/apache2/sites-available/default
Campos: ServerAdmin especifica o endereo de email a ser anunciado. Listen especifica a porta, e opcionalmente o endereo IP, na qual o Apache2 ir escutar. ServerName especifica qual a FQDN seu site dever responder. DocumentRoot especifica o local do s arquivos padro que formam o site. Configurao Padro Esta seo explica a configurao das definies padro do servidor Apache2. DirectoryIndex a pgina padro do servidor quando o usurio requisita um ndice de um diretrio. ErrorDocument permite que especifique um arquivo para o Apache usar para um evento especfico de erro. ExecCGI - Permite execuo de scripts CGI.

Includes - Permite incluses no lado do servidor, permitindo que um arquivo HTML inclua outros arquivos. IncludesNOEXEC - Permite includes, mais desabilita o comandos #exec e #include nos scripts CGI Indexes - Mostra uma lista formatada dos contedos dos diretrios. Multiview - Suporta multi-vises negociadas pelo contedo; esta opo desabilitada por segurana. SymLinksIfOwnerMatch - Segue os links simblicos caso o arquivo seja do mesmo dono que o link.

Roberto Amaral Marcelo Soares Farias

Pgina 98

03/03/2010

Universidade Tuiuti do Paran GERDS - Grupo Interdisciplinar de Redes de Computadores e Sistemas Distribudos CURSO: LPI - SERVIDORES DE REDES E GERENCIAMENTO - LINUX

Squid
Instalando via APT
# apt-get install squid

O arquivo squid.conf
Antes de mexer no arquivo faa um backup do arquivo original: /etc/squid/squid.conf.defaults Algumas das tags mais importantes
Um proxy que apenas sejam configuradas estas tags ainda no um proxy funcional.

# cp /etc/squid/squid.conf

http_port Padro: http_port 3128 - Define a porta em que o servio Squid ir escutar por requisies. cache_mem Padro: 8M - Quantidade de memria utilizada para cache e objetos em trnsito. cache_dir Padro: cache_dir ufs /var/spool/squid 100 16 256
cache_dir - Nome da tag; ufs - a forma de armazenamento de cache. /var/spool/squid - Diretrio onde o cache do Squid ficar; 100 - Espao em disco que o cache do Squid poder ocupar, contado em MB; 16 - Quantidade de diretrios que o cache do Squid possuir; 256 - Quantidade de subdiretrios que o cache do Squid possuir;

cache_access_log
Padro: cache_access_log /var/log/squid/access.log - Define o arquivo de log de acessos do Squid

cache_mgr
Padro: cache_mgr email - Este parmetro tem a finalidade de especificar o e-mail do administrador do proxy.

cache_effective_user
Padro: cache_effective_user squid - Informa ao Squid com qual nome de usurio ele deve rodar.

cache_effective_group
Padro: cache_effective_group squid - Tem a mesma funo da tag acima, mas trabalhar com com o grupo.

visible_hostname
Padro: visible_hostname none - Define o hostname que fica visvel nas mensagens de erro do Squid apresentadas para os clientes e,caso no seja setada, o Squid no starta. Por isso coloque alguma coisa parecida com isto: visible_hostname squid.seudominio.com.br

Roberto Amaral Marcelo Soares Farias

Pgina 99

03/03/2010

Universidade Tuiuti do Paran GERDS - Grupo Interdisciplinar de Redes de Computadores e Sistemas Distribudos CURSO: LPI - SERVIDORES DE REDES E GERENCIAMENTO - LINUX

Access Control Lists (ACL's)


Uma ACL nada mais do que a ferramenta que o Squid utiliza para especificar quem pode quem no pode, o qu pode e o que no pode.

Tipos de ACL's
Src : Endereo IP de origem. Especifica um determinado host ou uma determinada rede de origem. Dst : Endereo IP de destino. Especifica um determinado host ou uma determinada rede de destino. Dstdomain : Domnio de destino. Restringe o acesso ou para identificar um domnio de destino. time : Hora e dia da semana. Especifica um determinado horrio. Port : Nmero da porta de destino, usado para especificar acesso determinada porta de um servidor. url_regex : Compara uma string uma URL inteira. Muito utilizado para fazer o bloqueio de sites indevidos. urlpath_regex : Tem uma funo semelhante anterior, porm procura apenas em pedaos do caminho da URL. Muito utilizado para bloquear extenses. proto: Especifica um protocolo de transferncia. proxy_auth: Somente utilizada caso esteja utilizando autenticao. Serve para especificar nomes de usurios.

Definindo ACL's
Em squid.conf, declarar ACL's, a sintaxe bsica: acl <nome da acl> <tipo da acl> <string>|"<endereo de arquivo>" Um exemplo prtico de ACL: acl palavra_proibida url_regex -i sexo

A tag http_access
intil o uso de ACL's sem o uso da tag http_access. Esta trava ou libera o que a ACL est estipulando. Exemplo: http_access Exemplo: acl proibido url_regex -i sexo http_access deny proibido

deny proibido

Ordem das ACL's


1 - O Squid vai ler todas as ACL's e testar se possuem uma sintaxe correta; 2 - Testa todas as requisies que so feitas e casa com as regras; 3 - Caso uma URL case com uma ACL, ele ignorar todas as outras ACL's para aquela requisio. Uma outra maneira mais prtica de tentar implementar isso fazer da seguinte maneira: 1 - Coloque as ACL's que estipulam uma exceo alguma regra de bloqueio que vir seguir; 2 - Depois coloque as suas ACL's que vo bloquear sites e tudo o mais; 3 - S ento voc coloca as suas ACL's liberando o acesso.

Habilitando o Squid
Para botar o Squid para rodar, basta encontrar a linha: http_access deny all Para: http_access allow all / E depois reinicie o servio: # /etc/init.d/squid restart

netfilter
As tabelas do iptables so: filter: a tabela padro, sobre a qual podemos nos referir a trs correntes de regras, ou chains:

Roberto Amaral Marcelo Soares Farias

Pgina 100

03/03/2010

Universidade Tuiuti do Paran GERDS - Grupo Interdisciplinar de Redes de Computadores e Sistemas Distribudos CURSO: LPI - SERVIDORES DE REDES E GERENCIAMENTO - LINUX INPUT, pacotes que entram na interface; OUTPUT, pacotes que saem da interface FORWARD, pacotes que esto sendo roteados de uma interface para outra; nat: esta tabela se refere ao uso do recurso de Network Address Translation ou NAT, na qual podemos nos referir aos chains: PREROUTING, pacotes que sero alterados antes de roteamento; OUTPUT, pacotes locais que sero alterados antes do roteamento e POSTROUTING, pacotes que sero alterados aps a aplicao das regras de roteamento; mangle: usada para alteraes especiais no pacote, PREROUTING, para alterao antes do roteamento e OUTPUT, pacotes locais que sero alterados antes do roteamento. Dentre as aes que so feitas sobre os pacotes que atendem a um determinado chain em uma dada tabela: ACCEPT: aceita o pacote; DROP: rejeita o pacote; MASQUERADE: atua somente sobre a tabela nat e indica que ser efetuado a converso de endereos ou NAT, conforme indicado no comando.

Compartilhando Conexo com IPTABLE


modprobe iptable_nat iptables -t nat -A POSTROUTING -o INTERFACE -j MASQUERADE echo 1 > /proc/sys/net/ipv4/ip_forward

MRTG
MRTG coleta informaes em base de script para criar relatrios que podem ser visualizados o estado de um roteador, servidor ou link em determinados tempos. Servidor (script Monitorao HD)
#chmod +x /etc/mrtg/mrtg-hd.sh if [ -e $1 ] then printf "parametro ausente\n" else total=`df | grep $1 | awk '{print $2}' 2>> /dev/null` livre=`df | grep $1 | awk '{print $3}' 2>> /dev/null` ocupado=`df | grep $1 | awk '{print $4}' 2>> /dev/null` percent_oc=$(($ocupado * 100 / $total)) percent_li=$((100 - $percent_oc)) echo "$percent_oc" echo "$percent_li" fi }'

Servidor (script Monitor HD e Memria)


#chmod +x /etc/mrtg/mrtg-cpu.sh unset LANG mem=$(/usr/bin/free|grep ^-) load=$(cat /proc/loadavg) awk -v load="$load" -v mem="$mem" ' BEGIN { split(load,loadstats) print int(100*loadstats[2]) split(mem,memstats); print int(100*memstats[3]/(memstats[3]+\ memstats[4]));

Roberto Amaral Marcelo Soares Farias

Pgina 101

03/03/2010

Universidade Tuiuti do Paran GERDS - Grupo Interdisciplinar de Redes de Computadores e Sistemas Distribudos CURSO: LPI - SERVIDORES DE REDES E GERENCIAMENTO - LINUX

Servidor (script) Configurao do mrtg.cfg


WorkDir: /usr/local/apache/htdocs/mrtg/ Language: brazilian RunAsDaemon: yes Interval: 5 Target[hdboot]:`/etc/mrtg/mrtg-hd.sh hdb1 2>> /dev/null` Title[hdboot]:"Uso do HD do Sistema" PageTop[hdboot]:<h1>Uso do HD do Sistema</h1> Options[hdboot]: growright,noinfo,gauge YLegend[hdboot]: Percentual ShortLegend[hdboot]: % MaxBytes[hdboot]: 100 Legend1[hdboot]: espaco livre Legend2[hdboot]: espaco ocupado LegendI[hdboot]: Livre LegendO[hdboot]: Ocupado Target[eth0]: `/etc/mrtg/mrtgstats-net.sh eth0` Title[eth0]:"Trafego na placa de rede - eth0" MaxBytes[eth0]:1400000 PageTop[eth0]: <h1>Trafego de dados na placa de rede</h1> Options[eth0]: growright,bits,noinfo Target[perf]:`/etc/mrtg/mrtg-cpu.sh` Title[perf]:"Carga da CPU e Uso da Mem" PageTop[perf]:<h1>Carga da CPU e Uso da Mem</h1> Options[perf]: growright,noinfo,gauge YLegend[perf]: Percentual ShortLegend[perf]: % MaxBytes[perf]: 100 Legend1[perf]: Carga da CPU Legend2[perf]: Uso da mem real LegendI[perf]: Carga LegendO[perf]: Mem

ssh
A configurao do servidor, vai no arquivo /etc/ssh/sshd_config A configurao do cliente vai no /etc/ssh/ssh_config. Com o pacote instalado, voc inicia o servidor usando o comando /etc/init.d/ssh start No Debian o servidor s funcionar se o arquivo sshd_not_to_be_run, presente em /etc/ssh for renomeado ou excludo. Renomeando o arquivo:

mv /etc/ssh/sshd_not_to_be_run /etc/sshd_not_to_be_run.old

Roberto Amaral Marcelo Soares Farias

Pgina 102

03/03/2010

Universidade Tuiuti do Paran GERDS - Grupo Interdisciplinar de Redes de Computadores e Sistemas Distribudos CURSO: LPI - SERVIDORES DE REDES E GERENCIAMENTO - LINUX

Em uma empresa, padro existir um equipamento especfico para servidor de servios, assim como roteador para acesso a Internet. Este equipamento sempre encontra-se isolado e o mesmo somente pode ser acesso atravs de login remoto. Para as pessoas que trabalham na empresa, este Servidor/Roteador utilizado como firewall, proibindo trfego em certos horrios, palavras e principalmente sites. Portanto o objetivo deste trabalho por em prtica a implementao de um equipamento Servidor/Roteador que atenda uma empresa.

Cliente Apache Cliente Squid Clinete SSH Rede Trabalho (10.11.12.X/24) Interface Interna 10.11.12.2 Servidor Apache Altere o DocumentRoot para /var/www/html Servidor SSH Antes de fazer o Squid crie um compartilhamento com IPTable Servidor Squid Bloqueando sexo e site Interface Interna 10.11.12.1

Interface Externa a local/atual

Rede Laboratrio 10.10.10.10/24 Gateway 10.10.10.10

INTERNET

Roberto Amaral Marcelo Soares Farias

Pgina 103

03/03/2010