Não consigo efetutar o bloqueio do Facebook pelo iptables [RESOLVIDO]

1. Não consigo efetutar o bloqueio do Facebook pelo iptables [RESOLVIDO]

Jean Ednei Koepsel
jeankoepsel

(usa CentOS)

Enviado em 25/06/2016 - 14:14h

Boa tarde, criei este tópico pois testei algumas soluções de anos anteriores, mas que não deram certo. Uso o CentOs 7 atualizado.... Testei pelo bloqueio do facebook por string mas bloqueia muitos sites que tenham algum conteúdo que tenha a palavra Facebook, além de deixar a navegação mais lenta então mudei de ideia para utilizar o bloqueio por IP... Como possuo várias interligações por fibra há muitos equipamentos conectados a internet em meu servidor.. Possuo o proxy Squid com autenticação, pelo Squid tudo certo está bloqueado tanto em http como em https. Mas possuo vários computadores fora do Squid pois utilizam sistemas que não se comportam bem com o proxy... Nestes não consigo bloquear o Facebook... Apenas algumas máquinas podem acessar, aquelas que utilizam para utilizar o perfil da instituição... Segui esta dica abaixo, mais não funcionou. Será que alguém tem um modo que esteja funcional?

Tenho isto no arquivo: /etc/rc.d/rc.firewall

#Lista de IPs liberados para acessar o Facebook
IPS_FACEBOOK_LIBERADOS=$(cat /etc/squid/acls/ips-facebook) ---> aqui está a lista com IPs que podem acessar
IPS_FACEBOOK=$(cat /etc/rc.d/bloco_facebook) ---> arquivo que tem os IPs do Facebook, atualizado por um scrip

#Percorre a lista dos IPs do Facebook e vai colocando DROP em todos os IPs da rede interna, exceto os liberados.
for i in $IPS_FACEBOOK; do
#O acesso dos IPs ao Facebook vai ser rejeitado
iptables -A INPUT -s 192.168.1.0/24 -d $i -j DROP

#Percorre lista de IPs liberados e vai colocando ACCEPT neles
for liberados in $IPS_FACEBOOK_LIBERADOS; do
iptables -I FORWARD -s $liberados -d $i -j ACCEPT
done
done

-------------
(arquivo que atualiza os IPs do Facebook) /etc/rc.d/ips_facebook.sh

#!/bin/sh
whois -h whois.radb.net '!gAS32934' | tr ' ' '\n' | grep ^[0-9] > /etc/rc.d/bloco_facebook.txt
exit 0

Desde já agradeço quem me ajudar!


  


2. Soluçao

Jean Ednei Koepsel
jeankoepsel

(usa CentOS)

Enviado em 28/06/2016 - 08:56h

Depois de pesquisar muito encontrei a solução abaixo e funcionou:

#Lista de IPs liberados para acessar o Facebook
IPS_ACCEPT=$(cat /etc/squid/acls/ips-facebook)

#Sub-rede interna do ambiente em questão Facebook
REDE_INTERNA="192.168.1.0/24"

#Criando nova regra FACEBOOK
iptables -N FACEBOOK

#Transferindo todo tráfego fonte da rede interna para a regra FACEBOOK
iptables -I FORWARD -s $REDE_INTERNA -j FACEBOOK

#Percorre o arquivo dos IPs do Facebook (facebook.txt) e vai colocando REJECT em todos os IPs da rede interna, exceto os liberados.
for i in `cat /etc/rc.d/bloco_facebook`; do

#O acesso dos IPs (que caíram na regra FACEBOOK) ao Facebook vai ser rejeitado
iptables -A FACEBOOK -d $i -j REJECT

#Percorre lista de IPs liberados e vai colocando ACCEPT neles
for liberados in $IPS_ACCEPT; do
iptables -I FORWARD -s $liberados -d $i -j ACCEPT
done

done


3. Dúvida

robson de mesquita
robsonlv

(usa Outra)

Enviado em 09/08/2016 - 21:38h

Saudações

Consegui entender o caso, e estou em um caso bem parecido. Mas pelo que vi o que fez resolverá tmb a minha situação.
O que não entendi é onde vc coloca o Script, no próprio squid.conf ou em algum outro lugar? E onde?
Você acha que isso funcionaria para usuários registrados no squid, ao invéz de IPs?

Obrigado peja contribuição.

Robson






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts