Configurando um Firewall de A a Z. Parte 3
Continuando com nossos artigos sobre a montagem de um firewall, vamos trabalhar com uma das ferramentas mais básicas em todos firewall, o proxy.
Ter acesso a Internet é fundamental em qualquer rede nos dias de hoje. Mas existem problemas sérios de segurança e eficiência que devem ser levados em conta no momento da implementação de uma rede com acesso a web.
Ao acessar um site qualquer na Internet, seu navegador faz uma cópia deste site, desta forma ao acessá-lo novamente, nem toda informação do site é transferida novamente, apenas os dados que foram modificados. Assim seu navegador economiza uma quantidade bem razoável de link e otimiza o uso fazendo com que o tráfego de dados para seu computador seja menor.
Imaginem uma rede com 100 computadores, todos eles acessando a Internet, e cada um deles com uma cópia dos sites que acessam (cache). Um dos trabalhos do proxy é unir essas cópias (cache) em uma grande cópia que fica armazenada no servidor. Assim se um usuário da minha rede acessar um site qualquer este já estará disponível para que outro usuário baixe o site sem ter que utilizar o link de Internet. Isto faz com que haja uma economia considerável na utilização do Link. Grande parte, se não todos, dos provedores de Internet utilizam um Proxy para otimizar sua conexão à Internet.
Em qualquer rede que tenha acesso a Internet, é fundamental o uso de um Proxy. Um servidor Proxy pode:
-
Otimizar a conexão a Internet
-
Controlar o conteúdo acessado pelos clientes
-
Permitir a geração de relatórios dos acessos (SARG)
A instalação do Proxy Squid pode ser feita utilizando uma das muitas ferramentas de gerenciamento de pacotes disponíveis como o apt-get, yum ou yast. Mas se você quer compilar deu Proxy poderá encontrá-lo em http://www.squid-cache.org/Versions/v3/3.0/squid-3.0.STABLE1.tar.gz.
Configurando um Proxy Básico
A configuração básica do Squid é bastante simples. O arquivo de configuração vem com MUITA informação, mas não se preocupe, a grande maioria é formada por exemplos ou explicações.
# vim /etc/squid/squid.conf
# Porta em que o Proxy vai trabalhar. 3128 é a porta padrão.
http_port 3128
# Organização do diretório de cache. Neste caso ele terá 100MB de tamanho
cache_dir ufs /var/spool/squid 100 16 256
# Arquivo de log que irá armazenar os acessos
cache_access_log /var/log/squid/access.log
# Arquivo de log com informações do cache.
cache_log /var/log/squid/cache.log
# acl’s da aula (comentário)
acl sala src 11.0.0.0/24
# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS (comentário)
http_access allow sala
http_access allow localhost (esta regra já existia no arquivo original)
http_access deny all (esta regra já existia no arquivo original)
Terminada a configuração do serviço, temos que criar a estrutura do diretório de cache e iniciarmos o servidor.
# squid -z
# squid
Para nosso exemplo temos a seguinte configuração de rede:
Servidor ————————————Cliente
eth0 -> 10.2.0.Y (Placa de Internet) ——IP -> 11.0.0.X
eth0:0 -> 11.0.0.Y (Rede Local) ———–GW -> 11.0.0.Y
GW -> 10.2.0.254 —————————PROXY -> 11.0.0.Y:3128
————————————————DNS -> 189.1.1.10
Basta agora configurarmos o cliente com o Proxy conforme a tabela. Podemos utilizar o tail para visualizarmos o acesso às páginas. Basta irmos no cliente e abrirmos qualquer endereço de Internet.
# tail /var/log/squid/access.log
1134499700.794 4660 11.0.0.15 TCP_MISS/200 1812 GET http://www.google.com.br/ – DIRECT/64.233.161.104 text/html
1134499704.426 3632 11.0.0.15 TCP_MISS/200 9121 GET
http://www.google.com.br/intl/pt-BR_br/images/logo.gif – DIRECT/64.233.161.104 image/gif
1134499705.070 644 11.0.0.15 TCP_MISS/200 1683 GET http://www.google.com.br/favicon.ico – DIRECT/64.233.161.104 image/x-icon
Bloqueando Sites
Uma das tarefas mais básicas no início da configuração do servidor Proxy é o bloqueio de sites. Principalmente aqueles de conteúdo impróprio, ou que podem prejudicar a produção, pois o pessoal passa horas acessando.
Vamos criar uma regra para bloquear sites de conteúdo impróprio.
# vi /etc/squid/squid.conf
(adicionar as seguintes regras)
acl porn url_regex -i “/etc/squid/porn”
# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS (comentário)
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 temos que colocar uma lista de sites que serão bloqueados no arquivo de bloqueios.
# vi /etc/squid/porn
orkut
youtube
Pronto, agora temos que reiniciar nosso servidor para que as alterações tenham efeito.
# killall -9 squid
# squid
Você pode testar em um navegador cliente deste servidor, e verá que as páginas bloqueadas não podem ser acessadas.
No próximo artigo vamos trabalhar um pouco mais com o Squid. Até lá!
Índice de Configurando um Firewall de A a Z
- Configurando um Firewall de A a Z. Parte 1
- Configurando um Firewall de A a Z. Parte 2
- Configurando um Firewall de A a Z. Parte 3
- Configurando um Firewall de A a Z. Parte 5
