Squid: Autenticação de Usuário

 Vamos apresentar como utilizar a autenticação de usuários no Squid proxy. Nessa configuração, apenas usuários autenticados podem ter acesso a navegação WEB. Squid: Autenticação de Usuário.

English version: click HERE

Lembrando que esse é nosso terceiro post sobre squid proxy.

Lista do tutorial sobre Squid e SquidGuard:

Parte 1: Squid Proxy Instalação e Configuração.

Parte 2: Squid Proxy: Filtrar clientes por IP e MAC

Parte 3: Squid: Autenticação de Usuário

Parte 4: SquidGuard : Instalação e Configuração

Parte 5: SquidGuard : como importar blocklist ?

Dessa forma, partimos do ponto que o leitor já sabe dos comandos e configurações antes apresentados. Ao final do post teremos os links para os artigos anteriores. 

1) Instalando o apache2-utils

Inicialmente, assumindo que o squid já está instalado. Vamos instalar o apache2-utils. 

sudo apt-get install apache2-utils 

ou 

sudo yum install httpd-tools 

2) Criando arquivo de usuário e senha

Vamos criar um arquivo onde manteremos dados de usuário e senha. 

sudo htpasswd -c /etc/squid/squid_password Joao 

O “-c” vai criar o arquivo e já vai introduzir o usuário Joao. No entanto, para incluir novos usuários, não será necessário incluir a opção “-c”. Dessa forma, para incluir um novo  usuário maria, podemos digitar: 

sudo htpasswd /etc/squid/squid_password maria 

Podemos verificar o arquivo de senhas criptografado: 

cat squid_password 
joao:$apr1$8jtduIhgh88PImX5o14XC2KPF1%k54v/ 

maria:$apr1$wCB778*i186c5O5KK5ZA4/7A/VI7&*/ 

3) Testando os usuários

Vamos  procurar o arquivo basic_ncsa_auth 

sudo find / basic_ncsa_auth  | grep basic_ncsa_auth 

Geralmente está em /usr/lib/squid/ ou em /usr/lib/squid3/ ou em /usr/lib64/squid/ 

Em nosso caso está em : /usr/lib/squid/basic_ncsa_auth .

Lembre-se de substituir pelo local onde está o seu  “basic_ncsa_auth”.

Agora  vamos testar os usuários e senhas. Para isso vamos digitar o comando abaixo. 

/usr/lib/squid/basic_ncsa_auth /etc/squid/squid_password

Após digitar o comando, digite o usuário e a senha 

joao joao123 

OK 

maria maria123 

OK 

O OK indica que está tudo certo com o arquivo de senhas e seus usuários. 

 4) Configurando o squid.conf 

Agora vamos introduzir a regra no squid.conf. Vamos aproveitar o arquivo de configuração usado no post : Squid Proxy Instalação e Configuração. 

acl SSL_ports port 443
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
acl CONNECT method CONNECT
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_port 3128
#----------------------------

#(1)
auth_param basic program /usr/lib/squid/basic_ncsa_auth /etc/squid/squid_password

#(2)
auth_param basic realm Proxy Simplificando Redes

#(3)
acl usersquid proxy_auth REQUIRED

#(4)
http_access allow usersquid

#----------------------------
http_access deny all

Vamos descrever as configurações de usuários

#(1) Define a localização  “basic_ncsa_auth” e do arquivo de senha+usuário que criamos. Lembre-se de verificar a localização de basic_ncsa_auth

#(2) “auth_param basic realm” demonstra a proteção proxy relatada ao cliente. Em nosso caso será “Proxy Simplificando Redes”

#(3) Criamos uma ACL usersquid que indica que requer autenticação para usuário. 

#(4) http_access allow usersquid , permitimos acesso http para os usuários autenticados da ACL usersquid.

Vamos testar no Cliente

Configuração do navegador do cliente
scenario
Topologia usada

Squid Proxy Instalação e Configuração.

Squid Proxy: Filtrar clientes por IP e MAC

SquidGuard : Instalação e Configuração

Juliana Mascarenhas

Data Scientist and Master in Computer Modeling by LNCC.
Computer Engineer