Servidores De Internet Linux - turbo
1 de 28
Logado como: Alcimar ( Sair )
http://www.turbo.org/t/index.php?showtopic=217132&hl=linux
Meus Controles · Ver Novos Posts · Meu Assistente · Meus Tópicos · Ajuda · 0 Convite · 2 Novas Mensagens
turbo > 9 - Dispositivos Móveis, Programação e Outros Conteúdos Diversos > 9.8 - Tutoriais Diversos 2 Páginas
1
2
>
Servidores De Internet Linux, Aprenda a Compartilhar DH e Proxy Postigo Zanolla
Grupo: Like a Tux Posts: 646 Agradecimento(s): 71 Registrado em: 18-February 08 De: St° André Membro No.: 34.036
Feb 18 2010, 03:35 PM
Opções Post #1
Instalando e Configurando Servidor Linux para Internet Que tal ter um servidor Linux para Proxy e DH com Firewall.... Tenha Internet livre de vírus. Isso é possivel com este Tutorial.
29/3/2010 09:54
Servidores De Internet Linux - turbo
2 de 28
http://www.turbo.org/t/index.php?showtopic=217132&hl=linux
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
29/3/2010 09:54
Servidores De Internet Linux - turbo
3 de 28
http://www.turbo.org/t/index.php?showtopic=217132&hl=linux
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 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 í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 EUA (ou mesmo no Brasil), hospedando o site da sua empresa ou de seus clientes, armazenando backups, entre inúmeras outras funções. A principal vantagem de alugar um servidor dedicado, hospedado em um datacenter, ao invés de montar seu próprio servidor e ligá-lo na conexão via ADSL ou cabo que você já tem, é a questão da conectividade. Uma conexão via ADSL funciona bem para ar a web como cliente e fazer s, mas não é uma boa idéia para hospedar servidores, pois o link de é muito estreito (em geral apenas 256 ou 500 kbits, de acordo com o plano), sem falar na questão da confiabilidade. As grandes empresas de hospedagem trabalham com links absurdamente rápidos, sempre ligados simultaneamente a vários dos principais backbones. Isso garante uma boa velocidade de o a partir de qualquer lugar do mundo. A confiabilidade também é melhor, pois os datacenters são ambientes fechados, com geradores próprios, segurança física, links redundantes, etc. Os servidores dedicados mais baratos chegam a custar menos de US$ 100 mensais, 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, variando de acordo com o plano:
Existe também a opção de usar um VPS, um servidor virtual obtido através do uso do VMware Server, Xen ou outro sistema de virtualização. Usando um VPS, você tem o completo ao sistema, da mesma forma que ao usar um servidor real. 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, mas, em compensação, os preços são muito mais baixos. No final do capítulo 1 você encontra dicas de planos de baixo custo, onde você pode locar um VPS por menos de US$ 10 mensais. Isso permite que você tenha um servidor disponível para estudar e testar tudo o que aprenderemos ao longo do livro, sem precisar arcar com o custo de um
29/3/2010 09:54
Servidores De Internet Linux - turbo
4 de 28
http://www.turbo.org/t/index.php?showtopic=217132&hl=linux
servidor dedicado:
O primeiro o com relação à istraçã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 capítulo 1 contém um resumo dos comandos básicos e do uso dos editores de texto, além de um conjunto de dicas sobre a istração do sistema, que serve como um bom ponto de partida. O uso do terminal acaba sendo uma necessidade, pois, quase sempre, a istração do servidor é feita via SSH, usando ferramentas em modo texto. Existem diversos utilitários para automatizar a istração do servidor (como o ISPConfig, que veremos no capítulo 9), mas ao longo do livro você verá que fazer a configuração manualmente oferece um controle muito maior sobre o servidor. Existem clientes SSH para todas as principais plataformas, incluindo clientes Windows e também clientes para diversas famílias de celulares e smartphones, o que permite executar tarefas rápidas de istração até mesmo enquanto estiver preso no trânsito. Para quem vem do Windows, istrar um servidor via linha de comando parece uma coisa exótica, mas, com o tempo, você percebe que é realmente a forma mais rápida de fazer muitas coisas. A maior parte da configuração do servidor consiste em instalar pacotes e editar arquivos de configuração em texto, o que pode ser feito via linha de comando sem maiores problemas. Existem ainda ferramentas como o Webmin, phpMy e outras, que são adas via navegador. Elas são bastante práticas, pois você não precisa instalar o ambiente gráfico no servidor para usá-las, o que é desejável do ponto de vista da performance e até mesmo segurança. Além de permitir executar comandos e rodar aplicativos remotamente, o SSH permite transferir arquivos e executar diversas outras funções, como veremos em detalhes no capítulo 10. Além do bom conjunto de recursos, o SSH prima pela segurança, oferecendo respostas para praticamente todo tipo de ataque conhecido. Isso faz com que ele seja de longe a ferramenta de istração mais usada no mundo Linux. Depois de ganhar o ao servidor, o próximo o é configurar o servidor web, que será provavelmente o responsável pela maior parte dos serviços oferecidos pelo servidor. No capítulo 6, veremos detalhes sobre como configurar um servidor LAMP, combinando o uso do servidor Linux com o Apache, o interpretador PHP e o banco de dados MySQL.
29/3/2010 09:54
Servidores De Internet Linux - turbo
5 de 28
http://www.turbo.org/t/index.php?showtopic=217132&hl=linux
Esta é, justamente, a solução de hospedagem mais usada atualmente, que permite rodar diversos tipos de gestores de conteúdo, fóruns e outros tipos de aplicativos web, tais como o WordPress e o phpBB. Examinando os recursos de istração disponíveis, é fácil entender porque eles se tornaram tão populares. Eles automatizam toda a geração das páginas, atualização dos links, comentários e assim por diante, permitindo que os autores do site ou blog se preocupem apenas com o conteúdo:
Para disponibilizar arquivos de forma pública, você poderia usar o próprio servidor web, ou instalar um servidor FTP (sobre o qual também estudaremos no capítulo 6). Para o seguro ao servidor, você pode usar o SFTP ou o RSSH, que permitem transferir arquivos de forma segura utilizando o SSH. Em casos em que outras pessoas tenham o limitado ao seu servidor (como ao hospedar vários sites, onde cada tem o apenas a seus próprios arquivos), é útil incluir um sistema de quotas, de forma que cada um tenha sua parcela justa de espaço, afastando assim o risco de alguém entupir o HD do servidor sozinho. Ao hospedar sites, você vai precisar também configurar o servidor DNS para responder pelos domínios registrados. Você pode hospedar diversos sites no mesmo servidor, cada um deles com um domínio ou sub-domínio próprio, combinando a configuração do servidor DNS com a configuração dos virtual-hosts no Apache. No capítulo 7 veremos detalhes sobre a configuração do Bind, que é o servidor DNS mais tradicional, e também o mais usado. Temos também a questão dos e-mails, que pode ser resolvida rodando um servidor Postfix ou utilizando o Google Apps for you Domain, como veremos em detalhes no capítulo 8. Com a evolução dos processadores, aumento na capacidade dos HDs e o barateamento dos módulos de memória, mesmo os servidores de configuração mais básica acabam sendo subutilizados na 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:
29/3/2010 09:54
Servidores De Internet Linux - turbo
6 de 28
http://www.turbo.org/t/index.php?showtopic=217132&hl=linux
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á.
Compartilhamento, DH 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
29/3/2010 09:54
Servidores De Internet Linux - turbo
7 de 28
http://www.turbo.org/t/index.php?showtopic=217132&hl=linux
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 a 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 o 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 os provenientes da internet e, ao mesmo tempo, permitir o tráfego vindo da rede local. Se você a 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ê e o servidor remotamente via SSH (muito útil para prestar e remoto
29/3/2010 09:54
Servidores De Internet Linux - turbo
8 de 28
http://www.turbo.org/t/index.php?showtopic=217132&hl=linux
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 istrar o servidor remotamente), por exemplo. Isso é feito através da interface de istraçã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 os provenientes dos clientes da rede e a segunda seria configurada para ar 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 o via cabo a configuração da conexão é mais simples, já que é preciso apenas obter a configuração da rede via DH e não é necessário configurar o roteamento de portas, já que o cable modem funciona como um bridge.
29/3/2010 09:54
Servidores De Internet Linux - turbo
9 de 28
http://www.turbo.org/t/index.php?showtopic=217132&hl=linux
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) a a ser o gateway da rede, já que é a ele que os clientes irão ar quando precisarem ar qualquer endereço externo:
No caso do servidor, o gateway padrão é definido apenas ao configurar a conexão com a Internet, não ao configurar a rede local. Caso você utilize um utilitário de configuração para configurar as interfaces de rede no servidor, configure primeiro a interface de rede local, mantendo os campos do default gateway e dos servidores DNS em branco, deixando para configurar a interface da Internet por último. Isso evita alguns erros comuns. Por exemplo, se você configurar a conexão com a web e depois configurar a rede local, colocando um endereço qualquer no campo "default gateway", o gateway informado na configuração da rede local vai substituir o gateway do provedor (definido ao conectar na internet), fazendo com que a conexão deixe de funcionar. Aqui temos um exemplo de configuração manual da rede para distribuições derivadas do Debian, onde a interface eth0 é usada como interface de rede local e a eth1 é usada como placa de internet, configurada via DH:
CÓDIGO
# /etc/network/interfaces auto lo eth0 eth1 iface lo inet loopback iface eth0 inet static address 192.168.1.1 netmask 255.255.255.0 network 192.168.1.0 broadcast 192.168.1.255 iface eth1 inet dh
29/3/2010 09:54
Servidores De Internet Linux - turbo
10 de 28
http://www.turbo.org/t/index.php?showtopic=217132&hl=linux
Depois de configurada a rede, verifique se consegue pingar os PCs da rede interna (ex: ping 192.168.1.61) a partir do servidor. Se estiver usando Linux nas estações, experimente ativar o servidor SSH em uma das estações e tentar se conectar a ela a partir do servidor. Da primeira vez que configurar a rede, use endereços IP estáticos para todas as estações, pois assim é mais fácil detectar problemas diversos. Depois de tudo funcionando, mude para configuração via DH, como veremos a seguir. Se alguma das estações estiver inível, verifique se não existe um firewall ativo, verifique o cabo de rede e experimente trocar a porta usada no switch.
CITAR
Ao utilizar o Debian Sarge, Etch ou Lenny (ou outra distribuição diretamente derivada deles), é importante fixar os devices das interfaces depois de configurar a rede. Isso evita um problema recorrente, onde as interfaces mudam de posição a cada reset em servidores com duas ou mais interfaces de rede. A placa eth0 a então a ser a eth1 e assim por diante, o que logo se torna uma grande dor de cabeça ao configurar um servidor para compartilhar a conexão, já que se as duas interfaces mudam de posição, nada funciona. O problema é solucionado através do uso de um pequeno utilitário chamado "ifrename", que permite fixar os devices utilizados para as placas. Utilizá-lo é bem simples. Comece instalando o pacote via apt-get:
CÓDIGO
# apt-get install ifrename
Com as duas placas de rede configuradas, da forma como serão usadas, cheque os endereços MAC das interfaces usando o comando "ifconfig -a" e crie o arquivo "/etc/iftab", relacionando o device de cada interface com o endereço MAC correspondente, seguindo o modelo abaixo:
CÓDIGO
#/etc/iftab eth0 mac 00:16:36:D1:89:1D eth1 mac 00:02:44:95:1D:88
Uma vez criado, o arquivo é verificado a cada boot e a configuração se torna persistente, resolvendo o problema. Esta dica não se aplica às versões recentes do Ubuntu/Kubuntu, onde o problema foi solucionado através do uso de regras do udev.
29/3/2010 09:54
Servidores De Internet Linux - turbo
11 de 28
http://www.turbo.org/t/index.php?showtopic=217132&hl=linux
No CentOS, Fedora e outras distribuições derivadas do Red Hat, é usado um arquivo de configuração independente para cada interface, salvo dentro da pasta "/etc/sysconfig/network-scripts/", de forma que a configuração do exemplo anterior ficaria:
CÓDIGO
# /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 HWADDR= 00:16:36:D1:89:1D BOOTPROTO=static ONBOOT=yes NETMASK=255.255.255.0 IPADDR=192.168.1.1 NETWORK=192.168.1.0 #/etc/sysconfig/network-scripts/ifcfg-eth1 DEVICE=eth1 HWADDR=00:02:44:95:1D:88 BOOTPROTO=dh CTL=no
As linhas "HWADDR" são configuradas com os endereços MAC das interfaces de rede. Elas não são obrigatórias, 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. 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), ou outra modalidade de o discado, a interface eth0 ou eth1 é substituída pela interface virtual ppp0. Ao usar uma placa wireless, a interface pode receber vários nomes, como "wlan0", "ath0" ou "ra0", de acordo com o chipset e o driver utilizado. É importante tomar nota dos devices utilizados por cada interface, já que precisaremos especificá-los nos os seguintes. Em caso de dúvidas, cheque a configuração da rede usando o comando "ifconfig".
Ativando o Compartilhamento Depois de tudo preparado, ativar o compartilhamento propriamente dito é bastante simples. No Linux, o compartilhamento é feito usando o Iptables, o firewall integrado ao Kernel. Na verdade, o Iptables é expandido através de módulos, por isso suas funções vão muito além das de um firewall tradicional, incluindo funções avançadas de roteamento. Para ativar o compartilhamento, são necessários apenas três comandos:
29/3/2010 09:54
Servidores De Internet Linux - turbo
12 de 28
http://www.turbo.org/t/index.php?showtopic=217132&hl=linux
CÓDIGO
# 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. Este comando simplesmente compartilha a conexão proveniente da placa da internet com todas as demais placas de rede espetadas no servidor, por isso não é necessário especificar a placa de rede local. O primeiro comando ativa o "iptable_nat", o módulo do Iptables responsável por oferecer e ao roteamento de pacotes via NAT. O segundo ativa o "ip_forward", o módulo responsável pelo encaminhamento de pacotes, utilizado pelo módulo iptable_nat. Finalmente, o terceiro cria uma regra de roteamento, 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, qualquer coisa fora da faixa 192.168.1.x). A partir daí, o servidor a a ser o gateway da rede.
CITAR
A maioria das distribuições instalam o executável do Iptables por padrão, mas sempre existem exceções. No Mandriva, por exemplo, ele é instalado ao marcar a categoria "firewall" durante a instalação. Para instalá-lo posteriormente, use o comando "urpmi iptables".
Em muitas distribuições com o Kernel 2.6, é necessário usar um quarto comando ao compartilhar uma conexão ADSL. Este comando ajusta os tamanhos dos pacotes recebidos do modem ao MTU usado na rede local. Note que, apesar da diagramação do livro tornar necessário quebrar o comando em duas linhas, trata-se de um único comando: CÓDIGO
# iptables -A FORWARD -p t --t-flags SYN,RST SYN -m \ tmss --mss 1400:1536 -j TMSS --clamp-mss-to-pmtu
A barra invertida ("\") faz com que o shell não interprete o caractere seguinte (no caso, a quebra de linha), permitindo quebrar o comando em duas linhas, sem causar um erro. Esse é um truque que permite incluir comandos longos demais para caberem na página, divididos em duas linhas ou mais. Na verdade, o comando forma uma única linha. Como de praxe, é importante proteger o servidor de ataques provenientes da Internet usando um firewall. Podemos ativar um firewall simples de bloqueio usando mais alguns comandos do Iptables,
29/3/2010 09:54
Servidores De Internet Linux - turbo
13 de 28
http://www.turbo.org/t/index.php?showtopic=217132&hl=linux
complementando os três comandos anteriores:
CÓDIGO
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 t --dport 22 -j ACCEPT iptables -A INPUT -p t --syn -j DROP
O primeiro comando faz com que o seu servidor deixe de responder a pings, o que evita muitos ataques casuais. Os dois comandos seguintes protegem contra IP spoofing (uma técnica usada em diversos tipos de ataques, onde o atacante envia pacotes usando um endereço IP falseado como remetente, tentando assim obter o a PCs da rede interna) e contra pacotes inválidos, que são comumente utilizados em ataques DoS e ataques de buffer overflow. As duas linhas seguintes autorizam pacotes provenientes da interface de loopback (lo), juntamente com pacotes provenientes da rede local. Como pode ver, a sintaxe das regras do Iptables segue um padrão lógico, onde você especifica uma determinada condição e diz o que o firewall deve fazer com os pacotes que se enquadrarem nela. 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), seguidos da regra "-j ACCEPT", que diz que os pacotes devem ser aceitos sem checagem adicional. Não se esqueça de substituir o "eth0" pela interface de rede local correta, caso diferente. Continuando, a linha "iptables -A INPUT -p t --dport 22 -j ACCEPT" abre a porta 22, usada pelo SSH para conexões externas, permitindo que você possa istrar o servidor remotamente. Você pode abrir mais portas simplesmente adicionando mais linhas, com as portas desejadas. Concluindo, temos a linha "iptables -A INPUT -p t --syn -j DROP", que faz o trabalho pesado, bloqueando tentativas de conexão provenientes da Internet. Depois de testar o compartilhamento, falta fazer com que os comandos sejam executados durante o boot, tornando a configuração permanente. A forma mais simples de fazer isso é colocar os comandos no arquivo "/etc/rc.local", um script próprio para a tarefa, que está disponível tanto em distribuições derivadas do Debian quanto em distribuições da linhagem do Red Hat. Um exemplo de arquivo completo, incluindo os comandos para ativar o firewall seria:
CÓDIGO
#!/bin/sh
29/3/2010 09:54
Servidores De Internet Linux - turbo
14 de 28
http://www.turbo.org/t/index.php?showtopic=217132&hl=linux
# /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 t --dport 22 -j ACCEPT iptables -A INPUT -p t --syn -j DROP
Esta receita é genérica, deve funcionar em qualquer distribuição. Lembre-se de substituir "eth1" pela interface de internet e o "eth0" pela interface de rede local, caso diferentes. Uma segunda opção, mais elegante, porém mais complicada, é criar um serviço de sistema, que pode ser ativado e desativado. Neste caso, crie o arquivo de texto "/etc/init.d/compartilhar". Dentro dele vão as linhas a seguir:
CÓDIGO
#!/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 iptables -A INPUT -p t --dport 22 -j ACCEPT iptables -A INPUT -p t --syn -j DROP } parar(){ iptables -F iptables -F -t nat }
29/3/2010 09:54
Servidores De Internet Linux - turbo
15 de 28
http://www.turbo.org/t/index.php?showtopic=217132&hl=linux
case "$1" in "start") iniciar;; "stop") parar;; "restart") parar; iniciar;; *) echo "Use os parâmetros start ou stop" esac
Este é um shell script que aceita três funções: start, stop e restart, executando dentro de cada uma os comandos que compartilham e param o compartilhamento da conexão. Esta estrutura é similar à usada nos demais scripts de inicialização do sistema, como os do Apache, Samba, Squid e outros serviços. Veja que em vez de especificar as interfaces de internet e de rede local dentro dos comandos, ei a usar duas variáveis no início do script, que facilitam a configuração e tornam o script mais elegante. Quando precisar usar o script em outra máquina, onde as interfaces sejam diferentes, você precisa apenas se lembrar de alterar as duas variáveis. 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. Para usar o script, transforme-o em um arquivo executável, usando o comando:
CÓDIGO
# chmod +x /etc/init.d/compartilhar
A partir daí, você pode iniciar e parar o compartilhamento usando os comandos: CÓDIGO
# /etc/init.d/compartilhar start # /etc/init.d/compartilhar stop
Para que o script seja executado durante o boot, você pode adicionar o comando "/etc/init.d/compartilhar start" no arquivo "/etc/rc.local", em vez de colocar os comandos diretamente, como fizemos no exemplo anterior. Outra opção (mais elegante) é criar um link para ele dentro da pasta "/etc/rc5.d", o que também faz com que ele seja executado durante o boot:
CÓDIGO
# cd /etc/rc5.d
29/3/2010 09:54
Servidores De Internet Linux - turbo
16 de 28
http://www.turbo.org/t/index.php?showtopic=217132&hl=linux
# ln -s ../init.d/compartilhar S21compartilhar
Como vimos no primeiro capítulo, 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, em relação aos outros serviços. A ordem de execução dos serviços muda de distribuição para distribuição, mas nessa posição garantimos que ele será executado depois da ativação das interfaces de rede e de outros serviços essenciais. Se você é um paranóico, verifique a configuração dos serviços na distribuição em uso e altere a ordem de inicialização do script de firewall, de forma que ele seja carregado antes de qualquer outro serviço que aceite conexões, como o Samba ou o Apache. 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. Isso nos leva a uma terceira opção para salvar a configuração, utilizando os próprios arquivos de inicialização do sistema. Ela é a mais "correta" do ponto de vista técnico, embora menos flexível. Nesse caso, a configuração seria feita em três os: A primeira parada seria o arquivo "/etc/modules", onde são listados os módulos carregados pelo sistema durante o boot. Nele seria adicionada a linha "iptables_nat", ativando o carregamento do módulo. Em seguida, você adicionaria (ou descomentaria) a linha "net.ipv4.conf.default.forwarding=1" no arquivo "/etc/sysctl.conf", para ativar o roteamento de pacotes, tornando permanente o comando "echo 1 > /proc/sys/net/ipv4/ip_forward". Finalmente, depois de executar o comando "iptables -t nat -A POSTROUTING -o $placa -j MASQUERADE", que efetivamente ativa o compartilhamento, você usaria o comando "/etc/init.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 e a ser reativada durante o boot.
DH com IP fixo
Mais uma opção interessante no servidor DH é a possibilidade de relacionar um determinado endereço IP com o endereço MAC de certo micro da rede. Isso faz com que ele sempre obtenha o mesmo endereço a partir do servidor DH, como se tivesse sido configurado para usar IP fixo.
29/3/2010 09:54
Servidores De Internet Linux - turbo
17 de 28
http://www.turbo.org/t/index.php?showtopic=217132&hl=linux
Esse recurso é usado em redes de terminais leves, para que o servidor "reconheça" os terminais e possa enviar a configuração adequada a cada um, mas pode ser usado também em outras situações, como em uma pequena rede, onde alguns micros compartilham impressoras e arquivos e por isso não podem ficar mudando de endereço IP a cada reboot. Configurar o servidor DH para dar a eles sempre o mesmo IP pode ser mais prático que configurá-los para usar IP fixo manualmente, pois eles continuarão recebendo o mesmo IP mesmo que você reinstale o sistema (pois, apesar da mudança de sistema operacional, a placa de rede continuará a mesma). Veja o caso de quem usa distribuições Linux live-CD, por exemplo. Para usar este recurso, adicione uma seção como esta para cada host no final do arquivo dhd.conf, depois de todas as linhas de configuração, mas antes de fechar a chave (}):
CÓDIGO
host m5 { hardware ethernet 00:0F:B0:55:EA:13; fixed-address 192.168.1.211; }
Veja que a seção começa com o nome da máquina, "m5" no exemplo. Em seguida vão, entre chaves, 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. Um exemplo de arquivo completo, incluindo a configuração de IP fixo para duas máquinas seria:
CÓDIGO
ddns-update-style none; default-lease-time 600; max-lease-time 7200; authoritative; subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.100 192.168.1.199; option routers 192.168.1.1; option domain-name-servers 208.67.222.222,208.67.220.220; option broadcast-address 192.168.1.255; host m5 { hardware ethernet 00:0F:B0:55:EA:13; fixed-address 192.168.1.211; } host semprao { hardware ethernet 00:0F:B0:45:BC:17; fixed-address 192.168.1.212; }
29/3/2010 09:54
Servidores De Internet Linux - turbo
18 de 28
http://www.turbo.org/t/index.php?showtopic=217132&hl=linux
}
Não se esqueça de reiniciar o servidor DH depois de configurar o arquivo para que a nova configuração seja aplicada:
CÓDIGO
# /etc/init.d/dh3-server restart
Uma pergunta recorrente sobre o uso de servidores DH é sobre a possibilidade de manter mais de um servidor DH ativo. Em situações normais, você nunca deve manter mais de um servidor DH ativo ao mesmo tempo, principalmente se ambos estiverem configurados para fornecer endereços dentro da mesma faixa. Caso contrário, começam a surgir problemas com micros configurados com o mesmo IP (cada um dado por um DH diferente) e assim por diante. Entretanto, em algumas situações, uma configuração com dois servidores DH pode funcionar, naturalmente depois de bem testada. O dh3-server usado no Linux é bastante rápido, por isso (desde que a configuração não seja muito complexa) costuma responder antes dos servidores DH usados nos servidores Windows e na maioria dos modems ADSL, o que pode ser usado a seu favor. Imagine um caso comum: uma rede de 10 ou 20 micros, com um ADSL de 1 megabit, compartilhado pelo próprio modem. Para melhorar o desempenho da rede, você resolve implantar um servidor com o Squid configurado para trabalhar como um proxy transparente, além de um servidor DNS próprio e DH. Como este "servidor" é o seu próprio micro, que precisa ser desligado de vez em quando, você decide manter a rede da forma que está, com o modem compartilhando a conexão e o seu micro funcionando como um segundo gateway, dentro da rede local. Você quer que a rede continue funcionando mesmo quando seu micro precisar ser desligado por um certo tempo, por isso mantém o servidor DH do modem ativo, junto com o servidor DH instalado no seu micro, configurados para fornecerem faixas diferentes de endereços, de forma a minimizar conflitos. No seu caso, o dh3-server é mais rápido que o DH do modem. Por isso, enquanto ele está ligado, os micros da rede local são configurados para ar através dele, ando pelo proxy transparente. Quando ele é desligado, o modem ADSL a a responder as chamadas e os micros am a ser configurados para ar diretamente através dele (é preciso reconfigurar os clientes via DH para que eles obtenham a configuração a partir do modem e em a utilizá-lo como gateway). A rede continua funcionando mesmo que seu micro seja desconectado definitivamente.
29/3/2010 09:54
Servidores De Internet Linux - turbo
19 de 28
http://www.turbo.org/t/index.php?showtopic=217132&hl=linux
Note que isso é tecnicamente errado e só funciona em redes pequenas, onde todos os micros são ligados ao mesmo hub ou switch. Quanto maior a rede, mais imprevisível se torna o comportamento dos servidores DH e mais importante torna-se manter apenas um ativo.
Instalando o Squid CITAR
O Squid é composto de um único pacote, por isso a instalação é simples. Instale o pacote "squid" usando o apt-get, yum ou urpmi, como em:
CÓDIGO
# apt-get install squid
Toda a configuração do Squid é feita em um único arquivo, o "/etc/squid /squid.conf". Caso você esteja usando uma versão antiga do Squid, como a incluída no Debian Woody, por exemplo, o arquivo pode ser o "/etc/squid.conf". Apesar da mudança na localização do arquivo de configuração, as opções descritas aqui vão funcionar sem maiores problemas. O arquivo original, instalado junto com o pacote, é realmente enorme, contém comentários e exemplos para quase todas as opções disponíveis. Ele pode ser uma leitura interessante se você já tem uma boa familiaridade com o Squid e quer aprender mais sobre cada opção, mas, de início, é melhor começar com um arquivo de configuração mais simples, apenas com as opções mais usadas. Em geral, cada distribuição inclui uma ferramenta diferente para a configuração do proxy. Uma das mais usadas é o Webmin, disponível em várias distribuições. 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. Em alguns casos, essas ferramentas ajudam bastante, mas, como elas mudam de distribuição para distribuição, acaba sendo mais produtivo aprender a trabalhar direto no arquivo de configuração, que, afinal, não é tão complicado assim. Assim como em outros tópicos do livro, vamos aprender a configurar o Squid "no muque", sem depender de utilitários de configuração. Comece renomeando o arquivo padrão, de forma a conservá-lo para fins de pesquisa:
29/3/2010 09:54
Servidores De Internet Linux - turbo
20 de 28
http://www.turbo.org/t/index.php?showtopic=217132&hl=linux
CÓDIGO
# mv /etc/squid/squid.conf /etc/squid/squid.conf.orig
Em seguida, crie um novo arquivo "/etc/squid/squid.conf", contendo apenas as quatro linhas abaixo:
CÓDIGO
http_port 3128 visible_hostname gdh acl all src 0.0.0.0/0.0.0.0 http_access allow all
Estas linhas são o suficiente para que o Squid "funcione". Como viu, aquele arquivo de configuração gigante tem mais uma função informativa, citando e explicando as centenas de opções disponíveis. Apenas um punhado das opções são realmente necessárias, pois, ao omití-las, o Squid simplesmente utiliza os valores default. É 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. As quatro linhas dizem o seguinte: http_port 3128: A porta onde o servidor Squid vai ficar disponível. A porta 3128 é o default, mas muitos es preferem utilizar a porta 8080, que soa mais familiar a muitos usuários. visible_hostname gdh: O nome do servidor, o mesmo que foi definido na configuração da rede. Ao usar os modelos desse capítulo, não se esqueça de substituir o "gdh" pelo nome correto do seu servidor, como informado pelo comando "hostname". acl all src 0.0.0.0/0.0.0.0 e http_access allow all: Estas duas linhas criam uma acl (uma política de o) chamada "all" (todos), incluindo todos os endereços IP possíveis. Ela permite que qualquer um dentro desta lista use o proxy, ou seja, permite que qualquer um use o proxy, sem limitações. Para testar a configuração, reinicie o servidor Squid com o comando:
CÓDIGO
# /etc/init.d/squid restart
Se estiver no CentOS, Fedora ou Mandriva, pode utilizar o comando "service", que economiza alguns toques no teclado:
29/3/2010 09:54
Servidores De Internet Linux - turbo
21 de 28
http://www.turbo.org/t/index.php?showtopic=217132&hl=linux
CÓDIGO
# service squid restart
No Slackware, o comando será "/etc/rc.d/rc.squid restart", seguindo a lógica do sistema em colocar os scripts referentes aos serviços na pasta /etc/rc.d/ e inicializá-los automaticamente durante o boot, desde que marcada a permissão de execução. Para testar o proxy, configure um navegador (no próprio servidor) para usar o proxy, através do endereço 127.0.0.1 (o localhost), porta 3128. Se não houver nenhum firewall pelo caminho, você conseguirá ar o proxy também através dos outros micros da rede local, basta configurar os navegadores para usarem o proxy, fornecendo o endereço do servidor na rede local. Caso necessário, abra a porta 3128 na configuração do firewall, para que o Squid possa receber as conexões. Um exemplo de regra manual do Iptables para abrir a porta do Squid apenas para a rede local (a interface eth0 no exemplo) é:
CÓDIGO
iptables -A INPUT -i eth0 -p t --dport 3128 -j ACCEPT
Videos
29/3/2010 09:54
Servidores De Internet Linux - turbo
22 de 28
http://www.turbo.org/t/index.php?showtopic=217132&hl=linux
Fonte: http://www.youtube.com/watch?v=mMOYjrLxGjA
Fonte: http://www.youtube.com/watch?v=BN6Y01EapoA
29/3/2010 09:54
Servidores De Internet Linux - turbo
23 de 28
http://www.turbo.org/t/index.php?showtopic=217132&hl=linux
Fonte: http://www.youtube.com/watch?v=p6-0BF_aicA
Material Complementar Internet Internet Internet E-Book
Gostou Clica em
--------------------
29/3/2010 09:54
Servidores De Internet Linux - turbo
24 de 28
http://www.turbo.org/t/index.php?showtopic=217132&hl=linux
O(s) 15 membro(s) abaixo agradecem Postigo Zanolla por este post: TimBer, Zed Caballeiro, Igor R., Johnny_estranged, micas_micael, Krozth, Tribus, Walla, Marcos123, bopebraw, kbecao, marfresil, Monsher, leobhxp, Link
Anúncios
TimBer
Feb 18 2010, 03:35 PM
Post #
Feb 18 2010, 03:40 PM
Post #2
Putz detonou!!!
-------------------TimBer - SceneLovers
Últimos Tópicos [tor][http][R5] Legião / Legion (2010) [tor][http][R5] O Fim Da Escuridão / Edge Of Darkness (2010) [tor][http] [DVDRip] Agora (2009) [tor][http] [DVDRip] Planeta 51 (2009) [tor][http] [DVDRip]
Grupo: Scene Lovers Posts: 2.145 Agradecimento(s): 4908 Registrado em: 16-February 07 Membro No.: 7.183
Postigo Zanolla
Besouro - O Filme (2009)
Feb 18 2010, 03:49 PM
Post #3
29/3/2010 09:54
Servidores De Internet Linux - turbo
25 de 28
http://www.turbo.org/t/index.php?showtopic=217132&hl=linux
CITAR(TimBer @ Feb 18 2010, 03:40 PM)
Putz detonou!!!
Obrigado Timber
--------------------
Grupo: Like a Tux Posts: 646 Agradecimento(s): 71 Registrado em: 18-February 08 De: St° André Membro No.: 34.036
Zed Caballeiro
Feb 18 2010, 04:02 PM
Post #4
Vou ver mais tarde. Otimo post. Ate mais.
Grupo: Membros Posts: 457 Agradecimento(s): 46 Registrado em: 23-December 08 De: Japão Membro No.: 57.888
Igor R.
Feb 18 2010, 04:14 PM
Post #5
Que isso.. esse material merece um premio parabens.. mto bom.. []´s Igor R.
-------------------|| Membro Get Series || Membro Coladoradoes ||
29/3/2010 09:54
Servidores De Internet Linux - turbo
26 de 28
http://www.turbo.org/t/index.php?showtopic=217132&hl=linux
|| Atualização dos Topicos na Sign ||
Grupo: Colaborador - 6 Posts: 782 Agradecimento(s): 1231 Registrado em: 18-December 08 De: Nova Lima MG Membro No.: 57.782
Krozth
Feb 18 2010, 04:34 PM
Post #6
show de bola ! parabens !
--------------------
“A força do Linux é que se ninguém poder te ajudar, você tem ainda a opção de criar seu próprio caminho, pois pode ter a sua cópia do Linux e fazer o que quiser para melhorá-la para o seu uso.” - Linus Torvalds.
Grupo: Membros Posts: 689 Agradecimento(s): 28 Registrado em: 10-February 07 De: Dentro do turbo Membro No.: 6.439
Postigo Zanolla
Feb 19 2010, 11:55 AM
Post #7
Valeu
29/3/2010 09:54
Servidores De Internet Linux - turbo
27 de 28
http://www.turbo.org/t/index.php?showtopic=217132&hl=linux
--------------------
Grupo: Like a Tux Posts: 646 Agradecimento(s): 71 Registrado em: 18-February 08 De: St° André Membro No.: 34.036
Postigo Zanolla
Feb 21 2010, 03:57 PM
Post #8
vou pesquisar
--------------------
Grupo: Like a Tux Posts: 646 Agradecimento(s): 71 Registrado em: 18-February 08 De: St° André Membro No.: 34.036
Marcos123
Feb 26 2010, 01:31 PM
Post #9
otimo tutorial.. bem explicado. valeu
29/3/2010 09:54
Servidores De Internet Linux - turbo
28 de 28
http://www.turbo.org/t/index.php?showtopic=217132&hl=linux
--------------------
Grupo: Membros Posts: 1.517 Agradecimento(s): 73 Registrado em: 22-February 07 De: localhost Membro No.: 7.944
marfresil
Mar 24 2010, 07:18 PM
Post #10
valeu belo post obg
-------------------http://tinypic.com/r/1z4xw95/4 Grupo: Membros Posts: 599 Agradecimento(s): 97 Registrado em: 17-August 08 De: nordeste Membro No.: 47.635
Digite Palavra-Chaves
2 Páginas
1
2
Pesquisar no Tópico
« Mais Velho · 9.8 - Tutoriais Diversos · Mais Novo »
>
1 Membro(s) estão lendo este tópico (0 Visitantes e 0 Membros Invisíveis) 1 Membros: Alcimar
|-- 9.8 - Tutoriais Diversos
Português
Versão leve
0.1179 sec
Ir
1.79
52 queries
GZIP Ativado
Horário: 29th March 2010 - 10:51 AM
29/3/2010 09:54