Você está na página 1de 16

Instalando e configurando um servidor proxy com o Ubuntu Server - Em menos de ...

Página 1 de 16

GuraveHaato desu ka?


meh!

 Início
 100 GraveHeart facts
 Entre em contato


Instalando e configurando um servidor proxy com o Ubuntu


Server - Em menos de duas horas!
25 01 2007

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.

Passo 2 - Instalando o sistema

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.

Ao término, o sistema irá reiniciar o sistema.

Passo 3 - Configurações iniciais

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

Seu arquivo deve estar qualquer coisa parecida com isso:


# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
#The primary network interface
auto eth0
iface eth0 inet dhcp

Altere as informações para algo parecido com:

auto lo eth0 eth1


iface lo inet loopback
#The primary network interface
iface eth0 inet static
address 192.168.1.254
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
#segunda interface. Outras podem ser adicionadas segundo a mesma lógica
iface eth1 inet static
address xxx.xxx.xxx.xxx
netmask xxx.xxx.xxx.xxx
network xxx.xxx.xxx.xxx
broadcast xxx.xxx.xxx.xxx
gateway xxx.xxx.xxx.xxx

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.

Altere também o /etc/resolv.conf , inserindo os endereços DNS que o provedor utiliza:


sudo vi /etc/resolv.conf

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:

sudo mount /media/cdrom/


sudo cp -r /media/cdrom/dists /edgy
sudo cp -r /media/cdrom/pool /edgy

Logo depois, editem o arquivo de repositórios do apt, com um sudo vi /etc/sources.list

Comentem a linha

deb cdrom:(...)

Colocando um # na frente. Adicionem as linhas:

deb file:/edgy edgy main


deb file:/edgy edgy restricted

Aproveitem e descomentem as linhas dos repositórios ‘Universe‘, retirando o # da frente delas.


Salvem, e executem o apt:

sudo apt-get update


sudo apt-get upgrade

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.

Passo 4 - Instalando e Configurando o ‘Pacote básico do Administrador Feliz‘

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

não instale o MC.

sudo apt-get install mc openssh-server libmd5-perl libnet-ssleay-perl libauthen-


pam-perl libio-pty-perl
sudo wget http://prdownloads.sourceforge.net/webadmin/webmin_1.320_all.deb
sudo dpkg -i webmin_1.320_all.deb

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?

sudo mcedit /etc/ssh/sshd_config

Altere as seguintes opções:

Port 2756 #Altera a porta padrão do SSH, diminuindo a possibilidade de um port


scan
ListenAddress 192.168.1.254 # Somente poderá ser acessado por esse endereço de
rede
PermitRootLogin no # Precisa explicar?
AllowUsers <seu usuário padrão no Ubuntu> #somente o usuário criado na instalação
poderá se logar.

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?

Passo 5 - Instalando o Squid, o Sarg e o Dansguardian

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….

Vamos às configurações: Comece instalando os pacotes:

sudo apt-get install squid squid-common bind sarg dansguardian

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

sudo mcedit /etc/squid/squid.conf

Comece alterando as primeiras linhas, antes das ACL’s:


#Inicio
http_port 192.168.1.254:3129 transparent
visible_hostname proxyspeedy2
hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin \?
cache_mem 48 MB
#Opções para otimização do sistema
maximum_object_size 1024 MB
minimum_object_size 0 KB
cache_swap_low 50
cache_swap_high 90
cache_access_log /var/log/squid/access.log

Vamos às explicações, pra quem não conhece o squid:

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

acl Safe_ports port 631


acl Safe_ports port 873
acl Safe_ports port 901
acl purge method PURGE
acl CONNECT method CONNECT
no_cache deny QUERY
# ACLs paulo
acl Diretoria proxy_auth “/etc/squid/users/diretoria.acl”
acl administracao proxy_auth “/etc/squid/users/administracao.acl”
acl producao proxy_auth “/etc/squid/users/producao.acl”
acl castigo proxy_auth “/etc/squid/users/castigo.acl”
acl PornoURLs url_regex “/etc/squid/users/porno.acl”
acl ProducaoURLs url_regex “/etc/squid/users/producaoURLs.acl”
acl AdministracaoURLs url_regex “/etc/squid/users/administracaoURLs.acl”
acl almoco time MTWHF 12:00-14:00
acl executaveis url_regex -i “/etc/squid/users/executaveis.acl”
acl castigo_ip src “/etc/squid/users/castigo_ip.acl”
#Aplicação das ACL’s
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow purge localhost
http_access deny purge
http_access allow localhost
http_access deny administracao PornoURLs
http_access deny producao PornoURLs
http_access deny castigo PornoURLs
http_access deny Diretoria PornoURLs
http_access deny administracao AdministracaoURLs !almoco
http_access deny producao ProducaoURLs !almoco
http_access deny castigo AdministracaoURLs
http_access deny administracao executaveis
http_access deny producao executaveis
http_access allow Diretoria
http_access allow producao
http_access allow administracao
http_access allow castigo
http_access deny all
http_reply_access allow all

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:

