domingo, 28 de dezembro de 2008

Bit Torrent

A Internet é um território de downloads e uploads. Você já pensou dessa forma? A explicação é simples. Toda vez que se acessa alguma página na Web se está simplesmente realizando um download da página que está sendo acessada. Quem possui alguma página em funcionamento disponibiliza arquivos em um servidor (muitas vezes por meio de upload) para que os internautas tenham acesso. Isso ocorre em situações que apenas a visualização da página é requerida. Quando um arquivo tal como vídeos, músicas, programas, PDFs, entre outros, necessitam ser baixados, geralmente quando esses arquivos possuem um tamanho relativamente grande, o uso do protocolo Bit Torrent pode ser uma ótima alternativa.

O Bit Torrent é um protocolo baseado em redes P2P (peer-to-peer ou ponto-a-ponto – redes em que a transferência de dados é feita de um ponto a outro) e determina a forma como downloads podem ser feitos mais eficientemente na Internet. Funciona assim: Um arquivo, por exemplo, armazenado em um servidor em Tóquio, precisa ser baixado em um computador situado na cidade de São Paulo. Para trazê-lo de Tóquio para o computador de São Paulo o tempo de download será relativamente maior se comparado a um arquivo que esteja, por exemplo, no Rio de Janeiro, porque o arquivo está mais distante do seu destino. A “rede Bit Torrent” funciona por meio desse dilema. Um arquivo completo é armazenado em um servidor (conhecido também como seed ou seeding) para que alguém faça download. Nesse momento, computadores começam a fazer o download de pedaços do arquivo ao mesmo passo em que compartilham o arquivo recebido com novos computadores que o requisitarem (esses computadores receptores e transmissores são conhecidos como peers). Os outros computadores que forem fazer downloads do arquivo irão “perguntar” ao tracker (servidor que gerencia a rede bit torrent) qual é o computador mais próximo que possa fornecer o arquivo. O tracker ira determinar qual é o computador mais próximo para que o donwload dos pedaços seqüenciais do arquivo possa ser iniciado. Os computadores que completarem o dowload serão novos seeds que poderão fornecer o arquivo completo para novos computadores requisitantes juntamente com os peers que contém pedaços baixados formando assim um swarm (peer(s)+ seed(s)).

O Bit Torrent possui também algumas características bem interessantes. Por exemplo, quanto mais arquivos se tiver para disponibilizar – ou quanto mais arquivos baixados – maior poderá ser a taxa de download do computador cliente porque maior será a chance do computador cliente ser utilizado como servidor e porque a taxa de download é equivalente à taxa de upload, ou seja, a taxa de transferência de download de um peer aumenta na proporção que aumenta o seu upload. Outra característica interessante é que o download pode ser interrompido a qualquer momento e reiniciado a qualquer instante não necessitando que a transferência do arquivo seja completada. (...)

Para baixar um arquivo torrent precisam-se duas coisas: de um cliente torrent e do link do arquivo torrent a ser baixado. Existem vários clientes torrent disponíveis para download como o µtorrent e o ABC. Para achar arquivos torrent há uma infinidade de sites como o próprio site oficial do Bit Torrent que disponibiliza os arquivos, entre outros que podem ser encontrados na Internet.

E aí? Pronto para ser um cliente torrent? Afinal, quanto mais usuários Bit Torrent houver, melhor será a qualidade do serviço.

domingo, 21 de dezembro de 2008

Firewall: Uma “Parede” Necessária


Os ataques feitos pela Internet são cada vez maiores e o número de vítimas afetadas por terem falta de segurança em seus computadores ou por terem falta de conhecimento de uma política de segurança eficaz é expressivo. As máquinas ou dispositivos ligados à Internet, que possuem informações ou dados confidenciais, devem ser protegidos – pelas pessoas autorizadas e das pessoas não autorizadas – visto que carregam informações muitas vezes sigilosas que podem prejudicar moral, material ou de alguma outra forma às pessoas que possuem exclusividade sobre esses dados ou informações que eventualmente vierem a ser danificados ou “furtados”. Mas por que e como isso ocorre? Qual é a importância do firewall para proteger dados e aplicações?

