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 é
$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";
}
}
}
?>
$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