sudo modprobe iptable_nat


sudo modprobe ip_nat_ftp
sudo echo 1 > /proc/sys/net/ipv4/ip_forward
sudo iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
sudo iptables -t nat -A PREROUTING -i eth0 -p tcp –dport 80 -j REDIRECT –to-port
3128

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….

Aqui, já podemos testar o Squid. Primeiro, dê o comando:

sudo /etc/init.d/squid restart

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….

Nota2: Para criar um usuário no Squid, você pode usar o comando

sudo htpasswd /etc/squid/passwd <usuário>

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á.

Agora, vamos ao Danguardian. Antes, uma observação importante: o DanGuardian é um super-filtro


de conteúdo, conseguindo barrar vários tipos de conteúdos diferentes, sejam sites, frase, ou até
mesmo tipos de arquivos. A configuração padrão é bem restrita, e você pode penar um pouco até ter
uma configuração que lhe permita acessar tudo o que você precisa, e bloqueie o resto. Sempre que
possível, utilize os arquivos de exceção para liberar apenas o necessário (exemplo, incluir o endereço
da Caixa Econômica Federal como exceção, ao invés de liberar o acesso a arquivos .zip).

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.

Comece com um:


sudo mcedit /etc/dansguardian/dansguardian.conf

Para uma configuração simples, comente a linha ‘UNCONFIGURED’ e altere as linhas:

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…

No ‘/etc/dansguardian/dansguardianf1.conf‘ verifique a opção ‘naughtynesslimit. Ele é o ‘medidor


de putaria’ do Dansguardian. Quanto menor esse valor, maior será a possibilidade da página ser
bloqueada. Para adultos, um bom valor é 200. Para crianças, pense em valores por volta de 40…

Agora, precisamos baixar as definições em português. Execute os comandos:


