Compilando e configurando Squid
- Dependências de compilação
- Download do source Squid proxy
- Descompactando
- Entrando na pasta para configuração, compilação e instalação
- Configurando a instalação do Squid Proxy
- Compilando Squid Proxy
- Instalando Squid Proxy
- Permissões para o usuário padrão do Squid
- Criando uma lista de bloqueio
- Configurando o Squid Proxy (arquivo squid.conf)
- Criando cache, executando e parando o Squid Proxy
- Redirecionado a porta 80 para a porta 3128 do Squid Proxy
Quer aprender Proxy Squid? Essa postagem irá te dar uma noção de como configurar o Squid em modo Intercept e bloquear palavras e urls através do mesmo em uma navegação web.
Nota: A partir da versão 3.1 do Squid Proxy, a palavra
transparent
onde é adotada para redirecionar todas requisições da porta 80 para a porta (3128) do Squid, e assim forçando os usuários a utilizarem o proxy, ficou obsoleto, deve-se substituir por intercept.
Sistema Operacional usado nesse artigo: Ubuntu 14.04 LTS
Se você tem uma rede de computadores ou até mesmo apenas uma maquina onde gostaria de gerenciar o acesso de conteúdo acessado pelo navegador, esta no artigo certo.
Existem programas que lhe permite fazer esse gerenciamento, mais a grande maioria são versões pagas, é nesse momento que você pensa em fazer pesquisas repetidas na web a procura de uma solução gratuita, prática e profissional. E nesse meio de pesquisas se você não encontrar o Squid Proxy, lhe aconselho a mudar para Marte (hehehe).
Squid Proxy é um servidor proxy bastante conhecido especialmente para sistema GNU/Linux, e será esse camarada que vamos (se me acompanhar até o final desse artigo) instalar e configurar de uma maneira onde realize o gerenciamento via HTTP com Transparent Intercept, onde o usuário não conseguirá “driblar” o proxy.
Vamos la, primeiramente temos que instalar os pacotes que o Squid Proxy necessita para sua compilação.
-
Dependências de compilação
Executar comando como root (superusuário)
Após a instalação, realizaremos o download do source do Squid proxy, no site oficial do mesmo, porem a versão que você terá que baixar tem que ser suportada pela versão de sua distribuição Linux, ou seja, não pode ser versão muita antiga (se sua distro for atual) e nem um muito nova (se sua distro for antiga). Comparando com a versão do meu Ubuntu, vou utilizar a versão 3.3.8, então fazemos o seguinte procedimento:
-
Download do source Squid proxy
Executar comando como root (superusuário)
-
Descompactando
Executar comando como root (superusuário)
-
Entrando na pasta para configuração, compilação e instalação
Executar comando como root (superusuário)
-
Configurando a instalação do Squid Proxy
Executar comando como root (superusuário)
Nota: Você simplesmente pode configurar o Squid Proxy com o comando ./configure, porem a instalação sera realizada no diretório padrão do Squid. Com essas configurações acima, estamos mantendo uma estrutura de organização de instalação melhor para o Squid Proxy. Também estou usando o –enable-ssl e o –enable-ssl-crtd, onde dará suporte para SSL (HTTPS), caso queira utilizar o Squid com SSL futuramente. O que não vou fazer nesse artigo. Lembre-se: Em alguma distro, a variável –with-default-user pode ser squid ou proxy, ai depende de sua distro Linux.
Se não tiver nenhuma mensagem relatando erro no final da configuração, pode realizar a compilação do Squid Proxy. A compilação demora em torno de 7 a 10 minutos, porem isso é relevante, dependerá da potência de sua máquina. A minha demorou em torno de 7 minutos com um processador Intel Core i3 segunda geração :)
-
Compilando Squid Proxy
Executar comando como root (superusuário)
-
Instalando Squid Proxy
Executar comando como root (superusuário)
-
Permissões para o usuário padrão do Squid
Por padrão, nessa instalação, usamos o usuário proxy, que é o usuário responsável pelos diretórios de instalação de cache, log e execução do Squid, porem ainda NÃO foi realizado essa permissão para esse usuário, para isso faça:
Executar comando como root (superusuário)
Lembrete: Que o usuário padrão do Squid somente é proxy por que nas configurações de instalação do Squid, na variável –with-default-user, à coloquei como proxy, porem isso é relevante, em algumas distribuições, o usuário de execução do Squid pode ser outro, como o usuário squid.
-
Criando uma lista de bloqueio
Uma lista de bloqueio será especificamente para o Squid fazer a leitura da mesma e bloquear (ou liberar, dependendo das configurações) os respectivos sites ou palavras que se encontra na lista.
Vamos cria-la no diretório /etc/squid
com o nome de blacklist e coloque no seu conteúdo as palavras ou sites (sem o http), que queira bloquear, por exemplo assim:
Arquivo: /etc/squid/blacklist
IMPORTANTE! Você não conseguirá bloquear sites que usam https, como por exemplo o Facebook, pois essas configurações não suporta SSL. Se você quiser bloquear sites com HTTPS, terá que se submeter a configurações diferentes a essas no Squid, gerando chaves SSL e importando para o navegador.
-
Configurando o Squid Proxy (arquivo squid.conf)
Depois da instalação e demais, tem que realizar algumas configurações no arquivo responsável pela execução e monitoramento do Squid, que será no arquivo squid.conf. Utilizaremos uma configuração no arquivo squid.conf para rodar nosso Squid com opção de `transparent`intercept
.
Com as configurações de instalação que foi feito no Squid, o arquivo squid. conf se encontra no diretório:
/etc/squid/squid.conf
, abra-o com um editor de sua preferência (usei o vim).
Arquivo: /etc/squid/squid.conf
Algumas observações no arquivo squid.conf
:
- 1 - Observe as acls localnet. Essas ACLs são de sua rede local, se você usa DHCP em sua rede, provavelmente um desses IP será da sua rede local, agora se você usa um IP Estático, você deve obter a rede local dele. A rede local sempre termina com o 0(zero) no final.
- 2 - As linhas:
- acl acl_blacklist url_regex -i “/etc/squid/blacklist”
- http_access deny acl_blacklist ..devem existir caso você já criou sua lista de bloqueio. Saiba que a palavra deny, é responsável por bloqueio e a palava allow, responsável por permissão.
- 3 - Na linha http_port 3128 intercept terá que ter a palavra intercept (dependendo da versão do seu Squid).
-
Criando cache, executando e parando o Squid Proxy
Precisamos criar o cache do Squid Proxy, faça no terminal:
Executar o comando como root (superusuário)
Caso não ocorreu nenhuma mensagem de erro(ERROR) ou alerta (WARNING), o cache do Squid já está criado.
Nosso Squid praticamente está funcional, pois, basta ativa-lo. Para isso, façamos o seguinte no terminal:
Nota: Toda vez que alterar o arquivo squid.conf ou suas listas de bloqueio e permissão, rode o comando …
… para reativas as novas configurações feitas. Caso queira parar o Squid, use o comando:
-
Redirecionado a porta 80 para a porta 3128 do Squid Proxy
Para o Squid funcionar com a opção `transparent`intercept
, precisamos redirecionar a porta de acesso a internet, que é porta 80, para a porta padrão do Squid, que é a porta 3128. Isso pode ser feito com o IPTables, que por padrão vem na maioria das distro Linux.
O IPTables fornece ao sistema operacional Linux as funções de firewall, pois o mesmo é uma ferramenta para criar e administrar regras e assim filtrar pacotes de redes.
Sugiro que leia a documentação do IPaTbles ( pode-se encontrar aqui ) para ter uma noção de seu funcionamento.
Vamos fazer o redirecionamento das portas com as duas linhas abaixo:
Sendo que eth0 deve ser a interface da placa de rede no qual irá redirecionar a porta. Caso sua placa de rede que tem o acesso a internet seja diferente dessa, troque-a. Para saber, digite no terminal: ifconfig
.
Caso queira que o Squid entre em vigor na maquina servidor, execute as seguintes linhas no terminal para o IPTables:
Nessa ordem, pois o IPTables lê de cima para baixo
OBS: Na primeira linha, no parâmetro –uid-owner, 13 é o UID do usuário proxy que é o usuário de execução do Squid.
Com essas configurações, todo acesso a internet através do navegador será monitoriado pelo Squid. Lembre-se que esse artigo é apenas uma base de que você pode fazer com o servidor de proxy Squid.
Vou me despedindo aqui pessoal, espero que essa leitura foi útil para seu conhecimento. Até a próxima.
- jektify © 2024