Usuarios Online

Nós temos 3 visitantes online



Squid autenticando em OpenLDAP + Debian 5.0 (Lenny) PDF Imprimir E-mail
Escrito por Ali Abou Abbas   

Bom dia, pessoal vejam que tutorial muito interessante que nosso amigo Ali desenvolveu!

Hoje mais que nunca as empresas contam com vários sistemas separados, ERP, CRM, Apoio logístico e toda a parafernália de sistemas legados da Tecnologia da Informação. Aqueles utilizados para controlar esse acesso, imaginem se cada sistema possuir uma senha que maravilha, precisará de um banco de dados apenas para lembrar-se de seus acessos.

Pensando nestes problemas, a maioria dos administradores de redes estão apoiando a centralização, para que o usuário tenha apenas um nome e uma senha para todos os serviços. Imagina quando você trocar à senha de sua estação de trabalho as senhas do e-mail, do acesso a internet, do sistema de gestão, do CRM e do ERP fossem alteradas?

Então, esse tutorial escrito por Ali Abou Abbas está explicando um servidor Proxy de acesso à internet com regras e centralização da autenticação, não é tão simples como podemos perceber, mas é muito pratico depois de funcional, será abordado a configuração do Squid e a integração ao sistema OpenLDAP (Lightweight Directory Access Protocol).

Definição de servidor Proxy:

Em ciência da computação, proxy é um servidor que atende a requisições repassando os dados do cliente a frente. Um usuário (cliente) conecta-se a um servidor proxy, requisitando algum serviço, como um arquivo, conexão, website, ou outro recurso disponível em outro servidor.

Abaixo um exemplo de rede com um servidor Proxy autenticando em um Servidor de diretório:

Exemplo de estrutura
Exemplo de estrutura

