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.
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.
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.
Se entrar no servidor poderá ver que criou mesmo.
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?
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.
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.
Pronto, aqui você poderá mudar o número da porta.
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.
Zerando o Cache
Com esta opção ele apagará o cache e começará de novo a partir dos novos acessos.
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.
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.
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
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”.
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.
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.
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.
4 – Agora observe que sua regra está criada e basta posicionar sua regra conforme eu expliquei antes.
Agora 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”.
Na próxima página defina o range de IP ao qual a regra se aplicará, e depois Salve.
2 – Agora, vá até a aba Proxy Restrictions e então em “Add proxy restriction”
3 – Agora se você quiser liberar o acesso, escolha “Allow” a fim de bloquear este range de IPs. Então clique em “Save”.
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.
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.
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á.
* Repare que as regras de acesso (http_access) usando as acls, foram criadas.
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
2 – Criando os bloqueios – Proxy Restrictions
http_access deny fb accountant
http_access deny fb CONNECT fb accountant
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í.
Novamente testando, apenas para garantir:
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.
Cara, está muito bem explicado e também didático.
E o bom é que está atualizado!
Show de bola!
Obrigado Wagner! Que bom que gostou!
Boa noite tenho acompanhado seus post e tem me ajudado muito!!!
Consegui resolver o problema da configuração utilizando o webmin obrigado!!
Opa, valeu Yuri, que bom que conseguiu!
Abraço!
Olá, cleuberadmin
Para que o serviço funcione este servidor tambem deve ser um servidor dhcp e dns?
Não precisa não.
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!
Opa Rodrigo, obrigado!
Sim é possível fazer múltiplos acesso pelo Webmin.
Abraço!
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??