Tutorial de instalação do Squid no CentOS

Irei descrever neste artigo como fazer a instalação de um servidor proxy Squid para controle de acesso à internet em um servidor CentOS.

[ Hits: 98.220 ]

Por: Renato Diniz Marigo em 12/06/2013 | Blog: http://www.renatomarigo.com.br


Testando a aplicação e bloqueando sites



Para testarmos se a regra está OK digite:

# telnet localhost 3128

Exemplo:
# telnet localhost 3128
Trying ::1...
Connected to localhost.
Escape character is '^]'.
Agora no seu browser configure o proxy para o IP_DO_SERVIDOR:
Linux: Tutorial de instalação do Squid no CentOS
E para verificarmos se o Squid está funcionando, execute este comando para ver o log de acesso do servidor e tente acessar algumas páginas:

# tail -f /usr/var/logs/access.log

Exemplo de saída:
1370283144.542 222289 192.168.1.150 TCP_MISS/200 681 GET http://mail.mailig.ig.com.br/mail/channel/bind? - HIER_DIRECT/74.125.234.22 text/plain
1370283181.062 40175 192.168.1.150 TCP_MISS/200 473 GET http://2-act.channel.facebook.com/pull? - HIER_DIRECT/69.171.246.16 text/plain
1370283220.811 39745 192.168.1.150 TCP_MISS/200 473 GET http://2-act.channel.facebook.com/pull? - HIER_DIRECT/69.171.246.16 text/plain
1370283232.257 87711 192.168.1.150 TCP_MISS/200 550 GET http://mail.mailig.ig.com.br/mail/channel/bind? - HIER_DIRECT/74.125.234.245 text/plain
1370283232.834 571 192.168.1.150 TCP_MISS/400 940 GET http://mail.mailig.ig.com.br/mail/channel/bind? - HIER_DIRECT/74.125.234.182 text/html
1370283233.585 245 192.168.1.150 TCP_MISS/200 431 GET http://mail.mailig.ig.com.br/mail/channel/test? - HIER_DIRECT/74.125.234.182 text/plain
Obs.: digite Ctrl + C, para sair deste comando.

Bloqueando sites

Agora que temos o Squid funcionando vamos configurar algumas opções básicas, vamos criar uma regra para bloquear sites.

Criando um arquivo que contenha as palavras que você quer bloquear:

# vim /usr/etc/proibidos

Adicionando o conteúdo:

orkut
www.uol.com.br
sexo

Agora adicione as seguintes linhas ao arquivo de configuração /usr/etc/squid.conf.

Obs.: estas linhas devem ser adicionadas antes da linha:

http_access allow localnet

Conteúdo a ser adicionado:

#####Sites proibidos#######################################
acl proibidos url_regex "/usr/etc/proibidos"
http_access deny proibidos
###########################################################

Reiniciando o serviço:

# /etc/init.d/squid restart

Ao tentar acessar uma página proibida, será exibida a seguinte mensagem no browser:
Linux: Tutorial de instalação do Squid no CentOS
Obs.: você também pode pesquisar sobre blacklists para controle de conteúdo na internet ou no site:

Configurando o Squid para acesso a sites específicos

Nós também podemos configurar o Squid permitindo acesso somente a sites específicos, isto pode ser usado se a empresa quiser liberar o acesso à internet somente a um grupo específico de sites.

Primeiro criaremos o arquivo que vai conter somente sites permitidos:

# vim /usr/etc/permitidos

Neste arquivo podemos adicionar URLs ou nomes específicos, tudo que tiver de conteúdo neste arquivo será permitido a navegação.
Exemplo:

www.ig.com.br
terra

No arquivo de configuração do Squid: /usr/etc/squid.conf precisamos fazer as seguintes alterações:

Comentar o acesso à rede local:

# http_access allow localnet

Adicionar estas linhas ao arquivo, após a linha comentada acima:

####Somente sites permitidos##################################
acl permitido url_regex "/usr/etc/permitidos"
http_access allow permitido
##############################################################

Reiniciando o serviço:

# /etc/init.d/squid restart

Com estas configurações o Squid só permitirá o acesso a sites que estiverem listados no arquivo /usr/etc/permitidos e todos os outros sites serão bloqueados.

Espero ter ajudado.

Página anterior    

Páginas do artigo
   1. Instalação e configuração do Squid no CentOS
   2. Configurando o firewall e o Squid
   3. Configurando a inicialização do sistema
   4. Testando a aplicação e bloqueando sites
Outros artigos deste autor

Introdução ao Shell Script

VLAN Tagging nos sistemas GNU/Linux derivados do Red Hat

Nagios 3 + NagiosQL no Ubuntu Server 12.04

Instalação do WordPress no CentOS 7

Instalação do CentOS Atomic para Gerenciamento de Containers Docker

Leitura recomendada

Squid 3 como proxy transparente + firewall Iptables

Gerenciando relatórios do SARG

Squid autenticado - Instalar e configurar

Squid3 com bloqueio HTTPS [que realmente funciona] - Versão 3.5.22

