Bloqueando o uso do UltraSurf

Publicado por Perfil removido (última atualização em 24/10/2009)

[ Hits: 8.675 ]

Download stopUltraSurf.sh




Esse script, trabalhando em conjunto ao Shorewall, bloqueia totalmente o uso do UltraSurf na rede.

  



Esconder código-fonte

#!/bin/bash

# numero limite de servidores (conexoes HTTPS)
limitServersHttps=8

# main()

makeBlacklist() {

# dados Shorewall
SHOREWALL="/sbin/shorewall"
blacklistFile="/etc/shorewall/blacklist"

# arquivos temporarios
tempFile1="/tmp/stopUltraSurf_1.tmp"
tempFile2="/tmp/stopUltraSurf_2.tmp"

cat "$blacklistFile" | grep -v '^#\|^$' > "$tempFile2"

for ip in $1
do

    echo "$ip      tcp      https" >> "$tempFile2"

done

cat > "$tempFile1" << EOF

#ADDRESS/SUBNET      PROTOCOL   PORT
EOF

cat "$tempFile2" | sort | uniq >> "$tempFile1"

cat >> "$tempFile1" << EOF
#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE
EOF

if ! diff -q $tempFile1 $blacklistFile > /dev/null
then
    cat $tempFile1 > $blacklistFile
    
    $SHOREWALL refresh 2>&1 > /dev/null

fi

# remove arquivos temporarios
rm -f $tempFile1 $tempFile2 ; exit 0

} # end of makeBlacklist()

tempFile0="/tmp/stopUltraSurf_0.tmp"

# captura os octetos referentes a rede local (ex.: 192.168.0 )
myNet=$(  host $(hostname)               \
   | awk '{ print $4 }'            \
   | awk -F"." '{OFS="."} { print $1, $2, $3 }' )

# processa todos os endereços IP da rede local, exceto o IP do servidor
for ip in $(echo ${myNet}.{2..254})
do

    iptstate -s "$ip" -D 443 -1    \
    | tail -n +4        \
    | awk '{ print $2 }'    \
    | sort          \
    | uniq          \
    > $tempFile0

    if [ $(cat "$tempFile0" | wc -l) -ge $limitServersHttps ]
    then

   while read line
   do
       
       if host $(echo "$line" | cut -d: -f1) | grep -qi 'dynamic\|adsl'
       then
      ipHosts="$ipHosts $ip" ; break
      
       fi
     
        done < "$tempFile0"
    
    fi
    
done

# remove arquivo temporario
rm -f "$tempFile0"

# gera novo arquivo blacklist se houver IP violando a regra
[ -z "$ipHosts" ] || makeBlacklist "$ipHosts"

Scripts recomendados

Verifica conexão de Net Virtua

WallpaperID - papel de parede com IP e kernel do usuário

APPSOM - Listar e reproduzir músicas, vídeos e imagens

Descobrir se um número é par ou impar

Find em arquivos compactados (grep em arquivos tgz)


  

Comentários
[1] Comentário enviado por removido em 24/10/2009 - 13:33h

Muito Bom Seu Script.
Parabéns.

[2] Comentário enviado por arthurmatiello em 27/10/2009 - 11:35h

Muito bom seu Script.
Pena que não tem como eu testar aqui, mas quando eu for para casaa eu testo.

[3] Comentário enviado por tc.espinol em 06/07/2010 - 22:11h

Infelizmente os devidos créditos de autoria do script "stopUltraSurf.sh" não foram mencionados pelos Sr. Lucas Porcino, o que é lamentável. O Verdadeiro autor do script é Tarcísio C. Espínola e foi publicado originalmente no dia 29.08.2009 no artigo: http://www.opcaolinux.com.br/gnulinux/tutoriais/27-seguranca/121-ultrasurf-entendendo-e-combatendo-o-inimigo.html">http://www.opcaolinux.com.br/gnulinux/tutoriais/27-seguranca/121-ultrasurf-entendendo-e-combatendo-o....

A versão atual do script foi totalmente reescrita em Perl e faz parte da solução OpçãoLinux PDC mantida pelo autor no site http://www.opcaolinux.com.br.

Tarcísio C. Espínola


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts