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.