Implementação de um servidor Linux Squid + Iptables + DHCP

  
Comentários
[1] Comentário enviado por geraldozys em 24/06/2013 - 17:06h

Muito interessante seu artigo.

Com ele é possível que qualquer pessoa (tanto os que possuem conhecimento do squid, quanto quem está vendo pela primeira vez a ferramenta) possa criar um controle de internet funcional. Meus parabéns

[2] Comentário enviado por renizgo em 27/06/2013 - 13:29h

Que bom que conseguiu, obrigado pelo comentário.


[1] Comentário enviado por geraldozys em 24/06/2013 - 17:06h:

Muito interessante seu artigo.

Com ele é possível que qualquer pessoa (tanto os que possuem conhecimento do squid, quanto quem está vendo pela primeira vez a ferramenta) possa criar um controle de internet funcional. Meus parabéns



[3] Comentário enviado por cgsp1989 em 22/08/2013 - 16:26h

Boa tarde sou novo no Linux achei muito simples o seu Squid funcionou certinho agora queria saber como eu faço para liberar 2 maquinas da rede para acesso total nesse caso seria os diretores da Empresa.

[4] Comentário enviado por rique.euler em 19/12/2013 - 16:49h

Meus parabéns, muito bom seu Tutorial....

Funcionou tudo direitinho...valeu!!!!

Abração....

[5] Comentário enviado por jottapp em 18/04/2014 - 14:01h

Ola. Desculpem, estou com um probleminha. Quando tento iniciar o serviço, retorna a seguinte mensagem:

/etc/init.d/squid: line 5: 6876 Illegal instruction squid

É como se o parâmetro que chama o processo do squid (serviço) não existisse.
Obs.: Instalei a versão 3.4.4-20140414-r13119

[6] Comentário enviado por dnagamachi em 09/06/2014 - 13:03h

boa tarde, renizgo utilizei o seu tutorial para criar o squid no centos. está funcional obrigado. Porem tenho algumas duvidas. Estou utilizando uma adsl da vivo fibra, conectado diretamente na eth1. Na maquina onde se encontra instalado o centos 6.5 consigo navegar a 100mb, porem ao utilizar o proxy, ele está me limitando a 20MB. Pesquisei algumas informações e cheguei a ver que existe como limitar a banda pelo squid. A minha pergunta é : por default o squid limita a banda? e como consigo liberar a banda para 100% de utilização ..

obrigado

att.
Denis

[7] Comentário enviado por trestivo em 16/06/2014 - 11:01h

Tenho uma dúvida quando você executa o comando:

useradd squid -s /bin/false

eu entendi que você esta criando um usuário de nome squid, mas não entendi por que você coloca o caminho /bin/false ao final do comando =/

[8] Comentário enviado por Vicasonic em 18/08/2016 - 22:09h

Boa noite, Galera.

Quero contribuir com minha experiência ao usar esse tutorial. Antes de mais nada, ótimo conteúdo!!
No meu estudo usei o CentOS 7 versão mínima, essa primeira etapa tive algumas dificuldades devido está usando o VirtualBox e não poder usar o CNTL + C e CNTL+V. kkkk... depois de muito persistir deu certo. Só acrescentar que antes do comando
( # ./configure --prefix=/usr --enable-shared --enable-icmp --enable-delay-pools --enable-sll --enable-linux-netfilter --enable-auth --enable-basic-auth-helpers=NCSA,LDAP,SMB )
foi preciso instalar o perl, usando da seguinte forma " yum install perl ", com isso esse primeiro passo funcionou muito bem.

agradeço pela grande ajuda, abraço!

[9] Comentário enviado por marcoschikoski em 07/10/2016 - 16:34h

Parabéns pelo tutorial, comecei agora no linux estou usando o CentOS 6.8 basico, apenas samba, firebird e agora tentando o squid, deu certinho pelo seu tutorial, agora só falta adaptar as regras que estava utilizando no windows.
Muito obrigado.

[10] Comentário enviado por rogeriospessoa em 30/11/2016 - 16:07h

Boa tarde!

Tudo bem?

Instalei e apareceu o seguinte erro:

chkconfig --add squid
o serviço squid não suporta o chkconfig

Por favor, o que fazer ?

Outra coisa, como fazer para administrar o SQUID utilizando o webmin ?

Grato,

Rogério

[11] Comentário enviado por hugobaur em 11/01/2017 - 15:40h

Boa tarde amigo,

Estou configurando em um cluster da minha empresa, pra ver se consigo usar o yum para fazer download dos pacotes pra atualização do CentOS 6.5 para o 7.0.

Deu esse erro pra mim:

[root@cl-endesa squid-3.5.23-20161226-r14129]# ./configure --prefix=/usr --enable-shared --enable-icmp --enable-delay-pools --enable-sll --enable-linux-netfilter --enable-auth --enable-basic-auth-helpers=NCSA,LDAP,SMB
-bash: ./configure: Permission denied

Pq permisão negada? =///

Pode me ajudar?


[12] Comentário enviado por hugobaur em 11/01/2017 - 15:51h

Consegui, dei permissão "x" para o arquivo! =)


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts