quarta-feira, 29 de dezembro de 2010

Como autenticar o squid no LDAP

Olá pessoal,

Ai vai uma dica interessante pra quem quiser autenticar o Squid no LDAP, inclusive Active Directory, sem ter que colocar a máquina Linux no domínio e usar aquele winbind chato.


Crie um script em PHP chamado, por exemplo /etc/squid/authldap.php e marque ele como executável com chmod 755 /etc/squid/authldap.php.

Segue o conteudo:

#!/usr/bin/php

$ldaphost="192.168.0.1";
$ldapport="389";

$ldapconn = ldap_connect($ldaphost, $ldapport)
           or die("Could not connect to $ldaphost");


if ($ldapconn) {

        # Loop infito - cada requisicao do proxy é 
        while(!feof(STDIN)){

                $ldapbind = false;
                # toma a linha e separa usuario e senha
                $line = trim(fgets(STDIN));
                list($user,$pass) = split(" ",$line);
       
                 // binding to ldap server
                $ldapbind = ldap_bind($ldapconn, $user."@seudominiodoad.com.br", $pass);
                #
                # Se ele nao existir, ja retorna ERR
                if($ldapbind){
                        echo "OK\n";
                }
                else{
                        echo "ERR\n";
                }
        }
      }      
?>








No squid.conf utilze o script acima para autenticar:

Adicione as linhas abaixo,

auth_param basic realm   Entre com seu login e senha da rede
auth_param basic program /etc/squid/authldap.php
acl password proxy_auth REQUIRED


Altera a linha correspodente, mais no fim do squid.conf, como se segue. Nao deixe outros "http_access" com o nome da sua rede sobreporem a regra de uso de senha.

http_access allow password


Qualquer dúvida entrem em contato!

Nenhum comentário:

Postar um comentário

Nota Importante

O conteúdo deste blog foi desenvolvido por mim e não foi copiado de outros locais, embora alguns poucos tópicos tenham sínteses e adaptações de outras fontes, que neste caso, serão referenciadas para se dar o devido crédito.
A reprodução é permitida desde que citada a fonte e para fins não comerciais. É proibido o uso para fins comercias sem a expressa autorização do autor.
Embora o conteúdo aqui apresentado seja testado pelo autor e/ou passado por sua aprovação, não é oferecida nenhuma garantia de que tudo funcionará corretamente ou não irá danificar os sistemas envolvidos, pois o sucesso dependerá do ambiente e/ou conhecimento do leitor.
Ao utilizar este blog, para qualquer fim, o leitor concorda com estes termos e isenta o autor de qualquer responsabilidade, ficando o uso do conhecimento aqui apresentado por sua conta e risco.
Caso discorde destes termos, gentileza fechar esta página imediatamente.

Copyright Jonathan Araújo 2010