Os ataques aos computadores pela Internet (meio virtual) tendem a ocorrer com maior freqüência porque milhões de pessoas compartilham uma mesma rede, o que facilita encontrar uma vítima vulnerável a algum tipo de fraude que possa ser feita remotamente. Para uma pessoa mal intencionada e com conhecimentos em informática isso é ideal porque a probabilidade de encontrar alguém indefeso e de se aproveitar da fragilidade dessa pessoa é infinitamente maior se comparado a um ataque (ou golpe) que fosse feito no mundo real (meio físico). A diferença na escolha de quem será a vítima passa por um princípio básico muito bem conhecido por crackers (infratores do mundo virtual) ou bandidos (infratores do mundo real): a vítima tende a ser a pessoa menos protegida.

Imagine que um bandido queira furtar uma das casas que estão em festa em uma determinada rua. Ele planeja fazer isso se aproveitando do fluxo de pessoas que entram e saem de uma casa com o objetivo de se misturar entre elas para subtrair objetos da residência. Nessa rua, hipoteticamente, num determinado dia, há 10 casas em festa só que, somente 3 dessas casas possuem um segurança – que toma conta apenas da residência pela qual está responsável – observando a entrada e saída das pessoas e verificando se essas pessoas estão autorizadas a entrar (se são convidadas) ou sair (se mesmo tendo sido convidadas não subtraíram algo da residência). Com quase certeza o bandido, na hora de escolher a “residência-vítima”, irá descartar as três casas protegidas e irá assaltar a casa menos protegidas das 7 que não possuem um segurança. No mundo virtual ocorre a mesma coisa e o firewall tem um papel semelhante ao segurança mencionado.

O firewall (ou “parede de fogo” em português) tem como objetivo monitorar as portas de entrada e saída de uma rede ou computador, bem como, os dados que estão entrando e saindo dessa rede ou computador. Para que isso ocorra é possível definir uma série de políticas de segurança de entrada e saída de dados, de permissões de acesso, bloqueio de portas lógicas, etc.

Há pouco tempo atrás o uso de firewall estava quase restrito ao uso de profissionais de informática e de organizações, porém, com o aperfeiçoamento dos ataques que hoje ocorrem, e com o crescimento e diversificação dos malwares existentes, é algo necessário para que se garanta uma maior proteção aos computadores domésticos. Cabe lembrar que para uma organização um firewall é algo obrigatório no momento atual, tanto para protegê-la dos invasores, quanto para protegê-la dos próprios funcionários que utilizam a rede e que podem utilizá-la indiscriminadamente. Um exemplo clássico é a de um possível funcionário ocioso que queira fazer um download da Internet no local de trabalho. Dois possíveis riscos a empresa estará sofrendo se ele vier a fazer isso: primeiro; ele pode baixar – mesmo sem saber ou desconfiar – um arquivo infectado que poderá contaminar a rede inteira da empresa causando danos de confidencialidade e integralidade dos dados organizacionais ou, segundo; esse arquivo poderá estar sob proteção de direito autoral comprometendo à empresa juridicamente. O firewall, nesse caso, poderá minimizar esses tipos de ocorrência e poderá ajudar a identificar quem causou o dano. Em empresas que possuem normas de uso do sistema assinadas por funcionários, um firewall é de extrema utilidade para “sentenciar” o infrator.

O firewall pode ser um hardware ou um software dependendo do tipo que é utilizado para separar um computador ou rede interna de uma rede externa. Há, ainda, alguns tipos de firewall que são instalados em servidores e filtram pacotes de dados, outros que controlam o funcionamento de aplicações, outros que vêm instalados em roteadores...

Embora o firewall seja uma boa solução para proteger computadores e redes ele não pode ser um item único devendo funcionar em paralelo com outras soluções como: política de segurança lógica e física, antivírus, anti-spywares, anti-rootkits, etc.(...). Para quem quer adquirir um firewall pessoal e utiliza a plataforma Windows é importante, antes de instalá-lo, desabilitar o firewall nativo do sistema para evitar conflitos de softwares. Para quem utiliza o firewall do Windows cabe dizer que ele não é lá uma grande proteção em termos de firewall; é preferível instalar outro com funções mais específicas, porém, se você não utiliza nenhum firewall pessoal é melhor manter o firewall do Windows funcionando do que não contar com nenhuma alternativa.

segunda-feira, 15 de dezembro de 2008

Protocolos IPv4 e IPv6

A Internet possui milhões de computadores interligados em rede formando uma grande teia de comunicação. Esses computadores, embora sejam muitos, são conhecidos um a um por um código conhecido como IP (Internet Protocol – Protocolo de Internet). Esse código permite que cada computador ligado à Internet seja conhecido univocamente.

