Squid executa mas não bloqueia

1. Squid executa mas não bloqueia

Kleberton Oliveira
kleoliveira

(usa Debian)

Enviado em 23/10/2014 - 15:16h

Sou iniciante no squid e no fórum. Já fui muito ajudado pelos tópicos aqui do VOL, mas não consegui solucionar meu problema atual, por isso solicito ajuda. Vamos lá
Tenho um squid rodando e preciso simplesmente bloquear 'todos' os sites e ir liberando aos poucos de acordo com a necessidade do escritório. Alguns usuários devem ter acesso livre a internet. Segue meu squid.conf:

*****************************************************************
http_port 3128 transparent
visible_hostname SQUIDeltha
error_directory /usr/share/squid3/errors/Portuguese/

cache_mem 128 MB
maximum_object_size_in_memory 128 KB
maximum_object_size 512 MB
minimum_object_size 0 KB
cache_swap_low 90
cache_swap_high 95
cache_dir ufs /var/spool/squid3 2048 16 256
cache_access_log /var/log/squid3/access.log

refresh_pattern ^ftp: 15 20% 2280
refresh_pattern ^gopher: 15 0% 2280
refresh_pattern . 15 20% 2280

#Liberando Portas Padrão e Personalizadas
acl localhost src 127.0.0.1
acl SSL_ports port 443 563
acl Safe_ports port 21 80 443 544 563 70 210 280 488 59 777 901 4803 8081 8181 37777 1025-65535
acl purge method PURGE
acl CONNECT method CONNECT
acl redelocal src 192.168.0.0

#Usuários liberados
#acl enderecos src "/etc/squid3/ip"
#http_access allow enderecos
#http_access deny all

#Sites Bloqueados
acl site url_regex -i "/etc/squid3/sites"
http_access deny site

#Palavras Bloqueadas
acl proibidas url_regex -i "/etc/squid3/palavras"
http_access deny proibidas

http_access deny purge
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost
http_access allow redelocal
http_access deny all

******************* REALIZAR NAT ****************************
modprobe iptable_nat
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward
**************************************************************

Todas as máquinas estão passando direto pelo squid, sem restrições ou bloqueios. Não consigo encontrar o erro, talvez seja alguma coisa no firewall/iptables. Desde já agradeço.



  


2. Re: Squid executa mas não bloqueia

Fábio Coelho
fabiocoelho

(usa Ubuntu)

Enviado em 23/10/2014 - 15:56h

Não analisei o conf do Squid, mas acho que só falta o redirecionamento da porta 80 para a 3128. Tente desta forma, por favor:

iptables -t nat -A PREROUTING -i ethX -p tcp --dport 80 -j REDIRECT --to-port 3128

Substitua o ethX pela sua placa de rede interna.

Espero que ajude! Desculpe se tiver algo errado, pois respondi correndo...

Abraço!


3. Re: Squid executa mas não bloqueia

Kleberton Oliveira
kleoliveira

(usa Debian)

Enviado em 23/10/2014 - 16:29h

Aparentemente resolveu, mas agora bloqueou geral. Até os ip liberados não passam pelo squid. Vou verificar e retorno.
Obrigado


4. Re: Squid executa mas não bloqueia

Fábio Coelho
fabiocoelho

(usa Ubuntu)

Enviado em 23/10/2014 - 17:20h

Aparentemente você já tem a solução, mas está comentada.

Na ACL "enderecos" você escreve no arquivo texto todos os IP's que você deseja liberar. Depois você atribui access allow a esta ACL.

Na prática não funciona 100%, pois o pessoal acaba descobrindo os IP's liberados. A melhor forma, na minha opinião, é utilizar ACL com Mac Address. Se não me engano troca-se o src por arp e inclui-se os endereços MAC no lugar dos IP's.

Abraço!


5. Re: Squid executa mas não bloqueia

Kleberton Oliveira
kleoliveira

(usa Debian)

Enviado em 24/10/2014 - 08:45h

Tinha esquecido de descomentar a acl endereços....porém ainda enfrento problemas. A solução apresentada pelo "fabiocoelho" provocou o bloqueio, mas geral, todos os sites e todos os ip's e causou uma lentidão muito grande na rede. Quando uso os comandos abaixo tenho a liberação da internet, com boa velocidade de navegação, porém sem nenhuma restrição...

------------------------------
modprobe iptable_nat
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward
------------------------------

