resolvido o problema......
peguei varias dicas de diversos sites e consegui uma filtragem bastante eficiente!!!!
vou colocar aki p/ os proximos e depois pretendo por lah no "dicas e truques" uma coisa mais elaborada!!!
o q eu utilizei na minha maquina local ((k)ubuntu 8.04) foi o iptables + squid + dansguardian.
Squido squid.conf ficou assim:
http_port 3128 transparent
visible_hostname ubuntu
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
#inicio seguranca opcional
forwarded_for off
header_access From deny all
header_access Via deny all
header_access Server deny all
#fim seguranca
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
http_access allow localhost
http_access deny all
isso jah basta p/ vc ter acesso c/ proxy transparente (sem necessitar configurar o navegador)....
Dansguardianp/ o dansguardian utilizei a filtragem por palavras e peguei a blacklist do site urlblacklist.com (link direto p/ a lista:
http://urlblacklist.com/cgi-bin/commercialdownload.pl?type=download&file=bigblacklist).
Obs.: tive problemas de lentidão ao usar o bloqueio por url (tenho apenas duas listas sendo carregadas) mas o bloqueio por dominio nao apresentou problemas (tenho varias ativas).
aqui vai a parte principal do arquivo dansguardian.conf:
# the port that DansGuardian listens to.
filterport = 8080
# the ip of the proxy (default is the loopback - i.e. this server)
proxyip = 127.0.0.1
# the port DansGuardian connects to proxy on
proxyport = 3128
ele jah vem deste jeito por padrão.
soh explicando:
filterport: eh a porta por onde vai passar o trafego q o dansguardian vai filtrar.
proxyip: se vc quer fazer como eu, filtrar o acesso da sua propria maquina deixe este ip 127.0.0.1 (localhost), é a maquina local.
proxyport: é a porta que está no http_port do squid.conf
portanto, qndo vc tentar acessar um site ele deve passar pelo dansguardian e depois p/ o squid....
é aí q entra o iptables
Iptablesalterar o iptables eh necessario p/ q toda a requisicao http ou tcp (porta 80 por padrao) passe pela filtragem do dansguardian.
para isto digite edite o rc.local
sudo kate /etc/rc.local
e adicione as linhas (antes do "exit 0"):
iptables -t nat -A OUTPUT -p tcp -m tcp --dport 80 -m owner --uid-owner proxy -j ACCEPT
iptables -t nat -A OUTPUT -p tcp -m tcp --dport 3128 -m owner --uid-owner proxy -j ACCEPT
iptables -t nat -A OUTPUT -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 8080
o comando "owner --uid-owner proxy" servem p/ dar acesso da comunicacao da porta ao squid já q ele vem como dono "proxy" por padrao....
pronto.....põe todo mundo (iptables + squid + dansguardian) p/ rodar q o acesso a site http jah estara sendo "vigiado".....
o problema serão os https q utilizam a porta 443 por padrão e, portanto não passam pela filtragem do dansguardian....
pois bem....para bloqueá-los (levando em conta q vc nao quer mexer na configuracao do navegador - proxy transparente) vc terá q bloquear manualmente os poucos sites q sobraram pelo iptables....
abra o arquivo rc.local
sudo kate /etc/rc.local
e adicione as linhas (antes do "exit 0"):
iptables -t nat -A OUTPUT -d www.osite.com -p tcp --dport 443 -j DROP
iptables -t nat -A OUTPUT -d osite.com -p tcp --dport 443 -j DROP
troque "osite" pelo q vc quer bloquear (por exemplo: orkut, google...)
e aproveitando q vc estah mexendo no rc.local, adicione as chamadas p/ o squid e o dansguardian soh p/ garantir pois meu dansguardian nao carregava automaticamente antes de adicioná-lo neste arquivo....
abra o rc.local
sudo kate /etc/rc.local
e adicione as linhas
# iniciar squid
/etc/init.d/squid start
# iniciar dansguardian
/etc/init.d/dansguardian start
o meu rc.local ficou assim:
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
iptables -t nat -A OUTPUT -p tcp -m tcp --dport 80 -m owner --uid-owner proxy -j ACCEPT
iptables -t nat -A OUTPUT -p tcp -m tcp --dport 3128 -m owner --uid-owner proxy -j ACCEPT
iptables -t nat -A OUTPUT -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 8080
# iniciar squid
/etc/init.d/squid start
# iniciar dansguardian
/etc/init.d/dansguardian start
# BLOQUEAR IMO
iptables -t nat -A OUTPUT -d www.imo.im -p tcp --dport 443 -j DROP
iptables -t nat -A OUTPUT -d imo.im -p tcp --dport 443 -j DROP
# FIM BLOQUEIA IMO
# BLOQUEAR ORKUT
#iptables -t nat -A OUTPUT -d www.orkut.com -p tcp --dport 443 -j DROP
#iptables -t nat -A OUTPUT -d orkut.com -p tcp --dport 443 -j DROP
#iptables -t nat -A OUTPUT -d www.google.com -p tcp --dport 443 -j DROP
#iptables -t nat -A OUTPUT -d google.com -p tcp --dport 443 -j DROP
# FIM BLOQUEIA ORKUT
exit 0
espero ter ajudado!!!
falow