Documente Academic
Documente Profesional
Documente Cultură
Universidade Tuiuti do Paran GERDS - Grupo Interdisciplinar de Redes de Computadores e Sistemas Distribudos CURSO: LPI - SERVIDORES DE REDES E GERENCIAMENTO - LINUX
Curitiba, 2008
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.
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
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.
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
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
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.
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
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.
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.
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
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
Recepo +
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
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.
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.
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.
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.
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.
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.
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
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:
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
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
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 ]
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
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.
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.
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
Roteamento
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
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
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;
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:
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.
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
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
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
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.
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
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.
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.
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.
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.
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).
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.
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.
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
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.
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
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
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.
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.
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
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.
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 ;-)
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.
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.
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).
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).
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
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.
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).
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).
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
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.
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
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
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
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
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:
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.
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.
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
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
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.
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
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
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.
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.
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.
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
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.
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
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".
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
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
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
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.
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.
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
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
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
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
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:
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.
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.
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
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
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.
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
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
AULA PRTICA
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
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.
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
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
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
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:
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.
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 }'
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
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
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
INTERNET
Pgina 103
03/03/2010