SqStat com Squid 3.3.6 monitorando usuários

Publicado por krum em 20/09/2013

[ Hits: 17.627 ]

 


SqStat com Squid 3.3.6 monitorando usuários



Para funcionar o SqStat, tem que estar dentro do seu Apache ou outro Web Server de sua preferência, para poder ser acessado via WEB e ver os acessos em tempo real.

Para implementar o SqStat nas versões novas (3+) do Squid, tem que ser aplicado um patch. Vamos fazer o download do SqStat, primeiro:

# wget http://ufpr.dl.sourceforge.net/project/sqstat/sqstat/sqstat-1.20/sqstat-1.20.tar.gz
# tar -zxvf sqstat-1.20.tar.gz

Entre no diretório descompactado:

# cd sqstat-1.20

Dentro do diretório do SqStat, vamos fazer download do patch:

# wget http://kidun.ru/files/sqstat_squid32.patch

Agora, aplique o patch:

# patch sqstat.class.php sqstat_squid32.patch

Renomeie o arquivo config.inc.php.defaults para config.inc.php:

# mv config.inc.php.defaults config.inc.php

Edite o arquivo config.inc.php. Deixe da maneira que vai estar abaixo, de acordo com suas configurações:

# vi config.inc.php

<?php
/* global settings */

$use_js=true; // use javascript for the HTML toolkits

// Maximum URL length to display in URI table column

DEFINE("SQSTAT_SHOWLEN",60);


/* proxy settings */

/* Squid proxy server ip address or host name */
$squidhost[0]="192.168.0.1";
/* Squid proxy server port */
$squidport[0]=3128;
/* cachemgr_passwd in squid.conf. Leave blank to disable authorisation */
$cachemgr_passwd[0]="";
/* Resolve user IP addresses or print them as numbers only [true|false] */
$resolveip[0]=false;
/* uncomment next line if you want to use hosts-like file.
   See hosts.txt.dist. */
// $hosts_file[0]="hosts.txt"
/* Group users by hostname - "host" or by User - "username". Username work only
   with squid 2.6+ */
$group_by[0]="username";

/* you can specify more than one proxy in the configuration file, e.g.: */
// $squidhost[1]="192.168.0.2";
// $squidport[1]=3129;
// $cachemgr_passwd[1]="secret";
// $resolveip[1]=true;
// $hosts_file[1]="otherhosts.txt"


?>

Agora no squid.conf, adicione essa linha:

acl webserver src 192.168.0.1/32 # Mude para o IP do seu servidor
http_access allow manager localhost
http_access allow manager webserver
http_access deny manager

Depois disso, é só autenticar no Squid via NTLM e ver o SqStat monitorar em tempo real os acessos dos usuários.

Outras dicas deste autor

Como descobrir seu IP externo com cURL

Atualizando microcódigo de processadores AMD

Corrigir Heartbleed OpenSSL no Slackware

Redimensionar imagens VDI (VirtualBox) no GNU/Linux

Shellshock (Slackware): Falha de segurança grave no bash [Resolvido]

Leitura recomendada

Testando um servidor web usando o telnet (Apache, HTTPd, IIS e outros)

Instalando o FrostWire no Slackware 12 da maneira mais fácil!

Obtendo mais conhecimento através de listas de discussão

Firefox 2.0.0.3 + Flash 9

IRC via telnet

  

Comentários
[1] Comentário enviado por stringuetta em 10/01/2014 - 12:10h

krum, da uma olhada nesse link http://www.vivaolinux.com.br/topico/Redes/Problema-com-Sqstat

Conhece alguma solução ? Segui seu tutorial porém não obtive êxito. Grato

[2] Comentário enviado por PatrickPfP em 08/05/2014 - 10:26h

Bom Dia.

Para mim da o seguinte erro:

SqStat error
Error (1): Cannot get data. Server answered: HTTP/1.0 403 Forbidden


Teria alguma ideia?

