[FUG-BR] RES: RES: Squid ou produto parecido!- Cota de minutos

Robison Geraldi Garcia freebsd.br em terra.com.br
Sexta Outubro 31 17:38:54 BRST 2008


Olá td bem?
Este é mais ou menos o caminho a qual estava pensando.
Exemplo:

Faria um programa em C,Shell,Perl que leria o log do "squid" e faria o
seguinte:
	
	1- Somente os usuários que eu cadastrar no programa de controle;
	2- Pegaria o site e a hora acessada;
	3- Faria uma somatória, extrapolou o horário limite;
	4- cria arquivo exemplo bloqueados_dia;Cujo dentro do squid faz a
acls negando chamando do arquivo bloqueados;

Só que vai dar um trabalhão!!!!
Agora se tivesse algo pronto eu poderia utilizar!!!!!

Vlw!!!!

Robison G Garcia

-----Mensagem original-----
De: freebsd-bounces em fug.com.br [mailto:freebsd-bounces em fug.com.br] Em nome
de Rafal Mentz Aquino
Enviada em: sexta-feira, 31 de outubro de 2008 17:12
Para: Lista Brasileira d e Discussão sobre FreeBSD (FUG-BR)
Assunto: Re: [FUG-BR] RES: Squid ou produto parecido!- Cota de minutos

Oi,

Utilizando external_acls do squid tu consegue fazer isso.

Tu cria um script em python, php, shell, c, o que tu quiser, que
controle do jeito que tu quiser, ou seja, em arquivo hash, banco
de dados, etc.

Depois faz o squid chamar essa acl externa e fazer a verificação.

Ex: No lugar onde trabalhava, a regra é lista branca. Só que isso
mata as pesquisas do Google, por exemplo.

Então fiz um controlezinho que fazia o seguinte:

Cada vez que uma página era acessada uma vez, funcionava por 10 minutos
e depois só pedindo autorização.

Esse script tb tirava de um arquivo simples, txt, o que tinha mais
de uma semana de vida.

Não reparem que não tive tempo de melhorar.. mas até que funciona
bem... o que pretendo fazer quando tiver tempo é que o filtro
seja também por usuário.. .Mas acho que o caminho está iniciado...

Seguem exemplos...

Dentro do squid:

external_acl_type ext_temporarios ttl=900 negative_ttl=300 %DST
/usr/local/bub/consulta_temporaria.py

acl temporarios external ext_temporarios

http_access allow temporarios usuarios_temporarios
...
http_access deny all



O consulta_temporaria.py

#!/usr/local/bin/python -Ou
# -*- coding: latin-1 -*-

import sys,string,time,traceback,os

f=open("/usr/local/etc/squid/regras/temporarios.txt","r")
dic={}
for i in f.readlines():
  tmp=string.split(i[:-1],":-:")
  if not dic.has_key(tmp[0]):
    try:
        dic[tmp[0]]=tmp[1]
    except:
        pass
f.close()

class squidacl:

  def __init__(self):
    pass

  def check_acl(self,line):
    check_acl(line)

  def run(self):
    line = sys.stdin.readline()[:-1]

    while line:

      try:
          self.check_acl(line)
      except:
          exc=sys.exc_info()
          #log(str(traceback.format_exception(exc[0],exc[1],exc[2])))
          raise

      line = sys.stdin.readline()[:-1]


def check_acl(line):

  hora=time.time()

  dst=line

  if dic.has_key(dst):
    hora_cad=float(dic[dst])
    if hora-hora_cad > 900:
      resposta="ERR"
    else:
      resposta="OK"
  else:
    resposta="OK"
    dic[dst]=hora
    os.system('echo "%s:-:%s" >>
/usr/local/etc/squid/regras/temporarios.txt'
% (dst,hora))

  sys.stdout.write(resposta+'\n')
  sys.stdout.flush()

if __name__ == "__main__":
  sr = squidacl()
  sr.run()

Espero que ajude...


--
Rafael Mentz Aquino
LK6 Soluções em TI
rafael em lk6.com.br
51 - 4063 - 6269
51 - 9999 - 7030


---------- Original Message -----------
From: João Luiz Pedrosa Viana <jviana em vespanet.com.br>
To: 'Lista Brasileira de Discussão sobre FreeBSD (FUG-BR)'
<freebsd em fug.com.br>
Sent: Fri, 31 Oct 2008 17:03:17 -0300
Subject: [FUG-BR] RES:   Squid ou produto parecido!- Cota de minutos

