É isso ai, estou aqui mais uma vez, desta vez com uma outra necessidade, foi requisitado à mim a possibilidade de dar mais flexibilidade às regras do Squid,isso pode ser conseguido de 2 formas básicas:
1° SquidGuard ;
2° DansGuardian ;
Eu particularmente testei e implementei apenas o SquidGuard, e por isso vou expor aqui como foi a minha experiência.
Agora mesmo vou deixando algumas dicas:
1° Webmin
2° Módulo SquidGuard p/ Webmin
3° Blacklists
1° Configurando o Squid
Aqui existe um ponto interessante, dependendo da versão do openSuSE que vc estiver usando algumas versões do squid serão diferentes, no meu caso, eu utilizei a versão : squid-2.5.STABLE12-18 , sendo que caso vc esteja usando o openSuSE-10.2 vc usará o squid-2.6STABLE-X-X, que introduziu algumas novidades com relação à proxy transparente e a proxy reverso.
Sendo assim vou colocar aqui a configuração realizada por mim em um squid-2.5
– squid-2.5.STABLE12-18
#
http_port 192.168.0.101:8080
hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin \?
no_cache deny QUERY
#########################
# Configuracao de CACHE #
#########################
#
cache_mem 256 MB
cache_swap_low 90
cache_swap_high 95
#
maximum_object_size 4096 KB
minimum_object_size 0 KB
maximum_object_size_in_memory 20 KB
#
ipcache_size 1024
ipcache_low 90
ipcache_high 95
fqdncache_size 1024
###############################
# Manutencao de Memoria/Cache #
###############################
cache_replacement_policy lru
memory_replacement_policy lru
#########################
# Cache DIR / Log Files #
#########################
cache_dir diskd /var/cache/squid 2000 32 256 Q1=72 Q2=64
diskd_program /usr/sbin/diskd
unlinkd_program /usr/sbin/unlinkd
cache_access_log /var/log/squid/access.log
cache_log /var/log/squid/cache.log
cache_store_log /var/log/squid/store.log
pid_filename /var/run/squid.pid
log_ip_on_direct on
mime_table /etc/squid/mime.conf
#######
# DNS #
#######
dns_timeout 2 minutes
dns_nameservers 200.176.2.10 200.176.2.12
#Suggested default:
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern . 0 20% 4320
#################
# Squid Tunning #
#################
negative_ttl 5 minutes
positive_dns_ttl 24 hours
negative_dns_ttl 1 minute
########################
# Access Control Lists #
########################
#Recommended minimum configuration:
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 to_localhost dst 127.0.0.0/8
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 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 CONNECT method CONNECT
#
#Recommended minimum configuration:
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost
http_reply_access allow all
###############################################
# Listas de Controle de Acesso Personalizadas #
###############################################
# Define rede Local
acl rede_local src “/etc/squid/acls/rede.acl”
# Sites bloqueados
acl sites_bloqueados dstdom_regex “/etc/squid/acls/sites_bloqueados.acl”
########################
# Definicoes de acesso #
########################
http_access deny sites_bloqueados rede_local
http_access allow all
#####################
# Usuarios e grupos #
#####################
cache_effective_user squid
cache_effective_group squid
######################
# Proxy Transparente #
######################
httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on
# Diretorio de Erros
error_directory /usr/share/squid/errors/Portuguese
#
# Log quais regras estao liberando/bloqueando acesso aos sites
#debug_options ALL,1 33,2
# Redireciona p/ o SquidGuard
redirect_program /usr/sbin/squidGuard -c /etc/squidGuard.conf
redirect_children 4
2° Configurando o SquidGuard “/etc/squid/squidGuard.conf”
Maravilha, após configurar o squid vamos partir p/ configuração do squidGuard:
######################################
# Arquivo de Configuracao SquidGuard #
######################################
# Especifica o Diretório onde estarão os arquivos de BlackList
dbhome /var/lib/squidGuard/db
# Especifica o Diretório onde estarão os arquivos de log
logdir /var/log/squid/squidGuard
# Especifica Rede Local
src all {
ip 192.168.0.0/24
}
# Especifica uma blacklist que será utilizada para filtro de acessos
dest bl_antispyware {
#Lista com os Domínios
domainlist blacklists/antispyware/domains
#Lista com as urls
urllist blacklists/antispyware/urls
# Endereço p/ redirecionamento da pág.
redirect http://localhost
}
# Realiza filtro através de chat’s
dest bl_chat {
domainlist blacklists/chat/domains
urllist blacklists/chat/urls
redirect http://www.google.com.br
}
# Controle de Acesso
acl {
# Libera a rede local p/ acessar qlq coisa, menos chat e antispyware
all {
pass !bl_chat !bl_antispyware all
}
# Redirecionamento que deverá ser realizado pelo SquidGuard
default {
pass none
redirect http://www.google.com.br
}
}
3° Alguns ajustes Finos
Pronto galera, após realizar estas alterações temos alguns ajustes, como alterar o permissões de acesso aos arquivos de blacklist, sendo que o dono e o grupo deverá ser alterado p/ squid.squid, da seguinte forma:
#chown squid.squid /var/lib/squidGuard/* -R
#chmod 751 /var/lib/squidGuard/* -R
Com essas alterações já temos o ambos funcionando, faltando apenas criar os arquivos “.db” que o squidGuard usa p/ realizar consultas nos acessos, sendo assim vamos realizar estes ajustes:
– Baixe o arquivo contendo as blacklists e descompacte-o dentro de /var/lib/squidGuard/db ;
– Crie o arquivo “.db” de sua necessidade, como vc perceberá dentro do diretório da blacklist existem diversos outros diretórios, uns contendo listas para virus,porn e outros, vamos criar o “.db” para porn:
squidGuard -C -d all
– Atualizando o arquivo de db
squidGuard -u -d all
– Pedindo Ajuda!?!?!?
squidGuard –help
*** Caso alguma mensagem de erro apareça revise a configuração.
OBS: os arquivos de db do squidGuard serão criados apenas para as listas contidas no arquivo de configuração, sendo que para criar o arquivo db para “porn” por exemplo, é necessário ter a definição para o porn no arquivo squidGuard.conf
– Habilitando o squid na Inicialização do Sistema
#chkconfig squid start
– Iniciando o Squid
#rcsquid start
Bom galera, estou com pouco tempo, qlq dúvida postem ai, nós podemos discutir, vou deixar abaixo uma lista p/ consulta:
http://www.softwarelivre.gov.br/documentos/documentacaoproxy
http://www.squidguard.org/Doc/index.html
Espero ajudar !!! Abraços, e até a próxima
Filed under: Sem categoria | 1 Comment »