[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