> Bom dia,
> 
> Essa solução eu já vi usando mikrotik, o hotspot dele tem um 
> adicional chamado userman, que faz exatamente isso que vc quer.
> 
> Em freebsd o pfsense tem algo parecido, mas não sei se tão 
> especifico assim.
> 
> De qualquer forma creio que a direção que vc deve seguir seja o hotspot.
> 
> Até breve.
> 
> João Luiz Pedrosa Viana
> http://www.vespanet.com.br
> http://www.jviana.eti.br
> MSN: jviana em bsdmail.com
> Skype: jviana
> (31)8661-4232
> Associado a:
> 
> Esta mensagem, incluindo seus anexos, pode conter informações
privilegiadas
> e/ou de caráter confidencial e seu conteúdo é para
> conhecimento exclusivo do destinatário. O seu uso, divulgação, reprodução
> e/ou cópia são proibidos.
> 
> This message is intended only for the individual or organization to 
> which it is addressed and contains confidential and privileged 
> information. Any retransmission, dissemination or other use of this 
> information by anyone other than the intended recipient is 
> prohibited.  
> 
> -----Mensagem original-----
> De: freebsd-bounces em fug.com.br [mailto:freebsd-bounces em fug.com.br] 
> Em nome de Robison Geraldi Garcia Enviada em: sexta-feira, 31 de 
> outubro de 2008 15:59 Para: 'Lista Brasileira de Discussão sobre 
> FreeBSD (FUG-BR)' Assunto: [FUG-BR] Squid ou produto parecido!- Cota 
> de minutos
> 
> Boa tarde;
> 
> Olá lista como vão?
> 
> Pessoal estamos enfrentando um novo desafio na empresa a qual 
> trabalho e não conseguimos achar uma solução definitiva até agora.
> 
> Nossa empresa está querendo fazer uma limitação de acesso através de 
> tempo dentro do proxy.
> 
> Problema:
> 
> Temos uma intranet onde os usuários acessam para ver noticias o que
> aconteceu durante a semana e tudo mais.
> 
> Porém o pessoal esta abusando e ficando olhando foto o dia todo.
> 
> Primeira solução:
> 
> Bloqueamos o acesso a todos os usuários menos os gerentes e monitores.
> 
> Segunda solução:
> 
> Liberamos em determinados horários por dia exemplo:
> 
> Acesso das 10:30 as 11:00; 15:30 as 16:00 e 19:30 as 20:00
> 
> O que gostaríamos de fazer?
> 
> Gostaria de fazer a liberação por cota de minutos no dia(o dia =24 
> horas) exemplo 10 minutos , ou seja;
> 
> O usuário X acessa a pagina 08:05 gasta uns 3 minutos, depois acessa 
>  12:00 gasta 3 minutos, depois acessa a pagina de novo 18:00 e gasta 
> 4 minutos próximo acesso dele dentro desse dia será negado e 
> mostrará Acesso Negado, contate o administrador.
> 
> Outro exemplo:
> 
> O Usuário X acessa 10:00 e vai até 10:15, neste caso a hora que 
> desse 10:10, a pagina teria que ser bloqueado, pois ele gastou a 
> cota de 10 minutos por dia.
> 
> Isso é possível fazer com o Squid?
> 
> Vi que algumas ferramentas pagas fazem isso, mais são extremamente 
> caras, citando duas que encontramos são:
> 
> websense e barracuda;
> 
> Desde de já agradeço a atenção de todos;
> 
> []´s
> 
> ______________________________
> Robison Geraldi Garcia
> Tecnologia da Informação
> 
> “ Antes de imprimir, lembre-se do meio ambiente"
> 
> -------------------------
> Histórico: http://www.fug.com.br/historico/html/freebsd/
> Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
> 
> __________ Information from ESET Smart Security, version of virus
signature
> database 3573 (20081031) __________
> 
> The message was checked by ESET Smart Security.
> 
> http://www.eset.com
> 
> __________ Information from ESET Smart Security, version of virus
signature
> database 3573 (20081031) __________
> 
> The message was checked by ESET Smart Security.
> 
> http://www.eset.com
> 
> -------------------------
> Histórico: http://www.fug.com.br/historico/html/freebsd/
> Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
------- End of Original Message -------

-------------------------
Histórico: http://www.fug.com.br/historico/html/freebsd/
Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd





Mais detalhes sobre a lista de discussão freebsd