Squid não Bloqueia sites(Resolvido)

Iniciado por mgottfried, 09 de Maio de 2012, 11:52

tópico anterior - próximo tópico

mgottfried

Ola Pessoal.
Estou com o seguinte problema meu squid não esta bloqueando o sites que preciso, libera geral.
Este é meu arquivo de configuração.



#Porta utilizada pelo squid
http_port 3128 transparent

#Nome do seu servidor (sem espaços)
visible_hostname squid.server.linux.UBUNTU.SERVER

#Memória utilizada para objetos em trânsito
cache_mem 64 MB

#Não altetar as linhas abaixo
maximum_object_size_in_memory 8 MB
maximum_object_size 8 MB
minimum_object_size 0 KB
cache_swap_low 90
cache_swap_high 95

#Local onde sera armazenado o cache do squid
#O valor 1000 indica a quantidade em Mb que o cachê do squid #irá utilizar. Como podem ver, criamos 6 partições de cachê com 3Gb cada uma. Você adapta pro tamanho do seu HD.
cache_dir ufs /var/spool/squid/cache1 30 16 256
cache_dir ufs /var/spool/squid/cache2 30 16 256
cache_dir ufs /var/spool/squid/cache3 30 16 256
cache_dir ufs /var/spool/squid/cache4 30 16 256
cache_dir ufs /var/spool/squid/cache5 30 16 256
cache_dir ufs /var/spool/squid/cache6 30 16 256

#Local onde sera guardado os logs do squid
cache_access_log /var/log/squid/access.log

#Converte as mensagens geradas pelo squid par o Português
error_directory /usr/share/squid/errors/Portuguese
refresh_pattern ^ftp: 15 20% 2280
refresh_pattern ^gopher: 15 0% 2280
refresh_pattern . 15 20% 2280
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 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 901 # SWAT
acl purge method PURGE
acl CONNECT method CONNECT
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

#Definiremos aqui as regras para bloqueio dos sites pelas #palavras adicionadas no arquivo block.txt
acl blockedsites url_regex -i "/etc/squid/sites_block.txt
acl ips_liberados src "/etc/squid/ips_liberados.txt"
http_access deny blockedsites !ips_liberados

# Bloquear MSN
acl HOST_MSN src 192.168.1.0/255.255.255.255

#Aqui você irá definir o IP da sua rede interna
acl redelocal src 192.168.1.0/24
http_access allow redelocal
http_access allow localhost

# Bloqueia navegacao. So libera pra faixa definida na "acl redelocal".
http_access deny all

cpaynes

#1
1 - você esta direcionando o tráfego da porta 80 pro squid ?
2 - bloqueia por dominios:

acl blockedsites dst_domain "/etc/squid/sites_block.txt"
http_access deny blockedsites all






zekkerj

Confirme no log de acesso que o tráfego está mesmo passando pelo Squid. Talvez, como o cpaynes disse, vc não esteja redirecionando a porta 80/tcp pro squid.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

mgottfried

#! /bin/bash
echo " INICIANDO FIREWALL "
# Ativa modulos

/sbin/modprobe iptable_nat
/sbin/modprobe ip_conntrack
/sbin/modprobe ip_conntrack_ftp
/sbin/modprobe ip_nat_ftp
/sbin/modprobe ipt_LOG
/sbin/modprobe ipt_REJECT
/sbin/modprobe ipt_MASQUERADE
echo "Carga dos Modulos OK!"
# Zera regras

/sbin/iptables -F
/sbin/iptables -X
/sbin/iptables -F -t nat
/sbin/iptables -X -t nat
/sbin/iptables -F -t mangle
/sbin/iptables -X -t mangle
echo "Flush das regras OK!"
# Proxy Transparente

# Nessa linha iremos mascarar os pacotes de saída para internet.

/sbin/iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
# Nessa regra iremos redirecionar todo tráfego da porta 80 da eth0 para a porta 3128 do squid.
/sbin/iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128
echo "Carga do Proxy Transparente OK!"
# Nesta Regra Bloqueio do MSN
/sbin/iptables -A FORWARD -s 192.168.1.0 -p tcp --dport 1863 -j REJECT
/sbin/iptables -A FORWARD -s loginnet.passport.com -j REJECT


zekkerj

Confirmou nos logs de acesso?
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

mgottfried

Citação de: mgottfried online 09 de Maio de 2012, 11:52
Ola Pessoal.
Estou com o seguinte problema meu squid não esta bloqueando o sites que preciso, libera geral.
Este é meu arquivo de configuração.



#Porta utilizada pelo squid
http_port 3128 transparent

#Nome do seu servidor (sem espaços)
visible_hostname squid.server.linux.UBUNTU.SERVER

#Memória utilizada para objetos em trânsito
cache_mem 64 MB

