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