Squid e MYSQL funcionam?

1. Squid e MYSQL funcionam?

michel adriano medeiros
blackzig

(usa openSUSE)

Enviado em 02/10/2012 - 15:27h

Olá,

Estou tentando fazer autenticação de proxy usando banco de dados mysql.

Vi vários exemplos na internet mas não consegui fazer funcionar.

Vou colocar aqui o squid.conf para quem tiver alguma ideia me dizer o que pode estar acontecendo.

Segui este tutorial http://vivaolinux.com.br/artigo/Autenticando-usuarios-do-Squid-em-um-banco-de-dados-MYSQL?pagina=2 mas também não deu certo.

Fiz todos os passos mas quando dou o comando ps aux | grep mysqlt_auth que é o último passo não aparece nada.

http_port 3128
visible_hostname proxy_cpd

#cache memória RAM
cache_mem 700 MB

#Tamanho máximo de arquivos locados na memória ram
maximum_object_size_in_memory 1 MB

#Tamanho máximo de arquivos locados na memória ram HD
maximum_object_size 1000 MB
minimum_object_size 0 KB

#Descarte de arquivos da memória ram
cache_swap_low 90
cache_swap_high 95

#Local que será guardados arquivos em cache e tamanho máximos locados
cache_dir ufs /var/spool/squid 10000 16 256

#Local de arquivos de acesso de usuários (Sarg usa este arquivo)
cache_access_log /var/log/squid/access.log

#Refresh de páginas de cache
#http://www.hardware.com.br/livros/servidores-linux/configurando-cache-paginas-arquivos.html

refresh_pattern ^ftp: 15 20% 2280
refresh_pattern ^gopher: 15 0% 2280
refresh_pattern . 15 20% 2280

#Para bloquear sites
acl sitesbloqueados url_regex -i "/etc/squid/dominiosbloqueados"
http_access deny sitesbloqueados

acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl SSL_ports port 443 563
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 563 # https, snews
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl Safe_ports port 901 # swat
acl Safe_ports port 1025-65535 # portas altas
acl purge method PURGE
acl CONNECT method CONNECT


#
http_access allow manager localhost
http_access deny manager
http_access allow purge localhost
http_access deny purge
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports


#Autenticação de usuários
auth_param basic realm Squid
auth_param basic program /usr/lib/squid/mysqlt_auth.log
acl usuarios proxy_auth /etc/squid/usuarios.log
acl usuarios proxy_auth REQUIRED
#auth_param basic program /usr/sbin/ncsa_auth /etc/squid/squid_passwd
acl autenticados proxy_auth REQUIRED
acl autenticados proxy_auth REQUIRED
http_access allow autenticados
http_access deny all
acl redelocal src 192.168.0.0/24
http_access allow localhost
http_access allow redelocal


Tem este script também que peguei no tutorial, só não sei como a variável $nome e $senha recebe estes valores.

arquivo mysqlt_auth.log


#!/usr/bin/php
<?
$link = mysqli_connect("localhost", "root", "cpd");

if (!$link) {
printf("Erro ao Conectar com o Banco de Dados: %s\n", mysqli_connect_error());
die();
}

$selectdb = mysqli_select_db($link, "SQUID");

if (!$selectdb) {
printf("Erro ao Abrir o Banco de Dados: %s\n", mysqli_error($link));
die();
}

while ( fscanf(STDIN, "%s %s", $nome, $senha) ) {
printf("nome ",$nome);
$select = "SELECT nome, senha FROM usuarios WHERE nome = '".$nome."' AND status = 1";
$Query = mysqli_query($link, $select);
$nrRegistros = mysqli_num_rows($Query);
$erro = true;

while ( $Registro = mysqli_fetch_array($Query) ) {
$erro = false;

if ( crypt($senha, $Registro[senha]) == $Registro[senha] ) printf("OK\n");
else printf("ERR\n");
}
if ($erro) printf("ERR\n");
}
?>

É isso.


  






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts