Linux slogan
Visite também: Segurança Linux · BR-Linux.org · Dicas-L · Doode · NoticiasLinux · SoftwareLivre.org · UnderLinux



» Screenshot
Linux: Slackware 12.1
Por neutronbg
» Login
Login:
Senha:

Se você ainda não possui uma conta, clique aqui.

Esqueci minha senha



Scripts

Linux user

Publicado por Lucas Porcino em (última atualização em 24/10/2009)   [ 4104 hits ]

Login: LPI, 42734 pontos

   


Descrição

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

[ Download: stopUltraSurf.sh ]   [ Enviar nova versão ]

[ 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
   Script Linux recomendado procurar palavras dentro de todos os ficheiros de sub directorias
   Script Linux recomendado Cadastro SHELL SCRIPT/MySQL/PHP
   Script Linux recomendado Administração Squid
   Script Linux recomendado Firewall Dinamico
   Script Linux recomendado Gerar arquivos CSV no postgresql

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 thur 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


  
Para executar esta ação você precisa estar logado no site, caso contrário, tudo o que for digitado será perdido.
Responsável pelo site: Fábio Berbert de Paula - Conteúdo distribuído sob licença GNU FDL
Site hospedado por:

Viva o Linux

A maior comunidade Linux da América Latina! Artigos, dicas, tutoriais, fórum, scripts e muito mais. Ideal para quem busca auto-ajuda em Linux.