Servidor Proxy Squid no Linux CentOS 7 com Autenticação Local

8 fev

Olá, como vai? 👋🏼

Em nosso post tutorial de hoje vamos abordar a instalação e configuração de um servidor Proxy com Squid no Linux CentOS 7. 🐧

1. Atualizando seu sistema

É importante sempre manter o sistema atualizado, então antes de iniciarmos o processo de configuração vamos efetuar a atualização.

2. Instalando o Repositório Epel

Em seguida instalamos o repositório Epel para termos uma efetividade melhor na busca de pacotes no sistema do CentOS.

3. Desativando o Selinux e o FirewallD.

Para desativar o SELinux no CentOS 7, digite:

Ajuste no arquivo de configuração do SELinux também, assim caso precise reiniciar o servidor, você não tenha que digitar novamente o comando acima.

e mude a linha abaixo:

Mude para:

O próximo passo é desativar o FirewallD.

Vamos aproveitar e dar um “stop” no serviço do FirewallD que está em execução.

4. Instale o SQUID

Para realizar a instalação do squid é muito simples. Buscamos o pacote direto dos repositórios.

5. Configurando o SQUID

Agora vamos efetuar as configurações do SQUID no ambiente Linux CentOS.

O primeiro passo a fazer é um backup do arquivo squid.conf.

Agora vamos acessar o diretório de configuração do SQUID.

Vamos excluir o arquivo “squid.conf” para que possamos criar um arquivo novo e limpo.
Só não esqueça de efetuar o backup do arquivo original conforme explicado acima.

Na sequência criamos um novo arquivo de configuração.

Você pode optar por criar o arquivo do modo mais tradicional, utilizando o comando “touch”, ou simplesmente criar um arquivo novo diretamente com o “vi/vim”.
Eu vou criar diretamente com o “vim”.

Obs.: Lembrando que estamos no diretório de configuração do squid “/etc/squid/”.

Abaixo segue o conteúdo do “squid.conf” criado por Johnny Ferreira (eu mesmo 😎).

Após salvar o arquivo (Se você utilizou o vi/vim para salvar e sair do arquivo utilize: ESC + as teclas :wq)

O próximo passo é criar um diretório para armazenar as regras, ou seja, as ACL’s do nosso squid.

Se você leu o “squid.conf” notou que temos duas ACL’s prontas na configuração.

ACL para sites bloqueados => /etc/squid/regras/sites_bloqueados 🚫
ACL para sites liberados => /etc/squid/regras/sites_liberados ✅

Vamos criar esses arquivos dentro do diretório de regras.

Vamos colocar alguns sites na lista de bloqueados.

Veja o conteúdo do arquivo:

O mesmo procedimento vamos estar efetuando para os sites_bloqueados.

Veja o conteúdo do arquivo de sites bloqueados.

Note que utilizei o formato “.site.” o ponto antes da palavra pega qualquer sub-domínio do site, e o mesmo após o domínio pega qualquer sub-página por exemplo.

Vamos ajustar a permissão na pasta “regras” para o squid.

6. Configurando a Autenticação Local

No squid teremos a autenticação local, ou seja, teremos um arquivo responsável por armazenar os logins e senhas dos usuários.

Para criar esse arquivo vamos precisar instalar o Apache2 no CentOS, vamos utilizar um complemento do Apache2 chamado “htpasswd”.

Não é necessário nem iniciar o serviço do Apache, vamos criar o arquivo de logins e senhas.

Criando os usuários com o comando “htpasswd”

Utilize o comando abaixo, somente pela primeira vez, para criar o arquivo:

O parâmetro “-c” na linha abaixo indica que o comando crie o arquivo e em seguida o usuário informado.

Para os demais usuários utilize:

Analisando o arquivo criado:

7. Iniciando o SQUID

Agora vamos criar o diretório de cache do squid.

Em seguida iniciamos o serviço do Squid.

Verificando o status no sistema:

Vamos deixar o squid configurado para iniciar junto ao boot do sistema linux.

8. Testando o funcionamento do SQUID

Para testar o servidor Squid insira o IP e porta nas configurações de proxy do navegador, não irei abordar essa configuração nesse tutorial.

Visite um site na lista de bloqueados, globo.com por exemplo, veja o resultado abaixo:

Digite o login e senha de acesso criado nos passos 6.

Acessando o site globo.com que está na lista de bloqueados.

Acompanhe os logs de acessos.

Veja nos logs que o acesso foi negado pelo SQUID, TCP_DENIED/403 no domínio na lista de proibidos.

Agora podemos acessar um site que não está na lista de bloqueados, por exemplo tidahora.com.br 😎

Lembrando que a configuração do SQUID é basicamente toda em cima de ACL, entendendo o funcionamento e a ordem de como utilizar corretamente as ACL no SQUID é possível bloquear downloads, liberar ou bloquear usuários ou endereços IPs e muito mais.

Esse tutorial tem como objetivo auxiliar profissionais que estão a iniciar sua jornada no mundo Linux com gerenciamento de serviços de redes.

Espero ter ajudado você de alguma forma, caso tenha dúvida comenta ai que estamos sempre pronto a ajudar.

Dúvidas, comentário e sugestões postem nos comentários…
👋🏼  Valeu! e até a próxima!

 


Johnny Ferreira
johnny.ferreira.santos@gmail.com
http://www.tidahora.com.br

 


 

 

Facebook Comentários