No meu arquivo de bloqueio de sites, tenho apenas sites de noticias (globo,terra,uol,etc) e redes sociais. Preciso bloquear apenas estes sites, os demais podem ser liberados. Mas não estou conseguindo. Tenho dúvida se na acl devo usar "url_regex -i" ou "dstdomain".


6. Re: Squid executa mas não bloqueia

Fábio Coelho
fabiocoelho

(usa Ubuntu)

Enviado em 24/10/2014 - 09:11h

Bom dia!

Então cara, fica difícil avaliar sem conhecer seu hardware, infra, etc. O iptables que te mandei joga todas as requisições http para o teu Squid tratar. Este redirecionamento é necessário, senão o Squid não enxerga os pacotes. Se todos foram bloqueados é porque o Squid está configurado para fazer isso. Se ficou lento, pode ser limitação de Hardware, pois o Squid trata TODAS as requisições. Por exemplo, a rede do meu trabalho tinha 220 computadores e o meu proxy rodava num P3 1Ghz, 1 GB Ram, 2 placas de rede gigabit (placas 100Mbps causariam gargalo, pois minha rede era inteira Gigabit). Um PC simples, mas com rede eficaz.

Sugiro que você dê uma pesquisada nos artigos sobre Squid aqui do VOL, pois há muitas possibilidade de configuração. Existem inúmeras situações não previstas e que uma boa integração entre Squid e Iptables lhe ajudariam muito. São elas:

- HTTPS: Você pode bloquear o facebook.com, por exemplo, mas se o pessoal entrar como https://facebook.com seu sistema permitirá o acesso.

- Proxy transparente ou autenticado: É ligado a situação acima. Se você não quer perder muito tempo bloqueando https pelo iptables, você pode utilizar seu proxy com autenticação e encaminhar a porta 443 para a 3128 também. Se você usa proxy transparente essa prática não funciona, aí tem que ser pelo iptables mesmo.

- Balanceamento de carga: Outra vez usando o Facebook como exemplo. Bloquear o domínio facebook.com não resolve o problema, pois ele utiliza um range de mais de 16 IP's na internet. Aqui no VOL tem um artigo que explica como bloqueá-lo via iptables.

- UltraSurf. Este programa simplesmente faz com que o computador NÃO use o proxy que você está configurando, mas sim um na nuvem. Aí o computador passa a navegar livremente na internet e sem deixar rastros no seu Squid. Aqui no VOL tem um artigo que explica como bloqueá-lo definitivamente. A regra é parecida com a do Facebook, pois o UltraSurf tem muuuitos IP's e portas possíveis.

SUGESTÃO:
- Você pode definir listas por categoria (redes sociais, email, notícias, pornografia, etc). Para cada lista você cria uma acl url_regex com access_deny. Com isso você bloqueia os sites indesejados.

- Você cria uma lista com as exceções. Cria uma acl e acrescenta ! nome_acl na frente de todas as regras access_deny. A lógica é assim: BLOQUEIA a lista [*****]ô EXCETO os domínios da lista exceção. Por incrível que pareça acontece do Squid bloquear algum site que não está nas listas de bloqueio, mas que possui um domínio parecido com algum.

- Você cria uma lista com os MAC Address que terão acesso completo a internet e cria uma acl arp com access allow.

- Estude um pouco sobre as possibilidades do Iptables e aplique as regras corretamente para bloquear acessos https e do UltraSurf.

OBS: Seria muito interessante você se incluir nas regras de bloqueio, pois vai testando. :)

Abraço!


7. Re: Squid executa mas não bloqueia

Kleberton Oliveira
kleoliveira

(usa Debian)

Enviado em 24/10/2014 - 17:23h

Processador Dual Core 1.80 GHz
Mem 1,5 GB
2 Ethernet 10/100

A rede é pequena (30 usuários) com pouco conhecimento em TI. Por isso não tenho tanta preocupação com tentativas de "fuga" do squid. Situações como alterações de IP e portas, uso do UltraSurf, entre outras são poucos (ou quase improváveis) de acontecer no meu atual cenário. O antigo squid que rodava na rede também enfrentava problemas para bloqueio de facebook. Trabalhava de modo transparente (assim como o atual) bloqueava os sites não permitidos, com exceção do facebook, pelas questões que você mesmo mencionou. De qualquer forma vou continuar pesquisando aqui, pois as configurações testadas estão de acordo com o informado, mas não funciona corretamente. Obrigado pela ajuda. Qualquer novidade aviso !!

;)






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts