Pular para o conteúdo

Controle de acesso à internet com Squid

Apresento uma configuração para controle de acesso à internet com Squid, limitando o acesso por grupos. Essa configuração inclui também controle de acesso ao aplicativo MSN.
Fabio Soares Schmidt fs.schmidt
Hits: 111.456 Categoria: Linux Subcategoria: Squid
  • Indicar
  • Impressora
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Nosso cenário

Olá galera! Neste artigo apresento uma configuração para utilização do Squid para controle de acesso à internet por grupos de usuários. Demonstrarei duas configurações, uma por com controle por endereço IP e outra com autenticação NCSA_AUTH.

Neste tutorial iremos utilizar a distribuição CentOS, versão 5.5, conforme abaixo:

Servidor:
  • hostname: centos.laboratorio
  • IP: 192.168.100.70/24
  • Porta do Squid: 3128

Nosso controle de acesso:

Primeiramente criaremos uma ACL com sites que sempre serão liberados, estes sites serão liberados para toda a rede, como sites do governo , atualização de anti-vírus, Windows update etc. Também criaremos uma ACL de sites que SEMPRE serão BLOQUEADOS, todos os usuários irão passar por esse controle, onde você pode bloquear pornografia, redes sociais etc.

Teremos 3 grupos de acesso primários:
  • ACESSO TOTAL: Os usuários neste grupo terão acesso liberado, EXCETO ao conteúdo que estiver bloqueado na lista de SEMPRE BLOQUEADOS.
  • ACESSO CONTROLADO: Estes usuários acessam o conteúdo da lista SEMPRE LIBERADO e uma segunda lista criada para este grupo.
  • SEM ACESSO: Os usuários podem somente utilizar o conteúdo liberado na lista SEMPRE LIBERADO, afinal precisamos permitir que o usuário efetue atualizações do Windows, Anti-vírus, acesse sua conta corrente, extrato de imposto de renda,etc..

Grupo secundário de acesso:

Os usuários deste grupo podem estar em qualquer grupo primário, por exemplo, podemos liberar a navegação para um usuário e não permitir que o mesmo tenha acesso ao MSN.
  • SEM MSN: Usuários que não terão acesso ao MSN

Outros recursos

Iremos configurar o Squid para forçar cache das atualizações efetuadas pelo Windows Update e de ferramentas anti-vírus (eu testei: Avira, Symantec e Avast, se fizerem a configuração com outro produto agradeço se compartilharem !!). Devemos estar cientes que ao aumentar o tamanho do cache iremos perder em desempenho, porém economizaremos banda.

As possibilidades com o Squid são imensas, é possível utilizar autenticação em um PDC (samba), Active Directory, Openldap, MySQL ou até mesmo controlar o acesso por endereço IP ou MAC.

Com este artigo procuro passar o conhecimento para inicial para compartilhamento e controle de Internet com o Squid, espero que você consiga migrar essa configuração para outras formas de autenticação e criar suas próprias regras.

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.
   1. Nosso cenário
   2. Configuração inicial e controle por IP
   3. Controle de acessos por usuário
   4. Criando os arquivos para controle de acesso
   5. Finalizando

Implementação de NIDS com EasyIDS

Criando VPN site-to-site, conectando diversas filiais a matriz com openVPN

Instalação do Oracle 10g R2 no SUSE Linux Enterprise Server 11

SeamlessRDP - Executando aplicações Windows

Bloqueando Windows Live Messenger com Squid (Debian ou Ubuntu)

Criando delay pools (Proxy/Squid)

Configurando o Squid no Slackware

Proxy Squid Transparente

Filtro de conteúdo autenticado com níveis de privilégio

#1 Comentário enviado por dolivervl em 13/10/2010 - 16:34h
Muito bom o artigo, gostei muito do cache de atualizações, nunca tinha pensado e visto isso. Show !!! Vou implementar assim que possível.
#2 Comentário enviado por removido em 25/10/2010 - 10:51h
Fantástico, parabéns cara, mandou bem
#3 Comentário enviado por fs.schmidt em 03/02/2011 - 02:48h
Olá ! Agradeço a todos que visitam esse meu artigo, fiquei surpreso com a quantidade de acessos !

Gostaria de compartilhar a seguinte experiência com vocês, adicionando os parametros abaixo aumentei de forma significante os HITS do meu cache, os dois ultimos aumentaram muito os acertos com o Windows Update e atualizações de definições de vírus !

Não entrarei em detalhes sobre os parametros aqui, mas logo posto um tutorial sobre melhorar a performance e acertos de cache no squid !


memory_replacement_policy heap GDSF
cache_replacement_policy heap LFUDA
range_offset_limit -1
quick_abort_min -1


Abraços !!
#4 Comentário enviado por sektor em 18/05/2011 - 18:18h
Fabio

muito bom mesmo seu artigo, inclusive uso em empresas o squid com o cenário bem parecido com esse seu.

eu apenas mudaria uma coisa, no lugar de url_regex onde esta a regra que o pessoal só acessa o que tiver na lista eu trocaria por dstdomain, pois ja tive problemas com o url_regex em caso da lista de liberação ficar muito grande, pois o url_regex trata as palavras e o dstdomain os dominios, e quando a lista de liberação fica muito grande (com muitas palavras) o usuario acaba conseguindo acessar um site que não esta na lista de liberação, por exemplo blogs...pode parecer meio confuso explicar assim mas tive alguns problemas com esse cenário, apenas mudei para dstdomain e tudo ficou beleza, mas de qualquer forma meus parabens pelo seu artigo, muito bem detalhado e explicado. um abraço.
#5 Comentário enviado por marcoscd em 02/08/2011 - 21:32h
gostei vou fazer um teste

mas gostaria de saber os detalhes da rede
tenho que utilizar 2 placas de redes neste caso ?
vai ser necessario utilizar o firewall iptables
minha interne e da empresa net 10 mb como ficaria

obrigado
Marcos de Campos Dornelas
marcoscd@gmail.com

#7 Comentário enviado por WilsonP em 13/03/2013 - 17:45h
Para o controle de acesso a internet na minha empresa eu uso o Winconnection http://winconnection.winco.com.br/ . Possui UTM com filtros Web e Skype/MSN, firewall e servidor de e-mail e ainda possui uma versão free para 5 usuários.

Espero poder ter contribuido.

Contribuir com comentário

Entre na sua conta para comentar.