Aproveitando para quem não conhece o OpenLDAP, é um software que implementa a o protocolo LDAP, é independente de sistema operacional (RFC 1487 - http://www.ietf.org/rfc/rfc1487.txt?number=1777)

Sistema operacional e estrutura.

A instalação do Squid no sistema operacional Debian 5.0 (Lenny) , servidor OpenLDAP configurado e funcional, também consideramos que a maquina está com a rede configurada e com acesso a internet.

Verificando o seu source list:

# cat /etc/apt/sources.list

deb http://security.debian.org/ lenny/updates main
deb http://ftp.debian.org/debian lenny main contrib non-free

Repare se o resultado do comando cat foi o mesmo do nosso se não por favor, atualize o arquivo editando o mesmo pelo VIM.

# vim /etc/apt/sources.list

Deixe com este conteúdo:

7dd2e6dd734764d9f74178e07c318ea0

Salve e saia do VIM com  :wq!

Depois de configurado vamos atualizar o banco de softwares do repositório e atualizar o sistema.

# apt-get update

# apt-get upgrade

Pronto, sistema atualizado, agora vamos começar instalando os módulos podermos compilar  para compilar o Squid e instale o vim também (se quiser) para facilitar sua vida. Quando citamos que será para facilitar a sua vida é porque oVIM, diferente do VI trás contigo algumas bibliotecas (Libs) que permitem a visualização do texto identificado por cores.

Instalando as dependências:

# apt-get install gcc g++ make vim -y

Acima o parâmetro –y no final é para não solicitar a confirmação de instalação.

No próximo passo  baixe o squid, eu nesta instalação usei a versão mais nova no momento que é a squid-3.0.STABLE17, mas você pode verificar no site alguma versão mais nova e testar, é importante ressaltar que a versão a ser testada precisa ser a estável, não utilize nenhum sistema ainda em beta ou alpha em sua produção.

Baixando o squid:

# wget http://www.squid-cache.org/Versions/v3/3.0/squid-3.0.STABLE17.tar.gz

Iremos mover o tar.gz para o diretorio "/opt" e lá compilar, se os compiladores foram instalados corretamente os próximos passos irão rodar sem problemas, siga os passos abaixo, não tem como errar!

# mv squid-3.0.STABLE17.tar.gz /opt

# cd /opt

# tar -zxvf squid-3.0.STABLE17.tar.gz

# cd squid-3.0.STABLE17

# ./configure --prefix=/usr/local --sysconfdir=/etc/squid --localstatedir=/var/log/squid/ --libexecdir=/usr/local/squid/libexec --mandir=/usr/share/man

# make all

# make install

Verifique se nenhum erro ocorreu.

squid foi instalado no sistema, mas como havíamos apresentado acima, iremos integrar o OpenLDAP para a autenticação, para isso os próximos passos irão ensinar como habilitar esse módulo.

Antes de tudo, novamente iremos resolver as dependencias instalando o Libldap2-Dev:

# apt-get install libldap2-dev –y

Nos proximos passos solicito a atenção especial, pois iremos compilar os modulos do squid que irão fazer a autenticação no diretório LDAP, abaixo o de usuarios.

# cd /opt/squid-3.0.STABLE17/helpers/basic_auth/LDAP

# make

# cp squid_ldap_auth /usr/local/squid/libexec/

Agora o modulo de autenticação de grupos da base LDAP;

# cd /opt/squid-source/helpers/external_acl/ldap_group

# make

# cp squid_ldap_group /usr/local/squid/libexec/

Ok, o squid está completamente instalado, antes de tentar iniciar temos que fazer algumas configurações para atender a necessidade inicial.

Vamos começar criando os diretórios de SWAP, desta forma;

# mkdir -p /var/spool/squid

# chown proxy.proxy /var/spool/squid

# squid –z

Criando os arquivos de log necessários ao squid:

# touch /vat/log/squid/access.log

# touch /vat/log/squid/logs/cache.log

# touch /vat/log/squid/logs/store.log

Agora vamos aplicar as permissões nos arquivos para o usuário especificado no squid.conf, arquivo que iremos citar mais tarde, mas é localizado em /etc/squid/squid.conf

# chown proxy.proxy /vat/log/squid/access.log

# chown proxy.proxy /vat/log/squid/logs/cache.log

# chown proxy.proxy /vat/log/squid/logs/store.log

Depois de todas as parametrizações referentes as permissões  vamos editar o arquivo principal de configuração do squid:

# vim /etc/squid/squid.conf

Abaixo o conteúdo do arquivo, está indicado de negrito as configurações mais importantes, assim como comentários de suas funções:

Diferente do resto do documento, onde utilizamos # dentro deste arquivo são comentários, não tem nenhuma função de configuração e poderão ser excluídos, mesmo não indicando esta pratica.

6bd31a581df792c42f8b2d426e269536

Pronto, salve e feche o arquivo (utilize o :wq!)

Vamos iniciar o squid com o comando abaixo, o -d5 é o modo mais verboso (modo que apresenta informações na tela para melhor identificação de problemas).

# squid -d5

Depois de alguma modificação, reinicie o Squid desta forma, para que não derrube os usuários conectados.

# squid -k reconfigure

E é isto, qualquer problema na configuração poste nos comentários que eu e todos da equipe tentaremos resolver, mas siga os passos numa instalação limpa que não terá problemas!

Algumas dicas para melhorar a administração

Instale o Webmin, no modulo SQUID do Webmin existe uma boa interface de configuração, por exemplo, criação acl, gerenciamento de usuários e etc.

Se quiser personalizar os erros do Squid entre neste diretório, lá estão todas as mensagens de erros que ocorrem no Squid é só editar.

# /usr/local/share/errors/Portuguese

Instale o LAM (Ldap Account Manager), é uma excelente ferramenta Web para administrar o OpenLDAP. Irei abordar as funções dela em outro tutorial.

Ali Abou Abbas

Comentários (3)
  • wilbert_carpi@hotmail.com  - Problemas no passo a passo.. Obrigado!!
    Corrigir no trecho a seguir

    ***********************************************
    ...
    # cd /opt/squid-3.0.STABLE17/helpers/basic_auth/LDAP

    # make

    # cp squid_ldap_auth /usr/local/squid/libexec/

    Agora o modulo de autenticação de grupos da base LDAP;

    >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

    # cd /opt/squid-source/helpers/external_acl/ldap_group

    >>>> AQUI seria /opt/squid-3.0.STABLE17/helpers/external_acl/ldap_group

    >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

    # make

    # cp squid_ldap_group /usr/local/squid/libexec/

    ...

    ***********************************************

    Após "squid -z" ocorre erro na identificação VISIBLE_HOSTNAME
    Após solicitar edição de SQUID.CONF só aparece "" .. Cadê o fonte? (Eu não visualizo)

    Obrigado!!!
  • wilbert_carpi@hotmail.com  - Problemas no passo a passo.. Obrigado!!

    Após "squid -z" ocorre erro na identificação VISIBLE_HOSTNAME
    Após solicitar edição de SQUID.CONF só aparece "" .. Cadê o fonte? (Eu não visualizo)

    Obrigado!!!
  • abbas  - Fonte
    Cara, está faltando um módulo no sistema do site, esta impedindo que ele apareça, eu vou postar os fontes direto aqui, sem formatação!
Somente usuários registrados podem comentar!

!joomlacomment 4.0 Copyright (C) 2009 Compojoom.com . All rights reserved."

 

Busca





Distribuicao

JoomlaWatch Stats 1.2.9 by Matej Koval