Escolar Documentos
Profissional Documentos
Cultura Documentos
Página 1 de 16
Início
100 GraveHeart facts
Entre em contato
Em mais um post para conseguir visitas compartilhar informações com internautas, explicarei para
vocês de forma simples e didática como utilizar o Ubuntu Linux Server 6.10 para levantar um
servidor proxy seguro em menos de duas horas. A idéia surgiu de um situação real, o servidor proxy
da empresa onde trabalho estava começando a dar problemas (no hardware…), e travava direto.
Como a instalação já tinha quase três anos, achei melhor atualizar tudo num sistema novo do que só
trocar o HD de computador.
E, como eu já tinha baixado a ISO do Ubuntu Server para testar, só precisei tomar coragem, pegar
um computador novo que estava sobrando e arregaçar as mangas. Depois de mais ou menos duas
horas (desconte aí alguns minutos de download), o sistema já estava prontinho, só faltando uns
acertos que poderiam ser feitos com ele em produção.
Percebam duas coisas antes de começar a ler: 1) não há nenhum segredo no que estará sendo
relatado, todas as informações podem ser encontradas nas documentações oficiais e pela internet. 2)
Não me considero expert ou guru do Linux, então podem haver vários erros nos processos relatados
aqui (muito embora o servidor esteja funcionando muito bem, obrigado…). Eu aceito de bom grado
sugestões e comentários sobre os passos seguidos, mas não vou aceitar comentários do tipo ‘LOL,
seu noob!’. Pessoas que insistam em fazer isso terão câncer genital.
Passo 1 - Preparando o Computador
Primeiramente, você deve começar pela parte que chuta: examine o hardware do seu novo servidor, e
dimensione-o para suas necessidades. Ou seja, não configure um P100 com 16MB de RAM para
servir uma empresa com 200 funcionários, nem compre um P4 de última geração e 1GB RAM para
servir aquele escritório com 6 funcionários.
Leve em conta também que serão instalados vários serviços adicionais (e opcionais) além do squid
que tomarão conta dos recursos da máquina. Memória é essencial aqui. No meu caso, peguei um
Sempron 2600+ com 512MB num PCChips A31g que tinha acabado de chegar. Isso, para distribuir
internet para 50 computadores, dá e sobra, mas a idéia é justamente essa, ter uma boa folga no uso.
Lembre-se também que serão necessárias duas placas de rede. Pessoalmente, não recomendo o uso
da placa onboard, mas fica ao critério de vocês.
Agora, antes de começar a instalar o sistema, entre no SETUP e desabilite TUDO aquilo que não
http://graveheart.wordpress.com/2007/01/25/instalando-e-configurando-um-servidor-pr... 27/5/2007
Instalando e configurando um servidor proxy com o Ubuntu Server - Em menos de ... Página 2 de 16
será usado: som onboard, usb, modem, portas seriais e paralelas, e o que mais for possível. Com isso,
conseguimos um pouco mais de segurança (através de qualquer porta usb ou equivalente),
confiabilidade (com menos recursos habilitados, menor será a chance de uma falha de hardware, e
menor será o seu trabalho para identificar uma possível falha futura) e velocidade (menos coisas
para levantar no boot, menos serviços rodando desnecessariamente). Configure o boot pelo CD,
coloque uma senha para o setup e saia, para começarmos a instalação de verdade.
Nenhum segredo aqui, se você já fez isso antes: configure o idioma, o teclado, crie um usuário,
defina uma senha, formate as partições necessárias (ou deixe o Ubuntu cuidar disso), e aguarde a
instalação. Dois pontos importantes:
1 - Será útil já ter uma conexão com a internet durante a instalação (diretamente ligada à máquina ou
através de um outro proxy), pois o Ubuntu já fará uns ‘apt-get update’ durante a instalação.
2 - Em dado momento, o instalador perguntará se você deseja instalar dois perfis pré-configurados:
DNS Server e LAMP Server. A instalação fica a critério de vocês, já que boa parte dos pacotes desses
perfis serão instalados mais pra frente. No meu caso, não instalei nada por enquanto.
Primeiramente, vamos configurar a rede. No meu caso, como eu já tenho um servidor DHCP em
outro servidor, o Ubuntu já configurou automaticamente a primeira placa de rede. Mas o que
queremos é um endereço estático, então vamos editar o arquivo /etc/network/interfaces
sudo vi /etc/network/interfaces
http://graveheart.wordpress.com/2007/01/25/instalando-e-configurando-um-servidor-pr... 27/5/2007
Instalando e configurando um servidor proxy com o Ubuntu Server - Em menos de ... Página 3 de 16
Nesse caso, considerei que a primeira placa de rede ficará ligada à rede local, e a segunda é que
ficará ligada à internet. Nesse caso, tudo dependerá de como é a sua conexão. Para Speedy Businnes,
é bem fácil, a Telefônica já te passa todas as informações logo no começo. Outros serviços não
devem ser diferente.
nameserver xxx.xxx.xxx.xxx
nameserver xxx.xxx.xxx.xxx
nameserver xxx.xxx.xxx.xxx
Novamente, os dados deverão ser obtidos com seu provedor. A partir daqui, o computador já deverá
estar conectado à internet. Tente um ping www.ubuntu.org e veja se está tudo OK. Mas ainda não
está pronto, precisamos instalar e configurar os pacotes necessários para que o proxy funcione e os
outros usuários também acessem a internet.
É agora que a parte legal começa. Você com certeza já deve ter percebido isso, mas o CD do Ubuntu
Server já traz vários pacotes de serviços prontos para o uso. Se você quiser, pode usar esse
repositório, o que diminuiria e muito o tempo de download pelo APT-GET. No meu caso, como eu
queria me livrar do drive de CD, copiei os pacotes para minha máquina, com os comandos abaixo:
Comentem a linha
deb cdrom:(...)
Se tudo der certo, vocês terão o sistema pronto para a instalação dos pacotes. Percebam que esse
passo é totalmente opcional. No meu caso, eu pude liberar o CD do Ubuntu (assim como o drive) e
acelerar bastante as instalações. Se você quiser continuar com o CD, ou se todas as versões do
mesmo já estiverem obsoletas, pule essa parte, apenas configurando para aceitar o repositório
Universe.
Agora, vamos tratar de instalar e configurar alguns programas que irão nos ajudar a administrar o
sistema: a trinca MC (Midnight Commander), OpenSSH e Webmin. Muitos experts que estejam
lendo isso provavelmente irão querer me bater, mas considero o MC um ótimo navegador de
arquivos/editor de textos, ainda mais quando estou com pressa. Se você prefere o VI, simplesmente
http://graveheart.wordpress.com/2007/01/25/instalando-e-configurando-um-servidor-pr... 27/5/2007
Instalando e configurando um servidor proxy com o Ubuntu Server - Em menos de ... Página 4 de 16
Com isso, já podemos acessar o servidor via SSH e via Browser. Mas… já que queremos um mínimo
de segurança, porque não alterarmos algumas coisinhas?
Assim já temos algo mais seguro. O mesmo pode ser feito com o Webmin, alterando
o /etc/webmin/miniserv.conf. Nesse caso, alterar a opção “port” para 4044 ou qualquer outro número
já é uma boa.
Agora, já podemos mexer no servidor pela rede, e sem muito medo de uma invasão. Que tal
pararmos de enrolar e instalar logo o bendito do proxy, hein?
Apenas para entender: o Squid será o responsável por compartilhar o acesso à internet com todas as
máquinas, o Dansguardian irá habilitar alguns filtros de acesso, e o Sarg será o ‘dedo-duro’ do
sistema, gerando arquivos HTML com os ‘logs’ de navegação do Squid.
E aqui começa uma parte da configuração onde ‘cada caso é um caso’. O Squid permite um sem fim
de combinações de restrições, permitindo que eu simplesmente compartilhe a internet, ou que eu
compartilhe apenas para alguns IPs, ou que eu exija uma autenticação para o uso, ou que eu bloqueie
algumas páginas de acordo com o horário.
A configuração das ACLs (regras que controlam o acesso) dependerá exclusivamente de como a
empresa vê o acesso à internet pelos funcionários, e do quão odiado você quer ser pelos seus colegas
de trabalho que não podem mais acessar o orkut.
Se a empresa para o qual você está instalando o proxy não se importa com restrições de acesso, a
configuração padrão do squid já está perfeita. Caso contrário, sugiro que você leia a documentação
do mesmo e encontre quais regras se adaptam melhor à sua situação. O exemplo aqui é bem restrito,
mas já montei um servidor para um escritório de contabilidade onde TUDO era bloqueado, menos
uma meia dúzia de páginas….
E depois dê um
http://graveheart.wordpress.com/2007/01/25/instalando-e-configurando-um-servidor-pr... 27/5/2007
Instalando e configurando um servidor proxy com o Ubuntu Server - Em menos de ... Página 5 de 16
http_port - qual porta o squid estará escutando. Ao colocar o endereço IP, eu impeço que alguém
tente acessar pelas outras interfaces. O ‘transparent’ será explicado em breve.
visible_hostname - Hostname do servidor
cache_mem - Quantidade de memória RAM que o squid estará utilizando para guardar as páginas
acessadas, aumentando a velocidade de acesso posterior.
maximum_object_size e minimum_object_size - Qual o tamanho máximo e mínimo dos arquivos
que ficarão armazenados no cache em disco.
cache_swap_low e cache_swap_high - Com o cache_swap_high você define qual a porcentagem
máxima que o cache deverá atingir para começar a apagar arquivos antigos. O cache_swap_low
define qual a porcentagem deverá ser atingida durante a remoção desses arquivos.
Caso você queira que os usuários se autentiquem para usar a internet, insira esses dados no
squid.conf:
auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/passwd
auth_param basic children 5
auth_param basic realm
Agora, as ACL’s. Novamente, cada caso é um caso, e vou colocar as minhas aqui apenas para
exemplo. Se você quiser entender mais sobre ACL’s do Squid e como usá-las, recomendo uma
leitura desse texto .
# ACLs normais
acl all src 192.168.1.0/255.255.255.0
delay_pools 1
delay_class 1 2
delay_parameters 1 114688/114688 32768/32768
delay_access 1 allow all
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl SSL_ports port 443 563
acl SSL_ports port 873
acl Safe_ports port 80
acl Safe_ports port 21
acl Safe_ports port 443 563
acl Safe_ports port 70
acl Safe_ports port 210
acl Safe_ports port 1025-65535
acl Safe_ports port 280
acl Safe_ports port 488
acl Safe_ports port 591
acl Safe_ports port 777
http://graveheart.wordpress.com/2007/01/25/instalando-e-configurando-um-servidor-pr... 27/5/2007
Instalando e configurando um servidor proxy com o Ubuntu Server - Em menos de ... Página 6 de 16
Basicamente, existem três níveis de acesso diferentes, com várias restrições baseado em cada nível,
mas com a possibilidade de liberar alguns sites no horário de almoço, a menos que você esteja na
ACL ‘castigo’ (sacou? hein?). Pode parecer castrante, mas são normas da empresa, não me odeiem
por configurar isso.
Salve o arquivo e saia. Agora que já temos o básico configurado, vamos configurar o firewall para
compartilhar conexões. No terminal, digite os comandos abaixo:
Na verdade, apenas os quatro primeiros comandos são necessários. Nesse caso, substitua o ‘eth1′
pela interface que está conectada à internet. O último comando gera o que chamamos de ‘proxy
transparente’. Com ela habilitada, qualquer um que queira acessar a internet deverá obrigatoriamente
passar pelo Squid (vocês lembram daquele ‘transparent’ logo na primeira linha do squid.conf, né?).
http://graveheart.wordpress.com/2007/01/25/instalando-e-configurando-um-servidor-pr... 27/5/2007
Instalando e configurando um servidor proxy com o Ubuntu Server - Em menos de ... Página 7 de 16
Uma ótima idéia é inserir esses comandos de firewall no arquivo /etc/init.d/boomisc.sh. Assim, caso
o computador seja reiniciado, as regras passarão a funcionar automaticamente….
E verifique se não apareceu nenhum erro. Uma lida nos arquivos em /var/log pode ser útil, caso
apareça algo estranho. Agora, numa máquina qualquer, abre o seu browser e configure o proxy. No
Firefox2, vá em Ferramentas > Opções > Avançado > Rede > Configurações e insira o endereço IP
do servidor e a porta do squid. Tente acessar alguma página. Se der tudo certo, parabéns. O grosso
do trabalho já foi, agora é cuidar da segurança.
Nota: Percebam que até o momento não é possível usar o Squid com transparência E autenticação ao
mesmo tempo. Ao usar os dois você no máximo não terá acesso se não configurar o proxy nas
máquinas locais. O que já ajuda em alguma coisas….
E depois cadastrá-lo em uma das regras do squid. OU você pode usar o Webmin, o que eu considero
um pouco mais prático…
O Sarg não exige muita configuração, podendo ser executado via Webmin mesmo, ou através do
crontab, caso você queira automatizar a tarefa. Uma lida no /etc/squid/sarg.conf pode dar boas dicas
do tipo de configuração que o Sarg permite. Para acessar os relatórios, acesse
http://192.168.1.254/squid-reports/ que eles deverão estar lá.
Outro ponto é que você pode precisar configurar bastante o DG no quesito performance. Ele utiliza o
Clamav para fazer uma varredura antí-virus no que passa pelo proxy, o que pode ser bem ruim se
você está usando um Pentium 100 como proxy para 100 máquinas… O Dansguardian é
recomendado para ambientes corporativos preocupados com a segurança, e PRINCIPALMENTE em
escolas ou universidades.
language = ‘portuguese’
loglocation = ‘/var/log/dansguardian/access.log’
filterport = 3128
proxyip = 127.0.0.1
proxyport = 3129
http://graveheart.wordpress.com/2007/01/25/instalando-e-configurando-um-servidor-pr... 27/5/2007
Instalando e configurando um servidor proxy com o Ubuntu Server - Em menos de ... Página 8 de 16
Nota: muitos devem estar achando estranho eu ter configurado o Dansguardian na porta padrão do
Squid. O motivo é simples: preguiça. Assim eu não preciso reconfigurar todos os outros
computadores…
.Include</etc/dansguardian/languages/portuguese/weightedphraselist.pornsites.portuguese>
.Include</etc/dansguardian/languages/portuguese/weightedphraselist.pornwords.portuguese>
E, no ‘/etc/dansguardian/bannedphraselist’
.Include</etc/dansguardian/languages/portuguese/bannedphraselist.portuguese>
Se tudo correu bem, você provavelmente é o cara mais odiado pelos funcionários que enrolam no
serviço…..
Há um extra para acelerar um pouco a navegação, que é instalar um servidor DNS na máquina. Com
isso, as resoluções de nome ficarão mais rápidas, pois haverá um cache de endereços na sua
máquina. Até onde eu sei, não é necessário alterar algum arquivo, apenas instalar o bind
A parfir daqui, tudo o que será feito é instalar sistemas que bloqueiem ataques externos, ou evitem
problemas que um vírus possa causar internamente. As regras de Firewall servem para fechar portas
e evitar ataques. O Snort é uma ferramenta de detecção de intrusos, ótima para ficar vigiando a sua
rede e verificando se há algo errado. O Guardian trabalha junto com o Snort, criando regras de
firewall de acordo com os alertas do Snort.
E edite o arquivo:
#!/bin/bash
http://graveheart.wordpress.com/2007/01/25/instalando-e-configurando-um-servidor-pr... 27/5/2007
Instalando e configurando um servidor proxy com o Ubuntu Server - Em menos de ... Página 9 de 16
firewall_start(){
# Ignora pings
echo “1″ > /proc/sys/net/ipv4/icmp_echo_ignore_all
http://graveheart.wordpress.com/2007/01/25/instalando-e-configurando-um-servidor-pr... 27/5/2007
Instalando e configurando um servidor proxy com o Ubuntu Server - Em menos ... Página 10 de 16
}
firewall_stop(){
iptables -F
iptables -X
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
}
case "$1" in
“start”)
firewall_start
;;
“stop”)
firewall_stop
echo “O kurumin-firewall está sendo desativado”
sleep 2
echo “ok.”
;;
“restart”)
echo “O kurumin-firewall está sendo desativado”
sleep 1
echo “ok.”
firewall_stop; firewall_start
;;
*)
iptables -L -n
esac
Salve, e configure para rodar no boot. Você pode testar as configurações do iptables dando um
sudo iptables -L
Faça alguns testes finais, reinicie a máquina, e pronto. Você terá um servidor proxy leve, seguro, e
que permite adicionar novos serviços (DHCP, SAMBA, Cups, LDAP, Postfix) facilmente. E tudo
em menos de duas horas!
Nota final:
- Caso algum passo descrito aqui não funcione, sempre veja as mensagens de erro e os arquivos de
log. Boa parte das soluções podem ser encontradas vendo qual é exatamente o problema.
Ações
Informações
http://graveheart.wordpress.com/2007/01/25/instalando-e-configurando-um-servidor-pr... 27/5/2007
Instalando e configurando um servidor proxy com o Ubuntu Server - Em menos ... Página 11 de 16
25 01 2007
GraveHeart (15:29:42) :
26 01 2007
Anônimo (11:26:10) :
26 01 2007
Andre Noel (14:43:02) :
“um computador novo que estava sobrando”… Tá bom o negócio aí, hein?? Se sobrar mais
computadores *novos*, aceito doação…
Ah, não se preocupem com o fato de te chamarem de noob… Acho muito bom o que vc fez
colocando isso no ar (vou até testar mais tarde). E outra: ninguém que já saiba fazer isso bem
vai ter paciência de ler isso “de novo”…
Abração.
Bom post.
26 01 2007
GraveHeart (14:53:53) :
Meh…. Sobrou porque o funcionário que estava usando saiu. Mas normalmente as máquinas
que eu consigo pra testes são verdadeiros ‘Frankensteins’, pegando peças boas de
computadores e montando um outro. Já fiz cada milagre aqui atrás de um computador….
5 02 2007
DodgeCharger (21:07:35) :
http://graveheart.wordpress.com/2007/01/25/instalando-e-configurando-um-servidor-pr... 27/5/2007
Instalando e configurando um servidor proxy com o Ubuntu Server - Em menos ... Página 12 de 16
Cara, você tah de parabens por ter tido a paciência de ter feito esse tutorial, eu tava afim de
fazer um proxy aqui na empresa por causa desses sites de putarias, e tinha feito em red hat, so
q o red hat eh uma BOSTA e eu tou totalmente a favor do Ubuntu…
Vou fazer isso amanha aqui, e testar tudo… e assim q eu fizer eu colocarei um reply…
Valeu.
24 02 2007
Alex Pedro (13:03:05) :
Cara, parabêns pela iniciativa, gostaria de saber como fazer um proxy como esse em qualquer
distribuição linux (ubutum não tenho nenhuma experiência) com preferencia no linux
Kurumin, mas no meu caso, estou pensando em contratar um outro link de internet e assim ter
dois links de internet no servidor compartilhado para rede interna, sendo que, ambos os links
são de internet via rádio, instalados através de placas de rede comum 10/100, eu precisária que
um dois links ficasse disponivel para rede inteira e o outro para apenas um computador para
ficar fazendo downloads, e apenas no caso de o link principal cair o link alternativo fosse
disponibilizado para rede toda? tem como fazer isso, caso não tenha por favor me de
alternativas?
Desde já, meus agradecimentos
16 04 2007
Guilherme Pinheiro (10:18:00) :
Cara, muito obrigado pela sua ajuda, é por causa de pessoas como você que eu amo a minha
profissão, todo mundo se ajuda e vamos em frente.
Valew
17 04 2007
Thiago (11:17:47) :
Autenticação!
Tenho uma pergunta: criei os usuários para autenticação, porém meu squid não pede senha
nenhuma ao acessar. Aonde que coloco o usuário na máquina?
Obrigado,
Thiago
17 04 2007
GraveHeart (11:59:47) :
No Firefox, você vai encontrar em Preferências > Avançado > Rede > Conexão >
Configuração
http://graveheart.wordpress.com/2007/01/25/instalando-e-configurando-um-servidor-pr... 27/5/2007
Instalando e configurando um servidor proxy com o Ubuntu Server - Em menos ... Página 13 de 16
25 04 2007
cicero (21:46:23) :
nao consigo configurar net no ubuntu 7.04 uso net via radio :consigo sinal ,porem nao conecta
de forma alguma.me agudaa
25 04 2007
cicero (21:50:37) :
9 05 2007
Reinaldo Guerra (20:56:15) :
Parabens pela iniciativa, vou iniciar em linux pois o windons no serve dá muito pau, sou leigo
em linux, mas vou iniciar ja c/ suas dicas. Deus abencoe.
Nome (requerido)
Website
Você pode usar estas tags : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite>
<code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>
Enviar comentário
Tag Cloud
http://graveheart.wordpress.com/2007/01/25/instalando-e-configurando-um-servidor-pr... 27/5/2007
Instalando e configurando um servidor proxy com o Ubuntu Server - Em menos ... Página 14 de 16
Academia Anime Blogroll Bobagens dieta Filmes Gadgets Geek Life Jogos
Linux Música Mangá Quadrinhos Resenhas Senzala Vidinha
Besta WTF
Publicidade
Arquivos
Maio 2007
Abril 2007
Março 2007
Fevereiro 2007
Janeiro 2007
Dezembro 2006
http://graveheart.wordpress.com/2007/01/25/instalando-e-configurando-um-servidor-pr... 27/5/2007
Instalando e configurando um servidor proxy com o Ubuntu Server - Em menos ... Página 15 de 16
Novembro 2006
Outubro 2006
Setembro 2006
Agosto 2006
Comentários Recentes
Felipe em Crie um sistema de comunicação interna na sua intranet, usando Software Livre!
Instalando o OpenFire no Ubuntu 6.10
Alessandro Martins em Encontrado fóssil tecnológico - Ainda em uso!
Athena de Vento » Primeiros Inscritos em Tá virando moda: mais uma análise, mais um
prêmio
emerson em Siemens CX75 - Valeu a pena comprar?
Bruno Alves em Post de pobre desesperado: Review do BRPoint
Meta
Conectar
RSS das entradas
RSS dos comentários
WordPress.com
Calendário
Janeiro 2007
D S T Q Q S S
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
« Dez Fev »
del.icio.us
27 Lessons Learned on the Way to 3000 Visits a Day and 2200 RSS Subscribers
wpzipper: Custom Wordpress Archives
101 Ways to Annoy Your Co-workers » Jason Bartholme’s SEO Blog
What Does 200 Calories Look Like?
spesa.com.br › Nunca foi tão fácil controlar seus gastos
SAÚDE
Lighteando: Emagrecendo passo a passo
MEU EMAGRECIMENTO - Só não consegue quem desiste !
Free Ringtones from Phonezoo: Create and Download Free Ringtones from Your Music.
Emagrecer
Fotos no Flickr
http://graveheart.wordpress.com/2007/01/25/instalando-e-configurando-um-servidor-pr... 27/5/2007
Instalando e configurando um servidor proxy com o Ubuntu Server - Em menos ... Página 16 de 16
More Photos
Botões
http://graveheart.wordpress.com/2007/01/25/instalando-e-configurando-um-servidor-pr... 27/5/2007