Bloqueio de sites por horário: Squid + IPtables
Publicado por Benedito em 13/02/2015
[ Hits: 5.953 ]
#!/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
Instalando algumas coisas no Debian
Customizando o Ubuntu (temas, ícones e wallpaper) - Seu Ubuntu nunca mais será o mesmo
Concedendo permissão de root a um usuário comum via sudo
Problemas com acentuação, teclado desconfigurado Ubuntu
LazyDocker – Interface de Usuário em Tempo Real para o Docker
Instalando COSMIC no Linux Mint
Turbinando o Linux Mint: o poder das Nemo Actions
Inteligência Artificial no desenvolvimento de software: quando começar a usar?
O widget do Plasma 6 Área de Notificação
[Resolvido] Algo deu errado ao abrir seu perfil
Quando vocês pararam de testar distros? (14)
Problema com som no laptop (3)
Não estou conseguindo fazer funcionar meu Postfix na versão 2.4 no Deb... (2)









