| Subcribe via RSS

Configurando um Firewall de A a Z. Parte 4

junho 5th, 2008 Posted in Dicas


Continuando a série de artigos sobre Firewall’s, vamos completar a parte de proxy Squid.

Utilizar Proxy autenticado é uma maneira de termos controle sobre quem tem acesso ao recurso de Internet. Além de nos dar uma alternativa interessante que é a de criar grupos de usuários com níveis de acesso diferentes.

O proxy autenticado não pode ser utilizado com proxy transparente. Então é interessante que existam recursos de pessoal, ou scripts já prontos para configurar as máquinas clientes.

Vamos as regras.

# vi /etc/squid/squid.conf
(adicionar as seguintes regras)
auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/passwd
# Existem várias linhas em sequência no arquivo squid.conf com o parâmetro auth_param. Procure por essa sequência e adicione o tipo de autenticação requerida. No nosso caso seráo ncsa_auth. As linhas serão alguma coisa do tipo:
#auth_param basic program <uncomment and complete this line>
#auth_param basic children 5
#auth_param basic realm Squid proxy-caching web server
#auth_param basic credentialsttl 2 hours
#auth_param basic casesensitive off
# Lembre que todas elas deve estar descomentadas.
acl password proxy_auth REQUIRED
# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS (comentário)
http_access deny !password
http_access deny porn
http_access allow sala (esta regra já existia em nosso proxy. as regras de negação devem ser incluídas antes desta regra)

Agora precisaremos criar o arquivo de usuários:

# htpasswd -c /etc/squid/passwd humberto
New password:
Re-type new password:
Adding password for user humberto

Obs.: a opção “-c” só deve ser utilizada na primeira vez para criação do arquivo.

Vamos reiniciar o proxy e testar a configuração.

# killall -9 squid
# squid

Agora no cliente, basta acessar qualquer página, que será solicitada a digitação de usuário e senha.

Proxy Transparente

O Proxy transparente é uma boa opção quando não temos um controle total da rede, como um provedor de Internet, ou até mesmo um laboratório. O proxy transparente não funciona com proxy autenticado. Vamos a configuração.

# vi /etc/squid/squid.conf
(adicionar as seguintes regras)
visible_hostname on
—- Em proxys mais antigos
httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on
—- Em versões mais novas do squid utilize http_port 3128 transparent
#http_access deny !password (esta regra já existia em nosso proxy. Esta regra não pode se utilizada com proxy transparente)
http_access deny porn (esta regra já existia em nosso proxy)
http_access allow sala (esta regra já existia em nosso proxy. as regras de negação devem ser incluídas antes desta regra)

Agora vamos reiniciar o proxy e finalizar as configurações do nosso servidor.

# killall -9 squid
# squid

Para que o Proxy transparente funcione de forma correta é necessário adicionarmos algumas regras nas tabelas do IPTABLES. Para que todas as requisições direcionadas a porta 80 sejam encaminhadas para o proxy. (porta 3128):

# iptables -t nat -A PREROUTING -i eth0 -p tcp –dport 80 -j REDIRECT –to-port 3128

Precisaremos também ativar o roteamento e o mascaramento de pacotes no Linux:

# iptables -t nat -A POSTROUTING -s 11.0.0.0/8 -j MASQUERADE
# echo 1 > /proc/sys/net/ipv4/ip_forward

Finalmente retire a configuração do proxy no seu navegador e teste o squid.

# tail -f /var/log/squid/access.log
(acompanhando o arquivo de log do squid)

Gerando Relatórios de Acesso do Squid

Gerar relatórios dos acesso a rede realizados pelos usuários é uma importante funcionalidade do conjunto Squid + SARG. o SARG é um gerador de relatórios baseado nos logs do squid.

Você pode instalar o sarg utilizando uma das ferramentas automáticas como o yum ou o apt-get. Vamos a configuração do SARG.

# vi /etc/squid/sarg.conf
language Portuguese
access_log /var/log/squid/access.log
title “Relatório Diário do Proxy”
output_dir /var/www/sarg

Para gerarmos um relatório de um dia específico utilizamos a seguinte sintaxe:

# /usr/bin/sarg -f /etc/squid/sarg.conf -d 13/12/2007-13/12/2007
SARG: Records in file: 541, reading: 100.00%
SARG: Relatório gerado com sucesso em /var/www/sarg/2007Dec13-2007Dec13

Para visualizarmos este relatório gerado basta abrirmos um navegador e acessarmos o IP do servidor. Lembre que o servidor de páginas Apache deve estar instalado e configurado para exibir sua página inicial em /var/www.

* http://11.0.0.254/sarg

Este processo deve ser executado automáticamente todos os dias. Assim vamos criar um script para executar o sarg diariamente.

# vi /usr/local/bin/sarg-dia
#!/bin/bash

HOJE=$(date –date “1 day ago” +%d/%m/%Y)

/usr/bin/sarg -f /etc/sarg/sarg.conf -d $HOJE-$HOJE
exit 0

Nos falta, agora, dar permissão de execução e colocar este script para rodar todos os dias.

# chmod 755 /usr/local/bin/sarg-dia
# crontab -e
01 1 * * * /usr/local/bin/sarg-dia

Terminamos. No próximo artigo veremos ferramentas de análise.

Leave a Reply

Get Adobe Flash playerPlugin by wpburn.com wordpress themes