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: 100.096 ]

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

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

WordPress com Docker

Instalação de um Servidor Web

Instalação do Docker no CentOS 7

Leitura recomendada

Squid - Bloqueando definitivamente o MSN Messenger e Orkut

Squid Plus com AD, redirector, controle de banda e relatórios

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

Firewall + Proxy autenticado + Apache (Centos 5.5 32/64 bits)

Squid autenticando no Windows utilizando grupos do AD

  
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