Infra - Redes

A Internet de cabeça para baixo

Este artigo é uma tradução e adaptação do original em inglês, de autoria de Pete Stevens e publicado originalmente em sua versão em português no site SegurancaLinux.com.

por Rubens Queiroz de Almeida



Este artigo é uma tradução e adaptação do original em inglês, de autoria de Pete Stevens e publicado originalmente em sua versão em português no site SegurancaLinux.com.

Meus vizinhos usam a internet "tomando emprestado" minha conexão wireless. Eu poderia criptografar meu sinal ou então aproveitar a oportunidade para me divertir um pouco.

Dividir a rede

Eu começo dividindo a rede em duas partes: a parte confiável e a parte não confiável. A parte confiável tem um bloco de endereços e a parte não confiável usa um outro bloco. Nós usamos DHCP para identificar os endereços físicos (MAC addresses), para distribuir para os endereços relevantes.

/etc/dhcpd.conf:

  ddns-updates off;
  ddns-update-style interim;
  authoritative;
  
  shared-network local {
  
     subnet *.*.*.* netmask 255.255.255.0 {
        range *.*.*.* *.*.*.*;
        option routers *.*.*.*;
        option subnet-mask 255.255.255.0;
        option domain-name "XXXXX";
        option domain-name-servers *.*.*.*;
        deny unknown-clients;
     
        host trusted1 {
            hardware ethernet *:*:*:*:*:*;
            fixed-address *.*.*.*;
        }
     }
  
     subnet 192.168.0.0 netmask 255.255.255.0 {
        range 192.168.0.2 192.168.0.10;
        option routers 192.168.0.1;
        option subnet-mask 255.255.255.0;
        option domain-name-servers 192.168.0.1;
        allow unknown-clients;
     }
  }

Iptables é divertido!

De repente, tudo são gatinhos! É a rede dos gatinhos.

  # /sbin/iptables -A PREROUTING -s 192.168.0.0/255.255.255.0 
-p tcp -j DNAT --to-destination 64.111.96.38 

Para quem não sabe, a diretiva acima redireciona todo o tráfego deste rede para o site kittenwar.

Ainda mais divertido, nós configuramos o iptables para redirecionar tudo para um proxy transparente Squid rodando na porta 80 da máquina.

  # /sbin/iptables -A PREROUTING -s 192.168.0.0/255.255.255.0 
-p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.0.1 

Esta máquina roda o Squid com um redirecionador trivial que baixa as imagens, usa o comando mogrify para virá-las de cabeça para baixo, e as entrega ao solicitante a partir do webserver local.

O script de redirecionamento:

  #!/usr/bin/perl
  $|=1;
  $count = 0;
  $pid = $$;
  while (<>) {
     chomp $_;
     if ($_ =~ /(.*.jpg)/i) {
       $url = $1;
       system("/usr/bin/wget", "-q", "-O","/space/WebPages/images/$pid-$count.jpg", "$url");
       system("/usr/bin/mogrify", "-flip","/space/WebPages/images/$pid-$count.jpg");
       print "http://127.0.0.1/images/$pid-$count.jpg ";
     }
     elsif ($_ =~ /(.*.gif)/i) {
       $url = $1;
       system("/usr/bin/wget", "-q", "-O","/space/WebPages/images/$pid-$count.gif", "$url");
       system("/usr/bin/mogrify", "-flip","/space/WebPages/images/$pid-$count.gif");
       print "http://127.0.0.1/images/$pid-$count.gif ";
     }
     else {
        print "$_ ";;
     }
     $count++;
  }

A Internet então fica assim:

E se você troca a diretiva flip por blur -4, você tem a blurry-net (web embaçada).

Apareci no xkcd - legal, não?

Aqui está um email que recebi de Fraser, do site Kittenwar:

  Olá Pete,
  
  Minhas desculpas pelo email não solicitado, mas
  eu pensei em te escrever para dizer o quanto eu
  gosto do seu Upside-Down-Ternet para confundir
  a cabeça dos larápios das redes wireless.
  
  Frequentemente eu recebo emails irados de pessoas
  reclamando que meu site está hospedando algum
  vírus nefasto que os está impedindo de acessar
  a web, acusando-me de praticar todo tipo de
  artes ocultas - e eu educadamente respondo que
  isto só ocorre com as pessoas que estão usando
  a conexão wireless de outros sem autorização, e
  informo-lhes sobre o seu site. Isto já aconteceu
  dezenas de vezes nos últimos anos, e sabe do que
  mais? Nenhum deles jamais retornou meus emails
  depois que eu lhes disse isto.

Fonte: Segurança Linux: A Internet de Cabeça para Baixo

Traduzido e adaptado do artigo: Upside-Down-Ternet - Pete Stevens

Rubens Queiroz de Almeida

Rubens Queiroz de Almeida - Mantenedor do site Dicas-L (http://www.dicas-l.com.br).