quarta-feira, 30 de janeiro de 2013

[Virtualização] P2V Xen Convert

Os procedimentos para a conversão de uma máquina física em virtual numa infraestrutura XenServer são realmente muito simples. Deixo aqui um pequeno guia passo-a-passo.

1º Necessitamos de descarregar, instalar e executar o aplicativo XenConverter. (Estão disponíveis versões para x86 e x64)


 Podemos optar pela importação directa no XenServer ou exportação para Xen VHD e posterior importação no XenServer

2º De seguida vamos escolher as unidades que pretendemos migrar. Neste passo podemos manipular o tamanho dos VHDs.



3º Vamos agora escolher a unidade que vai armazenar o nosso backup (possivelmente será um disco externo ou uma partilha)



4º Por fim damos início à conversão dos discos


5º Confirmar no final o sucesso da exportação.

De salientar que quer a exportação quer a importação demoram bastante. Tenham em atenção o tamanho das unidades a migrar.

[Virtualização] XenCenter em Linux

A administração do XenServer é feita por via de um utilitário da Citrix chamado de XenCenter. O problema surge quando tentamos fazer a administração de um Hypervisor Xen com uma máquina linux. O GUI disponível apenas funciona em ambiente Windows e após tentar a instalação com recurso a WINE percebi que não é possível utilizar o mesmo em Linux.

Nesse sentido procurei uma alternativa que não fosse o de utilizar uma máquina virtual com Windows para esse efeito e deparei-me com a solução OpenXenManager. Trata-se de um aplicativo que é em muito semelhante ao XenCenter e que nos permite executar as tarefas mais triviais do dia-a-dia nesta plataforma. Ainda não é perfeito já que algumas das funcionalidades ainda não foram desenvolvidas pelo que é natural que tentem selecionar uma opção e esta não responder, aliás não executar absolutamente nada. No entanto fiquei muito satisfeito com a solução e estou de momento a utilizar a mesma para a administração de um servidor Xen.



Para instalarmos esta solução temos então que executar os seguintes comandos:

sudo apt-get install subversion python-glade2 python-gtk-vnc
cd ~
svn co https://openxenmanager.svn.sourceforge.net/svnroot/openxenmanager openxenmanager
chmod a+x ~/openxenmanager/trunk/openxenmanager
sudo cp ~/openxenmanager/trunk/images/xen.png /usr/share/pixmaps/
 
Os ficheiros serão descarregados para  ~/openxenmanager.


Para criarmos um atalho para a aplicação, no meu caso (kde - kubuntu) carregar ALT+F2 e executar:

kate /home/$USER/.local/share/applications/openxenmanager.desktop

e cole o seguinte conteúdo :
 
