Bloqueio de sites por horário: Squid + IPtables
Publicado por Benedito em 13/02/2015
[ Hits: 5.632 ]
#!/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
Configurando fontes no Firefox 2
Java no Ubuntu 12.04 LTS usando Mozila Firefox 13.0.1
Criando pendrive para instalação do seu GNU/Linux
Acentuando corretamente suas mensagens no cliente de email Evolution
Programa IRPF - Guia de Instalação e Resolução de alguns Problemas
Criando uma Infraestrutura para uma micro Empresa
Criar entrada (menuentry) ISO no Grub
Como gerar qualquer emoji ou símbolo unicode a partir do seu teclado
Instalando o Pi-Hole versão v5.18.4 depois do lançamento da versão v6.0
Instalar o VIM 9.1 no Debian 12
Como saber o range de um IP público?
Muitas dificuldades ao instalar distro Linux em Notebook Sony Vaio PCG-6131L (VPCEA24FM)
Liberação de alguns links no squid (13)
impressora de rede via dominio - gpo (2)