Bloqueio de sites por horário: Squid + IPtables
Publicado por Benedito em 13/02/2015
[ Hits: 5.937 ]
#!/bin/bash -x
## bloqueia_face - Cria/deleta regras de bloqueio para conexões estabelecidas com o facebook
## Escrito por: Benedito Marques
## CentOS release 6.2 (Final)
# Exemplo de uso: ./bloqueia_face ativabloqueio
URL="www.facebook.com fbstatic-a.akamaihd.net facebook.com xx-fbcdn-shv-05-iad1.fbcdn fbcdn-profile-a.akamaihd.net"
for I in `/bin/echo $URL`
do
#GUARDA OS IPS DO FACEBOOK
FAC=`/usr/bin/dig +short $I | /bin/grep [0-9].[0-9].[0-9].[0-9]`
FACEBOOK="$FACEBOOK $FAC"
done
#GUARDA AS PORTAS DOS SOCKETS DE ORIGEM QUE ESTÃO CONECTADAS AO FACEBOOK
SPORTS=$(for i in `/bin/echo $FACEBOOK` ; do /bin/netstat -nt | /bin/grep "`/bin/echo $i`"| /bin/awk -F ' ' '{print $4}' | /bin/cut -d ':' -f5 ; done)
if [ "$1" = "ativabloqueio" ]; then
#VERIFICA SE A VARIÁVEL $SPORTS É VAZIA
if [ -z "$SPORTS" ]; then
/bin/echo "Sem conexões com o Facebook. A ativação do bloqueio não é necessária."
else
for i in `/bin/echo $SPORTS`
do
for j in `/bin/echo $FACEBOOK`
do
IP=`/bin/netstat -nt | /bin/grep $i | /bin/awk -F ' ' '{print $5}' | /bin/cut -d ':' -f4`
/sbin/iptables -I OUTPUT -d $IP -p tcp --sport $i -m multiport --dports 443,80 -j DROP
break
done
done
fi
elif [ "$1" = "desativabloqueio" ]; then
#COLETANDO REGRAS CRIADAS ANTES
/sbin/iptables-save | /bin/grep OUTPUT | /bin/grep DROP | /bin/grep tcp | /bin/grep 443 | /bin/grep 80 | /bin/sed 's/-A/\/sbin\/iptables -t filter -D/g' > /tmp/regras
#REMOVENDO REGRAS COLETADAS
. /tmp/regras
else
/bin/echo -e "Argumento incorreto! \nOpções possíveis: ativabloqueio, desativabloqueio."
fi
Ícone duplo do Chrome no Docky e no Plank [Resolvido]
Erro na conexão com Smartphone ou celular via cabo USB
Como resolver o problema de lentidão na autenticação do SSH
Bluefin - A nova geração de ambientes de trabalho Linux
Como atualizar sua versão estável do Debian
Cirurgia para acelerar o openSUSE em HD externo via USB
Pós-instalação do elementary OS 8.1
Quer auto-organizar janelas (tiling) no seu Linux? Veja como no Plasma 6 e no Gnome
Copiando caminho atual do terminal direto para o clipboard do teclado
Conky não mostra temperaturas da CPU no notebook (5)
Estou com um problema no meu desktop do ubuntu (2)
Não estou conseguindo fazer funcionar meu Postfix na versão 2.4 no Deb... (0)