[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Exec="/home/$USER/openxenmanager/trunk/openxenmanager"
Name=XenManager
Categories=Application;System;
Comment=Gerenciador de servidores Xen
Icon=xen.png

Troque ”$USER” pelo login real.
Guardar e fechar o editor.
Novamente ALT+F2 e execute :

gedit /home/$USER/openxenmanager/trunk/openxenmanager

e cole o seguinte conteúdo :
 
#!/bin/bash
cd ~/openxenmanager/trunk
python window.py

Guardar e fechar o editor.

Agora vá no menu do ambiente gráfico em Ferramentas de Sistema->XenManager e execute.

Em alternativa pode sempre executar a partir da consola:

cd ~
cd openxenmanager/trunk
./openxenmanager

[Virtualização] Instalar XenServer por USB

Após muito tempo perdido tentando encontrar uma solução para o meu problema de instalar o Xen numa máquina sem leitor de CD/DVD, encontrei um post nas minhas pesquisas que decidi replicar e colocar no meu blog.

Eis então a solução:

1- Fazer o download do XenServer (no meu caso fiz o download da v6.1)

2- Fazer o download do UNetbootin, Universal Netboot Installer

3- Selecionar o ISO e a unidade USB (pen) onde queremos colocar a imagem

4- Colocar o servidor com boot por USB na BIOS

5- Escolher a opção instalar no menu correspondente

*No meu caso optei por fazer as seguintes alterações 

Rename \syslinux.cfg para syslinux_cfg.old
Rename \boot\isolinux para syslinux
Rename \boot\syslinux\isolinux.cfg para syslinux.cfg 
 
Com estas alterações não aparece o menu de arranque do uNetbootin e inicia logo a instalação do XenServer.

[Training] Exercício para Visualg

algoritmo "Ficha Cliente"
// Função :
// Autor :
// Data : 1/8/2013
// Seção de Declarações
var
Nome, Morada, CP1, CP2, Sexo:caractere
PesoActual,PesoIdeal,difPeso, Altura:real
opcao:inteiro

inicio
// Seção de Comandos

opcao <- 1

//ciclo que impede o programa de sair

enquanto (opcao 0) faca


   escreval (".............................................")
   escreval ("              MENU PRINCIPAL")
   escreval (".............................................")
   escreval ("")
   escreval (".............................................")
   escreval ("")
   escreval (".......... (1) - Inserir Cliente ............")
   escreval ("")
   escreval (".......... (2) - Relatório ..................")
   escreval ("")
   escreval (".......... (3) - Calcular Peso ..............")
   escreval ("")
   escreval (".......... (4) - Créditos ...................")
   escreval ("")
   escreval (".......... (0) - Sair do Programa ...........")
   escreval ("")
   escreval (".............................................")
   escreval ("")
   escreva ("............................ Escolha a opção: ")
   leia (opcao)
   limpatela

   //Após a escolha da opcao correcta vamos executar os comandos

   escolha opcao
   caso 1  //inserir os dados do cliente
      escreval (".............................................")
      escreval ("              MENU INSERIR DADOS")
      escreval (".............................................")
      escreva ("      Nome: ")
      leia (nome)
      escreva ("      Morada: ")
      leia (morada)
      escreva ("      Código Postal (ex. 4100): ")
      leia (cp1)
      escreva ("      Código de rua(ex. 123): ")
      leia (cp2)
      escreva ("      Sexo: ")
      leia (sexo)
      escreva ("      Peso actual: ")
      leia (pesoActual)
      escreva ("      Altura: ")
      leia (altura)
      limpatela
   caso 2   //relatorio dos dados do cliente


      //Testar se a var nome tem dados ou esta vazia nome ""

      se (nome "") entao
         escreval (".............................................")
         escreval ("              MENU RELATORIO")
         escreval (".............................................")
         escreval ("     Nome: ", nome)
         escreval ("     Morada: ", morada)
         escreval ("     Código Postal: ", cp1, "-", cp2)
         escreval ("     Peso Actual: ", pesoActual)
         escreval ("     Altura: ",altura)
         escreva ("     Digite 1 para voltar ao menu principal: ")
         leia (opcao)
         enquanto (opcao 1) faca
            limpatela
            escreval (".............................................")
            escreval ("              MENU RELATORIO")
            escreval (".............................................")
            escreval ("")
            escreval ("!!!ERRO...Ainda não tem dados preenchidos!!!")
            escreval ("")
            escreva ("Digite 1 para voltar ao menu principal: ")
            leia (opcao)
         fimenquanto
      senao
         enquanto (opcao 1) faca
            limpatela
            escreval (".............................................")
            escreval ("              MENU RELATORIO")
            escreval (".............................................")
            escreval ("")
            escreval ("!!!ERRO...Ainda não tem dados preenchidos!!!")
            escreval ("")
            escreva ("Digite 1 para voltar ao menu principal: ")
            leia (opcao)
         fimenquanto
      fimse

   caso 3   //calcular peso ideal
      se (nome "") entao
         escreval (".............................................")
         escreval ("              MENU PESO IDEAL")
         escreval (".............................................")
         escreval ("     Nome: ", nome)
         escreval ("     Morada: ", morada)
         escreval ("     Altura: ",altura)
         escreval("")
         se (sexo = "M") ou (sexo = "m") entao
            pesoIdeal <- (72.7*altura) - 58
            difPeso <- pesoactual - pesoideal
            escreval ("     O seu peso ideal deveria ser: ", pesoIdeal)
            escreval ("     Tem uma diferença de peso de: ", difPeso, "Kg.")

         senao
            pesoideal <- (62.1*altura) - 44.7
            difPeso <- pesoactual - pesoideal
            escreval ("     O seu peso ideal deveria ser: ", pesoIdeal)
            escreval ("")
            escreval ("     Tem uma diferença de peso de: ", difPeso, "Kg.")
            escreval ("")
         fimse
         escreva ("     Digite 1 para voltar ao menu principal: ")
         leia (opcao)
         enquanto (opcao 1) faca
            limpatela
            escreval (".............................................")
            escreval ("              MENU PESO IDEAL")
            escreval (".............................................")
            escreval ("")
            escreval ("        !!!Escolheu a opção errada!!!")
            escreval ("")
            escreva ("Digite 1 para voltar ao menu principal: ")
            leia (opcao)
         fimenquanto
      senao
         enquanto (opcao 1) faca
            limpatela
            escreval (".............................................")
            escreval ("              MENU PESO IDEAL")
            escreval (".............................................")
            escreval ("")
            escreval ("        !!!Escolheu a opção errada!!!")
            escreval ("")
            escreva ("Digite 1 para voltar ao menu principal: ")
            leia (opcao)
         fimenquanto
      fimse

      //pesoideal se M <- (72.7*altura) - 58
      //pesoideal se F <- (62.1*altura) - 44.7



   caso 4  //creditos do programa

      enquanto (opcao 1) faca
         limpatela
         escreval (".............................................")
         escreval ("              MENU RELATORIO")
         escreval (".............................................")
         escreval ("")
         escreval ("     Programa elaborado por Ilídio Gonçalves")
         escreval ("     RUMOS - Técnicos de Multimédia")
         escreval ("     T3 - Algoritmia (2013)")
         escreval ("")
         escreval ("")
         escreva ("Digite 1 para voltar ao menu principal: ")
         leia (opcao)
      fimenquanto
   fimescolha

   limpatela

fimenquanto

fimalgoritmo

[Sharepoint] Requesitos para instalar Sharepoint 2010

Se pretender instalar o Sharepoint 2010 vai encontrar uma lista de requesitos que serão ultrapassados automaticamente pelo processo de instalação desde que tenha acesso à internet. Se pretender instalar em modo "offline" terá de descarregar os seguintes pacotes:

 1.SQL Native Client
http://go.microsoft.com/fwlink/?LinkID=160387
2.Hotfix for Microsoft Windows (KB976462) – NET 3.5 SP1 HotFix
http://go.microsoft.com/fwlink/?LinkID=166369
for Windows 2008 R2

3.Windows Identity Foundation (KB974405)
http://go.microsoft.com/fwlink/?LinkID=166363
for Windows 2008 R2

4.Microsoft Sync Framework Runtime v1.0 (x64)
http://go.microsoft.com/fwlink/?LinkID=160382

5.Microsoft Chart Controls for Microsoft .NET Framework 3.5
http://go.microsoft.com/fwlink/?LinkID=160383

6.Microsoft Filter Pack 2.0
http://www.microsoft.com/downloads/en/details.aspx?FamilyId=60C92A37-719C-4077-B5C6-CAC34F4227CC&displaylang=en

7.Microsoft SQL Server 2008 Analysis Services ADOMD.NET
http://go.microsoft.com/fwlink/?LinkID=160390

9.Microsoft Server Speech Recognition Language - TELE(en-US)
http://go.microsoft.com/fwlink/?LinkID=166371

10.SQL 2008 R2 Reporting Services SharePoint 2010 Add-in
http://go.microsoft.com/fwlink/?LinkID=166379
 
 

[Lync] Instalação do Lync Server 2010

Tutorial passo a passo para a instalação de um servidor Lync 2010 Stand Alone.

Para este artigo decidi desenvolver um conjunto de vídeos que publiquei no Youtube da seguinte forma:

1º Instalação da Active Directory Certficate Services
2º Colocar a máquina Lync no domínio
3º Instalação dos requesitos do Lync 2010
4º Lync Topology Builder
5º Lync Instalação dos serviços

 Assim que surjam novos videos este post será também actualizado.

[Linux] Pokerstars no Linux

Veja o video de demonstração em:
http://www.youtube.com/watch?v=zfRQbJPzoQs

[Linux] Instalar App Microsoft no Linux

Como instalar e correr uma aplicação para plataformas Microsoft no Linux?


Para responder a esta questão temos que ter em linha de conta as vantagens / desvantagens das múltiplas soluções. Vamos então começar por abordar algumas das opções que temos:




Emulação do Windows
Em primeiro lugar podemos utilizar uma solução muito comum no mundo Linux que dá pelo nome de Wine (inicialmente era o acrónimo de WINdows Emulator mas mais tarde mudou para precisamente Wine Is Not an Emulator). Á parte da discussão de ser ou não um emulador do Windows, o Wine revela-se neste momento uma solução muito interessante já que conseguimos ter acesso aos periféricos e ter uma performance bem razoável para a execução das aplicações. Entre algumas das desvantagens surge desde logo a falta de suporte para muitas aplicações, ou seja, encontramos várias aplicações desenhadas para plataformas Microsoft que requerem dependencias que o Wine não fornece e como tal não conseguimos instalar ou executar. Para utilizarmos o Wine temos primeiro que o instalar seja através do Centro de Programas Ubuntu, seja através do comando no Terminal sudo apt-get install wine




Virtualização
Outra alternativa passa pela virtualização de uma máquina com um sistema operativo Microsoft. Optar por esta solução obriga à utilização de uma plataforma de virtualização e como tal à instalação da mesma. Podemos conseguir esta plataforma através do Centro de Programas Ubuntu ou com a execução do comando sudo apt-get install virtualbox. Após a instalação teremos que criar uma nova máquina virtual com as características necessárias para a instalação do sistema operativo pretendido bem como ter o media (poderá ser uma imagem ISO) do sistema operativo para a instalação. Após a instalação podemos avançar com a instalação da aplicação pretendida dentro da máquina virtual e ela terá o mesmo comportamento que teria se o computador fosse físico e não virtual.




Remote Apps
De todas as alternativas, esta talvez seja uma das mais em voga. Trata-se do recurso à virtualização de uma aplicação e fornecimento da mesma aplicação sob a forma de SaaS (Software as a Service). Com o crescente aumento da velocidade no acesso à internet, as empresas optaram por fornecer software por sessão em alternativa ao download e instalação local. Exemplos disso são o Google Docs e o Office 365. Á parte dos programas de produtividade podemos também encontrar outras aplicações virtualizadas como software de gestão comercial, financeira, recursos humanos, até mesmo as comunicações de voz podem ser virtualizadas. Naturalmente que a grande dependência aqui será a largura de banda no acesso à internet. Para utilizarmos estas soluções temos então que contratar o serviço junto da empresa que o fornece e o acesso normalmente será efectuado por via web ou através de protocolos de acesso remoto (VPN, RDP, VNC ...)

[Linux] Instalar aplicação no Ubuntu

Como instalar uma aplicação no Ubuntu?


Existem na realidade várias formas de instalarmos uma qualquer aplicação no Linux. De entre elas destaco duas formas que considero as mais simples numa perspectiva de um iniciado neste mundo. Podemos então no Ubuntu (de momento utilizo a versão 11.10 Desktop) utilizar o “Centro de Programas Ubuntu” que vem instalado por omissão na versão que utilizo. Aí podemos utilizar o motor de pesquisa incluído e encontrar a aplicação que pretendemos. Naturalmente que as aplicações não aparecem listadas vindas do nada e como tal estamos a pesquisar um repositório central de aplicações para a plataforma Ubuntu que vai sendo actualizado periodicamente. Poderão no entanto surgir situações em que a aplicação não se encontra disponível no repositório e isso levará à necessidade de adicionar um repositório diferente para a pesquisa ou eventualmente ao download do(s) ficheiro(s) de instalação da aplicação mas não vamos complicar por enquanto.



Uma outra forma de instalarmos a aplicação pretendida passa pela utilização da linha de comandos. Para muitos um quebra cabeças no entanto, como vamos poder verificar, a este nível não é assim tão complicado de utilizar. Para avançarmos com a instalação temos então que iniciar uma consola (sessão terminal) e executar o comando:


user@PC:~$ sudo apt-get install “Nome da aplicação pretendida”






















Com isto, vai ser despoletado o processo de download dos conteúdos e instalação da aplicação pretendida.

[TCPIP] Endereçamento IPv4 - As Classes

endereçamento IP (Internet Protocol) permite-nos identificar um determinado equipamento numa determinada rede. Entende-se por equipamento todo e qualquer hardware que recorra ao protocolo TCP/IP para comunicação sendo que nos podemos referir a placas de rede nos computadores pessoais, routers, placas de rede WI-FI ou até mesmo cortinas electrónicas, alarmes, câmaras de video-vigilância ou o nosso micro-ondas doméstico. Nos dias de hoje, o recurso à domótica no âmbito das casas inteligentes pressupõe comunicações à distância e no que respeita a protocolos utilizados nessas comunicações, como não podia deixar de ser, o TCP/IP é o protocolo predominante. Naturalmente que para nós Humanos, decorar valores numéricos que pouco diferem uns dos outros se torna difícil e nesse sentido utilizamos um método que funciona como tradutor destes valores numéricos ao qual chamamos de domínio. Ao processo de tradução de endereços IP para nomes de domínio e vice-versa chamamos de processo de resolução de nomes. Um exemplo que podemos facilmente utilizar passa pelo endereço www.google.pt que para nós sob a forma de nome claramente nos leva a associar a determinados serviços prestados pela empresa Google no entanto para os computadores este endereço nada diz pelo que ele será traduzido necessariamente para um endereço IP que no caso concreto será o 74.125.230.179. Em última instância ele virá a ser traduzido de decimal para binário por forma a que seja interpretado pela máquina e no final o que a máquina irá identificar será o valor 01001010.01111101.11100110.10110011
Existem então processos que tratam desta tradução ou resolução de nomes e um deles fica a cargo de um serviço de Domain Naming System (DNS).
O endereçamento baseado em IPv4 ao qual me estou a referir neste documento, é composto por 4 conjuntos de 8 bits cada (aos quais chamamos de octetos) formando então 32 bits no seu total de endereçamento. Estes octetos são nos apresentados no sistema numérico decimal pelo que no limite cada octeto pode receber o valor 255 (equivalente a 11111111 em binário ou seja 8 bits com valor 1). Se o valor for superior a 255 em decimal isso traduzir-se-ia para mais dos que 8 bits em binário logo não pode ser utilizado no âmbito do endereçamento IP ou o comportamento desse endereçamento não será o esperado.
O endereço IP divide-se em duas áreas distintas. Uma delas refere-se à rede e a outra refere-se ao host. Neste particular o IP recorre a mecanismos de apoio que facilitam a identificação da rede bem como a dimensão a ser utilizada na mesma. Não será concerteza o mesmo se numa rede eu puder ter 254 equipamentos a comunicarem entre si ou 65536 e como tal percebemos que para que se possa definir a dimensão da rede temos de recorrer a uma espécie de filtro que vai ajudar a dimensionar a rede. A máscara de sub-rede é esse filtro no entanto existem máscaras pré-estabelecidas em função de características inerentes ao primeiro octeto de endereçamento. O primeiro octeto define algo a que nós chamamos de Classe de endereços, classe essa que pressupõe desde logo determinada dimensão de rede.
Temos então 3 classes como se pode verificar na tabela abaixo:
Classe
1º Octeto Endereço Inicial
1º Octeto Endereço Final
Curiosidade
Classe
A
1
127
1º Bit do primeiro octeto é 0
Classe
B
128
191
O 1º octeto começa por 10
Classe
C
192
223
O 1º octeto começa por 110

No endereçamento IP em redes privadas, existem redes cujo propósito se encontra especificamente reservado para esse efeito. Em cada uma das classes no IPv4 nós podemos então encontrar pelo menos uma rede disponível para endereçamento privado conforme a tabela apresentada abaixo:
Classe
Redes Disponíveis
Hosts por rede
Classe A
10.0.0.0
16.777.214
Classe B
172.16.0.0 – 172.31.0.0
65.536
Classe C
192.168.0.0 – 192.168.255.0
256

[TCPIP] Notação CIDR

Um endereço IP tem obrigatoriamente de pertencer a uma classe e utilizar uma máscara de sub-rede que vai funcionar como um filtro. Esse filtro vai permitir determinar a dimensão da rede em utilização. Nesse particular, o endereço pode ser apresentado de forma tradicional com recurso ao IP em decimal e correspondente Máscara de Sub-Rede ou através de uma notação standard muito utilizada pelos fornecedores de serviço de internet (ISP).

Ex. de apresentação tradicional
Endereço IP:
192.168.1.100
Máscara de Sub-Rede:
255.255.255.0

Ex. de apresentação de notação CIDR
Endereço IP:
192.168.1.100 /24

No exemplo acima temos então o mesmo endereço IP apresentado com a mesma máscara de sub-rede todavia recorremos ao /24 o que se traduz em escrever nos primeiros 24 Bits da máscara o valor 1 e nos restantes 8 Bits o valor 0. Logo no exemplo dado iremos utilizar uma máscara com o seguinte valor escrito em binário:
             
11111111.11111111.11111111.00000000

Temos então que no primeiro, segundo e terceiro octetos o valor decimal correspondente será 255 e no quarto octeto o valor será 0 traduzindo desta forma a máscara para o valor que encontramos abaixo:

255.255.255.0

[Training] Dinâmicas de grupo

Aproveito para partilhar um conjunto de dinamicas de grupo que tive oportunidade de testar. São jogos que facilmente adaptamos a qualquer tipo de formação e que poderão ser mecanismos interessantes de motivação, interacção grupal e concentração pessoal.

Fase da Apresentação
Durante o arranque da formação, inicie pela sua apresentação enquanto formador e solicite a apresentação dos formandos. Imediatamente após a última apresentação dos formandos solicite que se levantem e se organizem por ordem alfabética evitando grupos entre formandos que desde já se conheçam. Esta iniciativa promove o sentido de grupo na sala.

Dica #1
Dentro do possível desenvolva multiplos trabalhos de grupo e alterne os membros de cada um dos grupos por forma a promover a comunicação entre os multiplos participantes.

Exercício #1
Puzzle
Trace vários objectivos gerais de forma a que cada objectivo seja constituído por multiplas tarefas para a sua execução. Escreva cada um dos objectivos e cada uma das tarefas em pedaços de cartolina. Execute a mesma operação por forma a ficar com X objectivos e Y tarefas por objectivo por cada grupo para o exercício. Com recurso a BOSTIK ou a um produto semelhante cole os objectivos nas paredes ou vidros da sala. Distribua as tarefas a cada um dos grupos e solicite que as ordenem por grupo e por objectivo. Se quiser pode colocar objectivos dependentes o que vai promover a interacção e discussão entre grupos. Se utilizar os mesmos objectivos e as mesmas tarefas de forma idêntica por todos os grupos pode ainda promover a competição colocando tempo limite para a execução do exercício. No final solicite uma breve explicação do resultado.

Exercício #2
Máquina Humana
Quando o tema é complexo e envolve na sua execução multiplas tarefas recorra a alguns formandos voluntariados e atribua uma tarefa a cada um. Quando der início à execução das tarefas elas serão executadas por via de uma máquina humana promovendo uma aprendizagem pela experiência e de uma forma mais visual aumentando a taxa de sucesso.
Gostaria ainda de salientar que a minha formação académica não foi ligada de todo às ciências sociais pelo que toda esta informação se baseia em experiência de mais de 10 anos de formação. Assim que possível irei actualizar este post com mais algumas dinâmicas utilizadas por mim em sala.

terça-feira, 29 de janeiro de 2013

[Segurança] RAID - Redundant Array of Independent Disks


O conceito sugere um conjunto de dois ou mais discos a trabalharem com a mesma finalidade. Nesse sentido, emergiram alguns modelos que permitem a utilização de múltiplos discos e que em última análise trabalham com os mesmos objectivos.

São eles:

RAID 0 (Stripe set  sem paridade) – Permite acelerar o processo de Escrita / Leitura nos discos dividindo os discos em faixas e tirando partido da Escrita / Leitura nos múltiplos discos em simultâneo. Permite desta forma aumentar a performance de R / W contudo, e pelo facto de não garantir tolerância a falhas, a possibilidade de falha é maior do que num único disco.




RAID 1 (Mirror) – Responde no que respeita a tolerância a falhas já que neste modelo são utilizados pelo menos dois discos que funcionarão como espelho um do outro, contudo a performance de escrita em disco cai pelo facto de ter constantemente de escrever dados nos multiplos discos.




  RAID 0+1 – Mirror de um RAID 0 (ver imagem)

  RAID 1+0 – Stripe set de um RAID 1 (ver imagem)




  RAID 5 (Stripe set com paridade) – Tem um funcionamento semelhante ao RAID 0 no que respeita à divisão dos discos em faixas, permitindo assim uma performance elevada que aumenta em função do número de discos disponibilizados no RAID 5 (no mínimo 3). No que respeita a tolerância a falhas, este modelo permite tirar partido de uma solução composta pela escrita distribuída por todos os discos da paridade para os dados escritos (semelhante ao checksum). Com a paridade, a recuperação dos dados torna-se possível desde que a falha ocorra apenas num dos discos.



 
RAID 6 (Stripe set com paridade) – É em tudo semelhante ao RAID 5 no entanto utiliza o dobro do número de bits para a paridade, permitindo assim assumir até 2 discos em falha em simultâneo. É um padrão relativamente recente no mercado pelo que o custo de hardware para implementação da solução ainda é elevado.

[DIY] Projecto Arcade

Aqui está um dos meus projectos de férias. Construir uma máquina arcade que muitas moedas me consumiu na minha juventude. Acho que para quem viveu na era das arcades nomes como Shinobi, Dungeons and Dragons, Cadillacs and Dinossaurs, os eternos Street Fighter e Mortal Kombat, entre muitos muitos outros são seguramente nomes nostálgicos. Pois bem...finalmente me decidi por avançar com a recriação da máquina. Há imensos projectos na net para a construção do caixote mas eu tive a felicidade de receber um caixote que tinha como destino a lixeira municipal e decidi avançar com esse mesmo. Uma das condições que impus foi a de gastar o mínimo indispensável e o meu budget para já vai em 1,90€ :) fantástico (apesar de que ainda vou ter de abrir os cordões à bolsa). A minha primeira etapa foi a de perceber como é que iria ligar o joystick e botões da arcade a um pc. Existem claro soluções bem simples na net...desde que o orçamento permita gastar 150€ num comando duplo arcade com um emulador para PC, é sempre de considerar. Eu preferi ser um pouco mais creativo e fazer as ligações manualmente ao PC. Para isso e, como vão perceber, usei um teclado velho mas que ainda tinha o integrado a funcionar. Vamos lá às etapas...

1º Desmontar o teclado velho

2º Retirar o circuito que contém o cabo que liga ao PC

3º Escolher as teclas que vão ser usadas no jogo (MAME). Optei por escolher a seguinte combinação de teclas: Player 1 UP (Joystick cima), DOWN (Joystick baixo), LEFT (Joystick esquerda), RIGHT (Joystick direita), CTRL Left (Botão 1), ALT Left (Botão 2), Space (Botão 3), Shift Left (Botão 4), 1 (Botão player 1) Player 2 R (Joystick cima), F (Joystick baixo), D (Joystick esquerda), G (Joystick direita), A (Botão 1), S (Botão 2), Q (Botão 3), W (Botão 4), 2 (Botão player 2) Tenho ainda a necessidade da tecla Enter que terá um botão especial (Botão Select) e a tecla numérica 5 (Botão créditos) Nesta fase optei por apenas ter 4 botões por jogador...sempre passível de aumentar claro :)

4º Agora que já sei as teclas que vou usar vamos voltar ao teclado desmontado e descobrir no circuito impresso os trajectos de cada uma das teclas. Usei uma caneta de acetato (ou CD) para seguir cada trajecto de cada tecla.




5º Numerei cada uma das ligações 




6º Com uma broca muito fina, cuidadosamente furei a placa com o circuito integrado em cada uma das ligações e depois soldei 1 cabo em cada um dos furos (usei cabo UTP e broca de 0,5mm)





