Bloqueio de sites por horário: Squid + IPtables
Publicado por Benedito em 13/02/2015
[ Hits: 6.082 ]
#!/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
Instalar facilmente o Warsaw no Gentoo
Configurando o xorg.conf no Ubuntu - II
Slackware 10 com teclado ABNT2 no X
Configurando Vim colorido no CentOS
O Journal no Linux para a guarda e consulta de logs do sistema
A evolução do Linux e as mudanças que se fazem necessárias desde o seu lançamento
Maquina modesta - a vez dos navegadores ferrarem o usuario
Fscrypt: protegendo arquivos do seu usuário sem a lentidão padrão de criptograr o disco
Sway no Arch Linux: configuração Inicial sem enrolação
Resolvendo o bloqueio do Módulo Warsaw no Arch Linux (Porta 30900)
Continuando meus tópicos anteriores (0)
Saída de loop após teste de if. (2)
Governo da França vai trocar Windows por Linux (9)
Warsaw não é reconhecido no Google Chrome 147.0.7727.55 [RESOLVIDO] (9)









