Documente Academic
Documente Profesional
Documente Cultură
Filtro na ponte
Proxies com cache lembram-se de páginas e as servem localmente, economizando
tempo e dinheiro. Os membros mais inteligentes dessa família também
apagam conteúdo perigoso e oferecem bridging transparente.
por Tobias Eggendorfer
68 http://www.linuxmagazine.com.br
Squidbridge SYSADMIN
Servidor web
Bridge com
Roteador/ filtro de conteúdo
Firewall
Internet
Figura 1 O filtro de conteúdo está instalado em uma bridge, neste cenário. Essa configuração cabe facilmente numa rede pré-existente sem a necessidade de
reconfigurar o roteador ou os clientes.
pode-se instalar um proxy transparente Configuração básica [2]). Ao compilarmos o kernel, é im-
usando uma regra de firewall para re- Para instalar o proxy, provavelmente portante termos certeza de selecionar
direcionar para o proxy todo o tráfego o melhor é começar instalando um os drivers apropriados às controladoras
HTTP que sai. Entretanto, mais uma sistema Linux mínimo. A máquina de rede e de disco rígido. Além disso, o
vez é necessário modificar o firewall. precisa de duas placas de rede, que kernel deve obrigatoriamente suportar
Seria muito mais elegante sim- não receberão endereços IP por en- o bridging (figura 2). Administradores
plesmente conectar o proxy à rede quanto. Como geralmente será ne- cuidadosos com a segurança certa-
– atrás do último switch e à frente do cessário recompilar o kernel (para mente instalarão patches como o GR
roteador. Essa solução, que elimina a ativar o bridging), e aproveitando que Security [3].
necessidade de se modificar os nave- é recomendável compilar e instalar Depois de iniciar o sistema com o
gadores dos clientes ou o roteador, é o Squid e o DansGuardian a partir novo kernel, precisaremos configurar
um resquício do papel de uma bridge do código-fonte (veja abaixo), serão uma bridge: o comando brctrl addbr
ou switch. O objetivo original de uma necessários os respectivos pacotes de br0 adiciona um novo dispositivo de
bridge era organizar o tráfego da rede desenvolvimento no sistema. Antes rede chamado br0. Como uma bridge
baseado em endereços MAC, conse- de se colocar a bridge para funcionar, exige duas placas de rede, é necessá-
qüentemente segmentando a rede. deve-se limpar a máquina e remover rio associar duas placas a ela, com os
Porém, o kernel Linux atual permite quaisquer pacotes que não sejam mais seguintes comandos:
que os administradores sofistiquem o necessários.
funcionamento da bridge incluindo o brctrl addif br0 eth0
papel de firewall invisível baseado na brctrl addif br0 eth1
Servidor web
� Para o servidor � Requisição
� Resposta ao servidor Squid � Website
Já podemos testar a bridge agora. Depois, prosseguimos descompac- não terão muito o que fazer nesse ar-
Vamos simplesmente ligá-la à rede. tando e configurando o Squid: ./con- quivo – a porta onde o Squid ouvirá é
Ela deve passar pacotes entre os dois figure --enable-linux-netfilter só uma questão de gosto; o padrão é a
segmentos da rede, mas podemos usar --disable-ident-lookups . O pri- 3128. Se preferirmos mudar a porta, é
uma ferramenta de análise de rede meiro parâmetro desabilita o suporte só acrescentarmos a seguinte linha à
como o tcpdump [4] para verificar ao Netfilter do Linux no Squid. Esse configuração do Squid:
se isso está funcionando. Se preferir- passo é necessário se quisermos usar
mos, podemos configurar agora um o Squid como um proxy transparente. http_port 127.0.0.1:65080
firewall com iptables, e Physdev-Ma- O segundo parâmetro desativa requi-
tch ou ebptables. sições de Ident feitas pelos clientes, Isso faz o proxy escutar na porta
apesar de normalmente o Ident nem 65080. O comando também configura
estar instalado, ou ser bloqueado pela o Squid para garantir que somente o
Instalação do Squid maioria dos firewalls. Dependendo proxy na máquina local vai reagir a
É necessário instalarmos o Squid pri- da nossa preferência, podemos usar conexões. Isso é necessário para a fil-
meiro, para o proxy. Para baixar o có- o parâmetro --prefix=/usr/local/ tragem posterior de conteúdo.
digo-fonte de [1], o sistema de bridge squid para colocar tudo isso em um O Squid suporta o protocolo ICP
precisa de um endereço IP e uma diretório. Depois, completamos com (Inter Cache Protocol), que permite que
entrada de gateway padrão na tabela os comandos para compilar e instalar proxies troquem conteúdo do cache entre
de roteamento. Os comandos a seguir o Squid: make && make install. si. Esse suporte é irrelevante em nosso
cuidam disso: O próximo passo é modificar os caso, e podemos desativá-lo facilmente:
arquivos de configuração do Squid icp_port 0. Além disso, uma entrada
ifconfig br0 192.0.2.8 de acordo com nossas necessidades. de ACL (Lista de Controle de Acessos,
➥ netmask 255.255.255.0 O prefixo mencionado acima instala na sigla em inglês) garante que só a
route add default
➥ gw 192.0.2.1
o arquivo squid.conf no diretório /usr/ máquina local possa acessar o Squid:
local/squid/etc . Os administradores http_access allow localhost.
Servidor web
Requisição
Internet Squid Dansguardian
Website
Cache
Figura 4 Colocar o filtro de conteúdo DansGuardian entre os usuários e o proxy de cache Squid garante que o DansGuardian aplicará as regras de filtragem a todas
as requisições.
70 http://www.linuxmagazine.com.br
Squidbridge SYSADMIN
Servidor web
Requisição
Internet Antivírus Squid Website
Cache
Figura 5 Colocar o filtro de conteúdo no lado da Internet é menos seguro. Cada arquivo só é verificado uma vez. Se um vírus conseguir chegar ao cache, nunca
será descoberto, mesmo após a atualização das assinaturas de vírus.
72 http://www.linuxmagazine.com.br