7º Abri os cordões à bolsa (1,90€) e comprei 26 (número de cabos que soldei na placa) ligadores (o mais pequeno possível) 8º Numerei os ligadores 1 a 26 e liguei as pontas soltas ao número correcto. O resultado final foi este...




 Como podem ver nas fotos, a minha especialidade não é soldar no entanto consegui graças à ajuda do meu precioso equipamento :)


 
Este projecto ainda está a ser desenvolvido e adicionarei mais info e fotos brevemente.

[Tools] SendEmail

Esta ferramenta é gratuita e serve para o envio de emails via linha de comandos. Pode ser extremamente útil para a automatização do email via script. Pessoalmente utilizo esta ferramenta de forma automatizada por script aquando de uma anormal actividade detectada por um alerta da ferramenta Performance Log's and Alerts. A sintaxe que utilizo é bastante simples. Trata-se de um ficheiro batch onde encontro a seguinte linha: 

 x:\tools\sendEmail.exe -f AlertaServico@empresa.pt -t AdminGroup@empresa.pt -u "VERIFICAR LOG DO SERVIÇO" -m "Actividade anormal detectada no serviço." -s smtp.empresa.pt:25 

Espero que vos seja útil.

[Segurança] Curiosidade - Semana Informática

Uma empresa não está segura recorrendo apenas a uma firewall e um antivirus. As principais ameaças continuam a residir dentro da organização, pelo que é inevitável a existência de uma política de segurança abrangente. Esta é uma matéria sem meio-termo, uma vez que ainda não existem seguros que cubram a informação virtual. Em Semana Informática - Semana de 03 a 09 de Novembro 2006.
 
Se está preocupado com a segurança da sua informação, sugiro, numa primeira instância, a leitura do artigo "Intrusão de rede".

Já é tempo de ver a segurança como um investimento e não um custo.

[Segurança] Leis imutáveis da segurança (visão Microsoft)

Esta é uma visão da Microsoft. Penso que conseguiria assinalar umas quantas mais verdades absolutas no que toca a segurança no entanto, pelo facto de se tratar de uma abordagem da própria Microsoft, vou manter os 10 pontos assinalados sem qualquer alteração.  

1. Se um hacker o conseguir persuadir a executar o programa dele no seu computador, então deixa de ser o seu computador.  

2. Se um hacker puder alterar o sistema operativo do seu computador, então deixa de ser o seu computador.

3. Se um hacker tiver acesso físico sem restrições ao seu computador, então deixa de ser o seu computador.  

4. Se permitir que um hacker possa fazer upload de programas para o seu site web, então deixa de ser o seu site web.  

5. Passwords simples prevalecem sobre um nível de segurança elevado.  

6. Um computador é tão seguro quanto a confiança que tem no seu administrador.  

7. Os dados cifrados são somente tão seguros quanto a chave da cifra.  

8. Um anti-virus desactualizado é apenas ligeiramente melhor que não ter anti-virus.  

9. Anonimato absoluto não existe na vida real nem na web.  

10. A tecnologia não é um remédio universal.

[Segurança] Intrusão de rede e outras ameaças comuns

A intrusão de rede, bem como outros ataques, são provenientes de vários pontos e aparecem sob várias formas. Encontramos então ataques provenientes da rede pública (tipicamente a Internet) mas também da nossa própria rede privada. Na certeza de que ambas as proveniências são de levar em consideração, há que salientar a importância da segurança na rede privada. Os ataques provenientes da rede privada são seguramente mais bem sucedidos do que os restantes já que provêm de pessoal que desde já está autorizado a aceder a áreas no interior da infra-estrutura seja ela física, como pontos de rede, acesso a redes sem fios, acesso físico a servidores, acesso a fitas de backup, ou lógica como funcionários com privilégios na rede e acesso a serviços. Naturalmente que o facto de alguém ter acesso à rede não é sinónimo de ter acesso a todos os recursos e será este um dos níveis de segurança a ter em conta. O hacker (termo utilizado para designar o individuo que tenta furar um sistema de segurança) encontra variadíssimas classificações junto de especialistas em segurança, no entanto, um factor que fora crucial para designar um indivíduo como hacker fora o conhecimento de informática. Hoje em dia, esse factor já não é crucial dada a existência de aplicações automatizadas no sentido de tentar contornar os sistemas de segurança. Uma das muitas questões que podemos levantar será a da motivação que leva alguém a ser hacker. Pois a este nível, encontramos várias respostas, desde logo o reconhecimento público do indivíduo ou grupo de hackers, a curiosidade de aceder a informação e ou recursos privilegiados, o factor de obtenção de lucros com o acesso e eventual comercialização de informação privilegiada a terceiros, a vingança pessoal entre outros. Torna-se importante nesta fase perceber as diferenças entre tentativa de intrusão e ataque. Um ataque não origina por si só uma intrusão. Encontramos ataques com o objectivo claro de indisponibilizar recursos ou serviços. Quero com isto dizer que nem sempre o objectivo do hacker passa pelo acesso a informação ou recursos de uma rede. Pode simplesmente ter interesse em provocar outro tipo de danos sobre a infra-estrutura. Vamos considerar o cenário de um hacker com uma motivação de vingança sobre uma entidade com presença na Internet e comércio electrónico. A paragem ainda que temporária deste serviço poderá traduzir um prejuízo para esta entidade, alimentando desta forma a motivação do hacker. Os ataques podem ser categorizados sob múltiplas formas. Podemos definir um ataque como sendo um conjunto de operações a serem executadas com um objectivo concreto. É crucial percebermos estas operações para que consigamos traçar o perfil do hacker. O hacker pode então utilizar operações automatizadas para o seu ataque, o que se traduz num conjunto de ordens camufladas num programa informático que visa tirar partido de uma maior rapidez de execução. Imaginemos um cenário onde encontramos um pedido de validação ao recurso. Sendo um indivíduo a introduzir manualmente as múltiplas combinações possíveis para a palavra chave de acesso, em função do número de combinações possíveis da chave, poderíamos estar perante um objectivo inatingível, no entanto se a mesma operação fosse automatizada com o recurso a um programa informático para o efeito, em função da velocidade de processamento e comunicações esse objectivo iria ver o seu tempo de execução reduzido de forma absolutamente radical. Naturalmente que, na construção destes programas esteve um indivíduo ou grupo com vastos conhecimentos informáticos transversais a múltiplas áreas nucleares da informática como as redes, os sistemas e a programação. Estas ferramentas visam acima de tudo acelerar as operações, no entanto, há que ter em atenção que nem sempre se limitam a executar a operação que os menos atentos pensam como única. É através deste “doce” que os hackers atraem os seus cúmplices para os ataques mais arrojados. Pode ser facilmente camuflado código malicioso por detrás destas ferramentas com o objectivo de criar buracos nos sistemas destes utilizadores menos experientes. A isto chamamos de back doors da aplicação. Um back door pode existir na própria aplicação que o hacker disponibilizou ou pode ser um pequeno aplicativo anexo ao programa que é executado e reside em memória sob a forma de um serviço a que está assignado o termo de Cavalo de Tróia (Trojan Horse). A função a desempenhar por este Trojan é na realidade fundamental para o hacker já que lhe vai permitir um acesso anónimo e sem restrições a este equipamento. A utilização de uma back door por parte do hacker é o método utilizado para dificultar a identificação da real proveniência de um ataque. Se um ataque é proveniente de um equipamento que está a ser utilizado remotamente, será mais difícil de seguir o rasto. Estes equipamentos intermediários no ataque são intitulados de zombies. Este tipo de ataque tem o nome de ataque distribuído e é naturalmente um ataque mais complexo, no entanto abre outras portas ao hacker permitindo uma rapidez de processamento e comunicação bastante superior já que quantos mais equipamentos estiverem infectados, maior será o número de máquinas que o hacker poderá utilizar para disparar um ataque sobre um qualquer alvo. Um ataque simultâneo proveniente de múltiplas fontes irá aumentar as probabilidades de sucesso e irá diminuir o seu tempo de execução. Imaginemos um ataque cujo objectivo passa por provocar uma falha de um serviço. Com um ataque distribuído, o hacker pode rapidamente disparar um inúmero conjunto de ataques em paralelo provocando uma indisponibilidade do mesmo. A este ataque chamamos de Distributed Denial of Service (DDOS). Esta é apenas uma pequena amostra dos múltiplos ataques a que uma organização está sujeita. Com este artigo pretendo despertar o interesse dos leitores para as questões envoltas na segurança de um sistema.

