Home / Dicas e Tutoriais / Gerenciando seu Proxy Squid pelo Webmin

Gerenciando seu Proxy Squid pelo Webmin

Olá pessoal,

Recentemente criei alguns posts sobre Instalação de Web Server, Instalação do Squid, e Instalação do Webmin, conforme links abaixo.

1 – Instalando-um-servidor-web-passo-a-passo-com-o-lamp-no-ubuntu-14-04
2 – Webmin-seu-portal-web-para-gerenciar-seu-linux
3 – Instalando-um-servidor-proxy-com-squid-no-ubuntu-14-04

Agora, conforme prometido, vou colocar neste tutorial algumas configurações do Squid que o Webmin permite fazer. Embora eu não conheça a fundo todas as configurações do Squid, vou mostrar os itens principais.

Se você já instalou tudo o que passei nas 3 dicas anteriores, poderá seguir em frente.

Primeiramente acesse o IP ou nome de seu servidor do Squid e Webmin do navegador de sua máquina e faça login.

webmin3

Depois vá até a última seção com seta na coluna de menu do lado esquero, chamada Unused Modules, ela estará em cinza claro. Expanda esta seção clicando na seta e vá até um dos últimos itens chamado Squid Proxy Server.

Bom, ele abrirá então o módulo de controle do Squid.

Squid_webmin

Obs. Bem importante:
Se aparecer escrito em baixo do título esta mensagem conforme acima, “Your Squid cache directory…”, é porque não foi criada a pasta de cache do Squid corretamente durante a instalação. (eu apaguei o conteúdo da minha pasta de cache para mostrar como o erro ocorre).
Se isto acontecer clique no botão logo abaixo da mensagem “Initialize Cache” e ele criará a pasta e subpastas em seu servidor no caminho “/var/cache/squid_cache”

Você então poderá visualizar a criação das pastas e subpastas.

Squid_webmin2

Se entrar no servidor poderá ver que criou mesmo.

squid_cache

Bom, feito isso poderá clicar no botão “Apply Configuration” no rodapé da página e “Apply Changes” na parte superior direita.

Após isso, você poderá agora, acessar o módulo do Squid pela seção “Servers” na coluna da esquerda.

Agora é só começar a visualizar e editar o que quiser conforme sua necessidade. Vamos dar uma olhada em alguns itens.

Cache Options

Vamos começar vendo o item “Cache Options”.
Recentemente na configuração do meu Squid eu configurei o tamanho do meu cache para 7 GB, vamos ver se está assim?

Squid_webmin6

Repare na imagem abaixo que está 7000 MB e o diretório do cache também está correto. Agora se você quiser alterar poderá fazê-lo por aqui.

Squid_webmin7

 

Ports and Networking

A porta padrão do Squid é a 3128, mas se vocẽ quiser alterá-la, também poderá agora fazer por aqui com o Webmin.
Volte para a página inicial do “Squid Proxy Server”, clicando no menu na lateral esquerda.
E agora clique na seção Ports and Networking.

Squid_webmin_Ports

Pronto, aqui você poderá mudar o número da porta.

Squid_webmin8

Administrative Options

Aqui você poderá alterar o usuário padrão do Proxy, opções de e-mail de notificações para o endereço do gestor do proxy, entre outras.

Squid_webmin_Adm

Squid_webmin_AdmOptions

Zerando o Cache

Com esta opção ele apagará o cache e começará de novo a partir dos novos acessos.

Squid_webmin_Clearcache

Miscellaneous Options – Algumas Opções diversas

Aqui você poderá ver e editar algumas opções variadas, texto da mensagem de erro, DNS de teste e etc. Eu deixo tudo como padrão desta página.

Squid_webmin_ACL14

Access Control – Criando as regras ACLs.

Por aqui é possível criar as regras e depois aplicá-las de forma ordenada, mas esse processo é um pouco mais complexo.

Squid_webmin_AccessControl

Criação de Regras são em 4 etapas.

Vamos começar criando uma lista de sites e palavras bloqueadas.

1 – Crie um arquivo em seu servidor com uma lista de palavras a bloquear. Salve e feche.

# gedit /etc/squid3/palavras_bloqueadas

Squid_webmin_ACL9

2 – Escolha o tipo de ACL que irá criar.
Em nosso exemplo vamos utilizar o tipo “url_regex”. Este tipo de ACL irá bloquear a navegação onde houver as palavras dentro do arquivo que criamos anteriormente.

E depois clique no botão “Create new ACL”.

Squid_webmin_ACL1

Dê um nome a sua ACL, preencha conforme imagem abaixo, escolha a opção “Separate file”, digite o caminho da sua lista de bloqueio e clique em “Save” para salvar.

squid-acl-webmin

3 – Agora clique na aba “Proxy restrictions”.
Aqui efetivamente você definirá a aplicação da sua ACL, pois ela sem a aplicação não funcionaria. Então clique em “Add proxy restriction” para definir a ação, conforme imagem abaixo.

Squid_webmin_ACL2
Repare na imagem acima que temos setas do lado direito apontando para cima ou para baixo. Isto serve para que você selecione a regra na caixa de seleção do lado esquerdo e depois clicando na seta para cima ou para baixo você define a ordem que a regra será aplicada.

Como o Squid aplica as regras na ordem de primeira em diante, você deverá colocar as regras que criar na ordem correta. Por exemplo: Você criou uma regra que libera um endereço de navegação, depois cria outra que bloqueia o mesmo endereço.  Logo, a regra que terá efeito é a que vir primeiro de cima para baixo.
A mesma diretriz vale para editar as regras manualmente editando o arquivo “/etc/squid/squid.conf”.

Agora defina a ação que será aplicada à ACL, conforme imagem abaixo, e clique em “Save” para salvar.

Squid_webmin_ACL12

4 – Agora observe que sua regra está criada e basta posicionar sua regra conforme eu expliquei antes.

Squid_webmin_ACL13Agora basta salvar tudo, aplicar as mudanças clicando em “Apply Changes”. Isso irá reiniciar o serviço do squid, mas você poderá reiniciá-lo manualmente se desejar.

 

Segundo Exemplo em 4 Passos:

Agora iremos permitir a navegação de alguns endereços.

1 – Escolha o tipo de ACL “Client address” e clique em “Create New ACL”.

Squid_webmin_ACL1b

Na próxima página defina o range de IP ao qual a regra se aplicará, e depois Salve.

squid-acl-webmin4

2 – Agora, vá até a aba Proxy Restrictions e então em “Add proxy restriction”

Squid_webmin_ACL2

3 – Agora se você quiser liberar o acesso, escolha “Allow” a fim de bloquear este range de IPs. Então clique em “Save”.

Webmin-squid4

4 – Posicione suas regras para ficarem acima da ACL padrão “Deny All”, conforme imagem abaixo. Porém a regra “palavras_bloqueadas” é recomendável que seja uma das primeiras, pois se você tiver uma regra que venha antes que ela e que permite tudo e outra que vem depois e que negue algumas coisas, a que permite tudo irá prevalecer.

squid-acl-webmin2

Testando em um navegador.

Configure o proxy no navegador em sua máquina (não no servidor) e teste a navegação.
O cache já está fazendo, basta testar os bloqueios. (exemplo abaixo do meu primeiro proxy no IP 192.168.10.10), mas este que estou usando agora é o 192.168.0.194.

setting-proxy-client-003

 

Depois teste os bloqueios navegando em alguma página com regra.
Se aparecer uma mensagem de bloqueio do Squid, a regra está funcionando.

Quer conferir se suas regras foram criadas no arquivo de configuração do Squid?

Visualize o arquivo com o comando:

sudo gedit /etc/squid3/squid.conf

Vamos procurar pela declaração das ACLs, e depois pelas “Proxy Restrictions”.

* Repare que as declarações de acls que fizemos estão lá.
squid-acl-webmin7

* Repare que as regras de acesso (http_access) usando as acls, foram criadas.

squid-acl-webmin8

Terceiro Exemplo – Bloqueando o Facebook – em 4 passos.

Outra regra que criei foi uma apenas para bloqueio do facebook também. (pois que usa ssl, ou seja autenticação https)

Vamos fazer ao contrário agora, usando diretamente o arquivo de configuração e depois vamos ver se aparece no Webmin

sudo gedit /etc/squid3/squid.conf

1 – Declarando as acls.
Criei 2 acls. Uma que bloqueia apenas minha máquina Windows de teste e outra que bloqueia o Facebook, e chamei a primeira de “accontant” e a segunda de “fb”.

acl accountant src 192.168.0.197/24
acl fb dstdomain .facebook.com

squid-acl-webmin11

2 – Criando os bloqueios – Proxy Restrictions

http_access deny fb accountant
http_access deny fb CONNECT fb accountant

squid-acl-webmin10

3 – Salve o arquivo e reinicie o Squid com o velho comando:

sudo service squid3 restart

 

4 – Cheque no Webmin

Abra a console do Webmin e verifique as novas ACLs e as novas Proxy Restriction, e voilá…está tudo aí.

squid-acl-webmin12 squid-acl-webmin13

Novamente testando, apenas para garantir:

squid-acl-webmin17

Bom é isso aí pessoal!

Com o Webmin você  consegue configurar praticamente tudo em seu servidor, incluindo o Squid, e de forma bem mais fácil do que editando o arquivo de configuração.

Alguma coisa não funcionou? Tem alguma dica?
Por favor compartilhe nos comentários.  😉

Abraços,

Cleuber

Fontes: Laboratório que fiz em Máquina virtual com Ubuntu 14.04.

 

 

 

 

About Cleuber

Cleuber Silva Hashimoto. Administrador

9 comments

  1. Cara, está muito bem explicado e também didático.

    E o bom é que está atualizado!

    Show de bola!

  2. Boa noite tenho acompanhado seus post e tem me ajudado muito!!!

    Consegui resolver o problema da configuração utilizando o webmin obrigado!!

  3. Bom dia!

    Muito bom o tutorial, a explicação ficou bem simplificada ajudando no entendimento.

    Gostaria de saber se pelo webmin eu consigo controlar acesso simultâneo, ex:
    Se uma pessoa estiver logada em uma maquina ela não loga em outra.

    Do mais parabéns pelo trabalho!

  4. Leandro Branco

    Cara tutorial muuuito tooop… Meus parabéns muito bem explicado.

    a unica coisa que não consegui fazer é colocar o “Squid Proxy Server” no menu “servers”, poderia me ajudar. eu clico em “Apply Configuration” e deposi em “Apply Changes” mas o menu não aparece no menu “Servers”.

    poderias me ajudar??

Leave a Reply

x

Check Also

Elementary OS 6 Odin Lançado – Confira as Novidades

Desenvolver um sistema operacional não é ...