Atualmente o protocolo mais utilizado é o IPv4 (4ª versão do protocolo IP). Esse protocolo possui 32 bits de números, distribuídos em quatros partes de 8 bits (ou quatro partes de 28 = 256), cujas partes são representadas com os números de 0 a 255; essa é a razão para que os endereços IP sejam, por exemplo, 192.168.30.62 ou 10.33.0.90. Como os endereços IPs são vendidos por classes (A, B ou C) por uma entidade responsável por essa distribuição e cada classe consome uma fatia de IP que nem sempre é totalmente utilizada pela empresa que a detém, isso faz com que números de IPs não sejam todos utilizados e, ao mesmo tempo, não possam ser vendidos gerando-se um gargalo. Por exemplo, quem compra uma fatia de IP da classe C tem direito a 254 IPs, quem compra uma fatia da classe B, tem direito a 65.534 IPs e quem compra uma fatia da classe A tem direito a 16.777.214 IPs. Além disso, há faixas de IPs que são reservadas para redes locais e não podem ser utilizadas na Internet, cujos endereços são: a família 192.168.xxx.xxx, a família 10.xxx.xxx.xxx e os IPs entre 172.16.xxx.xxx e 172.31.xxx.xxx (cerca de 17 milhões de endereços).

A forma de distribuição de números IPs é feita por classes porque são necessários dois grupos de endereços; um que identifique a rede na internet e outro que identifique os computadores da rede (hosts). Por exemplo, se você tivesse 300 computadores que precisassem ser identificados na Internet, você precisaria comprar um grupo de endereços da classe B porque a classe C somente fornece 254 endereços de IPs válidos, ou seja, por exemplo, quem comprou o grupo de endereços 201.69.62.xxx comprou um grupo da classe C e pode usar os números entre 201.69.62.001 e 201.69.62.254, o número 201.69.62, nesse caso, identifica a rede e os três últimos números identificam os computadores da rede. No caso, para 300 computadores, a classe C não corresponde ao número de IPs necessários só que, ao comprar um grupo da classe B, se por exemplo você comprasse a classe 201.69, você compraria todos os IPs entre 201.69.000.001 e 201.69.255.254(65.534 endereços) e ninguém mais poderia utilizar os IPs que sobrassem porque uma rede proprietária deve ser identificada unicamente pela classe utilizada. Cogita-se que até 2012 os números IPs da versão 4 se esgotarão comprometendo o crescimento da Internet. Para solucionar esse problema surgiu o IPv6 (ou 6ª versão do protocolo IP).

O IPv6 possui uma estrutura diferente em relação ao IPv4. Enquanto o IPv4 possibilita uma combinação de um pouco mais de 4 bilhões de números (2564), o IPv6 possibilita o quadrado de combinações da quantidade citada (ou 25616 combinações). Isso se deve às seguintes características:

1. O IPv6 tem 128 bits; o IPv4 tem apenas 32 bits,

2. O IPv6 está dividido em 8 partes de 16 bits (ou 8 partes de 216= 65.536); o IPv4 está dividido em 4 partes de 8 bits (ou 4 partes de 28=256).

3. O IPv6 é formado por números hexadecimais; o IPv4 é formado por números decimais. A diferença é que os números decimais são de 0 a 9 enquanto os hexadecimais são de 0 a 9 mais 6 letras alfabéticas (A,B,C,D,E,F) aumentando, dessa forma, a quantidade de combinações em um menor número de casas numéricas. Por exemplo, em 2 casas numéricas decimais dá somente para criar uma combinação de 100 números (00,01,..., 98,99); em 2 casas hexadecimais dá para criar 256 combinações (00, 01, ..., 0A, 0B, ..., 99, 9A, ..., A1, A2, ..., FE, FF).

4. O IPv6 possui uma estrutura de 8 grupos de 4 dígitos ilimitados, separados por dois pontos (:); o IPv4 possui uma estrutura de 4 grupos de 3 dígitos limitados até o número 255 (pelo fato de cada grupo ter 8 bits), separados por ponto (.). Exemplo: Um número no padrão IPv4 vai do 0.0.0.0 até 255.255.255.255. No padrão IPV6 vai do 0:0:0:0:0:0:0:0 até FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF.

Segundo o site oficial do IPv6 esse protocolo fornece, além de maior quantidade de IPs, “confidencialidade, integridade e privacidade diretamente na camada IP”. Ainda que, atualmente, ele seja pouco conhecido, o IPv6 será mais abordado nos próximos anos e o IPv4 irá coexistir com o novo protocolo pelos menos na fase inicial de implementação.