[Segurança] PKI

Ambiente Windows

Após uma primeira abordagem aos ataques mais comuns, percebe-se que se torna cada vez mais difícil falar em redes seguras. No entanto existem algumas tecnologias que nos permitem construir barreiras cada vez mais complexas no sentido de desencorajar os ataques sobre as nossas infra-estruturas lógicas e físicas. A cifra dos dados teve e terá sempre um destaque especial aquando da implementação de métodos de segurança extremos. Sobre este tema surgem-me desde logo algumas questões. Quais as tecnologias ao nosso dispôr? Quais as vantagens? Qual o custo da implementação? São e serão sempre questões de julgamento subjectivo e naturalmente que as respostas irão variar em função de um conjunto muito extenso de variáveis. As tecnologias dos nossos dias passarão a obsoletas amanhã e irei aqui descrever algumas das que hoje se encontram ainda no mercado com uma relação custo/benefício aceitável. Comecemos pelos protocolos de cifra ao nosso dispôr. Um dos métodos de segurança mais comum será o da utilização de certificados digitais no controlo da autenticação e segurança do acesso aos dados. Para isso torna-se necessária a utilização de uma infra-estrutura de chaves públicas vulgarmente designada de PKI. Esta infra-estrutura condensa um vasto conjunto de funcionalidades associado a uma autorização proporcionada por um certificado digital. Mas então o que é um certificado digital? Pois a resposta a esta questão poderá passar por uma explicação demasiado complexa para ser obtida em poucas linhas no entanto de forma simples um certificado é um ficheiro que proporciona o acesso a uma chave cifrada que por sua vez nos devolve os dados. Poderei dar como exemplo a utilização de uma das funcionalidades do sistema de ficheiros NTFS desde a sua versão 5 (Windows 2000) já que todos os utilizadores terão neste sistema de ficheiros a possibilidade de utilizar os certificados para cifrar documentos (fig. 1). Esta cifra consiste na codificação dos documentos recorrendo a uma chave pública que se encontra disponível e sem qualquer codificação no certificado associado com a sua conta de utilizador. Esta chave irá apenas codificar os documentos já que a descodificação dos mesmos fica a cargo de uma outra chave, esta privada, que se encontra armazenada numa àrea restrita do sistema operativo apenas disponível para um utilizador devidamente autorizado ou seja, aquele que possui o certificado digital utilizado numa primeira fase para a codificação. Estamos então perante um mecanismo de cifra assimétrico. Incide sobre este esquema de chaves públicas e privadas todo o processo de segurança no acesso aos dados contudo para o utilizador final este processo é absolutamente transparente já que o utilizador vai continuar a aceder aos dados através do clique do seu rato. Não devemos esquecer que a codificação/descodificação dos dados tem pontos negativos já que é um processo que consome tempo de processamento bem como espaço de armazenamento. Deverão ponderar a decisão da utilização deste método na sua relação benefício/custo já que dados demasiado dinâmicos ou extensos poder-se-ão traduzir em tempos absolutamente caóticos no que respeita à sua edição e/ou alteração. 

  Fig. 1 

Mas a PKI não se limita somente à gestão da confidencialidade dos dados ou cifra dos mesmos, serão também um garante de integridade e autenticidade dos mesmos com as assinaturas digitais. Uma assinatura digital poderá ter vários fins, servindo desta forma vários propósitos. Podemos encontrar assinaturas digitais ao nível do software, provando que o software em questão foi desenvolvido e disponibilizado por uma fonte fidedigna. Como exemplo disso temos os drivers de harware assinados digitalmente pela Microsoft (fig. 2).

 Fig. 2 


Este método limita-se a garantir que os dados são provenientes de uma dada fonte e não que não foram alterados no seu transporte após a contrução dos mesmos. Vantagens? Naturalmente que existem e desde logo se os dados por ventura forem capturados e adulterados no processo de transporte (Man-in-the-middle), aquando da verificação da autenticidade terão resultados incorrectos o que leva o sistema a rejeitar esses mesmos dados. Esta verificação leva tempo a concluir e poderá não ser solução já que os dados são transportados sem qualquer tipo de segurança. Lembrem-se que autenticidade dos dados não é sinónimo de codificação dos mesmos. Uma outra alternativa no que respeita a segurança será a da utilização de um driver para cifrar os dados na construção dos pacotes por forma a que toda a transferência de dados seja elaborada de forma segura. Refiro-me à utilização do driver de IPSec que, não obstante o custo da demora da transferência de dados, nos permite atingir um nível de sucesso no que respeita à confidencialidade dos dados bastante elevado. Estamos perante uma tecnologia que para além de permitir a confidencialidade dos dados, também autentica a comunicação, permitindo com isso garantir que a proveniência dos dados será de uma fonte fidedigna. Pois então como se concretiza isso? Bom vou começar por utilizar um pequeno cenário para perceber-mos como tudo isto tem início. Numa primeira fase, a sessão a contruir pelo protocolo TCP vai ser autenticada e esse processo terá de ser naturalmente garantido em todas as máquinas, necessitando para isso que seja previamente preparado um esquema de autenticação compatível entre ambas as máquinas. Sim, ambas no sentido de duas máquinas já que a comunicação IPSec tem esse pequeno senão, ou seja comunica numa base máquina-a-máquina e este pormenor deve estar sempre presente nas vossas mentes se estiverem perante uma infra-estrutura física onde necessitem da utilização de protocolos de routing ou Network Address Translation (NAT). Não quero dizer com isto que não é possível comunicar com IPSec via routers, simplesmente necessitamos de uma gestão do driver diferente e que será abordada num outro ponto desta crónica.
Ambiente Windows Após uma primeira abordagem aos ataques mais comuns, percebe-se que se torna cada vez mais difícil falar em redes seguras. No entanto existem algumas tecnologias que nos permitem construir barreiras cada vez mais complexas no sentido de desencorajar os ataques sobre as nossas infra-estruturas lógicas e físicas. A cifra dos dados teve e terá sempre um destaque especial aquando da implementação de métodos de segurança extremos. Sobre este tema surgem-me desde logo algumas questões. Quais as tecnologias ao nosso dispôr? Quais as vantagens? Qual o custo da implementação? São e serão sempre questões de julgamento subjectivo e naturalmente que as respostas irão variar em função de um conjunto muito extenso de variáveis. As tecnologias dos nossos dias passarão a obsoletas amanhã e irei aqui descrever algumas das que hoje se encontram ainda no mercado com uma relação custo/benefício aceitável. Comecemos pelos protocolos de cifra ao nosso dispôr. Um dos métodos de segurança mais comum será o da utilização de certificados digitais no controlo da autenticação e segurança do acesso aos dados. Para isso torna-se necessária a utilização de uma infra-estrutura de chaves públicas vulgarmente designada de PKI. Esta infra-estrutura condensa um vasto conjunto de funcionalidades associado a uma autorização proporcionada por um certificado digital. Mas então o que é um certificado digital? Pois a resposta a esta questão poderá passar por uma explicação demasiado complexa para ser obtida em poucas linhas no entanto de forma simples um certificado é um ficheiro que proporciona o acesso a uma chave cifrada que por sua vez nos devolve os dados. Poderei dar como exemplo a utilização de uma das funcionalidades do sistema de ficheiros NTFS desde a sua versão 5 (Windows 2000) já que todos os utilizadores terão neste sistema de ficheiros a possibilidade de utilizar os certificados para cifrar documentos (fig. 1). Esta cifra consiste na codificação dos documentos recorrendo a uma chave pública que se encontra disponível e sem qualquer codificação no certificado associado com a sua conta de utilizador. Esta chave irá apenas codificar os documentos já que a descodificação dos mesmos fica a cargo de uma outra chave, esta privada, que se encontra armazenada numa àrea restrita do sistema operativo apenas disponível para um utilizador devidamente autorizado ou seja, aquele que possui o certificado digital utilizado numa primeira fase para a codificação. Estamos então perante um mecanismo de cifra assimétrico. Incide sobre este esquema de chaves públicas e privadas todo o processo de segurança no acesso aos dados contudo para o utilizador final este processo é absolutamente transparente já que o utilizador vai continuar a aceder aos dados através do clique do seu rato. Não devemos esquecer que a codificação/descodificação dos dados tem pontos negativos já que é um processo que consome tempo de processamento bem como espaço de armazenamento. Deverão ponderar a decisão da utilização deste método na sua relação benefício/custo já que dados demasiado dinâmicos ou extensos poder-se-ão traduzir em tempos absolutamente caóticos no que respeita à sua edição e/ou alteração. Encrypted File System Fig. 1 Mas as PKI’s não se limitam somente à gestão da confidencialidade dos dados ou cifra dos mesmos, serão também um garante de integridade e autenticidade dos mesmos com as assinaturas digitais. Uma assinatura digital poderá ter vários fins, servindo desta forma vários propósitos. Podemos encontrar assinaturas digitais ao nível do software, provando que o software em questão foi desenvolvido e disponibilizado por uma fonte fidedigna. Como exemplo disso temos os drivers de harware assinados digitalmente pela Microsoft (fig. 2). Drivers Assinados Digitalmente Fig. 2 Este método limita-se a garantir que os dados são provenientes de uma dada fonte e não que não foram alterados no seu transporte após a contrução dos mesmos. Vantagens? Naturalmente que existem e desde logo se os dados por ventura forem capturados e adulterados no processo de transporte (Man-in-the-middle), aquando da verificação da autenticidade terão resultados incorrectos o que leva o sistema a rejeitar esses mesmos dados. Esta verificação leva tempo a concluir e poderá não ser solução já que os dados são transportados sem qualquer tipo de segurança. Lembrem-se que autenticidade dos dados não é sinónimo de codificação dos mesmos. Uma outra alternativa no que respeita a segurança será a da utilização de um driver para cifrar os dados na construção dos pacotes por forma a que toda a transferência de dados seja elaborada de forma segura. Refiro-me à utilização do driver de IPSec que, não obstante o custo da demora da transferência de dados, nos permite atingir um nível de sucesso no que respeita à confidencialidade dos dados bastante elevado. Estamos perante uma tecnologia que para além de permitir a confidencialidade dos dados, também autentica a comunicação, permitindo com isso garantir que a proveniência dos dados será de uma fonte fidedigna. Pois então como se concretiza isso? Bom vou começar por utilizar um pequeno cenário para perceber-mos como tudo isto tem início. Numa primeira fase, a sessão a contruir pelo protocolo TCP vai ser autenticada e esse processo terá de ser naturalmente garantido em todas as máquinas, necessitando para isso que seja previamente preparado um esquema de autenticação compatível entre ambas as máquinas. Sim, ambas no sentido de duas máquinas já que a comunicação IPSec tem esse pequeno senão, ou seja comunica numa base máquina-a-máquina e este pormenor deve estar sempre presente nas vossas mentes se estiverem perante uma infra-estrutura física onde necessitem da utilização de protocolos de routing ou Network Address Translation (NAT). Não quero dizer com isto que não é possível comunicar com IPSec via routers, simplesmente necessitamos de uma gestão do driver diferente e que será abordada num outro ponto desta crónica.doença hipotireoidismo
Ambiente Windows Após uma primeira abordagem aos ataques mais comuns, percebe-se que se torna cada vez mais difícil falar em redes seguras. No entanto existem algumas tecnologias que nos permitem construir barreiras cada vez mais complexas no sentido de desencorajar os ataques sobre as nossas infra-estruturas lógicas e físicas. A cifra dos dados teve e terá sempre um destaque especial aquando da implementação de métodos de segurança extremos. Sobre este tema surgem-me desde logo algumas questões. Quais as tecnologias ao nosso dispôr? Quais as vantagens? Qual o custo da implementação? São e serão sempre questões de julgamento subjectivo e naturalmente que as respostas irão variar em função de um conjunto muito extenso de variáveis. As tecnologias dos nossos dias passarão a obsoletas amanhã e irei aqui descrever algumas das que hoje se encontram ainda no mercado com uma relação custo/benefício aceitável. Comecemos pelos protocolos de cifra ao nosso dispôr. Um dos métodos de segurança mais comum será o da utilização de certificados digitais no controlo da autenticação e segurança do acesso aos dados. Para isso torna-se necessária a utilização de uma infra-estrutura de chaves públicas vulgarmente designada de PKI. Esta infra-estrutura condensa um vasto conjunto de funcionalidades associado a uma autorização proporcionada por um certificado digital. Mas então o que é um certificado digital? Pois a resposta a esta questão poderá passar por uma explicação demasiado complexa para ser obtida em poucas linhas no entanto de forma simples um certificado é um ficheiro que proporciona o acesso a uma chave cifrada que por sua vez nos devolve os dados. Poderei dar como exemplo a utilização de uma das funcionalidades do sistema de ficheiros NTFS desde a sua versão 5 (Windows 2000) já que todos os utilizadores terão neste sistema de ficheiros a possibilidade de utilizar os certificados para cifrar documentos (fig. 1). Esta cifra consiste na codificação dos documentos recorrendo a uma chave pública que se encontra disponível e sem qualquer codificação no certificado associado com a sua conta de utilizador. Esta chave irá apenas codificar os documentos já que a descodificação dos mesmos fica a cargo de uma outra chave, esta privada, que se encontra armazenada numa àrea restrita do sistema operativo apenas disponível para um utilizador devidamente autorizado ou seja, aquele que possui o certificado digital utilizado numa primeira fase para a codificação. Estamos então perante um mecanismo de cifra assimétrico. Incide sobre este esquema de chaves públicas e privadas todo o processo de segurança no acesso aos dados contudo para o utilizador final este processo é absolutamente transparente já que o utilizador vai continuar a aceder aos dados através do clique do seu rato. Não devemos esquecer que a codificação/descodificação dos dados tem pontos negativos já que é um processo que consome tempo de processamento bem como espaço de armazenamento. Deverão ponderar a decisão da utilização deste método na sua relação benefício/custo já que dados demasiado dinâmicos ou extensos poder-se-ão traduzir em tempos absolutamente caóticos no que respeita à sua edição e/ou alteração. Encrypted File System Fig. 1 Mas as PKI’s não se limitam somente à gestão da confidencialidade dos dados ou cifra dos mesmos, serão também um garante de integridade e autenticidade dos mesmos com as assinaturas digitais. Uma assinatura digital poderá ter vários fins, servindo desta forma vários propósitos. Podemos encontrar assinaturas digitais ao nível do software, provando que o software em questão foi desenvolvido e disponibilizado por uma fonte fidedigna. Como exemplo disso temos os drivers de harware assinados digitalmente pela Microsoft (fig. 2). Drivers Assinados Digitalmente Fig. 2 Este método limita-se a garantir que os dados são provenientes de uma dada fonte e não que não foram alterados no seu transporte após a contrução dos mesmos. Vantagens? Naturalmente que existem e desde logo se os dados por ventura forem capturados e adulterados no processo de transporte (Man-in-the-middle), aquando da verificação da autenticidade terão resultados incorrectos o que leva o sistema a rejeitar esses mesmos dados. Esta verificação leva tempo a concluir e poderá não ser solução já que os dados são transportados sem qualquer tipo de segurança. Lembrem-se que autenticidade dos dados não é sinónimo de codificação dos mesmos. Uma outra alternativa no que respeita a segurança será a da utilização de um driver para cifrar os dados na construção dos pacotes por forma a que toda a transferência de dados seja elaborada de forma segura. Refiro-me à utilização do driver de IPSec que, não obstante o custo da demora da transferência de dados, nos permite atingir um nível de sucesso no que respeita à confidencialidade dos dados bastante elevado. Estamos perante uma tecnologia que para além de permitir a confidencialidade dos dados, também autentica a comunicação, permitindo com isso garantir que a proveniência dos dados será de uma fonte fidedigna. Pois então como se concretiza isso? Bom vou começar por utilizar um pequeno cenário para perceber-mos como tudo isto tem início. Numa primeira fase, a sessão a contruir pelo protocolo TCP vai ser autenticada e esse processo terá de ser naturalmente garantido em todas as máquinas, necessitando para isso que seja previamente preparado um esquema de autenticação compatível entre ambas as máquinas. Sim, ambas no sentido de duas máquinas já que a comunicação IPSec tem esse pequeno senão, ou seja comunica numa base máquina-a-máquina e este pormenor deve estar sempre presente nas vossas mentes se estiverem perante uma infra-estrutura física onde necessitem da utilização de protocolos de routing ou Network Address Translation (NAT). Não quero dizer com isto que não é possível comunicar com IPSec via routers, simplesmente necessitamos de uma gestão do driver diferente e que será abordada num outro ponto desta crónica.doença hipotireoidismo
Ambiente Windows Após uma primeira abordagem aos ataques mais comuns, percebe-se que se torna cada vez mais difícil falar em redes seguras. No entanto existem algumas tecnologias que nos permitem construir barreiras cada vez mais complexas no sentido de desencorajar os ataques sobre as nossas infra-estruturas lógicas e físicas. A cifra dos dados teve e terá sempre um destaque especial aquando da implementação de métodos de segurança extremos. Sobre este tema surgem-me desde logo algumas questões. Quais as tecnologias ao nosso dispôr? Quais as vantagens? Qual o custo da implementação? São e serão sempre questões de julgamento subjectivo e naturalmente que as respostas irão variar em função de um conjunto muito extenso de variáveis. As tecnologias dos nossos dias passarão a obsoletas amanhã e irei aqui descrever algumas das que hoje se encontram ainda no mercado com uma relação custo/benefício aceitável. Comecemos pelos protocolos de cifra ao nosso dispôr. Um dos métodos de segurança mais comum será o da utilização de certificados digitais no controlo da autenticação e segurança do acesso aos dados. Para isso torna-se necessária a utilização de uma infra-estrutura de chaves públicas vulgarmente designada de PKI. Esta infra-estrutura condensa um vasto conjunto de funcionalidades associado a uma autorização proporcionada por um certificado digital. Mas então o que é um certificado digital? Pois a resposta a esta questão poderá passar por uma explicação demasiado complexa para ser obtida em poucas linhas no entanto de forma simples um certificado é um ficheiro que proporciona o acesso a uma chave cifrada que por sua vez nos devolve os dados. Poderei dar como exemplo a utilização de uma das funcionalidades do sistema de ficheiros NTFS desde a sua versão 5 (Windows 2000) já que todos os utilizadores terão neste sistema de ficheiros a possibilidade de utilizar os certificados para cifrar documentos (fig. 1). Esta cifra consiste na codificação dos documentos recorrendo a uma chave pública que se encontra disponível e sem qualquer codificação no certificado associado com a sua conta de utilizador. Esta chave irá apenas codificar os documentos já que a descodificação dos mesmos fica a cargo de uma outra chave, esta privada, que se encontra armazenada numa àrea restrita do sistema operativo apenas disponível para um utilizador devidamente autorizado ou seja, aquele que possui o certificado digital utilizado numa primeira fase para a codificação. Estamos então perante um mecanismo de cifra assimétrico. Incide sobre este esquema de chaves públicas e privadas todo o processo de segurança no acesso aos dados contudo para o utilizador final este processo é absolutamente transparente já que o utilizador vai continuar a aceder aos dados através do clique do seu rato. Não devemos esquecer que a codificação/descodificação dos dados tem pontos negativos já que é um processo que consome tempo de processamento bem como espaço de armazenamento. Deverão ponderar a decisão da utilização deste método na sua relação benefício/custo já que dados demasiado dinâmicos ou extensos poder-se-ão traduzir em tempos absolutamente caóticos no que respeita à sua edição e/ou alteração. Encrypted File System Fig. 1 Mas as PKI’s não se limitam somente à gestão da confidencialidade dos dados ou cifra dos mesmos, serão também um garante de integridade e autenticidade dos mesmos com as assinaturas digitais. Uma assinatura digital poderá ter vários fins, servindo desta forma vários propósitos. Podemos encontrar assinaturas digitais ao nível do software, provando que o software em questão foi desenvolvido e disponibilizado por uma fonte fidedigna. Como exemplo disso temos os drivers de harware assinados digitalmente pela Microsoft (fig. 2). Drivers Assinados Digitalmente Fig. 2 Este método limita-se a garantir que os dados são provenientes de uma dada fonte e não que não foram alterados no seu transporte após a contrução dos mesmos. Vantagens? Naturalmente que existem e desde logo se os dados por ventura forem capturados e adulterados no processo de transporte (Man-in-the-middle), aquando da verificação da autenticidade terão resultados incorrectos o que leva o sistema a rejeitar esses mesmos dados. Esta verificação leva tempo a concluir e poderá não ser solução já que os dados são transportados sem qualquer tipo de segurança. Lembrem-se que autenticidade dos dados não é sinónimo de codificação dos mesmos. Uma outra alternativa no que respeita a segurança será a da utilização de um driver para cifrar os dados na construção dos pacotes por forma a que toda a transferência de dados seja elaborada de forma segura. Refiro-me à utilização do driver de IPSec que, não obstante o custo da demora da transferência de dados, nos permite atingir um nível de sucesso no que respeita à confidencialidade dos dados bastante elevado. Estamos perante uma tecnologia que para além de permitir a confidencialidade dos dados, também autentica a comunicação, permitindo com isso garantir que a proveniência dos dados será de uma fonte fidedigna. Pois então como se concretiza isso? Bom vou começar por utilizar um pequeno cenário para perceber-mos como tudo isto tem início. Numa primeira fase, a sessão a contruir pelo protocolo TCP vai ser autenticada e esse processo terá de ser naturalmente garantido em todas as máquinas, necessitando para isso que seja previamente preparado um esquema de autenticação compatível entre ambas as máquinas. Sim, ambas no sentido de duas máquinas já que a comunicação IPSec tem esse pequeno senão, ou seja comunica numa base máquina-a-máquina e este pormenor deve estar sempre presente nas vossas mentes se estiverem perante uma infra-estrutura física onde necessitem da utilização de protocolos de routing ou Network Address Translation (NAT). Não quero dizer com isto que não é possível comunicar com IPSec via routers, simplesmente necessitamos de uma gestão do driver diferente e que será abordada num outro ponto desta crónica.doença hipotireoidismo
Ambiente Windows Após uma primeira abordagem aos ataques mais comuns, percebe-se que se torna cada vez mais difícil falar em redes seguras. No entanto existem algumas tecnologias que nos permitem construir barreiras cada vez mais complexas no sentido de desencorajar os ataques sobre as nossas infra-estruturas lógicas e físicas. A cifra dos dados teve e terá sempre um destaque especial aquando da implementação de métodos de segurança extremos. Sobre este tema surgem-me desde logo algumas questões. Quais as tecnologias ao nosso dispôr? Quais as vantagens? Qual o custo da implementação? São e serão sempre questões de julgamento subjectivo e naturalmente que as respostas irão variar em função de um conjunto muito extenso de variáveis. As tecnologias dos nossos dias passarão a obsoletas amanhã e irei aqui descrever algumas das que hoje se encontram ainda no mercado com uma relação custo/benefício aceitável. Comecemos pelos protocolos de cifra ao nosso dispôr. Um dos métodos de segurança mais comum será o da utilização de certificados digitais no controlo da autenticação e segurança do acesso aos dados. Para isso torna-se necessária a utilização de uma infra-estrutura de chaves públicas vulgarmente designada de PKI. Esta infra-estrutura condensa um vasto conjunto de funcionalidades associado a uma autorização proporcionada por um certificado digital. Mas então o que é um certificado digital? Pois a resposta a esta questão poderá passar por uma explicação demasiado complexa para ser obtida em poucas linhas no entanto de forma simples um certificado é um ficheiro que proporciona o acesso a uma chave cifrada que por sua vez nos devolve os dados. Poderei dar como exemplo a utilização de uma das funcionalidades do sistema de ficheiros NTFS desde a sua versão 5 (Windows 2000) já que todos os utilizadores terão neste sistema de ficheiros a possibilidade de utilizar os certificados para cifrar documentos (fig. 1). Esta cifra consiste na codificação dos documentos recorrendo a uma chave pública que se encontra disponível e sem qualquer codificação no certificado associado com a sua conta de utilizador. Esta chave irá apenas codificar os documentos já que a descodificação dos mesmos fica a cargo de uma outra chave, esta privada, que se encontra armazenada numa àrea restrita do sistema operativo apenas disponível para um utilizador devidamente autorizado ou seja, aquele que possui o certificado digital utilizado numa primeira fase para a codificação. Estamos então perante um mecanismo de cifra assimétrico. Incide sobre este esquema de chaves públicas e privadas todo o processo de segurança no acesso aos dados contudo para o utilizador final este processo é absolutamente transparente já que o utilizador vai continuar a aceder aos dados através do clique do seu rato. Não devemos esquecer que a codificação/descodificação dos dados tem pontos negativos já que é um processo que consome tempo de processamento bem como espaço de armazenamento. Deverão ponderar a decisão da utilização deste método na sua relação benefício/custo já que dados demasiado dinâmicos ou extensos poder-se-ão traduzir em tempos absolutamente caóticos no que respeita à sua edição e/ou alteração. Encrypted File System Fig. 1 Mas as PKI’s não se limitam somente à gestão da confidencialidade dos dados ou cifra dos mesmos, serão também um garante de integridade e autenticidade dos mesmos com as assinaturas digitais. Uma assinatura digital poderá ter vários fins, servindo desta forma vários propósitos. Podemos encontrar assinaturas digitais ao nível do software, provando que o software em questão foi desenvolvido e disponibilizado por uma fonte fidedigna. Como exemplo disso temos os drivers de harware assinados digitalmente pela Microsoft (fig. 2). Drivers Assinados Digitalmente Fig. 2 Este método limita-se a garantir que os dados são provenientes de uma dada fonte e não que não foram alterados no seu transporte após a contrução dos mesmos. Vantagens? Naturalmente que existem e desde logo se os dados por ventura forem capturados e adulterados no processo de transporte (Man-in-the-middle), aquando da verificação da autenticidade terão resultados incorrectos o que leva o sistema a rejeitar esses mesmos dados. Esta verificação leva tempo a concluir e poderá não ser solução já que os dados são transportados sem qualquer tipo de segurança. Lembrem-se que autenticidade dos dados não é sinónimo de codificação dos mesmos. Uma outra alternativa no que respeita a segurança será a da utilização de um driver para cifrar os dados na construção dos pacotes por forma a que toda a transferência de dados seja elaborada de forma segura. Refiro-me à utilização do driver de IPSec que, não obstante o custo da demora da transferência de dados, nos permite atingir um nível de sucesso no que respeita à confidencialidade dos dados bastante elevado. Estamos perante uma tecnologia que para além de permitir a confidencialidade dos dados, também autentica a comunicação, permitindo com isso garantir que a proveniência dos dados será de uma fonte fidedigna. Pois então como se concretiza isso? Bom vou começar por utilizar um pequeno cenário para perceber-mos como tudo isto tem início. Numa primeira fase, a sessão a contruir pelo protocolo TCP vai ser autenticada e esse processo terá de ser naturalmente garantido em todas as máquinas, necessitando para isso que seja previamente preparado um esquema de autenticação compatível entre ambas as máquinas. Sim, ambas no sentido de duas máquinas já que a comunicação IPSec tem esse pequeno senão, ou seja comunica numa base máquina-a-máquina e este pormenor deve estar sempre presente nas vossas mentes se estiverem perante uma infra-estrutura física onde necessitem da utilização de protocolos de routing ou Network Address Translation (NAT). Não quero dizer com isto que não é possível comunicar com IPSec via routers, simplesmente necessitamos de uma gestão do driver diferente e que será abordada num outro ponto desta crónica.doença hipotireoidismo