sudo wget http://dansguardian.org/downloads/grosvenor/languages.tar.gz
sudo tar -zxvf languages.tar.gz
sudo cp -r languages/* /etc/dansguardian/languages/portuguese/

Agora, insira no arquivo ‘/etc/dansguardian/weightedphraselist’ as linhas:

.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>

Salve tudo, e reinicie o Dans:

sudo /etc/init.d/dansguardian restart

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

Passo 6 - Incrementando o Firewall e instalando o Snort e o Guardian

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.

Para o firewall, vamos utilizar o kurumin-firewall mesmo (disponível no GuiadoHardware), mas


com algumas modificações. Novamente, as portas que você irá abrir ou fechar dependerão
exclusivamente das necessidades da empresa ou local onde você instalando o servidor.

sudo mcedit /etc/init.d/kurumin-firewall

E edite o arquivo:

#!/bin/bash

# Script de configuração do iptables gerado pelo configurador do Kurumin


# Este script pode ser usado em outras distribuições Linux que utilizam o Kernel
2.4 em diante

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

# Por Carlos E. Morimoto

firewall_start(){

# Abre para uma faixa de endereços da rede local


iptables -A INPUT -p tcp –syn -s 192.168.1.0/255.255.255.0 -j ACCEPT

# Abre uma porta (inclusive para a Internet)


iptables -A INPUT -p tcp –destination-port 21 -j ACCEPT
iptables -A INPUT -p tcp –destination-port 110 -j ACCEPT
iptables -A INPUT -p tcp –destination-port 2535 -j DROP
iptables -A INPUT -p tcp –destination-port 139 -j DROP
iptables -A OUTPUT -p tcp –destination-port 139 -j DROP

# Fechando as portas do SSH pra fora


iptables -A INPUT -p tcp –dport 2756 -m iprange –src-range 192.168.1.0-
192.168.1.255 -j ACCEPT
iptables -A INPUT -p tcp –dport 2756 -j DENY

# Ignora pings
echo “1″ > /proc/sys/net/ipv4/icmp_echo_ignore_all

# Protege contra synflood


echo “1″ > /proc/sys/net/ipv4/tcp_syncookies

# Desabilita o suporte a source routed packets


# Esta recurso funciona como um NAT ao contrário, que em certas circunstancias
pode permitir que alguem de fora envie pacotes para micros dentro da rede local.
echo “0″ > /proc/sys/net/ipv4/conf/eth0/accept_source_route
echo “0″ > /proc/sys/net/ipv4/conf/eth1/accept_source_route
# Proteção contra ICMP Broadcasting
echo “1″ > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts

# Proteções diversas contra portscanners, ping of death, ataques DoS, etc.


iptables -A FORWARD -p icmp –icmp-type echo-request -m limit –limit 1/s -j ACCEPT
iptables -A FORWARD -p tcp -m limit –limit 1/s -j ACCEPT
iptables -A FORWARD -m state –state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -p tcp –tcp-flags SYN,ACK,FIN,RST RST -m limit –limit 1/s -j
ACCEPT
iptables -A FORWARD –protocol tcp –tcp-flags ALL SYN,ACK -j DROP
iptables -A FORWARD -m unclean -j DROP
iptables -A INPUT -m state –state INVALID -j DROP
iptables -N VALID_CHECK
iptables -A VALID_CHECK -p tcp –tcp-flags ALL FIN,URG,PSH -j DROP
iptables -A VALID_CHECK -p tcp –tcp-flags ALL SYN,RST,ACK,FIN,URG -j DROP
iptables -A VALID_CHECK -p tcp –tcp-flags ALL ALL -j DROP
iptables -A VALID_CHECK -p tcp –tcp-flags ALL FIN -j DROP
iptables -A VALID_CHECK -p tcp –tcp-flags SYN,RST SYN,RST -j DROP
iptables -A VALID_CHECK -p tcp –tcp-flags SYN,FIN SYN,FIN -j DROP
iptables -A VALID_CHECK -p tcp –tcp-flags ALL NONE -j DROP

# Abre para a interface de loopback.


# Esta regra é essencial para o KDE e outros programas gráficos funcionarem
adequadamente.
iptables -A INPUT -p tcp –syn -s 127.0.0.1/255.0.0.0 -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT

# Esta regra é o coração do firewall do Kurumin,


# ela bloqueia qualquer conexão que não tenha sido permitida acima, justamente
por isso ela é a última da cadeia.
iptables -A INPUT -p tcp –syn -j DROP

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

e verificando se ele lista todas as regras criadas.

Para o Snort e o Guardian, o procedimento é exatamente o encontrado na página do Ubuntu Brasil


portanto eu não pretendo me repetir. Como dica adicional, insiram as linhas abaixo no bootmisc.sh,
para que os serviços sempre rodem ao reinicar o servidor:

snort -c /etc/snort/snort.conf &


guardian.pl /etc/guandian.conf

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.

« Instalando o Windows XP em um 386! Comunicado »

Ações

 RSS dos comentários


 Comentários externos relacionados ao artigo

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

 Data : 25 Janeiro 2007


 Categorias : Senzala, Geek Life, Linux

13 respostas para “Instalando e configurando um servidor proxy com o Ubuntu


Server - Em menos de duas horas!”
25 01 2007
Thiago Berti (15:19:08) :

Muito bom o post.


Agora sei onde encontrar isso quando eu precisar fazer um proxy denovo.

Só uma pergunta… funciona com o Ubuntu pra desktops?

25 01 2007

GraveHeart (15:29:42) :

Sim. Mas aí vc não vai ter um servidor tão leve assim.

26 01 2007
Anônimo (11:26:10) :

nstalando e configurando um servidor proxy com o Ubuntu

manual excelente para instalar proxy no ubuntu

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!

Parabéns pelo artigo, quebrou um galho interessante

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) :

Verifique se na parte de conexões de rede do seu navegador você configurou o proxy:

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

Aí coloca o ip do servidor e a porta.

Se mesmo assim não pedir senha, reveja a configuração do squid.

Outra coisa a verificar é colocar o ip do servidor nos campos de DNS e Gateway da


configuração de rede dos computadores.

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) :

no momento uso vista ultimate 64bit e xp 64 tambem

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.

Deixe seu comentário

Nome (requerido)

Correio (não será publicado) (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

Blog no WordPress.com. • Theme: Freshy by Jide

http://graveheart.wordpress.com/2007/01/25/instalando-e-configurando-um-servidor-pr... 27/5/2007

Você também pode gostar