[3] Comentário enviado por krum em 15/05/2014 - 15:25h

PatrickPfp, como está a sua configuração do config.inc.php ? e do squid.conf ?

Apache instalado e funcionando com php ? permissões corretas ?

[4] Comentário enviado por PatrickPfP em 19/05/2014 - 14:05h

No httpd.conf eu inclui essa linha:

Include /etc/httpd/mod_php.conf


No squid.conf coloquei essa linhas:

acl manager proto cache_object
acl webserver src 192.168.50.40
http_access allow manager webserver
http_access deny manager


No config.inc.php

<?php
/* global settings */

$use_js=true; // use javascript for the HTML toolkits

// Maximum URL length to display in URI table column
DEFINE("SQSTAT_SHOWLEN",60);


/* proxy settings */

/* Squid proxy server ip address or host name */
$squidhost[0]="192.168.50.40";
/* Squid proxy server port */
$squidport[0]=3128;
/* cachemgr_passwd in squid.conf. Leave blank to disable authorisation */
$cachemgr_passwd[0]="";
/* Resolve user IP addresses or print them as numbers only [true|false] */
$resolveip[0]=true;
/* uncomment next line if you want to use hosts-like file.
See hosts.txt.dist. */
//$hosts_file[0]="hosts.txt"
/* Group users by hostname - "host" or by User - "username". Username work only
with squid 2.6+ */
$group_by[0]="username";

/* you can specify more than one proxy in the configuration file, e.g.: */
// $squidhost[1]="192.168.0.2";
// $squidport[1]=3129;
// $cachemgr_passwd[1]="secret";
// $resolveip[1]=true;
// $hosts_file[1]="otherhosts.txt"


[5] Comentário enviado por dld75 em 18/06/2014 - 19:22h

Oi,

Tenho instalado:

CentOS 6.3
Apache 2.2.15
PHP 5.3.3
Squid 3.4.4

Ao aceder a SqStat me aparece a seguinte mensagem de erro:

SqStat error
Error (110): Connection timed out

Sabes qual pode ser a causa desse erro?

[6] Comentário enviado por krum em 18/06/2014 - 20:46h

dld75 como está a sua configuração do config.inc.php do SqStat ?


Estou usando o squid 3.4.4 com SMP e está tudo ok.

[7] Comentário enviado por socratesaugusto em 02/07/2014 - 16:46h

SqStat error
Error (1): Cannot get data. Server answered: HTTP/1.0 407 Proxy Authentication Required

Alguém sabe como resolver?
Obrigado.

[8] Comentário enviado por krum em 02/07/2014 - 20:54h

Olá socratesaugusto esse Erro 407 é de autenticação, reveja sua regra de autenticação se tem um bypass para o servidor linux.

Essa regra deve ser acima da autenticação
Tipo:

# ACLS
acl minharede src 192.168.0.0/24
acl SSL_ports port 443 563
acl SSL_ports port 873
acl Safe_ports port 80 # http
acl Safe_ports port 8080 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 563 # HTTPS
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
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 873 # rsync
acl Safe_ports port 901 # SWAT
acl CONNECT method CONNECT

# Grupo que o usuario que roda o SQUID (squid) faz parte
cache_effective_group squid
cache_effective_user squid

####SQSTAT#######################
acl webserver src 192.168.0.1/32
http_access allow manager localhost
http_access allow manager webserver
http_access deny manager

#Libera acesso ao webserver local sem autenticação para deny_info do squid
acl servidor dst 192.168.0.1
no_cache deny servidor
http_access allow servidor

#####################
####AUTENTICACAO#####
auth_param basic program /usr/libexec/squid/basic_ncsa_auth /etc/squid/user
auth_param basic realm "Teste: "
auth_param basic children 20 startup=5 idle=2
auth_param basic casesensitive off
auth_param basic credentialsttl 8 hours
authenticate_ttl 8 hour
acl password proxy_auth REQUIRED




Contribuir com comentário