[Virtualização] Migração P2V Virtual Server 2005 (Projecto Antigo)

Finalmente consegui arranjar algum tempo livre para uma nova publicação. Desta vez irei abordar o tema da migração de uma máquina física para uma nova máquina virtual utilizando as ferramentas gratuitas da Microsoft ou seja Virtual Server Migration Tool (VSMT) e Advanced Deployment Services (ADS).
Para trabalhar com o Virtual Server Migration Toolkit, serão necessários os seguintes componentes:
– Automated Deployment Services
DHCP Service correctamente configurado
– Microsoft Virtual Server 2005
Sistemas Operativos suportados para migração
• Windows NT 4.0 Server with Service Pack (SP) 6a, Standard and Enterprise Editions
• Windows 2000 Server SP 4 or later
• Windows 2000 Advanced Server SP 4 or later
• Windows Server 2003, Standard Edition and Enterprise Edition
VSMT encontra-se disponível para download em:
http://www.microsoft.com/windowsserversystem/virtualserver/evaluation/vsmt.mspx
.Iniciar o Virtual Server 2005 Install.msi, escolher a opção Install Microsoft Virtual Server 2005
.Aceitar o contrato de licenciamento e clicar Next
.No quadro Customer Information deixe os campos Username e Organization com os valores padrão e coloque a chave do produto, seguido de Next
. No quadro Setup Type certifique-se que a opção Complete se encontra selecionada e clique Next
. No quadro Configure Components mantenha os valores padrão e clique next
. No quadro Ready to Install, verifique o caminho da instalação e clique Install
Instalação do MS Virtual Server 2005
Instalar a ferramenta Automated Deployment Services (ADS)
(Este passo pode ser executado na mesma máquina onde instalamos o Microsoft Virtual Server 2005 ou numa outra)
. Instalar o motor do SQL (Install Microsoft SQL Server Desktop Engine SP4 (Windows))
. Instalar o ADS (Install Automated Deployment Services)
. No quadro License Agreement aceite o contrato de licenciamento e clique Next
. No quadro Setup Type clique Next
. No quadro Configure the ADS Controller certifique-se que Use Microsoft SQL Server Desktop Engine (Windows) e Create a New ADS Database se encontram selecionados e clique Next
.No quadro Network Boot Service Settings escolha a opção Use this path: coloque o caminho para a pasta I386 da instalação do Windows Server 2003 e clique next
. Em Windows PE Repository clique Next
. Em Image Location clique Next
. Clique Install em Installation Confirmation
Instalação do ADS
Instalar a ferramenta Virtual Server Migration Toolkit (VSMT)
. Instalar o VSMT (Install Virtual Server Migration Toolkit)
. No quadro License Agreement, aceite o contrato de licenciamento e clique Next
. No quadro Setup Type selecione Full Installation e clique Next
.Clique Install em Installation Confirmation
Instalação do VSMT
Se a instalação do ADS tiver sido efectuada na mesma máquina onde se encontra o serviço DHCP então será necessária a execução do seguinte comando:
C:Program FilesMicrosoft ADSbinADSdhcpconfig.wsf /add
ADS DHCP Config
No directório Samples da instalação do VSMT, execute o script CreateVirtualNetwork.vbs para criar as definições da rede VM0 no Virtual Server 2005.
Criação de uma rede virtual
Todos os executáveis abaixo chamados se encontram no directório da instalação do VSMT (c:Program FilesMicrosoft VSMT):
Execute o comando: gatherhw.exe na máquina que se pretende migrar , este commando vai gerar um XML que virá a ser utilizado pelo VSMT. Grave o XML no directório do VSMT.
O comando deverá estar disponível em c:Program FilesMicrosoft VSMT
XML com o hardware da máquina
Execute o comando: VMScript.exe /hwvalidate /hwinfofile:.xml , este commando vai verificar a compatibilidade do hardware.
Se surgir alguma incompatibilidade então não poderá continuar.
Erro de validação do harware
Validação do harware com sucesso
Execute o comando:
vmscript /hwGenerateP2V /hwInfoFile:.xml /name: /vmConfigPath:vmconfig
/virtualDiskPath:d:vmdisk /hwDestVS: /virtualDiskDynamic /vmMemory:256

