Bloqueio de sites por horário: Squid + IPtables
Publicado por Benedito em 13/02/2015
[ Hits: 5.511 ]
#!/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
Usuários de Voodoo no Mandrake 10
Configurando corretamente o driver Intel em seu xorg.conf
Variáveis de internacionalização no Slackware
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Como renomear arquivos de letras maiúsculas para minúsculas
Imprimindo no formato livreto no Linux
Vim - incrementando números em substituição
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Vou voltar moderar conteúdos de Dicas e Artigos (2)
Melhorando a precisão de valores flutuantes em python[AJUDA] (8)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta