Criando um cluster de alta performance para quebrar senhas
Este artigo mostra como criar um cluster de alta performance, utilizando Debian Squeeze com 3 máquinas para quebra de senhas utilizando o John the Ripper, com cada nó (servidor) do cluster executando de maneira síncrona o mesmo algoritmo para quebra de senhas.
Introdução
O que é um cluster de alta performance?
Os clusters de alta performance são utilizados para tarefas que exigem grande capacidade de processamento de dados, tais como cálculos matemáticos complexos, renderização de imagens 3D, previsões meteorológicas, entre muitas outras.
Uma das principais vantagens da utilização de clusters de alta performance é o Custo X Benefício, proporcionado pela capacidade do processamento distribuído.
Para entendermos o funcionamento de um cluster, faz-se necessário entendermos o conceito de Message Passing.
Message Passing é o método de envio e recebimento de mensagens em uma rede através de protocolos de comunicação.
Neste caso, as informações são enviadas do processo local para os processos remotos, fazendo com que as tarefas sejam gerenciadas, distribuídas e executadas simultaneamente em todos os servidores do cluster.
Os padrões mais conhecidos de Message Passing são o MPI e o PVM.
Para fins de estudo e aplicação, iremos demonstrar a utilização de um cluster de alta disponibilidade através do MPICH – Implementação Multiplataforma do Padrão MPI – que será responsável pelo processamento paralelo do "John the Ripper", utilizando três máquinas virtuais com o sistema Debian Squeeze, separadamente conectadas para quebra de senha e hashes.
Entendido o conceito de cluster e com um conhecimento razoável em GNU/Linux, mãos à obra!
Segue abaixo, a configuração mínima recomendada:
Em caso de máquinas físicas, a rede local pode utilizar apenas uma placa de rede, desde que possua o acesso externo necessário para download dos pacotes e comunicação com os demais nós (servidores) do cluster.
Utilizaremos neste artigo, a seguinte nomenclatura:
Os clusters de alta performance são utilizados para tarefas que exigem grande capacidade de processamento de dados, tais como cálculos matemáticos complexos, renderização de imagens 3D, previsões meteorológicas, entre muitas outras.
Uma das principais vantagens da utilização de clusters de alta performance é o Custo X Benefício, proporcionado pela capacidade do processamento distribuído.
Para entendermos o funcionamento de um cluster, faz-se necessário entendermos o conceito de Message Passing.
Message Passing é o método de envio e recebimento de mensagens em uma rede através de protocolos de comunicação.
Neste caso, as informações são enviadas do processo local para os processos remotos, fazendo com que as tarefas sejam gerenciadas, distribuídas e executadas simultaneamente em todos os servidores do cluster.
Os padrões mais conhecidos de Message Passing são o MPI e o PVM.
Para fins de estudo e aplicação, iremos demonstrar a utilização de um cluster de alta disponibilidade através do MPICH – Implementação Multiplataforma do Padrão MPI – que será responsável pelo processamento paralelo do "John the Ripper", utilizando três máquinas virtuais com o sistema Debian Squeeze, separadamente conectadas para quebra de senha e hashes.
Entendido o conceito de cluster e com um conhecimento razoável em GNU/Linux, mãos à obra!
Cenário e recomendações
No ambiente proposto, foram utilizadas 3 máquinas virtuais através do VirtualBox.Segue abaixo, a configuração mínima recomendada:
- Hardware compatível com sistema operacional Debian Squeeze;
- 01 Interface de Rede (modo NAT);
- 01 Interface de Rede (modo Internal);
- 256 MB de memória;
- 02 GB de espaço disponível em disco rígido;
- Conexão com a Internet.
Em caso de máquinas físicas, a rede local pode utilizar apenas uma placa de rede, desde que possua o acesso externo necessário para download dos pacotes e comunicação com os demais nós (servidores) do cluster.
Utilizaremos neste artigo, a seguinte nomenclatura:
- deb01 -> servidor master
- deb02 -> servidor slave
- deb03 -> servidor slave