Servidores Linux, Guia Prático

March 26, 2018 | Author: Anonymous ATi7LDDo4g | Category: Mainframe Computer, Ip Address, Server (Computing), Domain Name System, Internet


Comments



Description

Servidores Linux, Guia PráticoIntrodução Durante as décadas de 1960 e 1970, predominaram os mainframes, computadores de grande porte, que eram acessados através de terminais burros. A idéia veio de uma necessidade simples: os computadores da época eram caros e o volume de processamento e de memória oferecido por eles era pequeno, de forma que cada empresa ou universidade normalmente possuía apenas um ou alguns poucos mainframes, que eram compartilhados entre todos os usuários. Siegler ADM-3A: Um terminal burro bastante usado durante a década de 1970 A partir do início da década de 1980, os computadores de mesa passaram a roubar a cena, substituindo os mainframes. Dois sintomas dessa época foram a quase falência da IBM, até então uma empresa especializada em mainframes e o crescimento da Microsoft, que passou a ganhar muito dinheiro vendendo o MS-DOS e, em seguida, o Windows e o Office, usados em micros desktop. Com a popularização das redes e da Internet, o cenário novamente mudou. Passamos a depender da conexão com a Internet até mesmo para as tarefas mais básicas e a armazenar cada vez mais informações em servidores remotos. Com isso, a importância do PC começou a decair. Aplicativos como o Office e o Outlook deram lugar a serviços online, como o Gmail e o Google Docs, e até mesmo os programas de mensagem instantânea passaram a ser usados via web, como no caso do Meebo. O fato de estarem disponíveis via web permite o acesso a partir de qualquer computador, ou até mesmo de smartphones e outros dispositivos que ofereçam um navegador. Embora eles não concorram diretamente em recursos com os aplicativos tradicionais, a questão da praticidade fez com que o uso crescesse rapidamente. Os grandes mainframes de duas décadas atrás deram lugar a servidores de baixo custo, montados usando componentes similares aos usados nos desktops, hospedados em datacenters e administrados remotamente. Os links de fibra óptica também caíram brutalmente de preço, tornando viáveis sites que disponibilizam vídeos (como no caso do YouTube) e outros tipos de mídia. Esse conjunto de mudanças abriu diversos campos de trabalho, tanto na área de desenvolvimento, quanto na área de infra-estrutura. Um sintoma interessante deste crescimento é que (não apenas no Brasil, mas também em outros países) a demanda por profissionais qualificados dentro da área de tecnologia, sobretudo administradores de sistema e programadores experientes, passou a ser bem maior do que a oferta. Ou seja, diferente de outras áreas, existem mais postos de trabalho do que vagas, sem falar nas oportunidades de abrir seu próprio negócio. Naturalmente, todas estas oportunidades estão abertas apenas para profissionais altamente qualificados, daí a necessidade de estudar e dominar novas áreas de conhecimento. Ser um administrador de redes exige um grande volume de conhecimento. Como existe muita coisa para estudar e a documentação nem sempre é clara, muitas vezes você fica sem saber por onde começar, daí a idéia de escrever este livro. Servidores de Internet Em seguida, entramos no mundo dos servidores de Internet, dominado pelos servidores dedicados e pelos datacenters. A Internet é formada por uma malha de cabos de fibra óptica, que interligam praticamente todos os países. Mesmo em locais mais remotos, é possível se conectar via modem, via celular (ou algum tipo de rede sem fio de longa distância) ou mesmo via satélite. A peça central são os roteadores, que interligam diferentes segmentos da rede, formando uma coisa só. Cada roteador conhece os vizinhos, sabe quais redes estão conectadas a eles e sabe escolher o caminho mais curto para cada pacote de dados: Naturalmente, os dados transmitidos precisam sair de algum lugar. Entram em cena, então, os datacenters, que hospedam a grande maioria dos servidores responsáveis por manter a Internet funcionando. Os datacenters são ambientes protegidos, que contam com links redundantes, instalações elétricas de grande porte (com nobreaks e geradores, destinados a manterem os servidores funcionando mesmo em caso de interrupção no fornecimento elétrico), salas refrigeradas, equipes de manutenção disponíveis 24 horas por dia e outros recursos. Em resumo, um datacenter oferece um ambiente controlado, onde os servidores podem operar de forma confiável: Antigamente, ter um servidor dedicado era um luxo reservado para poucos. Além da máquina em si, você precisava de um link dedicado, que custava um braço e duas pernas (por mês ;). A solução para colocar seu site no ar era pagar por um plano de shared hosting (hospedagem compartilhada), onde um mesmo servidor é compartilhado por milhares de sites diferentes e você fica restrito a uma quota de tráfego e espaço em disco, sem poder mexer na configuração do servidor. Hoje em dia, tudo está muito mais acessível, graças ao barateamento tanto dos links quanto dos servidores propriamente ditos. Você pode ter seu próprio servidor, hospedado em um datacenter dos é a questão da conectividade. você tem acesso completo ao sistema. sem falar na questão da confiabilidade. variando de acordo com o plano: Existe também a opção de usar um VPS. Isso garante uma boa velocidade de acesso a partir de qualquer lugar do mundo. hospedado em um datacenter. Usando um VPS. etc. mas não é uma boa idéia para hospedar servidores. onde você pode locar um VPS por menos de US$ 10 mensais. A principal vantagem de alugar um servidor dedicado. pois o link de upload é muito estreito (em geral apenas 256 ou 500 kbits. No final do capítulo 1 você encontra dicas de planos de baixo custo. pois os datacenters são ambientes fechados. entre inúmeras outras funções. sem precisar arcar com o custo de um servidor dedicado: . armazenando backups. hospedando o site da sua empresa ou de seus clientes. com geradores próprios. os preços são muito mais baixos. ao invés de montar seu próprio servidor e ligá-lo na conexão via ADSL ou cabo que você já tem. sempre ligados simultaneamente a vários dos principais backbones. Xen ou outro sistema de virtualização. mas. de acordo com o plano). segurança física. Uma conexão via ADSL funciona bem para acessar a web como cliente e fazer downloads. A quantidade de memória RAM e de espaço em disco é menor e o processamento é compartilhado entre os vários servidores virtuais hospedados na mesma máquina. A confiabilidade também é melhor. Os servidores dedicados mais baratos chegam a custar menos de US$ 100 mensais. As grandes empresas de hospedagem trabalham com links absurdamente rápidos. sempre com um link de 10 ou 100 megabits (correspondente à velocidade da porta do switch) e uma quota de tráfego de um ou dois terabytes mensais. links redundantes. em compensação.EUA (ou mesmo no Brasil). Isso permite que você tenha um servidor disponível para estudar e testar tudo o que aprenderemos ao longo do livro. da mesma forma que ao usar um servidor real. um servidor virtual obtido através do uso do VMware Server. Existem clientes SSH para todas as principais plataformas. quase sempre. :) Para quem vem do Windows. que veremos no capítulo 9). o que pode ser feito via linha de comando sem maiores problemas. que são acessadas via navegador. pois você não precisa instalar o ambiente gráfico no servidor para usá-las. Elas são bastante práticas. mas ao longo do livro você verá que fazer a configuração manualmente oferece um controle muito maior sobre o servidor. usando ferramentas em modo texto. A maior parte da configuração do servidor consiste em instalar pacotes e editar arquivos de configuração em texto. Existem diversos utilitários para automatizar a administração do servidor (como o ISPConfig. a administração do servidor é feita via SSH. . phpMyadmin e outras. o que permite executar tarefas rápidas de administração até mesmo enquanto estiver preso no trânsito. que serve como um bom ponto de partida. além de um conjunto de dicas sobre a administração do sistema. o que é desejável do ponto de vista da performance e até mesmo segurança. O capítulo 1 contém um resumo dos comandos básicos e do uso dos editores de texto. incluindo clientes Windows e também clientes para diversas famílias de celulares e smartphones. com o tempo. você percebe que é realmente a forma mais rápida de fazer muitas coisas. administrar um servidor via linha de comando parece uma coisa exótica. mas.O primeiro passo com relação à administração de um servidor dedicado é ter uma boa familiaridade com o uso da linha de comando e com a edição dos arquivos de configuração. O uso do terminal acaba sendo uma necessidade. pois. Existem ainda ferramentas como o Webmin. Para acesso seguro ao servidor. Depois de ganhar acesso ao servidor. justamente. Ao hospedar sites. oferecendo respostas para praticamente todo tipo de ataque conhecido. No capítulo 6. Temos também a questão dos e-mails. Esta é. aumento na capacidade dos HDs e o barateamento dos módulos de memória. que é o servidor DNS mais tradicional. você vai precisar também configurar o servidor DNS para responder pelos domínios registrados. veremos detalhes sobre como configurar um servidor LAMP. afastando assim o risco de alguém entupir o HD do servidor sozinho. que pode ser resolvida rodando um servidor Postfix ou utilizando o Google Apps for you Domain. você poderia usar o próprio servidor web. que será provavelmente o responsável pela maior parte dos serviços oferecidos pelo servidor. ou instalar um servidor FTP (sobre o qual também estudaremos no capítulo 6). combinando o uso do servidor Linux com o Apache. tais como o WordPress e o phpBB. onde cada webmaster tem acesso apenas a seus próprios arquivos). que permitem transferir arquivos de forma segura utilizando o SSH. como veremos em detalhes no capítulo 8. Isso faz com que ele seja de longe a ferramenta de administração mais usada no mundo Linux. de forma que cada um tenha sua parcela justa de espaço. atualização dos links.Além de permitir executar comandos e rodar aplicativos remotamente. mesmo os servidores de configuração mais básica acabam sendo subutilizados na . Além do bom conjunto de recursos. como veremos em detalhes no capítulo 10. Você pode hospedar diversos sites no mesmo servidor. e também o mais usado. Com a evolução dos processadores. é fácil entender porque eles se tornaram tão populares. permitindo que os autores do site ou blog se preocupem apenas com o conteúdo: Para disponibilizar arquivos de forma pública. fóruns e outros tipos de aplicativos web. é útil incluir um sistema de quotas. Examinando os recursos de administração disponíveis. Em casos em que outras pessoas tenham acesso limitado ao seu servidor (como ao hospedar vários sites. a solução de hospedagem mais usada atualmente. o interpretador PHP e o banco de dados MySQL. você pode usar o SFTP ou o RSSH. o próximo passo é configurar o servidor web. cada um deles com um domínio ou sub-domínio próprio. o SSH permite transferir arquivos e executar diversas outras funções. Eles automatizam toda a geração das páginas. combinando a configuração do servidor DNS com a configuração dos virtual-hosts no Apache. comentários e assim por diante. No capítulo 7 veremos detalhes sobre a configuração do Bind. que permite rodar diversos tipos de gestores de conteúdo. o SSH prima pela segurança. maioria das situações. Uma boa forma de aproveitar os recursos ociosos e agregar mais funções ao servidor é utilizar um sistema de virtualização, que permite rodar várias máquinas virtuais em um único servidor, cada uma se comportando como se fosse um servidor completo. Dessa forma, você pode ter vários servidores pelo preço de um: As máquinas virtuais podem ser usadas também como "caixas de areia", rodando serviços potencialmente vulneráveis, de forma a não expor o servidor principal a riscos desnecessários, ou até mesmo serem sub-locadas, um negócio que pode ser bastante rentável. Veremos mais detalhes sobre o tema no capítulo 12, reservado à configuração do VMware Server. Outra tarefa essencial são os backups, que funcionam como um seguro contra imprevistos. Afinal, em um servidor que armazena dados importantes, você não pode contar apenas com a sorte. Os backups podem ser automatizados através de scripts simples (como veremos em detalhes no capítulo 13), que podem, inclusive, serem executados de forma automática, fazendo backups diários, semanais ou até mesmo backups rotativos, sem que você precise se preocupar em logar diariamente no servidor apenas para executá-los. Além da configuração e da manutenção do servidor, temos outra tarefa importante, que é a escolha dos componentes a utilizar, de forma a dimensionar corretamente os recursos do servidor e eliminar gargalos. Apesar da maioria dos servidores serem montados usando processadores e placas de baixo custo, muitas vezes utilizando gabinetes tipo torre e placas-mãe para micros desktop, existe toda uma classe de componentes e tecnologias destinadas ao uso em servidores, como veremos em detalhes no capítulo 14. Tudo isso pode parecer complicado de início, mas, ao longo do livro, você vai descobrir que é bem mais simples do que parece. Assim como nos outros livros da série, o principal objetivo é explicar os temas de forma abrangente, porém em linguagem simples. Aperte os cintos e vamos lá. :) Capítulo 2: Compartilhamento, DHCP e Proxy Um dos usos mais comuns e mais simples para um servidor Linux de rede local é simplesmente compartilhar a conexão. A vantagem de usar um servidor dedicado ao invés de simplesmente compartilhar usando o próprio modem ADSL é que você pode incluir outros serviços, como um cache de páginas (Squid), filtro de conteúdo (SquidGuard ou DansGuardian), firewall, servidor Samba (compartilhando arquivos com a rede interna), servidor de impressão e assim por diante. Em uma rede pequena ou média, com de 10 a 50 micros, é possível usar um único servidor de configuração razoável para todas estas funções. Em redes maiores, com 100 micros ou mais, isso passa a depender muito do nível de utilização do servidor. Por exemplo, um simples Pentium 100, com 32 MB de RAM pode compartilhar a conexão com um link de até 8 megabits para um número indefinido de clientes. O mesmo servidor pode compartilhar uma impressora e compartilhar arquivos (serviços mais pesados que simplesmente compartilhar a conexão), desde que estes serviços não sejam utilizados de forma intensiva. Porém, uma configuração modesta como esta já não é adequada para rodar um servidor proxy para uma rede de 50 micros, por exemplo. Uma máquina mais atual, como um Pentium E ou um Athlon X2, com 512 MB de RAM e um HD de 7200 RPM, já pode rodar o mesmo proxy para 100 ou 200 micros com folga, incluindo serviços adicionais (como uma VPN, por exemplo). Adicione 2 GB de RAM e ele poderá rodar também um servidor de arquivos para os mesmos 200 micros. Máquinas mais parrudas podem desempenhar funções mais pesadas. Você pode, por exemplo, usar o VMware Server (que veremos em detalhes mais adiante) para rodar diversas máquinas virtuais, cada uma com um sistema operacional diferente, de forma a atender diversos usuários da rede. Dessa forma, você pode concentrar aplicativos Windows em uma máquina virtual com o Windows 2003 e o Terminal Services, oferecer aplicativos para usuários remotos usando um servidor com o Fedora e o NX Server (que veremos em detalhes no capítulo sobre acesso remoto) e assim por diante. Você pode até mesmo manter algumas máquinas virtuais com sistemas antigos, como o Windows 98, para rodar aplicativos de legado que rodam apenas sobre ele. Mas, cada coisa a seu tempo :) Compartilhando a conexão Do ponto de vista da segurança e até mesmo da facilidade de configuração, é sempre recomendável usar um servidor com duas placas de rede, separando o tráfego proveniente da internet do tráfego da rede local. Com duas placas separadas, fica mais fácil criar as regras de firewall adequadas para bloquear acessos provenientes da internet e, ao mesmo tempo, permitir o tráfego vindo da rede local. Se você acessa via ADSL, é recomendável manter o modem configurado como bridge ao invés de configurá-lo como roteador. Dessa forma, o servidor recebe todas as portas de entrada, permitindo que você acesse o servidor remotamente via SSH (muito útil para prestar suporte remoto em servidores instalados por você) ou disponibilize um servidor web ou FTP. Embora acabe sendo mais trabalhoso, nada impede que você configure o modem como roteador e use o servidor para novamente compartilhar a conexão recebida do modem, acrescentando os demais serviços. Nesses casos, você vai precisar configurar o modem para encaminhar ao servidor as portas que devem ficar abertas, como a porta 22, usada pelo SSH (caso você pretenda administrar o servidor remotamente), por exemplo. Isso é feito através da interface de administração do modem, através da opção "Port Forwarding", ou similar: Encaminhamento de portas dentro da configuração de um D-Link 500G As opções de configuração variam bastante de acordo com o modelo do modem, mas (com exceção de um punhado de modelos realmente muito antigos) deve estar disponível pelo menos a opção de criar regras estáticas de encaminhamento, onde você pode encaminhar um conjunto de portas, incluindo uma regra para cada uma. Na maioria dos casos, a interface de configuração do modem permite também encaminhar faixas de portas, ou criar uma DMZ (o que faz com que todas as portas sejam encaminhadas para o servidor, como se ele estivesse diretamente conectado à Internet). No final, sua rede ficaria com uma topologia similar a essa, com o servidor colocado entre a rede local e o modem. Uma das interfaces do servidor receberia um endereço de rede local, de forma a receber os acessos provenientes dos clientes da rede e a segunda seria configurada para acessar a Internet através do modem: Ao usar uma conexão via cabo, o layout da rede continua o mesmo, a única diferença é que no acesso via cabo a configuração da conexão é mais simples, já que é preciso apenas obter a configuração da rede via DHCP e não é necessário configurar o roteamento de portas, já que o cable modem funciona como um bridge. Depois de montar o cabeamento da rede, comece configurando a rede local usando uma das faixas de endereços IP reservadas como, por exemplo, a 192.168.1.x, onde o servidor fica com o IP 192.168.1.1 (ou 192.168.1.254, caso prefira) e os micros da rede interna recebem endereços dentro da mesma faixa. O endereço IP de rede local do servidor (192.168.1.1 no exemplo) passa a ser o gateway da rede, já que é a ele que os clientes irão contactar quando precisarem acessar qualquer endereço externo: Depois de tudo funcionando. mude para configuração via DHCP.61) a partir do servidor. o gateway informado na configuração da rede local vai substituir o gateway do provedor (definido ao conectar na internet). onde as interfaces mudam de posição a cada reset em servidores com duas ou mais interfaces de rede. o que logo se torna uma grande dor de cabeça ao configurar um servidor para compartilhar a conexão.255.1. não ao configurar a rede local. onde a interface eth0 é usada como interface de rede local e a eth1 é usada como placa de internet.0 network 192. fazendo com que a conexão deixe de funcionar. é importante fixar os devices das interfaces depois de configurar a rede.0 broadcast 192. Se alguma das estações estiver inacessível. Por exemplo. como veremos a seguir. .168.255 iface eth1 inet dhcp Depois de configurada a rede.1. mantendo os campos do default gateway e dos servidores DNS em branco.No caso do servidor. experimente ativar o servidor SSH em uma das estações e tentar se conectar a ela a partir do servidor. configure primeiro a interface de rede local. Aqui temos um exemplo de configuração manual da rede para distribuições derivadas do Debian. Isso evita alguns erros comuns. o gateway padrão é definido apenas ao configurar a conexão com a Internet. A placa eth0 passa então a ser a eth1 e assim por diante.1. use endereços IP estáticos para todas as estações. pois assim é mais fácil detectar problemas diversos. Da primeira vez que configurar a rede. configurada via DHCP: # /etc/network/interfaces auto lo eth0 eth1 iface lo inet loopback iface eth0 inet static address 192. Se estiver usando Linux nas estações.168. Ao utilizar o Debian Sarge. se você configurar a conexão com a web e depois configurar a rede local. Caso você utilize um utilitário de configuração para configurar as interfaces de rede no servidor.1. já que se as duas interfaces mudam de posição. colocando um endereço qualquer no campo "default gateway". Isso evita um problema recorrente. verifique o cabo de rede e experimente trocar a porta usada no switch. verifique se não existe um firewall ativo.255. verifique se consegue pingar os PCs da rede interna (ex: ping 192.168.1 netmask 255.168. nada funciona. deixando para configurar a interface da Internet por último. Etch ou Lenny (ou outra distribuição diretamente derivada deles). Esta dica não se aplica às versões recentes do Ubuntu/Kubuntu.255. seguindo o modelo abaixo: #/etc/iftab eth0 mac 00:16:36:D1:89:1D eth1 mac 00:02:44:95:1D:88 Uma vez criado. "ath0" ou "ra0". como "wlan0". Fedora e outras distribuições derivadas do Red Hat. Note que ao conectar via ADSL com o modem configurado em modo bridge (onde você usa o "pppoeconf" ou o comando "adsl-start" para conectar). cheque os endereços MAC das interfaces usando o comando "ifconfig -a" e crie o arquivo "/etc/iftab". No Linux. ou outra modalidade de acesso discado. É importante tomar nota dos devices utilizados por cada interface. Utilizá-lo é bem simples.168. ativar o compartilhamento propriamente dito é bastante simples. o arquivo é verificado a cada boot e a configuração se torna persistente.1.0 #/etc/sysconfig/network-scripts/ifcfg-eth1 DEVICE=eth1 HWADDR=00:02:44:95:1D:88 BOOTPROTO=dhcp USERCTL=no As linhas "HWADDR" são configuradas com os endereços MAC das interfaces de rede.0 IPADDR=192. o compartilhamento é feito usando o Iptables. Elas não são obrigatórias. resolvendo o problema. Ao usar uma placa wireless. No CentOS. já que precisaremos especificá-los nos passos seguintes.O problema é solucionado através do uso de um pequeno utilitário chamado "ifrename".255. de acordo com o chipset e o driver utilizado. é usado um arquivo de configuração independente para cada interface. da forma como serão usadas. onde o problema foi solucionado através do uso de regras do udev. que permite fixar os devices utilizados para as placas. Comece instalando o pacote via apt-get: # apt-get install ifrename Com as duas placas de rede configuradas. apenas servem como uma garantia adicional de que os devices das interfaces não serão alterados caso você instale outras placas de rede no futuro. Na verdade. Ativando o compartilhamento Depois de tudo preparado.168. cheque a configuração da rede usando o comando "ifconfig". Em caso de dúvidas. o .1. salvo dentro da pasta "/etc/sysconfig/networkscripts/". a interface eth0 ou eth1 é substituída pela interface virtual ppp0. relacionando o device de cada interface com o endereço MAC correspondente.1 NETWORK=192. o firewall integrado ao Kernel. de forma que a configuração do exemplo anterior ficaria: # /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 HWADDR= 00:16:36:D1:89:1D BOOTPROTO=static ONBOOT=yes NETMASK=255. a interface pode receber vários nomes. mas sempre existem exceções. o que evita muitos ataques casuais. por exemplo. o terceiro cria uma regra de roteamento. Em muitas distribuições com o Kernel 2. Na verdade. Este comando simplesmente compartilha a conexão proveniente da placa da internet com todas as demais placas de rede espetadas no servidor. Os dois comandos seguintes protegem contra IP spoofing (uma técnica usada em diversos tipos de ataques. apesar da diagramação do livro tornar necessário quebrar o comando em duas linhas.168. qualquer coisa fora da faixa 192. A partir daí. incluindo funções avançadas de roteamento. que são comumente utilizados em ataques DoS e ataques de buffer overflow. Finalmente. o módulo responsável pelo encaminhamento de pacotes. Este comando ajusta os tamanhos dos pacotes recebidos do modem ao MTU usado na rede local. A maioria das distribuições instalam o executável do Iptables por padrão. o módulo do Iptables responsável por oferecer suporte ao roteamento de pacotes via NAT. Para instalá-lo posteriormente. por isso suas funções vão muito além das de um firewall tradicional. por isso não é necessário especificar a placa de rede local.RST SYN -m \ tcpmss --mss 1400:1536 -j TCPMSS --clamp-mss-to-pmtu A barra invertida ("\") faz com que o shell não interprete o caractere seguinte (no caso. O segundo ativa o "ip_forward".Iptables é expandido através de módulos. No Mandriva. é importante proteger o servidor de ataques provenientes da Internet usando um firewall. As duas linhas seguintes autorizam pacotes provenientes da interface de loopback (lo). Esse é um truque que permite incluir comandos longos demais para caberem na página.x). Para ativar o compartilhamento. tentando assim obter acesso a PCs da rede interna) e contra pacotes inválidos. utilizado pelo módulo iptable_nat. é necessário usar um quarto comando ao compartilhar uma conexão ADSL. o comando forma uma única linha. Como de praxe. juntamente . permitindo quebrar o comando em duas linhas.6. sem causar um erro. a quebra de linha). divididos em duas linhas ou mais. onde o atacante envia pacotes usando um endereço IP falseado como remetente. trata-se de um único comando: # iptables -A FORWARD -p tcp --tcp-flags SYN. complementando os três comandos anteriores: iptables -A INPUT -p icmp --icmp-type echo-request -j DROP echo 1 > /proc/sys/net/ipv4/conf/default/rp_filter iptables -A INPUT -m state --state INVALID -j DROP iptables -A INPUT -i lo -j ACCEPT iptables -A INPUT -i eth0 -j ACCEPT iptables -A INPUT -p tcp --dport 22 -j ACCEPT iptables -A INPUT -p tcp --syn -j DROP O primeiro comando faz com que o seu servidor deixe de responder a pings. Podemos ativar um firewall simples de bloqueio usando mais alguns comandos do Iptables. use o comando "urpmi iptables".1. são necessários apenas três comandos: # modprobe iptable_nat # echo 1 > /proc/sys/net/ipv4/ip_forward # iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE Substitua o "eth1" pela placa da Internet. o servidor passa a ser o gateway da rede. O primeiro comando ativa o "iptable_nat". que orienta o servidor a direcionar para a internet todos os pacotes (recebidos dos clientes) que se destinarem a endereços que não façam parte da rede local (ou seja. Note que. ele é instalado ao marcar a categoria "firewall" durante a instalação. a sintaxe das regras do Iptables segue um padrão lógico. tornando a configuração permanente. bloqueando tentativas de conexão provenientes da Internet. caso diferente. Não se esqueça de substituir o "eth0" pela interface de rede local correta. Dentro dele vão as linhas a seguir: #!/bin/bash # Interface da Internet: ifinternet="eth1" # Interface da rede local iflocal="eth0" iniciar(){ modprobe iptable_nat echo 1 > /proc/sys/net/ipv4/ip_forward iptables -t nat -A POSTROUTING -o $ifinternet -j MASQUERADE iptables -A INPUT -p icmp --icmp-type echo-request -j DROP echo 1 > /proc/sys/net/ipv4/conf/default/rp_filter iptables -A INPUT -m state --state INVALID -j DROP iptables -A INPUT -i lo -j ACCEPT iptables -A INPUT -i $iflocal -j ACCEPT . Um exemplo de arquivo completo. porém mais complicada. com as portas desejadas. onde você especifica uma determinada condição e diz o que o firewall deve fazer com os pacotes que se enquadrarem nela. caso diferentes. permitindo que você possa administrar o servidor remotamente. que diz que os pacotes devem ser aceitos sem checagem adicional. crie o arquivo de texto "/etc/init.com pacotes provenientes da rede local.local". é criar um serviço de sistema. mais elegante. a linha "iptables -A INPUT -p tcp --dport 22 -j ACCEPT" abre a porta 22. seguidos da regra "-j ACCEPT". Lembre-se de substituir "eth1" pela interface de internet e o "eth0" pela interface de rede local. deve funcionar em qualquer distribuição. que pode ser ativado e desativado. Uma segunda opção. um script próprio para a tarefa. Continuando. No caso da regra que autoriza os pacotes da rede local (iptables -A INPUT -i eth0 -j ACCEPT) usamos os parâmetros "-A INPUT" (pacotes de entrada) e "-i eth0" (recebidos na interface eth0). falta fazer com que os comandos sejam executados durante o boot. Neste caso. A forma mais simples de fazer isso é colocar os comandos no arquivo "/etc/rc. que faz o trabalho pesado. usada pelo SSH para conexões externas. incluindo os comandos para ativar o firewall seria: #!/bin/sh # /etc/rc.local modprobe iptable_nat echo 1 > /proc/sys/net/ipv4/ip_forward iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE iptables -A INPUT -p icmp --icmp-type echo-request -j DROP echo 1 > /proc/sys/net/ipv4/conf/default/rp_filter iptables -A INPUT -m state --state INVALID -j DROP iptables -A INPUT -i lo -j ACCEPT iptables -A INPUT -i eth0 -j ACCEPT iptables -A INPUT -p tcp --dport 22 -j ACCEPT iptables -A INPUT -p tcp --syn -j DROP Esta receita é genérica. Concluindo. Depois de testar o compartilhamento. temos a linha "iptables -A INPUT -p tcp --syn -j DROP". que está disponível tanto em distribuições derivadas do Debian quanto em distribuições da linhagem do Red Hat. Como pode ver. Você pode abrir mais portas simplesmente adicionando mais linhas.d/compartilhar". "stop") parar . Quando precisar usar o script em outra máquina.. Para usar o script. o que também faz com que ele seja executado durante o boot: # cd /etc/rc5.. o "S" indica que o script deve ser executado com o parâmetro "start" e o "21" indica a ordem em que deve ser executado durante o boot. que facilitam a configuração e tornam o script mais elegante. mas nessa posição garantimos que ele será executado depois da ativação das interfaces de rede e de outros serviços essenciais. verifique a configuração dos serviços na distribuição em uso e altere a ordem de inicialização do script de firewall. Com isso você garante que o firewall será carregado primeiro e não fica com seu servidor vulnerável nem mesmo por um curto espaço de tempo durante o boot. você precisa apenas se lembrar de alterar as duas variáveis.d/compartilhar start" no arquivo "/etc/rc. você pode adicionar o comando "/etc/init. Outra opção (mais elegante) é criar um link para ele dentro da pasta "/etc/rc5.d/compartilhar stop Para que o script seja executado durante o boot./init.iptables -A INPUT -p tcp --dport 22 -j ACCEPT iptables -A INPUT -p tcp --syn -j DROP } parar(){ iptables -F iptables -F -t nat } case "$1" in "start") iniciar . "restart") parar.d". Squid e outros serviços. stop e restart. de forma que ele seja carregado antes de qualquer outro serviço que aceite conexões. Samba. onde as interfaces sejam diferentes. como fizemos no exemplo anterior. utilizando os próprios arquivos de . usando o comando: # chmod +x /etc/init.. Se você é um administrador paranóico. Note também que os comandos a partir do "iptables -A INPUT -p icmp --icmp-type echo-request -j DROP" correspondem às proteções e ao firewall e podem ser removidos caso desejado.d/compartilhar S21compartilhar Como vimos no primeiro capítulo. passei a usar duas variáveis no início do script. em vez de colocar os comandos diretamente. em relação aos outros serviços. A ordem de execução dos serviços muda de distribuição para distribuição. executando dentro de cada uma os comandos que compartilham e param o compartilhamento da conexão. Isso nos leva a uma terceira opção para salvar a configuração. como os do Apache. transforme-o em um arquivo executável.d # ln -s . iniciar . como o Samba ou o Apache. você pode iniciar e parar o compartilhamento usando os comandos: # /etc/init. *) echo "Use os parâmetros start ou stop" esac Este é um shell script que aceita três funções: start. Esta estrutura é similar à usada nos demais scripts de inicialização do sistema.d/compartilhar start # /etc/init. Veja que em vez de especificar as interfaces de internet e de rede local dentro dos comandos.d/compartilhar A partir daí..local". depois de executar o comando "iptables -t nat -A POSTROUTING -o $placa -j MASQUERADE". O servidor é configurado para ter duas placas de rede "lógicas". Nesse caso.1.d/iptables save active" (nas derivadas do Debian) ou "service iptables save" (nas derivadas do Red Hat) para salvar regra e fazer com que ela passe a ser reativada durante o boot. para ativar o roteamento de pacotes.1/24 Isso fará com que o servidor passe a se comportar como se tivesse duas placas de rede. uma ligada ao modem ADSL e outra ligada à rede local. o utilitário para compartilhar a conexão incluído na sua . a topologia para compartilhar a conexão é ligar o modem ADSL (ou cable modem) na placa eth0 do servidor. inclusive o modem. Para ativar o compartilhamento. respondendo no endereço 192. usando o comando: # ifconfig eth0:1 192. existe a possibilidade de compartilhar a conexão usando uma única placa de rede. com uma placa onboard e sem slots de expansão. Em seguida.0". crie o alias para a placa de rede "lógica" que o conectará aos micros da rede local. ativando o carregamento do módulo. pois eles são capazes de detectar o cabo cruzado e corrigir o sinal via software. juntamente com as demais estações. Finalmente. que efetivamente ativa o compartilhamento. uma para se conectar na internet e outra para a rede local: Uma dica é que os modems ADSL geralmente utilizam um cabo de rede cross-over.168. todo mundo passa a ser conectado diretamente ao switch. Normalmente. O "/24" indica a configuração da máscara de sub-rede no padrão CIDR. você precisa ligar o modem na porta up-link do hub. embora menos flexível. já que são feitos para serem conectados diretamente a um PC e não ao hub.255.ipv4. Lembre-se de que um alias para a placa de rede não é o mesmo que uma placa de rede física espetada na placa-mãe. Note que isso não é necessário ao usar um switch ou hub-switch.168. tornando permanente o comando "echo 1 > /proc/sys/net/ipv4/ip_forward".1 (substitua por um endereço dentro da faixa usada na sua rede local).default.conf". Ela é a mais "correta" do ponto de vista técnico. equivale a digitar "255.255. o primeiro passo é se conectar normalmente à internet no servidor. criando um alias (apelido) para a placa principal. utilizando as configurações de praxe. Ao compartilhar usando uma única placa. Nesses casos. você adicionaria (ou descomentaria) a linha "net. Compartilhe a conexão da forma usual. Por isso. conectar a placa eth1 do mesmo servidor ao switch da rede. você usaria o comando "/etc/init. Compartilhar usando uma única placa de rede Se você está usando um notebook ou um barebone.conf.inicialização do sistema. Nele seria adicionada a linha "iptables_nat". onde são listados os módulos carregados pelo sistema durante o boot. configure os clientes da rede e eles já serão capazes de navegar.1.forwarding=1" no arquivo "/etc/sysctl. A partir do momento em que ele estiver acessando. a configuração seria feita em três passos: A primeira parada seria o arquivo "/etc/modules". d/dhcp3-server start # /etc/init. criar vários tipos de filtros e. você pode ativar e desativar o serviço usando os comandos: # /etc/init. que pode ser protegido com um bom firewall. Nas distribuições derivadas do Debian. Usando duas placas de rede ainda seria preciso passar pelo servidor de compartilhamento. eles possuem vários recursos para rotear pacotes.168. exigindo uma renovação do "aluguel" do endereço IP (opção "lease time").d/dhcp3-server stop Como você pode imaginar. evitando que os endereços disponíveis se esgotem. esta linha de proteção é perdida. Os modems ADSL não são apenas dispositivos burros que fazem a conversão analógico/digital. o que resultará também na mudança do nome da pasta onde fica o arquivo e do script de inicialização referente ao serviço. Por terem tantos recursos. eles são ativados automaticamente ao compartilhar a conexão ou junto com algum outro serviço. incluindo o Bind e o NTPD. Em geral. Compartilhar a conexão usando uma única placa de rede também relaxa bastante a segurança da rede.0. Periodicamente o servidor DHCP verifica se as estações ainda estão lá. em muitos casos. como 192. O servidor DHCP mais usado no Linux é o ISC DHCP. o pacote se chama simplesmente "dhcp" e pode ser instalado usando o yum: # yum install dhcp . de forma que você acaba não aprendendo muita coisa sobre a sua configuração. Embora o modem ADSL fique conectado diretamente ao switch da rede. uma organização sem fins lucrativos dedicada a desenvolver serviços de infra-estrutura usados na Internet. desenvolvido pela Internet Systems Consortium.distribuição pode ter problemas para trabalhar desta forma.255. enviando um pacote com um dos endereços IP disponíveis e os demais dados da rede.255" e são retransmitidos pelo switch da rede para todas as portas.1. Se por acaso ele falhar. Eventualmente ele será substituído pelo "dhcp4-server". Configurando um servidor DHCP Hoje em dia. o pacote correspondente ao servidor DHCP se chama "dhcp3-server" e pode ser instalado via apt-get: # apt-get install dhcp3-server Com o pacote instalado.0. feche todas as portas. Isso permite que os endereços IP sejam gastos apenas com quem realmente estiver online. ninguém na internet será capaz de enxergar os micros da rede local. que são transmitidos apenas na porta relacionada a ele. que nunca recebe atualizações de segurança. pois eles utilizarão uma faixa de IPs inválida. o trabalho de um servidor DHCP é bastante simples. No Fedora e no CentOS. Caso esteja curioso. Ao conectar o modem diretamente ao hub.x ou 10. o "3" corresponde à versão do software. até mesmo túneis VPN. De um modo geral. diferente dos pacotes endereçados a um endereço específico. alguém que consiga obter acesso à configuração do modem poderia ganhar acesso aos micros da rede local através dele. Pense no modem ADSL como um PC vulnerável.isc. Você ainda pode adicionar um firewall "fecha tudo" no servidor.255. a página com o código fonte é a: http://www. use os quatro comandos para compartilhar diretamente através do Iptables que já vimos. sempre existe a possibilidade de surgirem bugs diversos de segurança. O problema é que com o modem ADSL ligado diretamente ao hub. Os pacotes de broadcast são endereçados ao endereço "255. etc. Ele responde aos pacotes de broadcast das estações.org/sw/dhcp/. quase todas as redes utilizam algum tipo de servidor DHCP. para que ele não responda a pings.x. conf". o que interessa mesmo é a configuração do arquivo e esta sim é igual. Nas distribuições derivadas do Debian. por exemplo.255. por exemplo. option domain-name-servers 208. option broadcast-address 192.222. pode reservar os endereços de 192.222.100 para estações configuradas com IP fixo e usar os demais para o DHCP. eles devem ser separados por vírgula.1. o caminho completo para ele é "/etc/dhcp3/dhcpd.67.220. Estes serviços consomem poucos recursos da máquina.168. option routers 192.168. Apesar dessas diferenças estéticas.1.1. onde ficam as configurações da rede.conf".199.0 { range 192. O que interessa mesmo é o bloco que vai logo abaixo.255.1. Se você tiver mais endereços IP do que máquinas. que na sua rede o gateway seja o próprio modem ADSL que está compartilhando a conexão e o DHCP seja um dos PCs. A opção "range" determina a faixa de endereços IP que será usada pelo servidor.168.1. O "600" indica que o servidor verifica a cada dez minutos se as estações ainda estão ativas.168. independentemente da distribuição.201. onde sempre existem mais clientes do que endereços IP disponíveis e se trabalha contando que nem todos vão ficar conectados simultaneamente. o serviço não será configurado para ser inicializado durante o boot depois de instalado. ou seja. Ao usar dois ou mais endereços. no caso de uma rede congestionada.1. Isso foi planejado para ambientes onde haja escassez de endereços IP.100 192. Pode ser. subnet 192. authoritative.255.conf ddns-update-style none. essas duas opções não são muito importantes. Mas.conf". os endereços IP das estações raramente vão precisar mudar. sem espaços.168. Você precisa ativá-lo manualmente usando o comando "chkconfig": # chkconfig dhcpd on O arquivo de configuração é o "dhcpd. . Na "option routers" vai o endereço do default gateway da rede.168. em um provedor de acesso. Não é necessário que o mesmo micro que está compartilhando a conexão rode também o servidor DHCP. Em geral. Este é um exemplo de arquivo de configuração básico: # /etc/dhcp3/dhcpd.67.Embora o pacote se chame apenas "dhcp".101 a 192.1.208. max-lease-time 7200. a menos que você configure um servidor DNS interno na sua rede (que pode ser instalado no próprio micro que está compartilhando a conexão e rodando o DHCP).168. você vai usar os próprios endereços DNS do provedor. de 192. enquanto no Fedora e no CentOS é apenas "/etc/dhcpd. por exemplo. o script referente ao serviço se chama "dhcpd".1.1. default-lease-time 600. o endereço do servidor que está compartilhando a conexão.0 netmask 255. o "max-lease-time" determina o tempo máximo que uma estação pode usar um determinado endereço IP.1.1. Se você utiliza a faixa de endereços 192.254. de forma que os comandos para iniciar e parar o serviço são: # service dhcpd start # service dhcpd stop Diferente do Debian. por exemplo. ou então reservar uma faixa específica para ele.1 a 192.220.168.168. O importante é usar faixas separadas para o DHCP e os micros configurados com IP fixo. Em condições normais. um diretório acima.168. A opção "option domain-name-servers" contém os servidores DNS que serão usados pelas estações. como. } A opção " default-lease-time" controla o tempo de renovação dos endereços IP.1 até 192.1.168. ou seja. 255 port 67 DHCPACK from 192. para que o servidor "reconheça" os terminais e possa enviar a configuração adequada a cada um. onde o servidor DNS simplesmente repassa as requisições para um dos 13 root servers da internet e vai armazenando os endereços que já foram acessados.d/dhcp3-server restart ou: # service dhcpd restart Com o servidor DHCP configurado. Você pode substituir o arquivo de configuração padrão por este modelo.isc. esta configuração vai no arquivo "/etc/default/dhcp3-server". mas pode ser usado também em outras situações.org/sw/dhcp/ Listening on LPF/eth1/00:15:00:4b:68:db Sending on LPF/eth1/00:15:00:4b:68:db Sending on Socket/fallback DHCPREQUEST on eth1 to 255.renewal in 245 seconds. Isso faz com que ele sempre obtenha o mesmo endereço a partir do servidor DHCP.1. configurando a rede usando o "dhclient". ou editá-lo conforme a necessidade. basta reiniciar o serviço novamente.255. o cliente deve receber a resposta a partir do endereço IP do servidor rodando o servidor DHCP e ser configurado com um endereço dentro da faixa definida por você. Uma observação importante é que sempre que configurar um servidor com duas placas de rede. Ao fazer qualquer alteração no arquivo.199 -.255. Como você pode ver. e adicione a placa que o servidor DHCP deve escutar. mas o uso mais comum é simplesmente fazer um "cache". Esse recurso é usado em redes de terminais leves.1 bound to 192. como em uma pequena rede. DHCP com IP fixo Mais uma opção interessante no servidor DHCP é a possibilidade de relacionar um determinado endereço IP com o endereço MAC de certo micro da rede. seguido da interface a ser configurada.168. No Debian. o que permite que você verifique se o servidor está usando a configuração definida por você: # dhclient eth0 Internet Systems Consortium DHCP Client V3.0. please visit http://www. Mais adiante teremos um capítulo inteiro dedicado a ele. você pode testar a configuração em um dos clientes Linux.O servidor DNS mais usado no Linux é o Bind.1. você deve configurar o servidor DHCP para escutar apenas na placa da rede local. Procure pela linha: INTERFACES="" . O servidor DNS pode ser configurado para implementar um sistema de domínios e subdomínios na sua rede.. como em: INTERFACES="eth0" Para que a configuração entre em vigor.. Ele mostra toda a negociação entre o servidor e o cliente.168. onde alguns micros compartilham impressoras e arquivos e por isso . como se tivesse sido configurado para usar IP fixo.4 Copyright 2004-2006 Internet Systems Consortium. você deve reiniciar o servidor DHCP usando o comando: # /etc/init. For info. Nas distribuições derivadas do Debian você pode instalá-lo com um "apt-get install bind". All rights reserved. } host semprao { hardware ethernet 00:0F:B0:45:BC:17. adicione uma seção como esta para cada host no final do arquivo dhcpd. começam a surgir problemas com micros configurados com o mesmo IP (cada um dado por um DHCP diferente) e assim por diante. por isso (desde que a configuração não seja muito complexa) costuma responder antes dos servidores DHCP usados nos servidores Windows e na maioria dos modems ADSL. o endereço MAC da placa de rede (que você pode verificar através do comando "ifconfig") e o endereço IP que a estação deve usar.168.220. Em seguida vão.1. Para usar este recurso. "m5" no exemplo. . mas antes de fechar a chave (}): host m5 { hardware ethernet 00:0F:B0:55:EA:13.255.255. host m5 { hardware ethernet 00:0F:B0:55:EA:13.168. uma configuração com dois servidores DHCP pode funcionar. option routers 192.220.222. incluindo a configuração de IP fixo para duas máquinas seria: ddns-update-style none. o que pode ser usado a seu favor.211.1. por exemplo. Configurar o servidor DHCP para dar a eles sempre o mesmo IP pode ser mais prático que configurá-los para usar IP fixo manualmente. option broadcast-address 192.d/dhcp3-server restart Uma pergunta recorrente sobre o uso de servidores DHCP é sobre a possibilidade de manter mais de um servidor DHCP ativo.199. Entretanto.0 netmask 255.1.212. authoritative. depois de todas as linhas de configuração. principalmente se ambos estiverem configurados para fornecer endereços dentro da mesma faixa.conf. Veja o caso de quem usa distribuições Linux live-CD. } } Não se esqueça de reiniciar o servidor DHCP depois de configurar o arquivo para que a nova configuração seja aplicada: # /etc/init.255.168.168. fixed-address 192.168. Um exemplo de arquivo completo.100 192. max-lease-time 7200. Imagine um caso comum: uma rede de 10 ou 20 micros. Em situações normais.1.não podem ficar mudando de endereço IP a cada reboot. Caso contrário.67. entre chaves. a placa de rede continuará a mesma).168. em algumas situações.211.168. } Veja que a seção começa com o nome da máquina. default-lease-time 600. fixed-address 192. option domain-name-servers 208. pois eles continuarão recebendo o mesmo IP mesmo que você reinstale o sistema (pois.1.222.208.1. com um ADSL de 1 megabit. subnet 192.67.1. naturalmente depois de bem testada. fixed-address 192.1. O dhcp3-server usado no Linux é bastante rápido. você nunca deve manter mais de um servidor DHCP ativo ao mesmo tempo. apesar da mudança de sistema operacional.168.0 { range 192.1. No IPV6 os endereços são escritos usando caracteres em hexa. em vez de "0000" apenas "0". junto com o servidor DHCP instalado no seu micro. Graças a isso. A rede continua funcionando mesmo que seu micro seja desconectado definitivamente. com o modem compartilhando a conexão e o seu micro funcionando como um segundo gateway. já que atualmente poucos endereços são usados. além de um servidor DNS próprio e DHCP. você resolve implantar um servidor com o Squid configurado para trabalhar como um proxy transparente. de forma que os donos preferem simplificar as coisas. Um atenuante é que os endereços IPV6 podem ser abreviados de diversas formas. Pode parecer bastante. que foram omitidos. Assim como no IPV4. Como são utilizados endereços de 128 bits. É muito comum que os endereços IPV6 incluam seqüências de números 0. dentro da rede local. Pode demorar. são necessários nada menos do que oito quartetos de caracteres em hexa. que vem se tornando um problema cada vez mais grave. é apenas questão de tempo até que os endereços IPv4 se esgotem definitivamente. separados por ":". B. É por isso que muitos quartetos dentro dos endereços IPV6 podem ter apenas 3. o que permitem apenas 4 bilhões de combinações de endereços. como em: 2001:bce4:5641:3412:341:45ae:fe32:65. o modem ADSL passa a responder as chamadas e os micros passam a ser configurados para acessar diretamente através dele (é preciso reconfigurar os clientes via DHCP para que eles obtenham a configuração a partir do modem e passem a utilizá-lo como gateway). por exemplo. Você quer que a rede continue funcionando mesmo quando seu micro precisar ser desligado por um certo tempo. No endereço "2001:bce4:0:0:0:0:0:1". que utiliza endereços de 128 bits. por isso mantém o servidor DHCP do modem ativo. Por exemplo. IPV6 Se você está chegando agora. você decide manter a rede da forma que está. Quanto maior a rede. conjunto que além dos números de 0 a 9. Para melhorar o desempenho da rede. Os primeiros 64 bits (os 4 primeiros quartetos) identificam a rede. em vez de escrever "0341". Quando ele é desligado. enquanto os últimos 64 bits identificam o host. mas uma migração em massa para o IPV6 vai acontecer mais cedo ou mais tarde. Os demais são zeros à esquerda. No seu caso. de forma a minimizar conflitos. todos os zeros à esquerda dentro dos quartetos podem ser omitidos. Em primeiro lugar. E e F. temos a rede "2001:bce4:0:0" e o host "0:0:0:0:1" dentro . o IPV6 é a versão atualizada do protocolo IP. Ele surgiu para solucionar o problema da escassez de endereços IP. Como este "servidor" é o seu próprio micro. mas a má distribuição dos endereços e peculiaridades do protocolo. fazem com que o volume de endereços realmente disponíveis seja muito menor. inclui também as letras A. configurados para fornecerem faixas diferentes de endereços. passando pelo proxy transparente. mais imprevisível se torna o comportamento dos servidores DHCP e mais importante torna-se manter apenas um ativo. Com o crescimento no volume de servidores e de dispositivos conectados à web. os micros da rede local são configurados para acessar através dele. onde omitimos todo o trecho central "0:0:0:0:0". o dhcp3-server é mais rápido que o DHCP do modem. o endereço "2001:bce4:0:0:0:0:0:1" pode ser abreviado para apenas "2001:bce4::1". sem que o significado seja alterado. No IPV4 são usados endereços de apenas 32 bits. totalizando 16 caracteres. cada um usado para representar um grupo de 4 bits. onde todos os micros são ligados ao mesmo hub ou switch. que precisa ser desligado de vez em quando. você pode escrever apenas "341". Note que isso é tecnicamente errado e só funciona em redes pequenas. D. enquanto ele está ligado. C. os endereços IPV6 são divididos em dois blocos.compartilhado pelo próprio modem. 2 ou mesmo um único dígito. Por isso. como a necessidade de reservar o primeiro e o último endereço de cada faixa. em vez de "0001" apenas "1" e. Naturalmente. os clientes geram seus endereços IPV6 automaticamente. a parte do endereço referente ao host é definida automaticamente a partir do endereço MAC da placa de rede. Os roteadores IPV6 enviam constantemente pacotes especiais. crie o arquivo "/etc/radvd. você deve utilizar um endereço IPV6 iniciado com o prefixo na configuração do servidor. O endereço "00:16:F2:FE:34:E1". como em: # ifconfig eth0 add fee::0015:f2ff:ffa1:d9cc Para tornar a configuração definitiva.conf" especificando a interface de rede local e o prefixo. reboot após reboot. são adicionados os dígitos "ffff" entre o sexto e sétimo dígito do endereço. ou seja. }. Para especificar um endereço manualmente. como em: # apt-get install radvd ou: # yum install radvd Em seguida. adicione as linhas abaixo no arquivo "/etc/network/interfaces". que é uma faixa de endereços fácil de lembrar. Como o nome sugere. estou utilizando o "fee::" como prefixo. A atribuição de endereços em uma rede IPV6 segue um processo diferente (e até mais simples) do que em uma rede IPV4. Para simplificar a configuração. AdvRouterAddr on. No Linux. Não existem mais máscaras de tamanho variável como no IPV4. A configuração é bastante simples. estes pacotes divulgam a existência do roteador e o endereço de rede utilizado por ele (os 64 bits iniciais do endereço). reinicie o serviço "radvd" e o servidor passará a divulgar o prefixo da rede. Ao receberem estes pacotes. sem necessidade de utilizar um servidor DHCP especializado. gerados a partir do endereço MAC da placa de rede. viraria então "0016:f2ff:fffe:34e1". use o comando "ifconfig interface add endereço". onde os endereços são atribuídos automaticamente. Nesse exemplo. comece instalando o pacote. }. prefix fee::/64 { AdvOnLink on. combinando os 64 bits do endereço fornecidos pelo roteador com os 64 bits "pessoais". Como os endereços MAC possuem apenas 12 dígitos (enquanto no IPV6 a parte do host contém 16 dígitos). o cliente continuará utilizando o mesmo endereço. como em: interface eth0 { AdvSendAdvert on. AdvAutonomous on. permitindo que os clientes configurem seus endereços IPV6 automaticamente.dela. especificando a interface e o endereço IPV6 utilizado: iface eth0 inet6 static address fee::0015:f2ff:ffa1:d9c netmask 64 Terminada a configuração. por exemplo. chamados "RAs" (router advertisements). a parte do endereço referente à rede. Como o endereço MAC só muda quando você substituiu a placa de rede. o serviço responsável por enviar os router advertisements é o radvd (router-advertising daemon). combinando o prefixo da rede com os 16 dígitos gerados a partir do endereço MAC da placa de rede: . 2. diminuindo o tempo total de carregamento.# /etc/init. No IE. como ilustrações. além da configuração da rede. Dessa forma. muitos componentes da página. Isso acaba economizando bastante banda. via NAT. desde que respeitando os termos da GPL). O radvd não conflita com dhcp3-server e os hosts da rede podem utilizar endereços IPV4 e IPV6 simultaneamente (sem problema algum). é necessário configurar o navegador e cada outro programa que for acessar a Internet (em cada um dos clientes da rede) para usar o proxy. armazenando informações já acessadas. por exemplo. outros programas podem ser configurados para trabalhar através do proxy: clientes de MSN. como um garoto de recados. Hoje em dia. separando o que pode ou não pode passar e guardando informações para uso posterior. sem restrições. pois embora o html seja diferente a cada visita e realmente precise ser baixado de novo. a configuração está em "Opções da Internet > Opções > Configurações da Lan > Usar um servidor Proxy": Além do navegador. O servidor apenas repassa as requisições recebidas. Usar um proxy é diferente de simplesmente compartilhar a conexão diretamente. Dependendo da configuração. configura os clientes para o utilizarem como gateway e pronto. você pode tanto continuar acessando os outros micros da rede utilizando os endereços IPV4 tradicionais quanto através dos endereços IPV6. de forma que você pode simplesmente adicionar o IPV6 à sua rede IPV4 já configurada. As vantagens de usar um proxy são basicamente três: 1.d/radvd restart Quase todas as distribuições Linux atuais e também o Windows Vista trazem o protocolo IPV6 ativado por padrão. downloads diversos . Ao usar um proxy. os micros da rede acessam a internet diretamente. onde o conteúdo muda a cada visita. Esta é uma tarefa tediosa e que acaba aumentando bastante seu volume de trabalho. É por isso que quase todos os softwares de filtro de conteúdo envolvem o uso de algum tipo de proxy. Configurando um servidor proxy com o Squid O Squid permite compartilhar a conexão entre vários micros. No Firefox. mesmo nesses casos. pois toda vez que um micro novo for colocado na rede ou for preciso reinstalar o sistema. Compartilhar a conexão via NAT é mais simples do que usar um proxy como o Squid sob vários aspectos. sem precisar acessar a mesma página repetidamente. sem contra-indicações. Quando alguém acessa uma página que já foi carregada. servindo como um intermediário entre eles e a internet. armazenando atualizações do Windows Update. o proxy envia os dados que guardou no cache. os sites costumam usar páginas dinâmicas. você pode incluí-lo dentro de outros aplicativos. O proxy é como um burocrata que não se limita a repassar as requisições: ele analisa todo o tráfego de dados. VoIP e até mesmo programas P2P. Mais adiante estudaremos sobre a configuração do SquidGuard e do DansGuardian. de forma que um roteador configurado para enviar os pacotes RA é uma boa adição para a sua rede local. o proxy dá uma boa ajuda. o proxy pode apenas acelerar o acesso às páginas ou servir como um verdadeiro cache de arquivos. A configuração do proxy muda de navegador para navegador. Você compartilha a conexão no servidor. será preciso fazer a configuração novamente. muitas vezes o próprio Squid (já que. Ao compartilhar via NAT. você a encontra em "Editar > Preferências > Avançado > Rede > Configurações". além de bloquear páginas com conteúdo indesejado. como o software é aberto.O proxy funciona como um cache de páginas e arquivos.É possível impor restrições de acesso com base no horário. tornando o acesso mais rápido. login. banners e animações em flash. endereço IP da máquina e outras informações. mas. podem ser aproveitados do cache. Uma regra de firewall envia as requisições recebidas na porta 80 do servidor para o proxy. Apesar da mudança na localização do arquivo de configuração. o "/etc/squid/squid. você tem basicamente uma conexão compartilhada via NAT. Entretanto. por exemplo. você vai precisar baixar apenas no primeiro. de início. downloads diversos e os pacotes instalados através do apt-get). Toda a navegação passa a ser feita automaticamente através do proxy (incluindo o cache dos arquivos do Windows update. Você pode visualizar os acessos posteriormente usando o Sarg. as opções descritas aqui vão funcionar sem maiores problemas. como a incluída no Debian Woody. contém comentários e exemplos para quase todas as opções disponíveis. Instale o pacote "squid" usando o apt-get. é realmente enorme. é melhor começar com um arquivo de configuração mais simples.Uma terceira vantagem de usar um proxy é que ele loga todos os acessos realizados através dele. que se encarrega de responder aos clientes. você pode estar achando que as vantagens não vão compensar o trabalho de sair configurando micro por micro. apenas com as opções mais usadas.e pacotes instalados através do apt-get. configurando um proxy transparente como veremos adiante. como em: # apt-get install squid Toda a configuração do Squid é feita em um único arquivo. por exemplo.conf". 3. . existe a possibilidade de juntar as vantagens das duas formas de compartilhamento. com a mesma configuração básica nos clientes. Mesmo assim. Caso você esteja usando uma versão antiga do Squid. o arquivo pode ser o "/etc/squid. O arquivo original. programa por programa para usar o proxy. sem que você precise fazer nenhuma configuração adicional nos clientes. mas. Em vez de ter que baixar o último Service Pack do Windows ou a última atualização do Firefox nos 10 micros da rede.conf". um gerador de relatórios que transforma as longas listas de acessos dos logs em arquivos html bem organizados. Ele pode ser uma leitura interessante se você já tem uma boa familiaridade com o Squid e quer aprender mais sobre cada opção. pois os outros 9 vão baixar a partir do cache do Squid. Instalando o Squid O Squid é composto de um único pacote. yum ou urpmi. e que é mais fácil simplesmente compartilhar via NAT. Ao usar um proxy transparente. O proxy entra na história como um adicional. instalado junto com o pacote. por isso a instalação é simples. Em alguns casos. Um exemplo de regra manual do Iptables para abrir a porta do Squid apenas para a rede local (a interface eth0 no exemplo) é: . o comando será "/etc/rc.d/rc. mas muitos administradores preferem utilizar a porta 8080. o mesmo que foi definido na configuração da rede.d/ e inicializá-los automaticamente durante o boot. visible_hostname gdh: O nome do servidor. sem limitações. acl all src 0. Para testar a configuração. permite que qualquer um use o proxy. não é tão complicado assim. aquele arquivo de configuração gigante tem mais uma função informativa. configure um navegador (no próprio servidor) para usar o proxy. porta 3128.0/0. Fedora ou Mandriva. ou seja. você conseguirá acessar o proxy também através dos outros micros da rede local. citando e explicando as centenas de opções disponíveis.0 http_access allow all Estas linhas são o suficiente para que o Squid "funcione". Se não houver nenhum firewall pelo caminho. Para testar o proxy.0. basta configurar os navegadores para usarem o proxy. acaba sendo mais produtivo aprender a trabalhar direto no arquivo de configuração. pois. mas. Como viu.conf. abra a porta 3128 na configuração do firewall.0. de forma a conservá-lo para fins de pesquisa: # mv /etc/squid/squid. afinal. A função dessas ferramentas é disponibilizar as opções através de uma interface gráfica e gerar o arquivo de configuração com base nas opções escolhidas.0. A porta 3128 é o default.0.0.d/squid restart Se estiver no CentOS.orig Em seguida. Ao usar os modelos desse capítulo. que.0. através do endereço 127.1 (o localhost). que soa mais familiar a muitos usuários. contendo apenas as quatro linhas abaixo: http_port 3128 visible_hostname gdh acl all src 0. Assim como em outros tópicos do livro. fornecendo o endereço do servidor na rede local. essas ferramentas ajudam bastante. É por isso que acaba sendo mais simples começar com um arquivo vazio e ir inserindo apenas as opções que você conhece e deseja alterar.squid restart".0.Em geral. sem depender de utilitários de configuração.0 e http_access allow all: Estas duas linhas criam uma acl (uma política de acesso) chamada "all" (todos). que economiza alguns toques no teclado: # service squid restart No Slackware. vamos aprender a configurar o Squid "no muque".conf /etc/squid/squid. o Squid simplesmente utiliza os valores default. Apenas um punhado das opções são realmente necessárias. para que o Squid possa receber as conexões. seguindo a lógica do sistema em colocar os scripts referentes aos serviços na pasta /etc/rc. como elas mudam de distribuição para distribuição. não se esqueça de substituir o "gdh" pelo nome correto do seu servidor. reinicie o servidor Squid com o comando: # /etc/init. As quatro linhas dizem o seguinte: http_port 3128: A porta onde o servidor Squid vai ficar disponível. como informado pelo comando "hostname".0/0. Caso necessário. incluindo todos os endereços IP possíveis. Comece renomeando o arquivo padrão. disponível em várias distribuições. Uma das mais usadas é o Webmin. ao omití-las. cada distribuição inclui uma ferramenta diferente para a configuração do proxy. pode utilizar o comando "service". crie um novo arquivo "/etc/squid/squid. desde que marcada a permissão de execução.0.0.0.conf". Ela permite que qualquer um dentro desta lista use o proxy. mas que faz exatamente a mesma coisa: http_port 3128 . Se você deixar o servidor proxy ativo no próprio servidor que compartilha a conexão e não houver nenhum firewall ativo.1/255.255.0/24 http_access allow localhost http_access allow redelocal http_access deny all As acl's "SSL_ports" e a "Safe_ports" são as responsáveis por limitar as portas que podem ser usadas através do proxy. qualquer um na internet poderia usar o seu proxy.0. acima da 1024.168. um arquivo mais completo. snews acl Safe_ports port 70 # gopher acl Safe_ports port 210 # wais acl Safe_ports port 280 # http-mgmt acl Safe_ports port 488 # gss-http acl Safe_ports port 591 # filemaker acl Safe_ports port 777 # multiling http acl Safe_ports port 901 # swat acl Safe_ports port 1025-65535 # portas altas acl purge method PURGE acl CONNECT method CONNECT http_access allow manager localhost http_access deny manager http_access allow purge localhost http_access deny purge http_access deny !Safe_ports http_access deny CONNECT !SSL_ports acl redelocal src 192. Neste exemplo.iptables -A INPUT -i eth0 -p tcp --dport 3128 -j ACCEPT Criando uma configuração básica O problema com o modelo de configuração minimalista que acabamos de ver é que com apenas estas quatro linhas o proxy ficará muito aberto.0.0.255. O proxy deve ficar ativo apenas para a rede local.0. o que resulta em um arquivo de configuração muito menor. Podemos simplificar isso agrupando as portas na mesma linha. Ela é tão extensa porque cada porta é especificada em uma linha diferente.0/0.1. que prevê o uso de diversos protocolos conhecidos e também o uso de portas altas. permitindo que apenas os micros da rede local possam usar o proxy e definindo mais algumas políticas de segurança. Vamos gerar. então. o que naturalmente não é desejado.0. usei a configuração-modelo indicada na documentação do Squid.0. Neste segundo exemplo já aproveitei algumas linhas do arquivo original.0 acl manager proto cache_object acl localhost src 127. como na configuração anterior: http_port 3128 visible_hostname gdh acl all src 0.255 acl SSL_ports port 443 563 acl Safe_ports port 80 # http acl Safe_ports port 21 # ftp acl Safe_ports port 443 563 # https. criando regras que permitem o acesso a apenas algumas portas específicas e não mais a qualquer coisa. 0.1. vão duas linhas no final do arquivo que especificam que os micros que se enquadrarem nelas poderão usar o proxy: http_access allow localhost http_access allow redelocal Lembra-se da acl "all".0. A acl "localhost" contém o endereço 127. e a acl "rede local". mas. pois a regra que permite vem antes da que proíbe. vindos da Internet) não poderão usar o proxy: http_access deny all Esta linha deve ir no final do arquivo.0/0. Depois de criadas as duas políticas de acesso. de qualquer forma. Se você adicionasse algo como: acl redelocal src 192.255.0 acl manager proto cache_object acl localhost src 127. Para isso.168.255 acl SSL_ports port 443 563 acl Safe_ports port 21 80 443 563 70 210 280 488 59 777 901 1025-65535 acl purge method PURGE acl CONNECT method CONNECT http_access allow manager localhost http_access deny manager http_access allow purge localhost http_access deny purge http_access deny !Safe_ports http_access deny CONNECT !SSL_ports acl redelocal src 192. da Caixa.255.255. Existem alguns casos de sites que não funcionam bem quando acessados através de proxies.visible_hostname gdh acl all src 0.0. que inclui os demais micros da rede local..255.0.0/24" pela faixa de endereços IP e a máscara de sub-rede usada na sua rede local (o 24 equivale à mascara 255. pois o Squid interpreta as regras na ordem em que são colocadas no arquivo. especificando a URL do site e usando a opção .0/24 http_access allow localhost http_access allow redelocal http_access deny all Veja que em ambos os exemplos adicionei duas novas acl's. os micros da rede local continuariam acessando.1.1.1/255.0. depois das outras duas..0. Se você permite que o micro X acesse o proxy. mesmo que uma regra mais abaixo diga que não.0/24 http_access allow redelocal http_access deny redelocal . ele acessa. você pode solucionar o problema de forma muito simples orientando o servidor proxy a repassar as requisições destinadas ao site diretamente. Normalmente nesses casos o problema está em algum recurso fora do padrão usado pelo sistema do site e não no servidor proxy propriamente dito. clientes não-autorizados. que você utiliza ao usar o proxy localmente (ao navegar usando o próprio servidor).168.0). que contém todo mundo? Vamos usá-la para especificar que os clientes que não se enquadrarem nas duas regras acima (ou seja. adicionamos uma ACL na configuração.1. Substitua o "192. A ordem é importante. um exemplo comum é o "Conectividade Social".168.0.0. 1. feito usando parte da memória RAM do servidor. O cache na memória é muito mais rápido.0/24 http_access allow localhost http_access allow redelocal http_access deny all Depois de configurar o arquivo. principalmente os downloads grandes.168. Em um servidor com 1 GB de RAM.Cache um pouco mais lento porém maior. que atende a um volume maior de usuários (veja mais detalhes a seguir). que serão entregues instantaneamente para os clientes. que contém a quantidade de memória que será dedicada ao cache. já que o volume de memória RAM no servidor é sempre muito menor do que o espaço em disco. O cache no HD pode ser mais generoso.com always_direct allow site acl redelocal src 192. 2. Agora que já vimos o arroz com feijão.Cache rápido. que atende a apenas alguns micros (como o servidor de uma pequena rede local) e até 1/3 da memória RAM total em um servidor proxy dedicado. por exemplo. O cache na memória RAM é ideal para armazenar arquivos pequenos. não se esqueça de reiniciar o serviço para que a configuração entre em vigor: # /etc/init. A configuração do cache é feita adicionando mais algumas linhas no arquivo de configuração: 1.d/squid restart Nesse ponto o seu proxy já está completamente funcional. Para reservar 64 MB. O cache no HD é usado para armazenar arquivos maiores. onde o Squid guarda as páginas e arquivos já acessados de forma a fornecê-los rapidamente quando solicitados novamente.com always_direct allow site Esta regra deve vir antes da regra que libera os acessos provenientes da rede local. como downloads.Logo depois vai a opção "maximum_object_size_in_memory". como páginas html e imagens. 2.A configuração da quantidade de memória RAM dedicada ao cache é feita adicionando a opção "cache_mem". vamos aos detalhes mais avançados da configuração: Configurando o cache de páginas e arquivos Uma das configurações mais importantes com relação ao desempenho do proxy e à otimização do tráfego da rede é a configuração dos caches. como em: acl site dstdomain siteproblematico. afinal a idéia é que ele guarde todo tipo de arquivos. O Squid trabalha com dois tipos de cache: 1. você pode reservar 32 ou 64 MB para o cache em um servidor não dedicado. Você pode começar a configurar os navegadores nos PCs da rede local para utilizá-lo e acompanhar o desempenho da rede. que determina o tamanho máximo dos arquivos que serão guardados no cache feito na memória RAM (o resto vai para o cache feito no HD). O cache na memória RAM é sempre relativamente pequeno. a linha ficaria: cache_mem 64 MB Como regra geral. arquivos do Windows Update e pacotes baixados via apt-get. feito no HD. você poderia reservar até 350 MB para o cache na memória. por exemplo."always_direct": acl site dstdomain siteproblematico. que demoram para serem baixados. mas como a quantidade de RAM é . Depois vem a opção "cache_dir". sempre que o cache atingir 95% de uso. que é composta por quatro valores. Eliminando uma. é usada a configuração default para a opção. adicione a linha: maximum_object_size_in_memory 64 KB 3. as linhas ficariam: maximum_object_size 512 MB minimum_object_size 0 KB Você pode definir ainda a percentagem de uso do cache que fará o Squid começar a descartar os arquivos mais antigos. por exemplo. Ele faz uma verificação rápida.log Mais uma configuração que você pode querer alterar é o padrão de atualização do cache. o Squid guarda o log de acesso no arquivo "/var/log/squid/access. 5. serão descartados arquivos antigos até que a percentagem volte para um número abaixo de 90%: cache_swap_low 90 cache_swap_high 95 4. que armazenará o grosso dos arquivos. (/var/spool/squid) indica a pasta onde o Squid armazena os arquivos do cache. mesmo que o arquivo seja pequeno. Se você quiser que o cache armazene arquivos de até 512 MB. Por padrão. Por padrão. por exemplo. Se você faz download de arquivos grandes com freqüência e deseja que eles fiquem armazenados no cache. checando o tamanho do arquivo e. Continuando. Estas três linhas precisam sempre ser usadas em conjunto. Quase sempre é mais rápido ler a partir do cache do que baixar de novo da web. enquanto o segundo (2048) indica a quantidade de espaço no HD (em MB) que será usada para o cache. se a linha "cache_dir" for omitida. Isso é especialmente útil para quem precisa baixar muitos arquivos através do apt-get ou Windows Update em muitos micros da rede. figuras e arquivos pequenos em geral. temos 16 pastas com 256 subpastas cada uma. você pode alterá-las. Para que o cache na memória armazene arquivos de até 64 KB. para cada um dos três protocolos.log". ele continua fornecendo aos clientes o arquivo que está no cache. Por default. o que faz com que mesmo imagens e arquivos pequenos sejam armazenados no cache. o máximo são downloads de até 16 MB e o mínimo é zero. é melhor deixá-la disponível para páginas web.Você pode definir ainda o arquivo onde são guardados os logs de acesso do Squid. os números 16 e 256 indicam a quantidade de subpastas que serão criadas dentro do diretório. por exemplo) foi atualizado. mas sempre as três precisam estar presentes no arquivo.Em seguida vem a configuração do cache em disco. mas esta configuração padrão é adequada para a maioria das situações. equivalente a dois dias) indica o tempo máximo. Os números indicam o intervalo (em minutos) que o Squid irá aguardar antes de verificar se um item do cache (uma página. O primeiro número (o 15) indica que o Squid verificará (a cada acesso) se as páginas e arquivos com mais de 15 minutos foram atualizados. aumente o valor da opção "maximum_object_size". Combinando as quatro opções. O número "ideal" de pastas e subpastas para um melhor desempenho varia de acordo com o sistema de arquivos usado. economizando banda da conexão O terceiro número (o 2280.muito limitada. a linha ficaria: cache_dir ufs /var/spool/squid 2048 16 256 Assim como na maioria das opções do Squid. Por padrão. O primeiro. que é usar o diretório "/var/spool/squid" e fazer um cache em disco de 100 MB. ou seja. Este arquivo é usado pelo Sarg para gerar as páginas com as estatísticas de acesso: cache_access_log /var/log/squid/access. o Squid ignora as outras duas e usa o default. depois do qual o objeto . se o arquivo não mudou. Aumente o valor se você tem muito espaço no HD do servidor e quer que o Squid guarde os downloads por muito tempo. log refresh_pattern ^ftp: 15 20% 2280 refresh_pattern ^gopher: 15 0% 2280 refresh_pattern .1.0. o nosso arquivo de configuração já ficará bem maior: http_port 3128 visible_hostname gdh cache_mem 64 MB maximum_object_size_in_memory 64 KB maximum_object_size 512 MB minimum_object_size 0 KB cache_swap_low 90 cache_swap_high 95 cache_dir ufs /var/spool/squid 2048 16 256 cache_access_log /var/log/squid/access. conforme necessário.0.0. . entre outras possibilidades. Esta é uma configuração adequada para uso em uma rede doméstica ou em um pequeno escritório.255. que ele seja usado para enviar e-mails (porta 25).0.0. Além do http e ftp. Em uma rede maior. Vamos a elas. você pode adicionar outras portas à lista.168. 21 e outras) é usada para restringir as portas de saída do servidor proxy. 15 20% 2280 Depois de adicionar todas estas configurações. criando um sistema de autenticação ou limitando o uso com base no horário. você provavelmente iria querer adicionar algumas limitações de acesso.0/0. por exemplo.0 acl manager proto cache_object acl localhost src 127. Isso evita um conjunto de abusos comuns e é uma configuração importante em qualquer servidor que precise ser configurado de forma minimamente segura. Naturalmente. que era muito usado nos primórdios da internet para localizar documentos de texto.0/24 http_access allow localhost http_access allow redelocal http_access deny all Aqui já temos uma configuração mais completa.255. limitando o acesso a algumas páginas.1/255.é sempre verificado. A acl "Safe_ports". alimentada com um conjunto de portas (80.255 acl SSL_ports port 443 563 acl Safe_ports port 21 80 443 563 70 210 280 488 59 777 901 1025-65535 acl purge method PURGE acl CONNECT method CONNECT http_access allow manager localhost http_access deny manager http_access allow purge localhost http_access deny purge http_access deny !Safe_ports http_access deny CONNECT !SSL_ports acl redelocal src 192.0. incluindo um conjunto de regras de segurança (para que o proxy seja usado apenas a partir da rede local) e a configuração do cache. 15 20% 2280 acl all src 0. o Squid suporta o protocolo gopher. evitando. mas perdeu a relevância hoje em dia: refresh_pattern ^ftp: 15 20% 2280 refresh_pattern ^gopher: 15 0% 2280 refresh_pattern . para bloquear ambos.com playboy. Nesse caso. que são uma necessidade em muitas redes.br http_access deny bloqueados Aqui eu criei uma acl chamada "bloqueados". elas são similares às variáveis.com. Você pode incluir diversas acls diferentes dentro da configuração do Squid. Se a regra começar a ficar muito grande.com playboy.orkut.abril.com playboy. pesquisa e outras funções relacionadas ao que estão fazendo. No exemplo.abril.. especificando os endereços e.. usa o parâmetro "http_access" para bloquear ou liberar o acesso a eles. que contém os endereços "orkut. e use a regra abaixo na configuração do Squid para que ele seja processado e os domínios sejam incluídos na acl.com. o Squid faz a resolução do domínio e passa a bloquear todas sub-páginas que estiverem hospedadas dentro dele. em seguida. De certa forma. como em: acl bloqueados dstdomain orkut. Se os dois estiverem hospedados em servidores diferentes. Isso é feito em duas etapas.orkut.abril. Ao aplicar a regra. Muitas empresas permitem que sejam acessados os e-mails pessoais e coisas do gênero.com www. mas sempre até um certo limite. desde que use um nome diferente para cada uma. a idéia é que os funcionários usem a internet para comunicação.com. Seu chefe não vai gostar se começarem a passar a maior parte do tempo no Orkut.abril.orkut. você tem a opção de transferir as entradas para um arquivo. por exemplo.com . Ele permite que você crie acl's contendo endereços de sites que devem ser bloqueados (ou permitidos). Nesses casos. como em: orkut. Bloqueando por domínios ou palavras O Squid permite bloquear sites indesejados de forma bastante simples usando o parâmetro "dstdomain". Existe uma ressalva: muitos sites podem ser acessados tanto com o "www" quanto sem. com todos os domínios desejados (um por linha). de forma que ao bloquear apenas o "www.Adicionando restrições de acesso Em um ambiente de trabalho.br www.com" os usuários ainda conseguirão acessar o site através do "orkut. estou usando o arquivo "/etc/squid/bloqueados": acl bloqueados url_regex -i "/etc/squid/bloqueados" http_access deny bloqueados . crie um arquivo de texto simples.com" e vice-versa. Veja um exemplo: acl bloqueados dstdomain orkut. basta separá-los por espaço e deixar tudo na mesma linha.com" e "playboy.br" e em seguida usei o parâmetro "http_access deny" para bloquear o acesso a eles.com. Primeiro você cria a acl.br http_access deny bloqueados Você pode incluir quantos domínios quiser dentro da acl. o Squid considerará que tratam-se de dois sites diferentes. que usamos ao programar em qualquer linguagem.com www. Chegamos então às regras para restrição de acesso.myspace. é preciso incluir as duas possibilidades dentro da regra. Neste caso.207.0.0. ou que respondam por vários domínios.) De qualquer forma.com A 72.187. em se tratando de pessoas adultas. Nesse caso.99 Depois de adicionar as novas regras.21.15.com google.0/0. adicionamos a regra que permite o acesso a eles e em seguida bloqueamos o acesso a todos os demais. invertemos a lógica da regra.212.255 acl SSL_ports port 443 563 acl Safe_ports port 21 80 443 563 70 210 280 488 59 777 901 1025-65535 acl purge method PURGE acl CONNECT method CONNECT . mas.0.0 acl manager proto cache_object acl localhost src 127.99 google. conforme tomar conhecimento deles. 15 20% 2280 acl all src 0.1/255. não há nada que uma boa conversa com o chefe não possa resolver.0.0.23 200. e todos os outros tipos de sites que não são úteis em um ambiente de trabalho.com A 64. A idéia seria logar os acessos (com a ajuda do Sarg.0.233.log refresh_pattern ^ftp: 15 20% 2280 refresh_pattern ^gopher: 15 0% 2280 refresh_pattern .45 http_access deny ips-bloqueados Você pode descobrir rapidamente o endereço IP de um determinado domínio usando o comando "host".234. o que é útil em casos de servidores sem domínio registrado. em alguns ambientes pode ser mais fácil bloquear inicialmente o acesso a todos os sites e ir abrindo o acesso a apenas alguns sites específicos.14. como em: $ host google. Isso evita que os usuários da rede consigam burlar o proxy. você pode criar diretamente regras que bloqueiem determinados endereços IP. ao bloquear um domínio é automaticamente bloqueado também o endereço IP do servidor correspondente.167.com A 64.233. De qualquer forma.99 google. acessando os sites diretamente pelo IP. chats. a regra ficaria: acl ips-bloqueados dst 200. .255. comunidades online. que veremos mais adiante) e bloquear os sites mais acessados. É sempre uma corrida de gato e rato. conforme a necessidade.Naturalmente. não seria viável tentar bloquear manualmente todos os sites pornográficos. como neste exemplo: acl permitidos url_regex -i "/etc/squid/permitidos" http_access allow permitidos http_access deny all Nas versões recentes do Squid.255. Criamos um arquivo com sites permitidos. nosso arquivo de configuração ficaria assim: http_port 3128 visible_hostname gdh error_directory /usr/share/squid/errors/Portuguese/ cache_mem 64 MB maximum_object_size_in_memory 64 KB maximum_object_size 512 MB minimum_object_size 0 KB cache_swap_low 90 cache_swap_high 95 cache_dir ufs /var/spool/squid 2048 16 256 cache_access_log /var/log/squid/access. Como o Squid processa as regras seqüencialmente.orkut. Não existe problema em combinar o bloqueio de domínios e de palavras dentro da URL. o Squid verifica a existência das palavras apenas na URL do site e não no conteúdo da página. e adicione a regra abaixo.aspx&hl=pt-BR&rm=false&passive=true Você não poderia simplesmente bloquear o domínio "google.1.. Crie mais um arquivo de texto. Para criar filtros baseados no conteúdo.168. que permite bloquear sites de uma forma mais geral. as páginas que forem bloqueadas pela acl "bloqueados" não chegam a passar pela regra que autoriza os acessos provenientes da rede local. os domínios principais passaram a encaminhar para URLs dinâmicas dentro do domínio do Google.com%252FHome. onde a palavra é passada como parâmetro da URL.http_access allow manager localhost http_access deny manager http_access allow purge localhost http_access deny purge http_access deny !Safe_ports http_access deny CONNECT !SSL_ports acl bloqueados url_regex -i "/etc/squid/bloqueados" http_access deny bloqueados acl redelocal src 192. Você pode bloquear todas as páginas cujo endereço inclua a palavra "sexo" ou "orkut". Uma segunda possibilidade é usar o parâmetro "dstdom_regex". como em: https://www. com base em palavras incluídas na URL de acesso. como em: orkut xxx sexo teens warez . contendo a localização do arquivo: acl palavrasproibidas dstdom_regex "/etc/squid/palavrasproibidas" http_access deny palavrasproibidas O uso desta regra é um pouco mais problemático. contendo as palavras que devem ser bloqueadas. ao usar esta regra. Um exemplo é o Orkut. uma por linha. que veremos mais adiante. Uma vantagem é que ela permite bloquear facilmente páginas dinâmicas.com %2FRedirLogin.. basta usar as . mas poderia muito bem usar o dstdom_regex para bloquear a palavra "orkut" e assim bloquear o acesso ao site sem bloquear o acesso a outros serviços do Google. depois da transferência para o Google. Note que.com" usando uma regra url_regex. que abre tudo para a rede local.orkut. pois bloqueará todas páginas que contenham qualquer uma das palavras listadas na URL. Para isso. você pode lançar mão de uma combinação das duas coisas.0/24 http_access allow localhost http_access allow redelocal http_access deny all Veja que coloquei as duas regras antes do "http_access allow redelocal". onde. você pode utilizar o DansGuardian. de acordo com a situação. Esta opção sempre levará a alguns falsos positivos e por isso deve ser usada com mais cuidado.aspx%3Fmsg%3D0%26page%3Dhttp%253A%252F%252F www.google.com/accounts/ServiceLogin?service=orkut&continue=http%3A%2F %2Fwww. por exemplo. como em: acl bloqueados url_regex -i "/etc/squid/bloqueados" http_access deny bloqueados acl palavrasproibidas dstdom_regex "/etc/squid/palavrasproibidas" http_access deny palavrasproibidas acl redelocal src 192. você usaria as regras: acl madrugada time 00:00-06:00 http_access deny madrugada acl almoco time 12:00-14:00 http_access deny almoco Estas regras iriam. Bloqueando por horário As regras a seguir fazem com que o proxy aceite ou recuse conexões feitas dentro de determinados horários. No nosso caso elas estão aparecendo em português devido à linha "error_directory /usr/share/squid/errors/Portuguese/" que incluí no modelo de configuração anterior.0/24 http_access allow localhost http_access allow redelocal http_access deny all Incluídas as regras. Agora. as mensagens de erro aparecerem em inglês. Você pode definir regras para períodos específicos e combiná-las para bloquear todos os horários em que você não quer que o proxy seja usado ou vice-versa. para que aqueles que queiram acessar o Orkut ou acessar os e- .1. novamente. você quer deixar o proxy aberto.duas regras simultaneamente. imagine que você quer fazer diferente. A pasta contêm várias páginas html. Você pode personalizar as páginas de erro editando os arquivos dentro da pasta "/usr/share/squid/errors/Portuguese" ou "/usr/share/squid/errors/English" (de acordo com a língua definida na configuração). os clientes passam a ver uma mensagem de erro ao tentar acessar páginas que se enquadrem nos bloqueios: Por padrão. uma para cada tipo de erro indicado. por exemplo.168. Ao invés de bloquear o acesso na hora de almoço. antes da regra "http_access allow redelocal" no arquivo de configuração. Para que o proxy bloqueie acessos feitos entre meia-noite e 6:00 da manhã e no horário de almoço. 0/24 http_access allow localhost http_access allow redelocal http_access deny all Você pode também combinar o bloqueio de palavras ou domínio com as regras de bloqueio por horário. Neste caso.168. que todos os usuários somados poderão usar simultaneamente. utilizando um recurso chamado "delay pools". Você pode evitar isso limitando a banda que cada usuário pode usar e a banda total. por exemplo. Gerenciando o uso da banda O Squid oferece uma forma simples de limitar o uso da banda disponível e definir o quanto cada usuário pode usar (mantendo parte do link livre para os demais). você usaria uma regra como: acl almoco time 12:00-14:00 http_access allow almoco Esta regra entraria no arquivo de configuração antes das regras "http_access deny bloqueados" e outras restrições. Assim.com http_access allow orkut almoco http_access deny orkut Fazendo isso. mas apenas dentro do horário especificado na acl "almoco". a regra seria: acl almoco time 12:00-14:00 acl orkut dstdomain orkut. sempre usamos bytes.688 bytes por segundo.orkut. deixando a navegação lenta para todo mundo. que bloqueia o acesso ao site em outros horários. que o servidor proxy (que combina todos os acessos via http) consuma um pouco menos que o total de banda disponível. por isso lembre-se de fazer a conversão. Neste caso. como em: acl almoco time 12:00-14:00 http_access allow almoco acl bloqueados url_regex -i "/etc/squid/bloqueados" http_access deny bloqueados acl extban url_regex -i "/etc/squid/extban" http_access deny extban acl redelocal src 192. dividindo o valor em kbits por 8 e multiplicando por 1024 para ter o valor em bytes.mails possam fazer isso fora do horário de trabalho. É recomendável. neste caso. Imagine. permitindo que os usuários acessem um determinado site apenas no horário de almoço.072 bytes por segundo. Um link de 1 megabit (1024 kbits) corresponde a 131.com www. Você pode acompanhar o uso do link e ir ajustando o valor conforme a utilização. é provável que a rede fique saturada em determinados horários.1. de forma a sempre deixar um pouco reservado para outros protocolos. o Squid entende que os endereços incluídos dentro da acl "orkut" devem ser permitidos. por exemplo. Se cada um puder ficar baixando o que quiser. os acessos que forem aceitos pela regra do almoço não passarão pelas regras que fazem o bloqueio. Nas regras do Squid. deixando 128 kbits do link livres para outros protocolos e limitar cada usuário a no máximo 16. Em seguida é incluída mais uma regra. por exemplo. que correspondem a 128 kbits. limitar a banda total usada pelo Squid a 114.384 bytes por segundo. Nem todos os usuários vão ficar baixando arquivos a todo momento. Podemos. por isso o valor ideal reservado a cada usuário vai variar muito de acordo com a rede. que você tem um link de 1 megabit para uma rede com 20 usuários. . Basta que a acl com o IP liberado seja colocada antes das acls com as restrições de acesso. Isso significa que você continua conseguindo fazer downloads na velocidade máxima permitida pelo link ao acessar a partir do próprio servidor.2 http_access allow chefe acl bloqueados url_regex -i "/etc/squid/bloqueados" http_access deny bloqueados acl palavrasproibidas dstdom_regex "/etc/squid/palavrasproibidas" http_access deny palavrasproibidas acl redelocal src 192. Nesse caso.1.1. mas agora dentro das condições especificadas na linha "delay_parameters 1 114688/114688 16384/16384". a parte final do arquivo de configuração ficaria: acl redelocal src 192.1. que aplicam o uso do limite de banda.0/24 delay_pools 1 delay_class 1 2 delay_parameters 1 114688/114688 16384/16348 delay_access 1 allow redelocal http_access allow localhost http_access allow redelocal http_access deny all A acl "redelocal" está agora condicionada a três novas regras.1.168.2 http_access allow chefe acl redelocal src 192.1. por exemplo.wmv para economizar banda da rede. criamos uma acl contendo o endereço IP da estação que deve ter o acesso liberado usando o parâmetro "src" e a colocamos antes da regra que limita a velocidade. onde vão (respectivamente) os valores com a banda total disponível para o Squid e a banda disponível para cada usuário. Veja que nessa regra limitamos a banda apenas para a acl "redelocal" e não para o "localhost".168. O acesso continua sendo permitido.avi ou . . como em: acl chefe src 192.0/24 http_access allow localhost http_access allow redelocal http_access deny all Concluindo.168. que poderão fazer downloads sem passar pelo filtro. Você pode querer bloquear o download de arquivos . mais um tipo de bloqueio útil em muitas situações é com relação a formatos de arquivos.sh para dificultar a instalação de programas nas estações.168. como em: acl chefe src 192.0/24 delay_pools 1 delay_class 1 2 delay_parameters 1 114688/114688 16384/16348 delay_access 1 allow redelocal http_access allow localhost http_access allow redelocal http_access deny all Esta regra de exceção pode der usada também em conjunto com as demais regras de restrição de acesso que vimos anteriormente. a regra se aplica apenas às estações. É possível também criar regras de exceção para endereços IP específicos. ou bloquear arquivos .Neste caso.exe ou .168. d/squid restart Restarting Squid HTTP proxy: squid Waiting.. sempre que fizer alterações na configuração. você pode aplicar as mudanças usando o comando: # /etc/init.. você pode migrá-la para dentro de um arquivo de texto e especificar sua localização dentro da acl... como em: acl extban url_regex -i "/etc/squid/extban" http_access deny extban Dentro do arquivo...mp3 \. Quase todos os navegadores oferecem a opção de salvar a senha. O parâmetro "reload" permite que o Squid continue respondendo aos clientes e aplique a nova configuração apenas às novas requisições.. de modo que o usuário precisa digitá-la apenas uma vez a cada sessão: A forma mais simples de implementar autenticação no Squid é usando o módulo "ncsa_auth"... é necessário bloquear diretamente os endereços dos trackers. fazendo com que o acesso fique fora do ar: # /etc/init. como em: \. como no caso do Apache. você inclui as extensões desejadas (sem esquecer da barra invertida antes do ponto). de acordo com o número de clientes conectados a ele) sem responder conexões. onde o proxy precisa finalizar todas as conexões abertas.avi \.exe \..exe \.d/squid restart" em ambientes de produção..mp3 \. dessa vez procurando pelas extensões de arquivos especificadas: acl extban url_regex -i \... Proxy com autenticação Você pode adicionar uma camada extra de segurança exigindo autenticação no proxy.torrent para iniciarem o download (o que acaba sendo o suficiente para fazer os usuários menos técnicos desistirem de baixar o arquivo). Continuando..torrent usando essa regra não impede que os usuários da rede utilizem o bittorrent. finalizar todos os processos e desativar o cache. baseado em um arquivo de senhas. especificando as extensões de arquivo desejadas. Para realmente bloquear o download de arquivos via bittorrent. que faz parte do pacote principal.d/squid reload Evite usar o "/etc/init. Isso faz com que o proxy fique vários segundos (ou até minutos...done.. para só então ler a configuração e carregar todos os componentes novamente. você pode usar a regra a seguir. Ele utiliza um sistema simples. Este recurso pode ser usado para controlar quem tem acesso à internet e auditar os acessos em caso de necessidade.avi \.Neste caso. pois ele força um reinício completo do Squid. Ele é suportado por diversos outros serviços onde o "restart" causa interrupção no serviço. de forma que se a lista começar a ficar muito grande. .torrent http_access deny extban Esta regra aceita também o uso de um arquivo externo.. mas apenas que baixem os arquivos .. Ela utiliza o parâmetro "url_regex" (o mesmo que utilizamos para criar o bloqueio de domínios).torrent Uma observação é que bloquear arquivos . onde você pode cadastrar e bloquear os usuários rapidamente. uma por linha.. se você usar uma configuração similar a essa: auth_param basic realm Squid auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/squid_passwd acl autenticados proxy_auth REQUIRED http_access allow autenticados acl redelocal src 192. Estas quatro linhas criam uma acl chamada "autenticados" (poderia ser outro nome). Eventualmente. o "/etc/squid/squid_passwd" indica a localização do arquivo de senhas que criamos no passo anterior.0/24 http_access deny !redelocal . Em seguida. da forma como ele aparecerá na janela de autenticação dos clientes. ela pode estar em uma pasta diferente dentro da distribuição que estiver usando. Entretanto. Para evitar isso. Estas linhas devem ser colocadas antes de qualquer outra regra que libere o acesso.0/24 http_access allow localhost http_access allow redelocal http_access deny all . precisamos do script "htpasswd". ele não passa pela regra que exige autenticação. O "/usr/lib/squid/ncsa_auth" é a localização da biblioteca responsável pela autenticação. que pode ser instalado através do yum. adicione as linhas que ativam a autenticação no squid. já que. usando o comando "touch" (que simplesmente cria um arquivo de texto vazio): # touch /etc/squid/squid_passwd O próximo passo é cadastrar os logins usando o htpasswd. nesse caso. vai notar que a regra de autenticação essencialmente desativa a regra que bloqueia o acesso de usuários fora da rede local. esta é na verdade uma opção meramente estética. Finalmente. que contém os usuários que se autenticarem usando um login válido. como em: # htpasswd /etc/squid/squid_passwd gdh Depois de terminar de cadastrar os usuários. use o comando "locate" ou a busca do sistema para encontrar o arquivo e altere a linha indicando a localização correta.1.. Todos os usuários tem acesso ao prompt de autenticação e todos que se autenticam ganham acesso.1.168.conf: auth_param basic realm Squid auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/squid_passwd acl autenticados proxy_auth REQUIRED http_access allow autenticados O "auth_param basic realm Squid" indica o nome do servidor.168. Veja um exemplo: # Bloqueia acessos de fora da rede local antes de passar pela autenticação: acl redelocal src 192. é necessário restringir o acesso de usuários fora da rede local antes da regra de autenticação.. Nas distribuições derivadas do Debian ele faz parte do pacote apache2-utils. mesmo que estejam utilizando endereços fora da faixa usada na rede. se o acesso é aceito por uma regra anterior. especificando o arquivo que acabou de criar e o login que será cadastrado. que você pode instalar via apt-get: # apt-get install apache2-utils No CentOS e no Fedora ele faz parte do pacote principal do apache (o pacote "httpd").Para criar o arquivo de senhas. crie o arquivo que será usado para armazenar as senhas. A acl "autenticados" inclui todos os usuários. configurado como PDC. você passa a poder criar regras de acesso com base nos logins dos usuários e não mais apenas com base nos endereços IP. Neste caso.254 acl autenticados proxy_auth REQUIRED http_access allow autenticados . permitindo que eles acessem. enquanto os demais caem na regra "http_access allow autenticados almoco". os dois podem acessar em qualquer horário. especificando o domínio (na opção -W) e o endereço do servidor PDC (na opção -U): auth_param basic realm Squid authenticate_ip_ttl 5 minutes auth_param basic program /usr/lib/squid/smb_auth -W dominio -U 192. fazendo com que ela bloqueie todos os endereços que não fizerem parte da acl "redelocal". por exemplo. O mais simples é o módulo smb_auth. que você queira que apenas dois usuários da rede tenham acesso irrestrito ao proxy. A exclamação inverte a lógica da regra. permite usar um arquivo de senhas separado. os usuários passam a utilizar o mesmo login e senha que utilizam para fazer logon. você poderia usar esta configuração: auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/squid_passwd acl autenticados proxy_auth REQUIRED acl permitidos proxy_auth gdh tux acl almoco time 12:00-13:00 http_access allow permitidos http_access allow autenticados almoco Aqui temos os usuários que passaram pela autenticação divididos em duas regras. válido apenas para o proxy.168. poderão acessar apenas no horário do almoço. enquanto a acl "permitidos" contém apenas os usuários gdh e tux. integrando o proxy a um sistema de autenticação já existente.# Outras regras de restrição vão aqui. você usaria a configuração a seguir. de forma que o acesso seja negado # antes mesmo de passar pela autenticação: acl bloqueados url_regex -i "/etc/squid/bloqueados" http_access deny bloqueados # Autentica o usuário: auth_param basic realm Squid auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/squid_passwd acl autenticados proxy_auth REQUIRED http_access allow autenticados # Libera o acesso da rede local e do localhost para os autenticados. mas apenas das 12:00 às 13:00. que cruza o conteúdo das acls "autenticados" e "almoço". e quem não tiver login e senha válidos não acessa em horário nenhum. o Squid suporta também um conjunto de módulos que permitem fazer com que o Squid se autentique em um servidor externo. Graças à regra "http_access allow permitidos". # bloqueia os demais: http_access allow localhost http_access allow redelocal http_access deny all Veja que agora usamos a regra "http_access deny !redelocal" no início da cadeia. Imagine. que permite que o Squid autentique os usuários em um servidor Samba. Além do módulo ncsa_auth que. Ao implementar a autenticação. Com isso. Os demais (mesmo depois de autenticados).1. como vimos. Para usar o smb_auth. O proxy transparente apenas fará com que o proxy intercepte os acessos na porta 80. Ele direciona as requisições recebidas na porta 80 para o Squid: # iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j \ REDIRECT --to-port 3128 O "eth0" no comando indica a placa da rede local.6 (como a usada no Debian Sarge e no Ubuntu 5. onde você não ativa o compartilhamento via NAT. Lembre-se de que. por isso a configuração é bastante simples. na verdade você precisa apenas adicionar o "transparent" para que o Squid passe a entender as requisições redirecionadas pela regra do firewall. a configuração é mais simples. como vimos anteriormente. log. para utilizar esta configuração você deve ter um servidor PDC na sua rede. uma grande economia de trabalho e dor de cabeça para você é o recurso de proxy transparente. para usar o proxy transparente. Basta substituir a linha "http_port 3128" no início do arquivo por: http_port 3128 transparent Ou seja. Ele permite configurar o Squid e o firewall de forma que o servidor proxy fique escutando todas as conexões na porta 80. Adicione o comando junto com os 4 comandos que compartilham a conexão no final do arquivo "/etc/rc. fazendo com que o proxy seja a única porta de saída da rede.Com o módulo smb_auth. você precisa ativar o suporte ao modo transparente dentro do arquivo "/etc/squid/squid. que permite integrar o servidor Squid ao Active Directory. Se você está usando uma versão recente. como aprenderemos a configurar em detalhes no capítulo sobre o Samba. Finalmente. diferente de um proxy tradicional. Configurando um proxy transparente Uma garantia de que os usuários realmente vão usar o proxy e.conf" (nesse caso. Outra vantagem é que este recurso permite usar o proxy sem precisar configurar manualmente o endereço em cada estação. é necessário adicionar as quatro linhas abaixo. anteriores à 2. Outros módulos que podem ser usados são o "squid_ldap_auth". onde o proxy recebe as requisições dos outros micros da rede e o "3128" indica a porta usada pelo Squid. no final do arquivo "/etc/squid/squid.local" ou ao seu script de firewall para que ele seja executado durante o boot. do Squid 2. o Squid simplesmente repassa o login e senha fornecido pelo usuário ao servidor PDC e autoriza o acesso caso o PDC retorne uma resposta positiva. No caso das versões mais antigas.6 em diante. que permite que o servidor autentique os usuários em um servidor LDAP e o "ntlm_auth". rode o comando abaixo. nem que exista uma cópia do Samba rodando localmente (são necessários apenas os pacotes "samba-client" e "samba-common". ao mesmo tempo. Não é necessário que o servidor com o Squid faça parte do domínio.conf" e reiniciar o serviço. ele continuará sendo usado. sem alterar a linha "http_port 3128"): . Naturalmente. que correspondem ao cliente Samba). você já deve estar compartilhando a conexão no servidor via NAT.10). Basta usar o endereço IP do servidor rodando o proxy como gateway da rede. Para ativar o proxy transparente. Mesmo que alguém tente desabilitar o proxy manualmente nas configurações do navegador. autenticação e cache. obrigando tudo a passar pelas suas regras de controle de acesso. Ao usar o proxy transparente a autenticação deixa de funcionar. Isso permite que você se beneficie do log dos acessos e do cache feito pelo proxy. Ou seja. HTTPS e outros protocolos) e usar o proxy transparente automaticamente impede que seja usada autenticação dos usuários. .ntlm' '--enable-carp' '--with-large-files' 'i386-debian-linux' 'build_alias=i386-debian-linux' 'host_alias=i386-debian-linux' 'target_alias=i386-debian-linux' Em resumo. existe a opção de usar um script PAC (Proxy Auto-Configuration). pois o proxy só atende a requisições na porta 80 (ou seja.diskd.httpd_accel_host virtual httpd_accel_port 80 httpd_accel_with_proxy on httpd_accel_uses_host_header on Em qualquer um dos dois casos. Uma solução para reduzir seu trabalho de administração nesse caso é implantar um sistema de configuração automática de proxy nos clientes. como ter que configurar manualmente cada estação. Em situações onde você realmente precisa ter controle sobre o tráfego da rede. mas também não quer arcar com o trabalho de configurar cada estação para usar o proxy manualmente. Entretanto.d/squid restart Em caso de dúvida sobre qual versão do Squid está instalada. obrigatoriamente. use o comando "squid -v". o uso do proxy transparente está longe de ser uma solução ideal. colocando o servidor como gateway da rede. a única opção acaba sendo utilizar um proxy "normal".digest. um arquivo que é disponibilizado na rede local através de um servidor web.null' '--enable-linux-netfilter' '--enable-linux-proxy' '--enable-arp-acl' '--enable-epoll' '--enable-removalpolicies=lru. sem ter que se sujeitar às desvantagens de usar um proxy. a configuração dos clientes continua igual.STABLE2 configure options: '--prefix=/usr' '--exec_prefix=/usr' '--bindir=/usr/sbin' '--sbindir=/usr/sbin' '-libexecdir=/usr/lib/squid' '--sysconfdir=/etc/squid' '--localstatedir=/var/spool/squid' '-datadir=/usr/share/squid' '--enable-async-io' '--with-pthreads' '--enable-storeio=ufs. todo o tráfego de outros protocolos (incluindo páginas em HTTPS. usar um proxy transparente está longe de ser uma solução perfeita. sem precisar configurar cada uma das máquinas manualmente. Se você acha as limitações de usar um proxy transparente pesadas demais.aufs. sem passar pelo proxy. Uma observação importante é que esta configuração de proxy transparente não funciona em conjunto com o sistema de autenticação incluso no Squid. Configuração automática de proxy nos clientes Usar um proxy transparente é a forma mais simples de fazer com que todas as estações da rede utilizem o proxy. ao usar o proxy transparente você vai ter a conexão compartilhada via NAT no servidor e configurará os clientes para acessar através dela. Como a conexão é compartilhada via NAT. embora seja uma forma simples de implementar um sistema de cache e algumas restrições de acesso. informa todas as opções que foram usadas durante a compilação: # squid -v Squid Cache: Version 2. pelo servidor Squid. que são acessadas através da porta 443) é encaminhado diretamente. Ao ativar o proxy.6. você precisa reiniciar o serviço para que a alteração entre em vigor: # /etc/init. a única diferença é que agora (graças à nova regra do Iptables) todo o tráfego da porta 80 passará. não funciona para FTP.heap' '--enable-snmp' '--enable-delay-pools' '--enable-htcp' '--enable-cache-digests' '-enable-underscores' '--enable-referer-log' '--enable-useragent-log' '--enable-auth=basic. sem NAT. Outra limitação importante do uso do proxy transparente é que ele atende apenas ao tráfego da porta 80. fazendo com que você precise escolher entre as duas coisas. que além de reportar a versão. como em "http://192. } No exemplo.1. O diretório "/var/www" é o diretório raiz do servidor web.Os clientes são então configurados para buscarem a configuração de proxy no script.1/wpad.dat dentro dele.} return "PROXY 192. com o seguinte conteúdo: function FindProxyForURL(url. Aqui temos uma versão um pouco mais incrementada do arquivo. crie o arquivo "/var/www/wpad.168.1:3128".0")) {return "DIRECT". onde os clientes são manualmente configurados para . Para manter as coisas simples.br/*")) {return "DIRECT".1.101:3128".168. enquanto no IE vai no "Ferramentas > Opções da Internet > Conexões > Configurações da LAN > Usar script de configuração automática": Depois de feita a configuração.com.gdhpress. No Firefox. de forma que ao colocar o arquivo wpad. que você defina) e para a faixa de endereços da rede local.1.0. host) { return "PROXY 192. Basta instalar o Apache usando o gerenciador de pacotes. você precisa instalar um servidor web em algum servidor da rede. Essa é a configuração mais elementar. falta apenas configurar os clientes para obterem a configuração de proxy através dele. endereços que devem ser acessados diretamente.0/relnotes/demo/proxy-live.} if (isInNet(host. Para começar. sem passar pelo proxy: function FindProxyForURL(url.dat".netscape. como em: # apt-get install apache2 ou: # yum install httpd Em seguida. O arquivo contém um pequeno javascript que será processado pelos clientes antes de cada requisição orientando-os a utilizarem o proxy.html Depois de disponibilizar o arquivo. mas é um bom ponto de partida. Esta não é exatamente uma configuração automática (você ainda tem o trabalho de configurar os clientes para utilizarem o script).dat". você pode utilizar o próprio servidor que está disponibilizando o proxy. você pode checar o uso do proxy pelos clientes monitorando o arquivo "/var/log/squid/access. "192. O arquivo wpad.0". o endereço vai no "Editar > Preferências > Avançado > Rede > Configurações > Endereço para configuração automática de proxy".dat" (no servidor).log" do servidor.168. que inclui exceções para o site da empresa (ou outro site qualquer. ele passará a ser disponibilizado através do endereço "http://ip-doservidor/wpad. Você verá várias entradas referentes aos acessos feitos pelos clientes.168."*. A principal vantagem em relação à configuração manual é que ao usar o script você pode alterar a configuração de proxy em todas as estações simplesmente modificando o script.1.168. "255. } Você pode ver uma lista com outros parâmetros que podem ser usados no: http://wp.com/eng/mozilla/2. o "192. em vez de precisar reconfigurar cada estação manualmente.255.1:3128" corresponde ao endereço do servidor proxy e a porta utilizada pelo Squid. que será usado para disponibilizar o arquivo.1. host) { if (shExpMatch(url.dat pode incluir diversos outros parâmetros. não esqueça de reiniciar o serviço para que a alteração entre em vigor.255.168.dat e sem utilizarem o proxy: Isso nos leva à configuração do DNS.0 netmask 255. atendendo a máquinas com o Firefox.1. em vez de especificar a localização do arquivo manualmente: Atualmente.1.168. authoritative. onde veremos mais detalhes sobre a configuração de domínios. max-lease-time 7200. option wpad-url "http://192.168.conf".168. a primeira contendo a diretiva "code 252 = text" e a segunda contendo a localização do arquivo wpad. A configuração do DNS é um pouco mais complexa.222. option routers 192. que não lê a configuração se o \n não estiver presente. } O "/n" na última linha insere uma quebra de linha. Depois de configurar o DHCP.dat\n".100 192. que permite automatizar a configuração dos clientes.0.1/wpad. permitindo que eles localizem o arquivo automaticamente. Ele é um workaround para um bug do IE 6. você pode configurar os clientes com a opção "Detectar automaticamente as configurações" na configuração do proxy. option wpad-url "http://192. como em: # apt-get install bind . option broadcast-address 192. Você pode selecionar a opção "Autodetectar as configurações de proxy para esta rede" no Firefox. apenas o Internet Explorer é compatível com a configuração automática via proxy.dat: option wpad-url code 252 = text. option domain-name-servers 208. sem lerem o arquivo wpad. que complementa a configuração. Para usar o WPAD. subnet 192. A primeira linha é incluída na seção global da configuração. default-lease-time 600.199. mas você perceberá que os clientes continuarão tentando acessar a web diretamente.168. A alteração do servidor DHCP consiste em adicionar duas linhas no arquivo "/etc/dhcp3/dhcpd.1. option wpad-url code 252 = text. como em: ddns-update-style none. precisaremos configurar também o servidor DHCP e o servidor DNS da rede para orientarem os clientes a utilizarem o arquivo.1. O degrau seguinte é o WPAD (Web Proxy Auto-Discovery protocol).0 { range 192. enquanto a segunda é incluída na seção correspondente à subnet.1.255.1.67.1. pois é necessário configurar também um domínio para a rede local e ajustar (novamente) também a configuração do servidor DHCP para que os clientes utilizem o domínio.dat\n".222.1.255. O primeiro passo é instalar o Bind usando o gerenciador de pacotes.utilizarem o arquivo.168.168. Depois de alterar o arquivo.1/wpad. Opera e outros navegadores. Por enquanto. vou apenas me limitar a uma receita rápida para que você coloque o domínio no ar e possa assim ativar a configuração automática do proxy. Mais adiante teremos um capítulo dedicado à configuração de servidores DNS utilizando o Bind. ( 2008030645 3H 15M 1W 1D ) NS etch.d/bind restart Naturalmente.0 { range 192.1 O "etch" no exemplo é o nome do servidor. indicando a localização de um arquivo externo (onde vai a configuração) e em seguida adicionamos a configuração propriamente dita neste segundo arquivo. você pode especificar qualquer domínio.com.com. .1" é o endereço IP usado por ele.O arquivo de configuração padrão é o "/etc/bind/named. Este é um exemplo de arquivo "/etc/dhcp3/dhcpd. No exemplo.com.com.100 192.199. option broadcast-address 192.1.255.168. file "/etc/bind/db. ou seja. A 192.br/wpad.1.".168. Esse arquivo precisa ser criado na mesma pasta do arquivo principal.br.com. Comece adicionando a configuração referente a ele no final do arquivo "/etc/bind/named.conf. O conteúdo do arquivo será o seguinte (veja mais detalhes sobre o significado das opções no capítulo sobre DNS): @ IN SOA etch.com. hostmaster.1. Isso cria o domínio "gdhn.gdhn).1. ambos apontando para o endereço IP do servidor.br" IN { type master. Primeiro adicionamos uma entrada referente ao domínio no arquivo principal. max-lease-time 7200.gdhn.168. ddns-domainname "gdhn. Depois de terminar.conf" (no Debian você pode também utilizar o arquivo "/etc/bind/named.1.1. A configuração do domínio é feita em duas partes.conf".br.1.255. Como estamos configurando um domínio local.gdhn.168.local". authoritative.gdhn. onde irá a configuração do domínio.168.com.gdhn".br.br".br".com.gdhn". option routers 192.".1.br.0 netmask 255.255.168. não é necessário que ele esteja realmente registrado. }. gdhn.br.com. option domain-name-servers 192.dat". não esqueça de reiniciar o Bind para que a alteração entre em vigor: # /etc/init. será o arquivo "/etc/bind/db. option domain-name "gdhn.168.1. option domain-name "gdhn. Veja que na terceira linha especificamos o arquivo externo (db.1 wpad IN A 192.168.br.com.1/wpad. option wpad-url code 252 = text.dat".1. depois das alterações: ddns-update-style none. que é carregado como um include): zone "gdhn.conf". default-lease-time 600.com. estou usando o domínio "gdhn. Dessa forma.168.1/wpad.1.gdhn. é necessário também configurar os clientes para utilizarem o servidor DNS interno que acabamos de configurar. os clientes baixarão na verdade o "http://192.com.br" e o "wpad.168.1. ao tentarem baixar o arquivo "http://wpad. Isso é feito especificando o endereço IP do servidor como único servidor DNS na opção "domain-name-servers" da configuração do DHCP e adicionando duas novas opções na seção global do arquivo: ddns-domainname "gdhn.".com.br. para que o domínio seja utilizado. option wpad-url "http://192.1. enquanto o "192. subnet 192.168.gdhn.br.".dat\n". em um servidor dedicado para uma rede de maior porte você pode reservar até 1/3 da memória total do servidor.DIRECT/wpad text/html A solução nesses casos é editar o arquivo "/etc/hosts" nos clientes afetados.168. Como comentei a pouco. Em vez de procurarem o arquivo wpad. em um servidor de rede local que atende um pequeno volume de clientes.183 TCP_MISS/503 1479 GET http://wpad/wpad. que possuem um bug na variável usada para localizar o arquivo. como em: 192. se a função do servidor será rodar apenas o proxy.dat .168. Mais detalhes sobre a configuração dos caches A configuração dos caches é o parâmetro da configuração que afeta mais diretamente o desempenho do servidor proxy e por isso deve ser sempre definida com cuidado em qualquer servidor que irá atender a um grande volume de usuários.1. sem respeitar a configuração do DNS. elas tentam sempre baixar o arquivo a partir da URL "http://wpad/wpad. você pode configurar o Firefox para localizar o proxy automaticamente e.dat". as requisições passam a ser destinadas ao endereço correto.dat e utilizar a configuração definida por você.com. Uma pequena exceção fica por conta de versões antigas do Firefox para Linux. Ao usar clientes Linux rodando alguma das versões afetadas pelo bug. Veja um exemplo: Com isso. nameserver 192.conf") do servidor DHCP: search gdhn. Porque não reservar logo toda a memória para o Squid? . você verá uma série de entradas como essa no log do Squid: 192.com. graças à configuração do DNS.dat no host "wpad" dentro do domínio da rede (que leva ao nosso servidor). Você deve ter se perguntado por que reservar apenas 1/3 da memória. ela na verdade esconde diversos detalhes pouco intuitivos. Naturalmente. você pode reservar apenas 32 ou 64 MB de memória RAM para o cache do Squid (de forma que ele não consuma toda a memória do servidor. a mesma configuração é fornecida aos clientes Windows configurados via DHCP.1 wpad Com isso.1 Veja que é incluída a linha "search gdhn. Embora a configuração pareça simples. prejudicando seu desempenho em outras tarefas) e. os clientes Linux receberão a seguinte configuração de DNS (salva no arquivo "/etc/resolv.1.br".} Com essa configuração. ele será capaz de encontrar o arquivo wpad.br. que especifica que eles devem fazer pesquisas dentro do domínio e que o endereço do servidor é usado como DNS primário.1. adicionando uma entrada relacionando o host "wpad" com o endereço do seu servidor.168. solucionando o problema. o que melhora assustadoramente o desempenho em servidores proxy. como em: maximum_object_size 512 MB minimum_object_size 2 KB Isso faz com que pequenas imagens e outros tipos de arquivos muito pequenos. incluindo o gerenciamento das conexões e armazenamento da metadata dos arquivos armazenados no cache em disco. o sistema é obrigado a utilizar memória swap.0) existe a opção de simplesmente adicionar novas linhas "cache_dir" na . levando em conta a posição dos arquivos nos discos magnéticos. já que com um cache maior na memória RAM.000 user + 0.000 seconds = 0. ajuste as permissões da nova pasta. de forma que a posse seja transferida para o usuário "proxy" e o grupo "proxy" (usados pelo Squid) e. para concluir. sem falar da memória RAM consumida pelo sistema operacional para fazer cache de disco e outras atividades. Verifique também a possibilidade de adicionar mais memória RAM ao servidor. neles a controladora pode realizar leituras fora de ordem.STABLE5): Terminated abnormally. em vez de precisarem ser lidos no cache do HD. que faz com que ele reformate o diretório do cache. raramente o desempenho do HD será um gargalo.d/squid stop # chown -R proxy. o Squid precisa de memória RAM para diversas outras tarefas. Entretanto. como nesse exemplo: Restarting Squid HTTP proxy: squid* Creating squid spool directory structure 2008/06/31 16:35:46| Creating Swap Directories FATAL: Failed to make swap directory /mnt/sda2/squid/00: (13) Permission denied Squid Cache (Version 2. pare o Squid. Uma dica nesse caso é utilizar HDs SATA (ou SCSI) com suporte a NCQ. CPU Usage: 0.000 sys Maximum Resident Size: 0 KB Page faults with physical i/o: 0 Para solucionar o problema. execute o comando "squid -z". já que o proxy precisará atender a um pequeno volume de requisições. de forma que a única forma de adicionar uma nova partição era realmente movendo o cache para ela.A resposta é que além da RAM reservada ao cache em memória. acusando um erro de permissão no diretório do cache. Isso faz com que eles sejam capazes de realizar um volume de leituras de pequenos arquivos muito maior do que HDs IDE e HDs SATA sem NCQ (em algumas situações específicas. Continuando. Reservando muita memória para o cache. Outra dica é que você pode reduzir bastante o volume de operações de acesso a disco fazendo com que o cache despreze arquivos muito pequenos (menores do que 2 KB. você vai logo perceber que o Squid deixará de inicializar. Como os arquivos são muito pequenos.proxy /mnt/sda2/squid # squid -z # /etc/init. em uma grande rede.6. se você precisar alterar a localização da pasta do cache na linha "cache_dir" (para colocá-lo em uma pasta em uma partição separada. o aumento no uso do link não deve ser considerável. até duas vezes mais). com mais do que 100 ou 200 clientes o desempenho do proxy é freqüentemente gargalado pelo volume de leituras que o HD é capaz de realizar. o que acaba reduzindo o desempenho em vez de aumentar.d/squid start Em versões antigas do Squid você ficava limitado a um único diretório de cache. criando a estrutura apropriada: # /etc/init. por exemplo) através da opção "minimum_object_size". usados em profusão em muitas páginas web sejam simplesmente baixados novamente a cada acesso. por exemplo). menos arquivos precisarão ser lidos a partir do HD. Em uma pequena rede. Nas versões atuais (desde o Squid 2. ajustar as permissões de acesso e rodar o comando "squid -z" para que o Squid crie as estruturas necessárias. você pode acompanhar as páginas que estão sendo acessadas (mesmo que não exista nenhum filtro de conteúdo) e tomar as medidas cabíveis em casos de abuso. pois o Squid precisa manter carregadas informações sobre os arquivos armazenados no cache para localizá-los de forma eficiente. Você pode ir fazendo um trabalho incremental. por exemplo. . Note que. mantendo as antigas. eles sempre bloqueiam algumas páginas úteis e deixam passar muitas páginas impróprias. para cada gigabyte de espaço em disco reservado para o cache. como no exemplo anterior. mesmo ao usar uma partição separada só para o cache. Para um servidor de rede local. a inspeção manual acaba sendo o método mais eficiente. sem apagar as antigas. Caso contrário. pois o Squid precisa de um pouco de espaço extra para manter um arquivo com o status do cache e para operações de organização em geral. explicando que os acessos estão sendo monitorados e estabelecendo algum tipo de punição para quem abusar. o Squid consome cerca de 10 MB a mais de memória RAM (o valor real varia de acordo com o tamanho dos arquivos armazenados no cache). não é recomendável usar um cache em disco muito grande. mostrando as páginas acessadas por cada um. Sempre que executado. que você pode visualizar através de qualquer navegador: Os acessos são organizados por usuário (caso esteja sendo usada autenticação) ou por IP. Aqui está um exemplo do relatório gerado pelo Sarg. de forma que um cache de 20 GB. De uma forma geral. Uma observação final é que o volume de espaço em disco reservado ao cache tem efeito sobre o volume de memória RAM consumido pelo Squid (em adição ao cache na memória). quantidade de dados transmitidos. ou fazer algum trabalho educativo. como em: cache_dir ufs /var/spool/squid 2048 16 256 cache_dir ufs /mnt/sda2/squid 5120 16 256 cache_dir ufs /mnt/sda3/squid 10240 16 256 Não esqueça de que. com uma lista de todas as páginas que foram acessadas e a partir de que máquina da rede veio cada acesso. Usando o Sarg para monitorar o acesso O Sarg é um interpretador de logs para o Squid. Isso permite que você simplesmente adicione novas pastas e partições ao cache. Caso você tenha configurado o Squid para exigir autenticação. ele cria um conjunto de páginas. A partir daí. o Squid vai travar depois de algum tempo. Se você tiver uma partição de 10 GB e usar na configuração "cache_dir ufs /var/spool/squid 10480 16 256" (reservando exatamente 10 GB para o cache). a menos que o servidor realmente possua muita memória disponível e precise atender a um volume muito grande de clientes. Por padrão. por falta de espaço em disco. você não deve reservar mais do que 80% do espaço total da partição para ele. reservando 8 GB em vez de 10. aumenta o volume de memória usado pelo Squid em aproximadamente 200 MB. divididas por dia. você deve parar o proxy.configuração. um cache de 5 ou 10 GB já é mais do que suficiente. sem falar que é importante manter uma pequena percentagem de espaço livre na partição para reduzir a fragmentação. tempo gasto em cada acesso. ele mostra os endereços IP das máquinas. Se você tiver algum tempo para ir acompanhando os logs. ele gera um conjunto de páginas html dentro da pasta "/var/www/squid-reports/" (ou "/var/www/html/squid/". Devido a isso. Todos sabemos que os filtros de conteúdo nunca são completamente eficazes. ir bloqueando uma a uma as páginas onde os usuários perdem muito tempo. O correto no caso seria usar "cache_dir ufs /var/spool/squid 8192 16 256". ao adicionar uma nova pasta. nas distribuições derivadas do Red Hat). assim como o Webalizer é para o Apache. ele organiza os acessos com base nos logins dos usuários. gz e assim por diante). de forma bastante detalhada. o relatório poderá ser visualizado apenas a partir do próprio servidor. o que pode ser imprático se você o acessa remotamente. access. como em: # apt-get install apache2 A partir daí.1" e os logs seguintes as extensões ".daily/sarg" para "/etc/cron. de acordo com a distribuição usada). o logrotate renomeia e compacta os arquivos de log. que é salvar os relatórios dentro do diretório "/var/www". o serviço do sistema responsável por rotacionar os logs. No caso do Debian. evitando que eles cresçam até ocupar todo o espaço disponível no HD do servidor. Dentro da mesma pasta. etc. O Sarg é incluído na maioria das distribuições atuais.1. Dentro do relatório de cada período. Você pode alterar a pasta onde são salvos os relatórios.2. Com isso. O arquivo é auto-explicativo. onde é indicada a localização do arquivo de log do Squid. você precisa apenas chamá-lo quando quiser atualizar o relatório: # sarg Para automatizar esta tarefa.gz" e assim por diante. ". Se você quer que o relatório seja gerado em Português.tentativas de acesso bloqueadas pelos filtros de conteúdo e outras informações. O Sarg não é um daemon que fica residente. chame o comando "sarg" (como root) para que os relatórios sejam gerados a partir do log do Squid. você tem a lista dos endereços IP e/ou dos usuários autenticados que utilizaram o proxy e. As duas linhas mais importantes dentro do arquivo são a "output_dir /var/www/squid-reports". limitar o acesso às estatísticas e alterar várias opções cosméticas no arquivo de configuração do Sarg.log. access.log. No Debian (e na maioria das outras distribuições) é criado automaticamente um script dentro da pasta "/etc/cron.3. alterar o layout da página. substitua a linha "language English" (logo no início do arquivo) para "language Portuguese". você encontrará um script que executa o logrotate. que é o "/etc/squid/sarg. você pode usar o cron para que ele seja executado automaticamente todos os dias ou uma vez por hora. Outro recurso interessante é o envio de uma cópia do relatório por e-mail sempre que o Sarg for executado. ele é instalado usando o urpmi e assim por diante: # urpmi sarg Depois de instalado.conf" (ou o "/etc/sarg/sarg. de forma que ele não deixe de contabilizar os acessos. Inicialmente.daily/". incluindo o log do Squid. por exemplo. experimente renomear o arquivo "/etc/cron. Se você manteve o default.log.log. access. onde é especificada a pasta onde serão armazenados os relatórios (que. Os logs são inicialmente organizados por período. nele você pode alterar os diretórios-padrão. fazendo com que o log do dia anterior receba a extensão ". Ao configurar o Squid para salvar os logs em outro arquivo. precisa existir no sistema) e a "access_log /var/log/squid/access. sendo que os relatórios antigos são mantidos quando o relatório é atualizado (com o tempo o relatório acaba armazenando um volume muito grande de informações). naturalmente. pode disponibilizar o relatório para a rede simplesmente instalando o Apache. Todos os dias.gz. No Debian e derivados ele pode ser instalado via apt-get: # apt-get install sarg No Mandriva. como .daily/ksarg". em alguns casos instalado por padrão junto com o Squid.daily/logrotate". o logrotate é corretamente configurado para executar o Sarg antes de rotacionar os logs.conf". cores e títulos. é necessário especificá-lo dentro da configuração do Sarg. você pode acompanhar o log das páginas acessadas e outras informações. a pasta "/var/log/squid" conterá uma seqüência de arquivos (access. de forma que ele seja executado imediatamente antes do "/etc/cron.log". que faz com que ele seja executado todos os dias às 6:25 da manhã.2.gz". dentro do relatório referente a cada um. Caso tenha problemas em outras distribuições. você pode acessar os relatórios através do http://ip-do-servidor/squid-reports".3. uma lista dos endereços IP da rede que acessaram o servidor.1. Através dele.em "http://192. Para instalar o ntop em distribuições derivadas do Debian. enquanto um "K" indica um servidor do Kazaa ou um tracker Bittorrent. é fácil identificar máquinas da rede que estão consumindo uma grande quantidade de banda devido à utilização de programas P2P como o Kazaa ou o Bittorrent.1. usando um arquivo . pressione "Ctrl+C" para abortar o comando e inicialize o serviço para que o ntop passe a operar em background: # /etc/init. você pode acessar os relatórios.1/squid-reports". o mais importante.1:3000". execute o comando "ntop" como root para definir a senha de administração: # ntop ntop startup . Ele monitora todo o tráfego. mostra apenas o tráfego HTTP. Com o pacote instalado. Monitorando com o ntop Um dos problemas em utilizar um proxy transparente é que o log do Squid e.d/ntop start A partir daí. Acessando a seção "All Protocols > Traffic" (no menu superior).waiting for user response! Please enter the password for the admin user: ******** Please enter the password again: ******** Ter 06 Mai 2008 07:36:34 BRT Admin user password has been set Com a senha definida.ntop. mostrando o volume de banda consumido por cada máquina da rede e.168. organizados de acordo com o volume de dados transferidos: Os hosts recebem um ícone de classificação de acordo com o tipo de tráfego predominante. mas ele esconde um volume surpreendente de detalhes sobre as conexões. que vem desativado por padrão em muitas distribuições). você pode proteger a pasta com senha. dentro de cada relatório. deixando de fora todos os demais protocolos.htaccess.org/. você poderá acessar a interface também através do "https://ip_do_servidor:3001": O relatório do ntop pode parecer simples à primeira vista. consequentemente.168. informações detalhadas sobre os protocolos utilizados. Clicando sobre os hosts. o que permite localizar estações rodando programas P2P ou outros aplicativos que consomem muito tráfego da rede: . Uma forma simples de monitorar o tráfego global da sua rede interna é instalar o ntop no gateway da rede. como em "http://192. por exemplo. Para evitar que outros usuários da rede fiquem bisbilhotando nos relatórios. Caso o suporte a SSL tenha sido ativado durante a compilação do pacote (ele é um componente opcional. por exemplo. você pode baixá-lo no http://www. Uma bandeira verde indica um site que hospeda arquivos legítimos. você tem acesso a um relatório detalhado com o tipo de tráfego. horários de maior acesso e. você tem acesso a um relatório dos hosts de internet que foram acessados através da conexão. como veremos em detalhes no capítulo sobre o Apache. onde estão disponíveis pacotes para várias distribuições. o relatório do Sarg. basta instalar o pacote via apt-get: # apt-get install ntop Caso o ntop não esteja disponível através do gerenciador de pacotes da distribuição em uso. atualizados em tempo real a partir do "http://ip_do_servidor:3000". por exemplo.500. através da opção url_regex (a mesma que usamos para criar uma lista de sites bloqueados). Por serem construídas através da combinação dos esforços de muitas pessoas.or. Existem grupos destinados a manter listas com URLs de páginas pornográficas. A lista mais usada é provavelmente a MESD blacklists.tgz. contando inclusive com um script de atualização automática. sem custo. que são atualizadas freqüentemente. Estas listas nada mais são do que longas listas de links. que formam um arquivo compactado de 9 MB. já que o Squid processa cada linha dos arquivos a cada acesso. Você pode solucionar o problema usando os comandos abaixo: # mkdir /var/lib/ntop/rrd # chown -R ntop. Da próxima vez que alguém reclamar que a rede está lenta. Uma dica é que no Debian Etch existe um pequeno bug no script de instalação do pacote que faz com que não seja criado o diretório "/var/lib/ntop/rrd" (onde o ntop armazena sua base de dados) e as permissões do diretório "/var/lib/ntop/" sejam definidas incorretamente.de/. o ntop realmente monitora todo o tráfego de dados que passa pelo servidor. por serem arquivos muito grandes. Entra em cena então o SquidGuard. O uso comercial é permitido. disponível no: http://www. simplesmente porque existem muitas delas e você iria morrer louco se tentasse bloquear todas manualmente. o que consome muito processamento. que é a indicada pela equipe do SquidGuard.us/blacklists. auxiliadas por ferramentas semi-automáticas de indexação e classificação de conteúdo. que conta com mais de 2 milhões de links e é atualizada regularmente. que loga apenas o tráfego que passa pelo Squid. que permite usar longas listas de URLs. Elas até podem ser usadas diretamente no Squid. Desde que todo o tráfego de internet realmente passe pelo servidor (ou seja. A assinatura custa de US$ 6 a US$ 55 mensais. páginas de cassinos e jogos e páginas ilícitas em geral. você pode ter certeza de que tudo será logado. estas listas permitem bloquear a maior parte das páginas ilícitas sem muito esforço. por ser completamente livre e utilizável para qualquer fim. Outra lista muito usada é a Shalla's Blacklists. independentemente do protocolo usado. A lista é livre para uso pessoal ou não-comercial e é mais completa que a lista do MESD.k12.mesd.ntop /var/lib/ntop/ Usando o SquidGuard para bloquear páginas impróprias Bloquear domínios e endereços IP individuais funciona bem para bloquear páginas específicas. Ela tem pouco mais de 1 milhão de links e pode ser baixada no: http://squidguard. Ela é uma lista comercial. que ele seja o único gateway disponível).000 de URLs.com.Diferente do relatório do Sarg. Ele permite integrar as listas que vimos a pouco sem . mas. o desempenho seria ruim. mas não funciona para bloquear páginas pornográficas. com um por linha. com milhões de links sem uma grande perda de desempenho. Outra opção é a lista do URLBlacklist. Apenas a lista mantida pelo Shalla Security possui mais de um milhão e meio de URLs cadastradas. desde que você preencha um contrato de uso. com mais de 1.shallalist. impedindo a operação normal do serviço. bastará olhar o relatório para descobrir o motivo. de acordo com o tipo de uso. Vou usar como exemplo as listas do Shalla e do MESD. você terá as pastas "BL" (as listas do Shalla) e "blacklists" (listas do MESD) dentro do diretório. "domains" e "urls".tgz $ wget -c http://www.tar.conf". o primeiro contendo domínios que são bloqueados completamente e o segundo contendo URLs isoladas.squidguard. Dentro de cada pasta. porn . Comece baixando as listas em um diretório qualquer. empresas de seguros e de crédito. Em seguida. as listas são divididas por assunto. O primeiro passo é baixar os arquivos das listas desejadas e descompactá-los no diretório "/var/lib/squidguard/db". como em: # cp blacklists.shallalist.Páginas (não necessariamente ilegais) que hospedam vídeos e músicas. proxy . você encontra dois arquivos. É a categoria com o maior número de entradas e a primeira que você precisará bloquear.tar.de/Downloads/shallalist.tgz shallalist. Vamos começar baixando as listas. audio-video . especificando os arquivos de listas que serão usados e o comportamento do SquidGuard ao bloquear os acessos e. drugs .mesd. Esta pasta inclui várias subpastas. gamble . adicionando a linha que ativa o uso do SquidGuard.gz Copie os dois arquivos para o diretório "/var/lib/squidguard/db" e descompacte-os.or.k12.Cassinos e outras páginas relacionadas a jogos de aposta. é necessário configurar o arquivo "/etc/squid/squidGuard.Páginas com informações financeiras.Sites que hospedam banners e anúncios em geral. Ela reúne URLs e endereços IP .Este dispensa comentários. como o youtube. sex .gz Com isso. As listas se encarregarão de bloquear a maior parte das páginas impróprias e você poderá fazer ajustes manuais conforme necessário.tar. Alguns dos temas cobertos pelas listas são: adv . que você pode bloquear ou não de acordo com a situação. Nas distribuições derivadas do Debian. incluindo bancos.tar. A lista do MESD é concentrada em temas ilegais.Similar à "porn". já que não precisaremos mais deles: # rm -f blacklists.conf".sites que vendem remédios e páginas com conteúdo relacionado ao uso de drogas ou apologia às drogas. você pode instalá-lo rapidamente via apt-get: # apt-get install squidguard A configuração é feita em três fases.tgz shallalist. como neste screenshot: Como pode ver.Páginas com salas de bate-papo ou contendo clientes web para acesso ao MSN ou outras redes. você bloqueia boa parte dos banners de anúncios). com as páginas divididas em categorias. como em: $ wget -c http://squidguard. editar o "/etc/squid/squid. A página do projeto é a: http://www.gz /var/lib/squidguard/db/ # cd /var/lib/squidguard/db/ # tar -zxvf blacklists. contém páginas de conteúdo adulto. exibidos em outras páginas (bloqueando estes domínios. mas você pode usar os mesmos passos para utilizar outras listas que desejar. finance . enquanto a lista do Shalla inclui listas relacionadas a temas diversos.us/blacklists.gz Aproveite para remover os dois arquivos.Esta é outra lista que você sempre deve incluir no bloqueio. finalmente. chat .tgz # tar -zxvf shallalist. Na lista do MESD a categoria se chama "ads".org/.comprometer o desempenho do seu servidor proxy. cada uma contendo um conjunto de subpastas. É interessante bloqueá-los para dificultar o download de arquivos .conf". combinando listas do MESD e do Shalla: # /etc/squid/squidGuard. Um exemplo básico de arquivo de configuração. daí o "/var/lib/squidguard/db/blacklists" e estou orientando o SquidGuard a salvar o log no mesmo diretório utilizado pelo Squid.br } } As duas primeiras linhas indicam o diretório contendo as blacklists e o diretório onde serão armazenados os logs.Endereços de trackers com torrents. ou mesmo combinar seções de ambas para incrementar o filtro. socialnet .Inclui redes sociais. Você pode substituí-la pelo site da empresa. cada uma incluindo os dois arquivos da categoria correspondente dentro das listas. Concluindo. Dessa forma. usei a linha "pass ! porn !proxy all". o que tem potencial para consumir muita banda. Com isso.torrent através da rede.conf . temos duas ACLs. como o Orkut e o Myspace. estou usando as listas do MESD. que podem ser usados pelos usuários para furar o bloqueio. No exemplo. Temos aqui um segundo exemplo de configuração. que faz com que todos os acessos bloqueados sejam redirecionados de forma transparente à URL especificada. O próximo passo é configurar o arquivo "/etc/squid/squidGuard. que indica que os acessos a páginas citadas nas listas devem ser bloqueados.de proxys externos. que usa um número bem maior de ACLs.Páginas que hospedam programas piratas. Em seguida. No exemplo. batizadas de "porn" e proxy". bem mais incrementado. bastaria adicionar uma nova ACL para cada uma. webtv .br". a opção "pass" indica como as duas ACLs serão usadas. o usuário tentando acessar páginas impróprias é sutilmente direcionado a uma página com conteúdo mais saudável :). gerando o arquivo "/var/log/squid/squidGuard.gdhpress. webradio. É interessante bloqueá-las junto com a categoria "audiovideo".gdhpress.com.conf dbhome /var/lib/squidguard/db/blacklists logdir /var/log/squid dest porn { domainlist porn/domains urllist porn/urls } dest proxy { domainlist proxy/domains urllist proxy/urls } acl { default { pass !porn !proxy all redirect http://www.org. caso você queira reduzir o uso de banda da rede. usei a linha "redirect http://www.log". usando apenas duas das seções da lista do MESD. ou mesmo pela localização de uma página de aviso. No final. warez .Rádios e TVs online. Para que fossem adicionadas mais seções. especificando as listas a utilizar.com. mas o acesso a outras páginas é aceito. como o http://proxy. seria: # /etc/squid/squidGuard. tracker . você tem as duas listas à disposição e pode escolher qual delas utilizar. dbhome /var/lib/squidguard/db logdir /var/log/squid . dest ads { domainlist blacklists/ads/domains urllist blacklists/ads/urls } dest aggressive { domainlist blacklists/aggressive/domains urllist blacklists/aggressive/urls } dest audio-video { domainlist blacklists/audio-video/domains urllist blacklists/audio-video/urls } dest drugs { domainlist blacklists/drugs/domains urllist blacklists/drugs/urls } dest gambling { domainlist blacklists/gambling/domains urllist blacklists/gambling/urls } dest porn { domainlist blacklists/porn/domains urllist blacklists/porn/urls } dest proxy { domainlist blacklists/proxy/domains urllist blacklists/proxy/urls } dest redirector { domainlist blacklists/redirector/domains urllist blacklists/redirector/urls } dest spyware { domainlist blacklists/spyware/domains urllist blacklists/spyware/urls } dest violence { domainlist blacklists/violence/domains urllist blacklists/violence/urls } dest warez{ domainlist blacklists/warez/domains urllist blacklists/warez/urls } dest porn2{ domainlist BL/porn/domains urllist BL/porn/urls } dest socialnet{ domainlist BL/socialnet/domains urllist BL/socialnet/urls } . adicionando a linha: redirect_program /usr/bin/squidGuard Ela deve ser colocada depois das ACLs restritivas (destinadas a bloquear acessos.com. mas entretanto antes das regras finais. Um exemplo de arquivo squid. Basta colocar todas as listas dentro do diretório "/var/lib/squidguard/db" e incluir as ACLs correspondentes dentro da configuração. as listas precisam ser convertidas para o formato Berkeley DB.conf". Esta mesma idéia pode ser usada para combinar outras listas a que você tenha acesso. para que ele seja utilizado. usei a linha "dbhome /var/lib/squidguard/db". que permite um acesso muito mais rápido do que seria possível ao manipular diretamente os arquivos em texto. ou em determinados horários). depois de configurar o arquivo "/etc/squid/squidGuard.br } } Veja que nesse segundo exemplo. use. Para isso. o comando: # squidGuard -C all (este comando deve ser executado novamente sempre que você incluir novas listas na configuração) Embora não seja necessário em muitas configurações. Isso permite que você combine seções das duas listas.conf http_port 3128 transparent visible_hostname gdh cache_mem 128 MB maximum_object_size_in_memory 128 KB maximum_object_size 512 MB cache_dir ufs /var/spool/squid 4096 16 256 . O "proxy:proxy" indica o usuário e o grupo utilizados pelo Squid. garantindo que o Squid tenha acesso a eles. é recomendável usar também o comando abaixo para ajustar as permissões de acesso aos arquivos. fazendo com que todos os arquivos dentro da pasta sejam configurados com permissões 644 e as pastas com 755.conf".gdhpress. Isso previne o aparecimento de erros diversos relacionados a permissões incorretas para os arquivos: # find /var/lib/squidguard/db -type f | xargs chmod 644 # find /var/lib/squidguard/db -type d | xargs chmod 755 Depois de gerar a configuração do SquidGuard. que podem eventualmente ser diferentes. edite o arquivo "/etc/squid/squid. como no caso das ACLs para bloquear o acesso a uma lista de sites personalizados. Para isso. que permitem o acesso. Antes que possam ser efetivamente utilizadas. a partir do diretório principal. de acordo com a distribuição usada: # chown -R proxy:proxy /var/lib/squidguard/db/* Os dois comandos a seguir complementam a configuração. indicando o caminho até cada uma. o próximo passo é alterar a configuração do Squid.conf completo seria: # /etc/squid/squid. que é a configuração correta.dest tracker{ domainlist BL/tracker/domains urllist BL/tracker/urls } acl { default { pass !ads !aggressive !audio-video !drugs !gambling !porn !proxy !redirector !spyware !violence !warez !porn2 !socialnet !tracker all redirect http://www. cache_access_log /var/log/squid/access. você pode incluir também as duas linhas abaixo. Opcionalmente.0/0. com usuários acessando o proxy enquanto está configurando.d/squid restart Se você estiver configurando um servidor de produção.0.log acl all src 0.log Ele mostrará as mensagens de inicialização do SquidGuard. pois se ela for colocada depois da regra "http_access allow redelocal" (ou similar).168. as duas últimas linhas serão: . Aumentar o número ajuda a melhorar o desempenho do proxy em grandes redes. A opção "redirector_bypass on" faz com que o Squid continue funcionando mesmo que o SquidGuard trave ou deixe de funcionar por qualquer motivo. fazendo com que ele nunca seja usado.255. logo após a linha que ativa o SquidGuard: redirect_children 8 redirector_bypass on A opção "redirect_children" ajusta o número de processos do SquidGuard que o servidor Squid manterá abertos.255. Usá-la tem seus prós e contras.0 acl manager proto cache_object acl localhost src 127. use o comando abaixo para ativar a configuração sem derrubar os usuários conectados: # squid -k reconfigure Com tudo pronto.1. Pense no caso de uma escola primária. Se tudo estiver correto. Depois de tudo terminado. do que permitir que o Squid funcione com os bloqueios desativados.0.0.1/255.0. até que você consiga solucionar o problema. verifique se o SquidGuard está mesmo ativo usando o comando abaixo: # tail /var/log/squid/squidGuard. as requisições serão liberadas antes de passarem pelo SquidGuard.0/24 http_access allow localhost http_access allow redelocal http_access deny all A posição da regra que ativa o SquidGuard é importante. reinicie o Squid para que a configuração entre em vigor: # /etc/init. já que pode ser preferível que o acesso pare completamente.255 acl SSL_ports port 443 563 acl Safe_ports port 21 80 443 563 70 210 280 488 59 777 901 1025-65535 acl purge method PURGE acl CONNECT method CONNECT http_access allow manager localhost http_access deny manager http_access allow purge localhost http_access deny purge http_access deny !Safe_ports http_access deny CONNECT !SSL_ports redirect_program /usr/bin/squidGuard acl redelocal src 192. onde o servidor recebe um volume muito grande de requisições.0. por exemplo.0. adicionando as seguintes linhas próximo ao início do arquivo: dest white { domainlist white/domains urllist white/urls } No final do arquivo.com. é necessário fazer com que o SquidGuard atualize a conversão das listas e reiniciar o Squid para que as alterações entrem em vigor. Falta agora criar a pasta e os dois arquivos citados na configuração: # mkdir /var/lib/squidguard/db/white # touch /var/lib/squidguard/db/white/domains # touch /var/lib/squidguard/db/white/urls Use o arquivo "domains" para incluir domínios que devem ser permitidos por completo. Com o tempo. como em: 2008-06-14 10:45:04 [4408] init domainlist /var/lib/squidguard/db/BL/socialnet/domains 2008-06-14 10:45:04 [4408] /var/lib/squidguard/db/BL/socialnet/domains: Permission denied Nesse caso. inclua o parâmetro "white" (sem a exclamação) antes dos demais. Para isso. temos um problema com as permissões de acesso de uma das listas especificadas na configuração.0 started (1208175362. Nesse caso. o que poderia ser resolvido usando os comandos para acertar as permissões que vimos no início do tópico. ao especificar o uso das ACLs. como em: # squidGuard -C all # squid -k reconfigure Usando o DansGuardian O DansGuardian é outra opção de filtro de conteúdo desenvolvido para trabalhar em conjunto com . o conteúdo da ACL "white" será processado primeiro e o acesso às páginas especificadas no arquivo será liberado. você pode criar uma lista branca. permitindo que você localize o problema.2008-06-14 09:16:02 [4521] squidGuard 1. é provável que você precise desbloquear algumas páginas manualmente (depois de verificar seu conteúdo).br } } Com isso. como em "gdhn.060) 2008-06-14 09:16:02 [4521] squidGuard ready for requests (1208175362.br" e o arquivo "urls" para incluir páginas ou seções isoladas.com. sempre um por linha.conf. autorizando o acesso aos sites manualmente inseridos nela.gdhpress. adicione uma nova ACL no arquivo squidGuard. Não esqueça de atualizar os arquivos das blacklists periodicamente.com. a pedido dos usuários.105) Se algum erro impedir a inicialização do serviço. Com o SquidGuard ativo. ele exibirá a mensagem de erro. como em "gdhn.br/tutoriais/". os acessos a páginas impróprias serão drasticamente reduzidos e você conserva a possibilidade de refinar o bloqueio. adicionando novos endereços manualmente.2. já que elas são atualizadas de forma freqüente. Depois de editar os arquivos. como em: acl { default { pass white !porn !proxy all redirect http://www. com" naturalmente não foi bloqueado no filtro. a maioria das distribuições o inclui nos CDs de instalação. por outro lado. enquanto o DansGuardian utiliza um filtro adaptativo. Se. Se você quer um filtro de conteúdo que possa implantar rapidamente e manter ativo sem ter muito trabalho. ou o fornece como parte de uma solução comercial). frases e tipos de arquivos freqüentemente usados em páginas impróprias.org/?page=copyright2 Ao instalar. que foi bloqueada por ter retornado um grande número de páginas impróprias. por exemplo. implementando suas políticas de acesso. por isso. que você possa adaptar e personalizar de forma a obter melhores resultados. filtrando conteúdo indesejado. Depois de instalar o pacote. por exemplo. O domínio "google. é importante verificar algumas opções: # UNCONFIGURED Esta linha deve ficar comentada. que tem o código aberto e é gratuito para uso pessoal ou para qualquer fim não-comercial (pode ser usado em uma escola ou escritório. pois ele permite obter bons resultados mesmo com apenas uma configuração rápida. comece verificando se já não existe um pacote disponível na distribuição que está usando. desde que implementado internamente). o DansGuardian é um produto "semicomercial". indicando que o arquivo já foi configurado por você. você pode instalá-lo com um: # apt-get install dansguardian Você pode também encontrar pacotes para várias distribuições. mas é pago para uso comercial (quando você cobra pelo serviço de implantação. No Debian. temos uma pesquisa do Google por um termo indecoroso. O DansGuardian é um pacote de uso muito comum. por exemplo. O principal arquivo de configuração é o "/etc/dansguardian/dansguardian. então o DansGuardian pode ser uma boa opção. Ele trabalha sobre o Squid. Atualmente. você quer um filtro programável. Você pode ver mais detalhes sobre a licença de uso no: http://dansguardian. Ao editá-lo pela primeira vez. junto com o tradicional pacote com código fonte no http://dansguardian. A grande diferença entre ele e o SquidGuard é que o SquidGuard se limita a bloquear páginas contidas nas listas.org/?page=download2. mas mesmo assim o DansGuardian foi capaz de bloquear a página baseado no conteúdo: Originalmente. inicie-o com o comando: # /etc/init. que contém palavras. mas nada impede que ele seja usado também em outras situações. além de uma lista de páginas conhecidas e trabalha cruzando todas essas informações.d/dansguardian start ou: # dansguardian & Para que o DansGuardian funcione. Ele inclui um conjunto de regras prontas. .o Squid. mas deixando que o próprio Squid faça o acesso à web. utilizando um conjunto de regras adaptativas. é preciso que o Squid esteja instalado e ativo. cache e autenticação.conf". language = 'portuguese' Esta opção configura a língua em que as mensagens de acesso bloqueado serão mostradas aos clientes. que avalia o conteúdo da página e decide se ela é uma página imprópria com base no conteúdo. o SquidGuard é a melhor opção. o DansGuardian foi desenvolvido como um filtro de conteúdo para uso em escolas primárias e para quem tem crianças pequenas em casa. No screenshot abaixo. org/downloads/grosvenor/languages. mais severa é a censura. quanto para identificar falsos-positivos. mas é possível utilizar outro servidor Squid disponível na rede. que deixam passar muitos sites nacionais. ou seja. enquanto a expressão "sex orgies" soma 80 pontos. Serve tanto para verificar a eficiência do filtro. subtraem pontos. A palavra "education" subtrai 20 pontos.gz" e copie os arquivos de dentro da pasta "languages". o cliente recebe a mensagem de erro e o acesso sequer é feito. fazendo com que a página tenha uma possibilidade menor de ser bloqueada. mesmo que sejam encontradas palavras proibidas dentro do texto. que funciona como uma white list. Ao receber a requisição do cliente. Se não existir nenhum bloqueio relacionado ao domínio. economizando banda. contendo uma lista de páginas que sempre são permitidas. Você pode baixar um arquivo com listas em outras línguas. o Squid usa a porta 3128. Caso esteja. Os valores recomendados pelos desenvolvedores são "60" para crianças pequenas.log' Aqui vai a localização do arquivo de log do dansguardian. o site recebe uma nota. proxyip = 127. onde ficam armazenados os endereços das páginas cujo acesso foi bloqueado.tar. Ele sempre deve utilizar uma porta diferente do Squid. o DansGuardian verifica o conteúdo em busca de expressões e palavras "ruins". Essas exceções podem ser especificadas individualmente no arquivo "/etc/dansguardian/exceptionsitelist". juntamente com o peso positivo ou negativo de cada uma. A filtragem de páginas funciona em dois níveis. Você define um índice máximo a ser tolerado no arquivo "/etc/dansguardian/dansguardianf1. incluindo português no: http://dansguardian. onde a principal preocupação seja não bloquear páginas úteis. o DansGuardian verifica se o endereço a ser acessado está em uma das listas de domínios ou IPs proibidos. Por padrão ele vai utilizar uma cópia do Squid ativa na mesma máquina. Como você pode notar dando uma olhada no conteúdo dos arquivos das listas de palavras. mesmo que isso faça com que uma ou outra página inadequada passe pelo filtro de vez em quando. você pode arriscar "200" ou mesmo "240". a requisição é enviada ao Squid e o acesso é realizado.conf". normalmente encontradas em páginas de bom conteúdo. na opção: naughtynesslimit = 160 Quanto mais baixo o número. páginas legítimas que estão sendo bloqueadas por engano. Ao receber os arquivos da página. "100" para pré-adolescentes e "160" para adolescentes. pois são duas coisas separadas.loglocation = '/var/log/dansguardian/access. por outro lado. No final. Falta agora configurar o . Cada palavra ruim soma um certo número de pontos. que será criada para a pasta "/etc/dansguardian/phraselist/". proxyport = 3128 A porta TCP onde o servidor Squid especificado na opção acima está ativo.tar.1 O endereço IP do servidor proxy que será usado. freqüentemente encontradas em páginas indesejadas. Para um público adulto. ou "índice de sem-vergonhice". O padrão é a porta 8080. porém mais páginas boas acabam sendo bloqueadas por engano (falsos positivos). Por exemplo. As listas com palavras boas e ruins. Palavras "boas". e também palavras "boas".gz Para instalar. enquanto "medical problem" subtrai 50.0. a palavra "sexy" soma apenas 5 pontos. descompacte o arquivo "languages. são armazenadas na pasta "/etc/dansguardian/phraselist". Lembre-se de que. resultado da soma de todas as palavras boas e ruins. o DansGuardian vem configurado com listas em inglês.0. por padrão. filterport = 8080 A porta onde o DansGuardian fica ativo. apelidada pelos desenvolvedores de "naughtynesslimit". Ou seja. você pode querer desabilitar algumas delas.0. com exceção da porta diferente.1. No Firefox. o que faz com que seja bloqueado o acesso a um número muito grande de sites "bons". não se adaptam bem à nossa realidade.DansGuardian para utilizar os novos arquivos. no micro de casa. ele usa a porta 8080.1" como proxy: . por exemplo. mesmo ao usar um naughtynesslimit alto. Para isso. Além de ser utilizado em redes de todos os tamanhos. para que sejam incluídos no pacote. editando diretamente os arquivos. por padrão. definida no arquivo de configuração.Include</etc/squid/dansguardian/languages/bannedphraselist. Neste caso. Se decidir corrigir os arquivos.168. quanto localmente. verifique o conteúdo dos arquivos. a configuração para usar o DansGuardian é a mesma que seria usada em conjunto com um proxy tradicional. você pode até mesmo rodá-lo localmente. Aparentemente.1) e a porta do DansGuardian. abra também o arquivo "/etc/dansguardian/bannedphraselist" e inclua a linha: . Lembre-se de que.portuguese> Lembre-se de que é necessário reiniciar o DansGuardian para que qualquer uma das alterações tenha efeito: # /etc/init. Use-os com cautela. 192. com o objetivo de servir como um simples filtro de conteúdo. por isso. Em casos onde ele é usado num micro doméstico. abra o arquivo "/etc/dansguardian/weightedphraselist" e adicione as linhas: .Include</etc/squid/dansguardian/languages/weightedphraselist.portuguese> Antes de usar estas listas de palavras. em algumas situações. a fim de flexibilizar o filtro.portuguese> . a opção de configurar um proxy está em "Editar > Preferências > Proxy".pornsites. Você pode adicionar novas palavras ou editar o peso de cada uma. coloque o endereço IP do servidor (como. As listas de palavras em português são excessivamente rigorosas.pornwords.d/dansguardian restart O DansGuardian pode ser usado tanto dentro da rede. não deixe de enviá-los para os mantenedores. Concluindo. muita gente com crianças em casa se dá ao trabalho de instalá-lo avulso.0.Include</etc/squid/dansguardian/languages/weightedphraselist. Note que na configuração são especificados todos os arquivos de palavras que são utilizados. Nas configurações do proxy (nos clientes). os arquivos disponíveis no site foram escritos por um estrangeiro. use o endereço "127. Na pasta existem várias categorias diferentes e. onde você precisa assinar o serviço para ter acesso completo às listas. Ele não é uma "blacklist" no sentido estrito da palavra.com/cgi-bin/commercialdownload. basta descompactar o arquivo e mover o conteúdo para dentro da pasta "/etc/dansguardian/". "cellphones". pois incluem também listas de termos (que são usadas pelo DansGuardian para complementar o filtro estático baseado em URLs). Assim como na lista do Shalla's. as listas incluem muitos assuntos inocentes como. ele exibe um erro e não conclui a atualização. Em algumas distribuições é preciso criar a pasta "/var/lib/lrpkg/". O link completo para a versão mais recente é: http://urlblacklist. disponível no site.com/downloads/UpdateBL Basta ativar a permissão de execução e executá-lo. é preciso baixar uma lista mais elaborada. separadas por assunto. "sports" e "childcare" (saúde infantil).Atualizando as blacklists Além do filtro com base em palavras. Por padrão.gz # cp -a --reply=yes blacklists/ /etc/dansguardian/ Depois de instalar o arquivão completo. mas sim um conjunto de listas que incluem . o DansGuardian vem com uma lista muito pequena e desatualizada. Baixe-o em: http://urlblacklist. que sequer chegam a ser acessados. onde ele guarda os logs. apenas como exemplo. substituindo a pasta "/etc/dansguardian/blacklists" existente: $ tar -zxvf bigblacklist. para baixar atualizações de forma automática.pl?type=download&file=bigblacklist Para instalar./UpdateBL O pacote inclui várias listas diferentes. Para efetivamente usar este recurso. Você pode baixar uma lista longa e atualizada no http://urlblacklist.tar. As listas do UrlBlacklist são mais adequadas para uso no DansGuardian. # mkdir -p /var/lib/lrpkg/ # chmod +x UpdateBL # . Sem esta pasta.com/. o DansGuardian utiliza uma lista de sites proibidos. você pode usar o script de atualização. o mesmo site que citei no tópico sobre o SquidGuard. mas ele possui a desvantagem de ser um serviço não-gratuito. edite os arquivos "/etc/dansguardian/bannedsitelist" e "/etc/dansguardian/bannedurllist".Include</etc/dansguardian/blacklists/drugs/urls> .Include</etc/dansguardian/blacklists/adult/expressions> .Include</etc/dansguardian/blacklists/adult/domains> . incluídos no pacote para reforçar a lista adicional. com os termos em português. é possível configurar o DansGuardian para trabalhar como proxy transparente. Novamente.Include</etc/dansguardian/blacklists/porn/domains> .também sites sobre conteúdos diversos.conf: http_port 3128 transparent Depois vêm as regras de firewall para habilitar o compartilhamento da conexão e direcionar as requisições recebidas na porta 80 para a porta usada pelo DansGuardian. drogas (drugs). acessando-o através da porta 8080. Os clientes precisam apenas ser configurados para acessar a internet usando o servidor onde estão instalados o Squid e DansGuardian como gateway. por onde as requisições passam antes de chegarem ao Squid e por onde as respostas passam antes de serem enviadas ao cliente. Dentro de cada uma das subpastas. expressions (palavras comumente encontradas em sites de conteúdo impróprio) e urls (páginas específicas. adicionando (ou descomentando) as linhas referentes às categorias que devem ser ativadas. que finalmente faz o acesso. adicione (ou descomente) no arquivo "/etc/dansguardian/bannedurllist" as linhas: . Para bloquear páginas de conteúdo adulto (adult). que já ativamos anteriormente. da mesma forma que fizemos anteriormente com o Squid. os clientes precisam ser configurados manualmente para utilizar o DansGuardian como proxy. abra novamente o arquivo "/etc/dansguardian/bannedphraselist" e adicione as linhas: . o firewall redireciona as requisições recebidas na porta 80 para o DansGuardian e ele as repassa para o Squid. adicionando a opção "transparent" na linha "http_port" do squid.Include</etc/dansguardian/blacklists/drugs/expressions> . você encontra três arquivos: domains (sites completamente bloqueados). A idéia aqui é que você pode bloquear todos os assuntos desejados.Include</etc/dansguardian/blacklists/porn/urls> . Contudo. é a mesma . Normalmente. dentro de sites permitidos). comece configurando o Squid para trabalhar em modo transparente. Para isso.Include</etc/dansguardian/blacklists/porn/expressions> . Para ativar o uso das blacklists.Include</etc/dansguardian/blacklists/drugs/domains> . Para isso. Isso traz de volta o problema de configurar manualmente cada um dos micros e evitar que os usuários removam a configuração para acessar diretamente caso você mantenha o compartilhamento via NAT ativo em adição ao proxy.Include</etc/dansguardian/blacklists/warez/urls> No arquivo "/etc/dansguardian/bannedsitelist" vão as linhas: . uma espécie de "pedágio".Include</etc/dansguardian/blacklists/adult/urls> . Neste caso.Include</etc/dansguardian/blacklists/warez/domains> Você pode usar também os arquivos com expressões proibidas.Include</etc/dansguardian/blacklists/warez/expressions> Faça o mesmo com outras categorias que quiser adicionar. páginas pornográficas (porn) e warez. Proxy transparente com o DansGuardian Como vimos até agora. o DansGuardian funciona como uma camada extra. Editores e arquivos de configuração ---.Usando o SquidGuard para bloquear páginas impróprias ---.Portas -------.Instalando o Debian ---.Roteando os pacotes -------.Servidores de Internet Capítulo 1: Instalação e administração do sistema ---.Configurando o cache de páginas e arquivos -------. usando um DNS dinâmico Capítulo 3: Firewall ---.Compactando e descompactando -----------.local" (ou no seu script de compartilhamento da conexão) para não precisar ficar digitando tudo a cada boot.Servidores virtuais (VPS) -------.IPV6 ---.Criando os certificados -------.Gerenciando usuários e grupos ---. o próprio servidor.Instalando o Squid -------.Reparando sistemas de arquivos ---.Servidores dedicados e planos de hospedagem ---.Testando com o Nmap ---Segurança: detectando rootkits Capítulo 4: Configurando VPNs com o OpenVPN ---.O cache do apt-get -----------.Obtendo um endereço fixo.Instalando o Ubuntu ---.Configurando um servidor proxy com o Squid -------.Repositórios adicionais -----------.Configuração avançada ---.Servidores de rede local ---.Instalando o CentOS -------.Proxy com autenticação -------.DHCP com IP fixo -------.Usando o dpkg -----------.Red Hat x RHEL x CentOS x Fedora -------.Gerenciamento de serviços ---.O básico da linha de comando -----------.Monitorando com o ntop ---.Estabilizando e otimizando a conexão -------.Usando certificados X509 -------.Entendendo o path -------.Configurando um proxy transparente -------.Instalando ---.Ativando o compartilhamento -------.Shared hosting Capítulo 2: Compartilhamento.Bloqueando domínios -------Resumo das regras do Iptables ---.0.Introdução ao SSH ---.Servidores Linux ---.Mais detalhes sobre a configuração dos caches ---.Bloqueando por domínios ou palavras -----------. Morimoto em 1 de agosto de 2008 às 02h00 142 Anterior: Proxy transparente com o DansGuardian Capa Introdução ---. para impedir que algum espertinho configure o navegador para acessar diretamente através do Squid.Servidores dedicados -------.Proxy transparente com o DansGuardian ---.Usando o DansGuardian -------Atualizando as blacklists -------.Compartilhar usando uma única placa de rede ---.Bloqueando por horário -------Gerenciando o uso da banda -------.0. Lembre-se de que o "eth0" deve ser substituído pela interface ligada na rede local e o "eth1" pela interface ligada à Internet: modprobe iptable_nat iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE echo 1 > /proc/sys/net/ipv4/ip_forward iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT \ --to-port 8080 iptables -A INPUT -m tcp -p tcp -s ! 127. mudando apenas a porta.configuração usada para fazer um proxy transparente no Squid.1.Criando VPNs usando chaves estáticas -------.Bash_completion -------.Configurando um servidor DHCP -------. A única exceção é o endereço 127.Ajustando a .Usando o Sarg para monitorar o acesso ---. DHCP e Proxy ---.Usando o apt-get -----------.0.Plugins -------.Atualizando o sistema -----------. Lembre-se de colocar estes comandos no arquivo "/etc/rc.Configuração no Windows ---.Escrevendo um script de firewall -------Forwarding de portas -------.Mais dicas de administração do sistema -------.Chaves de autenticação -------Usando o yum -----------.Instalando ---Gerenciamento de pacotes e serviços -------.Adicionando restrições de acesso -----------.Gerenciando permissões de acesso ---.Criando uma configuração básica -------. ou seja.Configuração automática de proxy nos clientes -------. Servidores Linux.1 --dport 3128 -j DROP A última regra bloqueia a porta 3128 usada pelo Squid.Instalando os certificados -------.Compartilhando a conexão -------. Guia Prático Por Carlos E.0.Bloqueando portas de saída -------. sem passar pelo DansGuardian. NFS -------.Instalando o phpBB -------.Interface do usuário ---.Usando o NFS -------.Problemas comuns -------.Instalando o MySQL -------.Usando um certificado selfsigned -------.A seção [global] -------.DHCP -------.Personalizando as configurações ---.mod-speling ---.Portas e firewall ---.configuração -------.Usando o SSL para pastas específicas ---Virtual Hosts ---.SSH com login automático -------.Bloqueando ataques de força bruta contra o SSH ---.Configuração inicial -------.Módulos do Apache e add-ons -------.Ativando o SSL -------.Usando dispositivos de armazenamento locais -------.Gestores de conteúdo e add-ons -------.Cadastrando as máquinas sem usar a conta de root -------Ajustando as permissões locais -------.Usando o som nas estações -------.Ativando o acesso via XDMCP Capítulo 11: Terminais leves com o LTSP ---Entendendo o LTSP ---.Logando em um servidor Windows ---.Quebrando arquivos -------.Uma palavra sobre segurança ---Mais configurações -------.Dicas de segurança ---.Ajustando as permissões de acesso -------.Usando o Swat -------.Compartilhando através do Cups ---Backends: smbpasswd ou tdbsam ---.No CentOS.Instalando o WordPress -------.Usando chaves de autenticação -------.Usando o Samba como controlador de domínio (PDC) -------Logando Clientes Windows -------.Curiosidade: usando um terminal realmente antigo ---.Usando o PDC para autenticação local ---.Ajustando o número de processos -------Outras opções ---.Instalando -------.SSH no celular ---.Instalando o Apache ---.Registro de domínios -------.Instalando os pacotes do LTSP ---.Testando ---.NX x VNC -------.conf -------Swap -------.Usando o XDMCP -------.Adicionando um antivírus ---.Transferindo arquivos via SFTP -------.Webmail Capítulo 10: SSH e acesso remoto ---.Entendendo a organização dos arquivos -------.Definindo as quotas com o Webmin -------.Logando Clientes Linux -----------.Usando um HD para boot dos clientes ---.Usando o rssh -------.Criando um túnel ponto a ponto -------.Administração básica do banco de dados -------.Cadastrando usuários -------.Definindo as quotas manualmente ---.Revogando certificados ---.Configurando ---.Mais opções Capítulo 6: Configurando servidores web ---Instalando um servidor LAMP ---.Segurança -------.Opções gerais -------.Instalando o NX Server -------Usando o cliente NX -------.Otimizando a configuração do Apache -------.Permitindo que os usuários compartilhem pastas -------Montagem permanente dos compartilhamentos -------.Usando os terminais ---.TFTP -------.Mantendo o horário sincronizado ---.Instalando o suporte a PHP -------.Usando o MySecureShell -------.conf -------.SSH no Windows ---Usando o NX Server -------.Adicionando os domínios -------.Entendendo o SSH ---.mod_rewrite -------.No Debian e derivados -------.O sistema de compressão -------.Instalando um servidor FTP -------.Criando túneis seguros ---.DNS Reverso -------.Usando um servidor secundário separado -------.A conta guest -------Lixeira no Samba -------.Usando a interface de administração ---.O servidor ---.Criando VPNs usando o SSH -------.Criando compartilhamentos ---.Configuração do cliente SSH ---.Configurando os terminais ---.Configurando manualmente o smb.Instalando um webmail ---.A seção [homes] -------.Placas de rede ISA -------.Configurando o Bind -------Instalação -------.Cadastrando os usuários ---.Os terminais ---.Mais dicas Capítulo 7: Configurando o DNS ---.DNS primário e secundário no mesmo servidor -------.Instalando os serviços-base ---.Instalando o Postfix -------.Compartilhando impressoras -------Disponibilizando drivers de impressão para os clientes -------.Montando pastas via SSH com o sshfs ---.Usando o Google apps for your domain Capítulo 9: Gerenciando o servidor com o ISPConfig ---.Suporte a quotas -------Spamassassin -------.Criando usuários -------FTP + TLS ---.Configuração do servidor SSH ---.DNS e virtual hosting ---.Usando quotas de disco -------.ThinClients Capítulo 12: Virtualização ---.FreeNX ---.Usando múltiplas chaves ---.Usando um certificado reconhecido -------.mod_deflate -------mod_cband -------.Proftpd ---.Instalando o phpMyAdmin ---. Fedora e RHEL ---.Configurando um DNS para a intranet -------.Ruby on Rails ---.Gerando estatísticas ---.O arquivo principal: lts.Configurando o Bind para rodar em um chroot Capítulo 8: Configurando servidores de e-mail ---.Solucionando problemas com o charset ---.Criando bridges Capítulo 5: Samba ---.Abrindo diversos terminais gráficos -------.Usando o ForwardAgent -------.Instalando ---.Entendendo o VMware .Cadastrando sites e clientes ---.Auditando os acessos ---.Ativando o Swat -------.Usando a impressora nos terminais -------.Configurando o servidor -------.Ganhando acesso à rede -------Unindo as duas redes ---.Mais dicas -------.Autenticando os clientes -------Ativando o TLS ---. * A conexão dificilmente é 100% estável. Os dois serviços de DNS Dinâmico mais usados (ambos gratuitos.Escrevendo scripts de backup ---Fazendo backup das bases de dados do MySQL ---.Preparando o terreno ---. com opções de serviços pagos).Xeon UP e Xeon DP -----------.Duplicando as VMs ---. aplicando as dicas que veremos ao longo do livro.Xeon MP -------.Configuração da rede ---.org" ou "minhaempresa. por exemplo) e podemos solucionar o problema do IP dinâmico utilizando um serviço de DNS dinâmico (DDNS). Usar um domínio virtual permite também que você crie VPNs. * Algumas portas.Clusters de alta disponibilidade ---. acessando através da conexão compartilhada por ele) envia informações sobre o endereço IP corrente para os servidores do serviço. mas podemos alterar as portas utilizadas pelos servidores (o Apache pode ser configurado para utilizar a porta 8080 em vez da 80. NAS e SAN Próximo: Capítulo 6: Configurando servidores web Obtendo um endereço fixo.AMD Opteron ---.KVM ---. que aprenderemos a configurar aqui.com. Não podemos fazer nada com relação à estabilidade da conexão.VMware Server 2. Você pode muito bem configurar um servidor para fins de teste. interligando duas ou mais redes com IP dinâmico (como veremos em detalhes no capítulo sobre o OpenVPN) ou até mesmo permitir que os usuários da rede acessem suas máquinas e rodem aplicativos remotamente (como veremos nos capítulos sobre o SSH e acesso remoto). blades e torres -------. sem falar que o uso constante da banda tornará seu acesso muito mais lento.no-ip. ou pelo menos um plano de shared hosting. cabo. Uma conexão doméstica oferece três deficiências nesse sentido: * O endereço IP é dinâmico.Interface de gerenciamento via web ---VMware Tools ---. permitindo que.0 Capítulo 13: Backup ---. por exemplo.Configurando ---. você possa resolver qualquer problema sem levantar da cadeira. ou seja. mudando periódicamente ou a cada vez que o modem é reiniciado. ou seja. mas para aplicações mais sérias.com e o http://www. é necessário ter um servidor dedicado.Criando as máquinas virtuais ---.Redundância e RAID -------. caindo esporadicamente. . desde que a conexão esteja funcionando. compartilhar a conexão.Monitorando a saúde do HD via SMART Capítulo 14: Hardware de servidores ---. Os serviços de DNS dinâmico trabalham de uma forma bastante simples.Processadores -------. disponibilizar arquivos via FTP e assim por diante (é necessário apenas utilizar portas alternativas para os servidores). permitir que o servidor da rede seja acessado remotamente. a 25 e a 80 são fechadas pelas operadoras.com" apontando para seu endereço IP corrente.Intel Xeon -----------. É possível também usar um DNS dinâmico também para hospedar sites. o que permite a eles manterem um subdomínio no estilo "meu-nome.no-ip.Server ---.Instalando ---. As contas são gratuitas. onde um cliente instalado no seu servidor (ou em qualquer outra máquina da rede.dyndns. Sobra então resolver o problema do acesso externo. como a 21. usando um DNS dinâmico Tudo o que vimos ate agora.dyndns. interligando duas redes distantes. O problema é que a baixa taxa de upload e a relativa instabilidade das conexões domésticas tornarão o acesso dos visitantes muito ruim. rádio ou outra modalidade de acesso doméstico seja compartilhada entre vários micros. permitindo que uma única conexão via ADSL. configurar um servidor proxy e assim por diante soluciona o problema do acesso à web a partir dos micros da rede local. de forma que você possa prestar suporte remoto ou possa configurar uma VPN. são o http://www. de forma a dificultar a criação de servidores domésticos. de forma que você pode tranquilamente criar um domínio virtual para cada rede que você administra.HDs e interfaces ---Armazenamento externo: DAS.Racks. que indica que ele deve usar o arquivo de configuração anteriormente criado: # noip2-Linux -c /etc/noip. um pequeno aplicativo escrito em perl. Please enter the login/email string for no-ip. copie-o para a pasta "/usr/local/bin". Inclua o comando em uma dos scripts de inicialização do sistema.com Em ambos os casos. inicie o noip2-Linux usando o comando abaixo. No caso das derivadas do Debian. o comando bloqueia o terminal. que cria o arquivo de configuração. reinicie o serviço. existe uma pasta chamada "binaries". a instalação é mais simples. você pode utilizar o próprio cliente Linux disponível no: http://www.org] is registered to this account.conf Auto configuration for Linux client of no-ip.d/rc.no-ip.conf' created.conf & Nas distribuições derivadas do Debian. Please enter an update interval:[30] Do you wish to run something at successful update?[N] (y/N) N New configuration file '/etc/no-ip. Para que ele funcione. Dentro dele. Você pode indicar onde o arquivo será criado. via apt-get: . Sem ele. como o "/etc/rc.Cadastro de um domínio virtual no no-ip.1/binaries/ # cp -a noip2-Linux /usr/local/bin/ O próximo passo é executar o "noip2-Linux". usando: # /etc/init.php https://www. para que ele seja executado durante o boot. que está disponível nas principais distribuições. ele faz o programa rodar em background.com. como em: # noip2-Linux -C -c /etc/noip.no-ip.php?page=linux Comece descompactando o arquivo. com o arquivo "noip2-Linux".com/newUser.com/account/create.com : meu@email. Este é o executável que faz a atualização do IP.gz # cd noip-2. Para o No-IP.dyndns. Com o arquivo de configuração criado. Nesta etapa ele pedirá o login de usuário e o domínio registrado no site. Note que agora usamos apenas o segundo "c".d/no-ip".conf Para que a configuração entre o vigor.1. Não esqueça de adicionar o "&" no final do comando. usando a opção "-C -c" (create config). Para usá-lo.d/no-ip restart Para o DynDNS. paralisando a inicialização do sistema.tar. usando o comando: # no-ip -C -c /etc/no-ip. que se encarrega de ativar o programa durante o boot. basta fazer um cadastro gratuito para criar sua conta e poder cadastrar os domínios: http://www. utilizamos o ddclient.com Please enter the password for user '[email protected]/downloads. It will be used.local". basta indicá-lo no comando. pois ele está disponível diretamente nos repositórios principais. existe a opção de instalar o pacote disponível via apt-get: # apt-get install no-ip Ao ser instalado.html Fica faltando então a parte mais importante que é a instalação do cliente. ele cria automaticamente o script "/etc/init. fica faltando apenas criar o arquivo de configuração.no-ip. como em: # tar -zxvf noip-duc-linux.com ' ******** Only one host [meunome. A maioria dos modelos atuais incluem clientes para os serviços mais populares: . Depois de adicionar o repositório. Você encontra instruções de como ativar o repositório no yum no https://rpmrepo.org seudominio.org Depois de terminar.# apt-get install ddclient O script de instalação incluído no pacote faz uma série de perguntas. No caso do CentOS e do Fedora.com/.dyndns. a instalação é feita da forma tradicional: # yum install ddclient O pacote RPM não inclui o wizard. reinicie o serviço para que as alterações entrem em vigor: # service ddclient restart Se você usa um modem ADSL ou um roteador wireless para compartilhar a conexão.dyndns. senha e o domínio registrado: daemon=600 cache=/tmp/ddclient. a interface do servidor ligada à internet e o tempo de intervalo entre as atualizações: No final. ele pergunta se você deseja executar o ddclient como um serviço. web=checkip. que você pode editar manualmente caso precise fazer alterações posteriormente. incluindo o domínio virtual registrado. onde você precisa apenas especificar seu login.conf".pid use=web. seu login e senha no serviço. O arquivo inclui basicamente as mesmas opções feitas pelo wizard. web-skip='IP Address' login=seulogin password=suasenha protocol=dyndns2 server=members. com as respostas salvas em texto puro.dyndns. editando o arquivo "/etc/ddclient/ddclient.conf". A configuração é salva no arquivo "/etc/ddclient. por isso a configuração precisa ser feita manualmente. o pacote do ddclient está disponível no repositório do RPMForge.org/RPMforge/Using. procure pela opção de usar um DNS dinâmico (Dynamic DNS) dentro da configuração.cache pid=/var/run/ddclient. Aqui vai um modelo pré-configurado. Responda que sim para que ele fique ativo continuamente e seja iniciado junto com o sistema. que você pode testar são o http://www.da.dtdns.ru.Com isso. o próprio roteador pode se encarregar da atualização. sem que você precise instalar softwares adicionais no servidor da rede.com. o http://www.com/ e o http://dns2go. Outros serviços populares. .
Copyright © 2024 DOKUMEN.SITE Inc.