Tema LinuxBSD Ver. 0.2 lnx
 http://www.linuxbsd.com.br 

  


  

  

Autenticação no Squid em 6 passos

Enviado por DarkWarrior em Qua, 2007-01-17 09:54.

Autor: Andrei Drusian
eMail: drusian[NOSPAM]linuxbsd.com.br
Data: 2002

Um cliente proxy se coloca entre o servidor e o cliente de rede, gerenciando o trafego de informações entre ambos. Seu uso mais frequente em redes seria quando os computadores de rede não tem acesso direto à internet, mas podem contar com um servidor de comunicação que tem este acesso. Neste caso, uma das soluções possiveis é a instalação de um Servidor Proxy no computador, que dá acesso à internet, para servir de intermediário entre os navegadores instalados junto a rede e os servidores web da internet.

O Squid é um dos softwares mais utilizados como servidor proxy
de web e FTP para o sistema operacional Linux. O software é
incluido na maior parte das distribuições Linux, e você também
pode procurar versões mais atualizadas no site oficial
http://www.squid-cache.org/ , juntamente com uma excelente
documentação.

Passos para configuração do Squid
É muito importante que os usuários internos naveguem na internet,
e ao mesmo tempo é interessante que o acesso seja controlado, ou seja,
tenha que passar por uma deteminada autenticação. Essa autenticação
é designada por "usuário e senha", onde o mesmo serrá definido no
Servidor Linux que contém o Squid instalado.

Neste tutorial, usamos o Squid-2.3STABLE4-10, mas nada impede
que seja versões anteriores, ou posteriores.
Obs.: O Squid já tem que ter sido configurado para fazer cache de
páginas simples.

Passo 1
Editar o script de configuração do Squid:
# vi /etc/squid/squid.conf

Passo 2
Procurar as seguintes linhas:
# authenticate_program /urs/bin/ncsa_auth /usr/
etc/passwd#
# authenticate_program
none

As linhas estão comentadas, deve-se descomentar a linha e fazer
com que ela fique da seguinte maneira:

authenticate_program /urs/bin/ncsa_auth /etc/
squid/passwd

Está linha indica, quem vai ser o responsável por chamar a autenticação
(ncsa_auth) e qual vai ser o arquivo que vai conter os usuáriso e as
senhas (/etc/squid/passwd).
O comando ncsa_auth, não existe no diretório que foi mostrado, devemos
localiza-lo agora com o comando:
# locate ncsa_auth
meu resultado foi:
/usr/lib/squid/ncsa_auth
pode-se utilizar também o comando:
find / -name squid_auth
Lembrando que a localização deste arquivo pode ser diferente, dependendo
de sua distribuição Linux.
Devemos copiar este arquivo para /usr/bin com o comando:
# cp /usr/lib/squid/ncsa_auth /usr/bin

Passo 3

Definir qual a ACL (Access Control List), que vai ser responsável
pelo controle de autenticação, como no exemplo abaixo:

# acl password proxy_auth REQUIRED

Deve se descomentar está linha e fazer com que ela fique da seguinte maneira:

acl password proxy_auth
"/etc/squid/usuarios"

Está linha é responsavel por indicar qual vai ser o arquivo de usuários, que vai conter
as senhas, foi criada por um ACL, cujo o tipo é "proxy_auth".
Agora devemos criar este arquivo, e dentro dele colocar os usuários que vão ter
autenticação.

# vi /etc/squid/usuarios
drusian
fabiano
linus

Passo 4

Habilitar o uso da ACL criada, fazendo assim com que todos que passem pelo Squid,
e quem estiver no arquivo de usuários, utilizem para acesso, um "usuário e senha"
adicionando a linha abaixo:

http_access allow password
http_access deny all

Está linha indica que eu aceito o password (http_acces allow password) e nego todo
outro tipo de acesso (http_access deny all).

Passo 5

Após definido tudo isso temos que criar os usuários e as senhas, este iten se refere
ao arquivo que tem que existir no /etc/squid/passwd , um detalhe importante é que
ele não pode ser criado por um editor de textos, mas sim com o comando: htpasswd,
como no exemplo:

htpasswd -c /etc/squid/passwd linus
passwd linus
New password:
Re-type new password:
Adding password for user linus

Nota-se que este comando cria o arquivo /etc/squid/passwd mediante ao parametro "-c"
com o usuário linus e com a senha que desejar.
Se for preciso criar mais de um usuário a opção "-c" deve ser retirado como no exemplo:

htpasswd /etc/squid/passwd drusian
passwd drusian
New password:
Re-type new password:
Adding password for user drusian

Passo 6

Pronto está tudo preparado, só falta colocar para funcionar. Este passo tem a finalidade
de reler o script de configuração do Squid, e ativar as mudanças, para isso existe duas
maneira de fazer:

# /etc/init.d/squid restart
ou
# squid -k reconfigure

OBS: não esqueça de configurar o Browser para apontar para o Squid

»