Servidores de Internet Linu..

March 25, 2018 | Author: hack3rg33k | Category: Ip Address, Server (Computing), Domain Name System, Internet, Internet Architecture


Comments



Description

Servidores De Internet Linux - CPturbohttp://www.cpturbo.org/cpt/index.php?showtopic=217132&hl=linux Logado como: Alcimar ( Sair ) Meus Controles Ver Novos Posts Meu Assistente Meus Tópicos Ajuda 0 Convite 2 Novas Mensagens CPturbo > 9 - Dispositivos Móveis, Programação e Outros Conteúdos Diversos > 9.8 - Tutoriais Diversos 2 Páginas 1 2 > Opções Post #1 Servidores De Internet Linux, Aprenda a Compartilhar DHCP e Proxy Postigo Zanolla Feb 18 2010, 03:35 PM Grupo: Like a Tux Posts: 646 Agradecimento(s): 71 Registrado em: 18-February 08 De: St° André Membro No.: 34.036 Instalando e Configurando Servidor Linux para Internet Que tal ter um servidor Linux para Proxy e DHCP com Firewall.... Tenha Internet livre de vírus. Isso é possivel com este Tutorial. 1 de 28 29/3/2010 09:54 Servidores De Internet Linux - CPturbo http://www.cpturbo.org/cpt/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 2 de 28 29/3/2010 09:54 Servidores De Internet Linux - CPturbo http://www.cpturbo.org/cpt/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 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 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 acessar a web como cliente e fazer downloads, mas não é uma boa idéia para hospedar servidores, pois o link de upload é 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 acesso 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 acesso 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 3 de 28 29/3/2010 09:54 Servidores De Internet Linux - CPturbo http://www.cpturbo.org/cpt/index.php?showtopic=217132&hl=linux servidor dedicado: 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 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 administração do sistema, que serve como um bom ponto de partida. O uso do terminal acaba sendo uma necessidade, pois, quase sempre, a administração do servidor é feita via SSH, usando ferramentas em modo texto. Existem diversos utilitários para automatizar a administraçã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 administração até mesmo enquanto estiver preso no trânsito. Para quem vem do Windows, administrar 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, phpMyadmin e outras, que são acessadas 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 administração mais usada no mundo Linux. Depois de ganhar acesso ao servidor, o próximo passo é 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. 4 de 28 29/3/2010 09:54 Servidores De Internet Linux - CPturbo http://www.cpturbo.org/cpt/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 administraçã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 acesso 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 acesso limitado ao seu servidor (como ao hospedar vários sites, onde cada webmaster tem acesso 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: 5 de 28 29/3/2010 09:54 Servidores De Internet Linux - CPturbo http://www.cpturbo.org/cpt/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, 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 6 de 28 29/3/2010 09:54 Servidores De Internet Linux - CPturbo http://www.cpturbo.org/cpt/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 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 7 de 28 29/3/2010 09:54 Servidores De Internet Linux - CPturbo http://www.cpturbo.org/cpt/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 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. 8 de 28 29/3/2010 09:54 Servidores De Internet Linux - CPturbo http://www.cpturbo.org/cpt/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) passa a ser o gateway da rede, já que é a ele que os clientes irão contactar quando precisarem acessar 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 DHCP: 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 dhcp 9 de 28 29/3/2010 09:54 Servidores De Internet Linux - CPturbo http://www.cpturbo.org/cpt/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 DHCP, como veremos a seguir. Se alguma das estações estiver inacessí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 passa 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. 10 de 28 29/3/2010 09:54 Servidores De Internet Linux - CPturbo http://www.cpturbo.org/cpt/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=dhcp USERCTL=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 acesso 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 passos 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: 11 de 28 29/3/2010 09:54 Servidores De Internet Linux - CPturbo http://www.cpturbo.org/cpt/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 suporte 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 passa 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 tcp --tcp-flags SYN,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, 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, 12 de 28 29/3/2010 09:54 Servidores De Internet Linux - CPturbo http://www.cpturbo.org/cpt/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 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, 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 acesso 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 tcp --dport 22 -j ACCEPT" abre a porta 22, usada pelo SSH para conexões externas, permitindo que você possa administrar o servidor remotamente. Você pode abrir mais portas simplesmente adicionando mais linhas, com as portas desejadas. Concluindo, temos a linha "iptables -A INPUT -p tcp --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 13 de 28 29/3/2010 09:54 Servidores De Internet Linux - CPturbo http://www.cpturbo.org/cpt/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 tcp --dport 22 -j ACCEPT iptables -A INPUT -p tcp --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 tcp --dport 22 -j ACCEPT iptables -A INPUT -p tcp --syn -j DROP } parar(){ iptables -F iptables -F -t nat } 14 de 28 29/3/2010 09:54 Servidores De Internet Linux - CPturbo http://www.cpturbo.org/cpt/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, passei 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 15 de 28 29/3/2010 09:54 Servidores De Internet Linux - CPturbo http://www.cpturbo.org/cpt/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 administrador 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 passos: 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 passe a ser reativada durante o boot. 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. Isso faz com que ele sempre obtenha o mesmo endereço a partir do servidor DHCP, como se tivesse sido configurado para usar IP fixo. 16 de 28 29/3/2010 09:54 Servidores De Internet Linux - CPturbo http://www.cpturbo.org/cpt/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 DHCP 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 dhcpd.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; } 17 de 28 29/3/2010 09:54 Servidores De Internet Linux - CPturbo http://www.cpturbo.org/cpt/index.php?showtopic=217132&hl=linux } Não se esqueça de reiniciar o servidor DHCP depois de configurar o arquivo para que a nova configuração seja aplicada: CÓDIGO # /etc/init.d/dhcp3-server restart Uma pergunta recorrente sobre o uso de servidores DHCP é sobre a possibilidade de manter mais de um servidor DHCP ativo. Em situações normais, você nunca deve manter mais de um servidor DHCP 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 DHCP diferente) e assim por diante. Entretanto, em algumas situações, uma configuração com dois servidores DHCP pode funcionar, naturalmente depois de bem testada. O dhcp3-server usado no Linux é bastante rápido, 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 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 DHCP. 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 DHCP do modem ativo, junto com o servidor DHCP instalado no seu micro, configurados para fornecerem faixas diferentes de endereços, de forma a minimizar conflitos. No seu caso, o dhcp3-server é mais rápido que o DHCP do modem. Por isso, enquanto ele está ligado, os micros da rede local são configurados para acessar através dele, passando pelo proxy transparente. Quando ele é desligado, 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). A rede continua funcionando mesmo que seu micro seja desconectado definitivamente. 18 de 28 29/3/2010 09:54 Servidores De Internet Linux - CPturbo http://www.cpturbo.org/cpt/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 DHCP 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: 19 de 28 29/3/2010 09:54 Servidores De Internet Linux - CPturbo http://www.cpturbo.org/cpt/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 administradores 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 acesso) 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: 20 de 28 29/3/2010 09:54 Servidores De Internet Linux - CPturbo http://www.cpturbo.org/cpt/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á acessar 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 tcp --dport 3128 -j ACCEPT Videos 21 de 28 29/3/2010 09:54 Servidores De Internet Linux - CPturbo http://www.cpturbo.org/cpt/index.php?showtopic=217132&hl=linux Fonte: http://www.youtube.com/watch?v=mMOYjrLxGjA Fonte: http://www.youtube.com/watch?v=BN6Y01EapoA 22 de 28 29/3/2010 09:54 Servidores De Internet Linux - CPturbo http://www.cpturbo.org/cpt/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 -------------------- 23 de 28 29/3/2010 09:54 Servidores De Internet Linux - CPturbo http://www.cpturbo.org/cpt/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 Feb 18 2010, 03:35 PM Post # TimBer 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] Besouro - O Filme (2009) Grupo: Scene Lovers Posts: 2.145 Agradecimento(s): 4908 Registrado em: 16-February 07 Membro No.: 7.183 Postigo Zanolla Feb 18 2010, 03:49 PM Post #3 24 de 28 29/3/2010 09:54 Servidores De Internet Linux - CPturbo http://www.cpturbo.org/cpt/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 || 25 de 28 29/3/2010 09:54 Servidores De Internet Linux - CPturbo http://www.cpturbo.org/cpt/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 Cpturbo Membro No.: 6.439 Postigo Zanolla Feb 19 2010, 11:55 AM Post #7 Valeu 26 de 28 29/3/2010 09:54 Servidores De Internet Linux - CPturbo http://www.cpturbo.org/cpt/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 27 de 28 29/3/2010 09:54 Servidores De Internet Linux - CPturbo http://www.cpturbo.org/cpt/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 Premium 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 Pesquisar no Tópico « Mais Velho 9.8 - Tutoriais Diversos Mais Novo » 2 Páginas 1 2 > 1 Membro(s) estão lendo este tópico (0 Visitantes e 0 Membros Invisíveis) 1 Membros: Alcimar |-- 9.8 - Tutoriais Diversos Ir Português Versão leve 0.1179 sec 1.79 52 queries GZIP Ativado Horário: 29th March 2010 - 10:51 AM 28 de 28 29/3/2010 09:54
Copyright © 2024 DOKUMEN.SITE Inc.