#Não altetar as linhas abaixo
maximum_object_size_in_memory 8 MB
maximum_object_size 8 MB
minimum_object_size 0 KB
cache_swap_low 90
cache_swap_high 95

#Local onde sera armazenado o cache do squid
#O valor 1000 indica a quantidade em Mb que o cachê do squid #irá utilizar. Como podem ver, criamos 6 partições de cachê com 3Gb cada uma. Você adapta pro tamanho do seu HD.
cache_dir ufs /var/spool/squid/cache1 30 16 256
cache_dir ufs /var/spool/squid/cache2 30 16 256
cache_dir ufs /var/spool/squid/cache3 30 16 256
cache_dir ufs /var/spool/squid/cache4 30 16 256
cache_dir ufs /var/spool/squid/cache5 30 16 256
cache_dir ufs /var/spool/squid/cache6 30 16 256

#Local onde sera guardado os logs do squid
cache_access_log /var/log/squid/access.log

#Converte as mensagens geradas pelo squid par o Português
error_directory /usr/share/squid/errors/Portuguese
refresh_pattern ^ftp: 15 20% 2280
refresh_pattern ^gopher: 15 0% 2280
refresh_pattern . 15 20% 2280
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 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 901 # SWAT
acl purge method PURGE
acl CONNECT method CONNECT
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

#Definiremos aqui as regras para bloqueio dos sites pelas #palavras adicionadas no arquivo block.txt
acl blockedsites url_regex -i "/etc/squid/sites_block.txt
acl ips_liberados src "/etc/squid/ips_liberados.txt"
http_access deny blockedsites !ips_liberados

# Bloquear MSN
acl HOST_MSN src 192.168.1.0/255.255.255.255

#Aqui você irá definir o IP da sua rede interna
acl redelocal src 192.168.1.0/24
http_access allow redelocal
http_access allow localhost

# Bloqueia navegacao. So libera pra faixa definida na "acl redelocal".
http_access deny all

zekkerj

Sua configuração está bacana. Mas, os logs de acesso, que eu perguntei: você olhou neles, e confirmou que há tráfego?
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

mgottfried

 sudo tail -f /var/log/squid/access.log
1336853153.861    298 192.168.1.55 TCP_MISS/200 670 GET http://62.146.87.172/update/idx/wks_avira12-win32-ptbr-pepr.idx - DIRECT/62.146.87.172 text/plain
1336853154.697    833 192.168.1.55 TCP_MISS/200 22143 GET http://62.146.87.172/update/idx/wks_avira12-win32-ptbr-pepr.info.gz - DIRECT/62.146.87.172 text/plain
1336853155.037    279 192.168.1.55 TCP_MISS/200 1163 GET http://62.146.87.172/update/idx/webcat-common-int.info.gz - DIRECT/62.146.87.172 text/plain
1336853155.352    308 192.168.1.55 TCP_MISS/200 3214 GET http://62.146.87.172/update/idx/vdf.info.gz - DIRECT/62.146.87.172 text/plain
1336853155.646    279 192.168.1.55 TCP_MISS/200 892 GET http://62.146.87.172/update/idx/rdf-common-int.info.gz - DIRECT/62.146.87.172 text/plain
1336853155.929    277 192.168.1.55 TCP_MISS/200 2320 GET http://62.146.87.172/update/idx/ave2-win32-int.info.gz - DIRECT/62.146.87.172 text/plain
1336853156.214    278 192.168.1.55 TCP_MISS/200 899 GET http://62.146.87.172/update/idx/wks_avira12-win32-ptbr-pepr-info.info.gz - DIRECT/62.146.87.172 text/plain
1336853156.497    278 192.168.1.55 TCP_MISS/200 1194 GET http://62.146.87.172/update/idx/scanner-win32-int.info.gz - DIRECT/62.146.87.172 text/plain
1336853158.369    275 192.168.1.55 TCP_MISS/200 885 GET http://62.146.87.172/update/webcat/common/int/webcat3.dat.gz - DIRECT/62.146.87.172 text/plain
1336853158.659    284 192.168.1.55 TCP_MISS/200 5899 GET http://62.146.87.172/update/webcat/common/int/webcat4.dat.gz - DIRECT/62.146.87.172 text/plain


zekkerj

Esse tráfego deveria estar bloqueado? Observe também que os logs estão todos chegando com o endereço IP do destino, não com o domínio. Talvez não estejam batendo com o conteúdo do arquivo de bloqueio, que aliás vc passou como uma acl "url_regex". Expressão regular é sempre uma coisa complicada pra se pegar de início; como vc colocou o bloqueio por lá?
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

mgottfried


zekkerj

É preciso observar as expressões usadas, uma a uma, e comparar com os padrões de tráfego apresentado.
Não é uma tarefa fácil...
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D