Criação dos scripts de migração
Neste momento já todos os scripts de migração foram criados e podemos dar início ao processo de migração. Para a migração ser executada com sucesso será necessária a confirmação de que a máquina Student 1 tem suporte para boot PXE ou será necessária a disquete de arranque do RIS (Remote Installation Services) que poderá ser criada a partir de c:windowssystem32dllcacherbfg.exe (O adaptador de rede, neste último caso, deverá constar da lista de adaptadores suportados pelo RIS.)
Execute o comando:
C:Program FilesMicrosoft VSMTp2v< NomeMaquinaMigrar >< NomeMaquinaMigrar>_Capture.cmd
Execute um restart na sua máquina utilizando o boot PXE.
(Neste momento dar-se-á início ao processo de criação da imagem. No final a máquina irá reiniciar.)
Execute os comandos:
C:Program FilesMicrosoft VSMT p2v< NomeMaquinaMigrar>< NomeMaquinaMigrar>_CreateVM.cmd
Com este comando acabou de criar virtual machine.
C:Program FilesMicrosoft VSMT p2v< NomeMaquinaMigrar>< NomeMaquinaMigrar>_DeployVM.cmd
Este comando deu início à máquina virtual, ligando-a ao ADS e distribuindo a imagem adquirida anteriormente
No final deste ultimo passo a sua máquina física(P) foi correctamente migrada para virtual(V)
Execute este comando somente se surgirem erros!!
Irá eliminar a VM criada anteriormente!
C:Program FilesMicrosoft VSMT p2v< NomeMaquinaMigrar>_cleanupVM.cmd
Para mais informação:
WHITE PAPER VSMT
http://www.microsoft.com/windowsserversystem/virtualserver/overview/vsmtwhitepaper.mspx
VSMT FAQ
http://www.microsoft.com/windowsserversystem/virtualserver/evaluation/vsmtfaq.mspx