segunda-feira, 4 de novembro de 2013

#INSTALANDO E CONFIGURANDO O PROXY - SQUID

Olá pessoal,

Neste post mostro como podemos criar um proxy com autenticação de usuários para uma pequena rede de computadores, onde poderemos filtrar os acessos a internet, bem como, centralizar e monitorar todos os dados que são acessados na Web.

A final o que é e para que serve um proxy de rede?


  • Compartilhar a conexão;
  • Impor restrições de acesso por: horário, IP, usuários;
  • Funcionar como um cache de arquivos Web;
  • Armazenar todos os acessos a páginas da Web;
  • Permitir a autenticação de usuários;
  • Software aberto.
1º Passo: Instalação
Vamos utilizar para o exemplo, o SQUID, que roda muito bem com qualquer distribuição derivada do Debian e também outras distribuições Linux. Eu já configurei o Squid no Ubuntu e no Debian sem problemas e com muita facilidade.

#apt-get update
#apt-get install squid



2º Passo: Processo de Configuração

Mover o arquivo de configuração original do Squid para mante-lo intacto, caso seja necessário realizar alguma consulta para sanar dúvidas posteriores.
 
#mv /etc/squid/squid.conf /home

Utilizando um editor de textos qualquer, vamos realizar a digitação do novo "squid.conf", arquivo que contém as regras de funcionamento do servidor proxy.

#vim /etc/squid/squid.conf

Digitar as linhas abaixo:


http_port 3128
visible_hostname Server_Squid

acl all src 0.0.0.0/0.0.0.0
acl localhost src 127.0.0.0/255.255.255.255
acl redelocal src 192.168.254.0/24

auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/squid_passwd
acl autenticados proxy_auth REQUIRED

http_access allow autenticados
http_access allow localhost
http_access allow redelocal
http_access deny all


Salvar as alterações do arquivo de configuração "squid.conf" e reiniciar o serviço.

#service squid restart

Descrição da linhas:

1. http_port → porta onde o serviço está disponível;
2. visible_hostname → nome do servidor;
3. acl all src 0.0.0.0/0.0.0.0 → política que estabelece que qualquer IP possa acessar o proxy;
4. acl localhost src 127.0.0.0/255.255.255.255 → utilizada para navegar no próprio proxy;
5. acl redelocal src 192.168.1.0/24 → define a classe de IPs dos micros da rede;

3º Passo: Baixar pacotes para autenticação de usuários

Para que a autenticação dos usuários seja feita, é necessário baixar alguns pacotes e realizar alguns ajustes ao servidor proxy para que isso aconteça, é necessário de adicionar ao servidor os usuários que poderão acessar a Internet.

Baixar os pacotes necessários.

#apt-get install apache2-utils mini-httpd


Criar o arquivo responsável por armazenar os nomes de usuários com acesso ao proxy.
 

#touch /etc/squid/squid_passwd

Adicionar os usuários ao arquivo "squid_passwd", tendo em vista que no exemplo o "fabricio" representa o nome do que terá acesso ao proxy, não é necessário que ele seja usuário do sistema operacional, onde o servidor está rodando.

#htpasswd /etc/squid/squid_passwd fabricio
(informar a senha e confirmar a mesma)

Descrição da linhas:

6. auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/squid_passwd →esta linha é responśavel por efetuar a autenticação dos usuários no proxy;

7. acl autenticados proxy_auth REQUIRED →informa que todos os usuários deverão passar por um autenticação para acessarem a Internet;

acl → lista de controle de acesso

8. http_access allow autenticados →libera todos os usuários autenticados pela regra da linha 7;

9. http_access allow localhost → libera o próprio navegador do servidor para ter acesso a Internet;

10. http_access allow redelocal → libera todos os computadores que possuírem a classe de IPs definida na regra da linha número 5;

11. http_access deny all →bloqueia todos os computadores que não se encaixam nas regras do squid.

5º Passo: 

Reiniciar o serviço

#service squid restart

6º Passo: Configurando as estações clientes

6.1. Para o exemplo será utilizado o "Mozilla Firefox", bastando ir até o menu                 Ferramentas/Opções ou Editar/Preferências (dependendo da versão);
6.2. Comando Avançado/Guia Rede;
6.3. Botão "Configurar Conexão";
6.4. Na opção "Configuração manual de proxy:"
     

6.5. Na opção "HTTP:" informar o IP do servidor proxy na opção "Porta:" informar a porta que será utilizada pelo serviço, neste caso será a porta "3128". Depois clicar em "Ok" e fechar o navegador.
6.6. Abrir o Mozilla novamente e será solicitado o "Nome do usuário" e a sua "Senha" para poder abrir o site desejado.



Pronto, o seu proxy já está funcionado de forma básica, no próximo post veremos como aplicar as ALC's para definir como o proxy vai tratar os usuários e suas respectivas regras. 
Espero que tenha de alguma forma facilitado o trabalho de profissionais que utilizam Linux ou até mesmo administradores de pequenas redes de computadores.

Até o próximo.