sexta-feira, 31 de dezembro de 2010

Bloqueando recursos com o Editor de Registro

Após longa data sem posts (desculpem o final do ano é corrido) vou escrever sobre o bloqueio de recursos através do editor de registro.
O Editor de Registro (regedit) é uma ferramenta poderosa capaz alterar o comportamento do Windows de acordo com a edição de chaves. Muitos vírus utilizam-se do Registro do Windows para bloquear recursos como o próprio acesso ao registro, acesso ao painel de controle, gerenciador de tarefas e muito mais.
Para fazer tais alterações é possível utilizar o GPedit.msc (Gerenciador de Diretivas de Grupo) do Windows, mas existem pelo menos duas boas razões para sabermos fazer esta alteração pelo Registro.
  1. Podemos precisar habilitar recursos que um vírus desabilitou.
  2. Podemos usar uma versão do Windows sem o GPedit.msc (como o Windows 7 Home)
Na realidade as alterações são bastante intuitivas, podemos entrar no editor de registro (Menu Iniciar >> Executar >> Regedit) e procurar a seguinte chave:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies

Todas as sub-chaves e valores dentro desta chave Policies, se referem a políticas de trabalho como o bloqueio de recursos ou definição de comportamento.
Obs: Notem que estamos em HKEY_LOCAL_MACHINE as alterações aqui terão efeito para todo o computador, se usarmos HKEY_CURRENT_USER faremos a alteração apenas para o usuário atual.

Para fazer alterações aqui basta pesquisar pelo recurso que queremos bloquear e ou mesmo usar um pouquinho de intuição. Se queremos bloquear o Painel de Controle basta ir na sub-chave Explorer e criar uma DWORD com o nome NoControlPanel e atribuir a essa DWORD o valor 1 como na figura.


A mesma coisa pode ser feita para desabilitarmos o menu Executar do menu iniciar criando uma chave NoRun. Bloquear o desligamento com NoClose.
Bloquear o registro ***CUIDADO*** não se esqueça que quando esta alteração funcionar você não vai poder entrar no registro para voltar ao normal então, se você não sabe como editar o registro sem o REGEDIT não faça esta alteração. System\DisableRegistryTools DWORD valor 1.

Alguns exemplos podem ser obtidos nestes sites


Caso você precisa alterar um registro sem ter acesso ao Regedit pode usar o prompt de comando e usar o comando REG add. Por exemplo para liberar a edição do registro use:

REG add HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System /v DisableRegistryTools /t REG_DWORD /d 0

REG add HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\System /v DisableRegistryTools /t REG_DWORD /d 0


Essa instrução irá perguntar se você quer sobrepor o registro (caso ele exista) você deve autorizar com Y.

Caso você queira deixar esse processo todo automático basta usar uma VBScript (que também não é bloqueada quando o Regedit é bloqueado). Para isso leia http://tipratica.blogspot.com/2010/01/editando-o-registro-do-windows-com.html

Desejo a todos um 2011 de muito sucesso e realização!!

terça-feira, 7 de dezembro de 2010

Evitar protetor de link - Continuação

Recentemente eu fiz um post sobre como evitar os protetores de link:

http://tipratica.blogspot.com/2010/11/evitar-protetor-de-link.html

Protetor de link são aqueles sites que você tem que fazer um cadastro do seu celular ou alguma outra coisa para acessar. Veja que essa dica não deve funcionar para sites onde você se cadastra para ter acesso um acesso como login e senha.

Independente disso, alguma pessoas reclamaram que não conseguem achar o link no código-fonte. A dica é usar uma ferramenta de busca procurando pelo nome do site destino.

Exemplo: Vou fazer um download no MegaUpload, ok então usa a busca (ctrl+f normalmente) e digito megaupload para encontrar algo como http://www.megaupload.com/algumacoisa

Algumas pessoas não acharam o link porque os sites de proteção estão usando redutores de link como o migre.me ou o bit.ly, na dúvida procurem pela expressão http:// que em algum momento você vai encontrar o link desejado.

Salvar a tela do computador

Quantas pessoas querem tirar uma foto da tela do computador e não sabem como ou até sabem que existe o PrintScreen mas tem que ficar editando a imagem no paint?!

A primeira dica é obvia

Botão PrntScr = Print Screen (Salva a tela inteira)

Ok e mas segunda pode facilitar a sua vida.

Alt + PrntScr (Salva a janela atual)

No Windows 7 tem um programinha de captura de tela chamado Ferramenta de Captura que funciona um pouco diferente do comando anterior.
Se você tiver o Microsoft OneNote instalado pode usar ainda o atalho da tecla do Windows.
Para quem não sabe tecla do Windows é aquela que fica entre o Ctrl esquerdo e o Alt esquerdo.

Windows + S = Copia para o OneNote
Windows + D = Mostra área de trabalho (Não tem a ver com o post mas a galera gosta de saber essa)

E por último tem uma ferramenta que serve quando você quer copiar alguma coisa que não cabe na tela, mas é possível imprimir. Aí você pode usar o PDFCreator, ferramenta que cria uma impressora de PDF no seu computador.

sexta-feira, 3 de dezembro de 2010

Cláusula IN e Querys Inteiras da aplicação para o IReport

Pra variar só uma dica rápida no blog. Se você tem uma aplicação e precisa usar a clausula IN no IReport deve ter feito algo assim e encontrou dificuldades


SELECT
     table.`row` AS table_row,
FROM
     `table` table
WHERE
     table.`row` IN  ($P{ROW})

Vi que algumas pessoas em fóruns por aí apanhando com isso.
A solução é MUITO simples. Aprendemos a inserir parâmetros como $P{ROW} onde ROW é o nome do meu parâmetro. O problema é que quando tentamos usar a cláusula IN desejamos passar algo como ('v1','v2'...) ou seja uma lista de parâmetros. Para isso dar certo a QUERY SQL deve ser escrita assim:

SELECT
     table.`row` AS table_row,
FROM
     `table` table
WHERE
     table.`row` IN  ($P!{ROW})

A diferença para quem não percebeu foi a '!' entre o 'P' e a '{'.

Se você quer montar sua QUERY SQL inteira na aplicação e passa-la ao IReport em tempo de execução deve usar o mesmo conceito. Acredito que hajam soluções melhores do que passar a QUERY inteira em tempo de execução, mas quem quer começar a usar o IReport e encontrar alguma dificuldade com campos mais complexos deve se lembrar dessa exclamação, porque ela faz TODA a diferença.

quarta-feira, 1 de dezembro de 2010

Dicas MySQL

Bom percebi que muitas pessoas tem dificuldades com linguagem SQL um pouquinho mais avançada. Vou ensinar duas técnicas que eu usei recentemente e que acredito serem bem úteis. Uma é bem simples mas muita não usa por pensar que é complicado.

Quando desenvolvemos um banco de dados é importante que as checagens que garantem a integridade do banco, não sejam feitas apenas na interface (software), pois outra aplicação, ou outra interface pode ser feita e não respeitar as regras do banco. Por isso é importante que algumas verificações sejam feitas no banco. Um exemplo interessante são os índices únicos.

Um índice único (UNIQUE) é um atribuído a um campo, ou um conjunto de campos, de uma tabela que não pode possuir valor repetido. Por exemplo se eu tenho uma tabela PESSOAS com um campo NOME, posso desejar que o banco de dados não aceite duas pessoas de nome igual. Para isso executaríamos o seguinte comando.

ALTER TABLE pessoas ADD UNIQUE INDEX(nome);

Esse comando obviamente só funciona se a tabela já existe.
Podemos ver um problema aí, pois o se existirem duas pessoas com o mesmo nome, apenas uma delas poderá ser cadastrada no sistema. Então é importante estarmos atentos à real aplicação do sistema.
Poderíamos remover nosso índice com 

ALTER TABLE pessoas DROP INDEX (nome);

Uma situação que não permite erros é o cadastro de cidades por UF. Vamos supor que temos uma tabela ESTADO com apenas um campo UF que possui as siglas dos estados brasileiros. Temos também uma tabela CIDADE que possui os campos COD_CIDADE, NOME e ESTADO_UF, onde este último é uma chave estrangeira para a tabela ESTADO.
Essa situação é interessante, pois podemos e temos cidades com o mesmo nome, mas não no mesmo estado, logo o índice único deve ser composto pela UF e o nome da cidade. Isso pode ser feito com o comando abaixo:
ALTER TABLE cidade ADD UNIQUE INDEX(estado_UF, nome);

Outra dica, um pouco mais complicada. Quem já precisou fazer um SELECT e no resultado subtrair os resultados de um outro SELECT. Por exemplo tenho um sistema de avaliação de cursos. Quero apresentar ao usuário os cursos que ele pode avaliar. Normalmente fazemos um SELECT que irá apresentar todos os cursos que o usuário assistiu. Vamos chamar esse select de SELECT QueryA e SELECT QueryB é o comando que mostra os cursos que o usuário já avaliou. Então nosso desejo seria fazer um 

SELECT ( QueryA - QueryB );

Um comando NÃO ACEITO pelo MySQL. Descobri que muita gente faz isso de formas realmente complicadas, por isso vou apresentar uma solução BEM simples.

SELECT DISTINCT QueryA not in (QueryB);

Agora basta substituir QueryA e QueryB pelas instruções que você já testou e funcionam separadamente. Óbvio que é necessário que os resultados de SELECT QueryA e SELECT QueryB possuam campos e elementos em comum para que o comando seja eficaz.

segunda-feira, 22 de novembro de 2010

Evitar protetor de link

Este post possui uma continuação: http://tipratica.blogspot.com/2010/12/evitar-protetor-de-link-continuacao.html

Eu ando meio sumido, é que o tempo está bem corrido mesmo. Então vou mandar só uma dica para quem não sabe. Já viram esses sites que você vai fazer download e na hora que clica no download é enviado para um site "protetor de link" onde você tem que cadastrar o celular antes de fazer o download, ou qualquer coisa do gênero. Algumas pessoas vieram reclamar que os sites que elas acessam possuem esses protetores e me perguntaram como evitar esses protetores.

Em primeiro lugar vale ressaltar que o site usa esses protetores de link para receber algo em troca de disponibilizar o download para as pessoas, mas cadastrar o celular é um negócio incomodo mesmo, então vai aí uma dica. Quando você clicar no site e for direcionado ao protetor de links abra o código fonte e procure o link final do download.

No Google Chrome é só apertar ctrl + u, no Internet Explorer clicar em "página -> código fonte". Uma vez aberto o código fonte, procure pelo site destino com a busca do navegador (ctrl + f) e você encontrará o link desejado.

Só para não perder a viagem, já que estamos falando do assunto, existe um software gerenciador de downloads muito bom para quem faz muitos downloads o JDownloader. É bem simples de usar, basta copiar o link desejado e, se for de algum site de download conhecido o programa faz o resto (verifica a disponibilidade e até preenche as "letrinhas" de verificação). Você pode fazer o download do programa no site oficial http://jdownloader.org/download/index vale a pena conferir se você não conhece.

sexta-feira, 5 de novembro de 2010

MySQL Connector Java e NetBeans

Se você programa em Java e quer utilizar o MySQL existe uma interface própria da Sun/Oracle para desenvolvedores Java, chamada MySQL connector. O download pode ser feito no site do MySQL http://www.mysql.com/downloads/connector/j/. Para utilizá-lo no NetBeans devemos inserir a biblioteca no projeto como na imagem abaixo.


E os exemplos que eu fiz podem ser baixados diretamente do link abaixo.

http://www.megaupload.com/?d=MLHGFM5Y

Os dois exemplos contidos são respectivamente um Select e um Insert. Os métodos mais comuns podem ser realizados baseados nesses dois exemplos.

quinta-feira, 4 de novembro de 2010

Instalando o Microsoft Security Essentials

Depois do post http://tipratica.blogspot.com/2010/10/microsoft-security-essentials.html algumas pessoas vieram me perguntar sobre o Windows Security Essentials. Fiz então esse vídeo que deve ajudar a instalar o Security Essentials.



sexta-feira, 29 de outubro de 2010

Criando uma VPN com OpenVPN.

Já a algum tempo eu escrevi um post falando dos benefícios de usar uma VPN como um nível extra de proteção para serviços de rede. Vou ensinar uma forma rápida de criar uma VPN ponto-a-rede.

A VPN ponto-a-rede, é aquela que utilizamos para conectar um único computador (ponto) a uma rede. Uma situação comum para isso, é quando a empresa possui uma rede interna protegida por um firewall e que acessar essa rede a partir de um notebook.

Assumimos a seguinte estrutura de TI, uma rede corporativa com IPs no padrão 192.168.0.X, com um firewall linux IP interno 192.168.0.1 e externo 208.67.222.222

Em nosso servidor linux devemos instalar o OpenVPN:
# aptitude install openvpn
Depois de instalado copiamos os script de exemplo criados pela instalação em /etc/openvpn
#cp /usr/share/doc/openvpn/examples/easy-rsa/2.0/* /etc/openvpn
Começamos a instalação. Dentro do diretório /etc/openvpn
# . ./vars
# ./clean-all
# ./build-ca
Observe que é . [espaço] ./vars, a primeira vez que eu vi isso achei que fosse um erro de digitação, mas é assim mesmo.
Quando executamos o script build-ca ele deve fazer uma seqüencia de perguntas onde a mais importante é common name que deve ser respondida como server para funcionar corretamente na aplicação. As demais você pode preencher ou aceitar as opções padrão.


Agora vamos criar os arquivos do servidor.

# ./build-key-server server
Depois de respondermos cada pergunta, ele deve mostrar um resumo de nossas respostas e perguntar se queremos realmente assinar o certificado. Devemos responder que sim digitando y.
E por último o script pergunta se temos certeza que queremos incluir este servidor em nosso banco de dados. Devemos responder novamente que sim com y.
Criamos agora os arquivos de cada usuário, com sua respectiva senha.
# ./build-key-pass usuario
# ./build-key-pass lucas
Onde usuario e lucas são os dois usuários criados.
A primeira pergunta deste script é o PEM passphrase que será a senha deste usuário.
No mais podemos deixar as opções padrão, o commom name de cada usuário será seu próprio nome e devemos responder as duas últimas perguntas com y como na etapa anterior.
Depois geramos os parâmetros diffie-hellman (isso pode demorar um pouco)
# ./build-dh
O arquivo de configuração do servidor deve ficar assim
  # IP e porta do servidor
  local 208.67.222.222
  port 1194
  proto udp
  dev tun

  # Certificados gerados
  ca ca.crt
  cert server.crt
  key server.key
  dh dh1024.pem

  # Criar no diretorio cdd/cliente a configuracao
  # dele - ou uma invalida para trava-lo :)
  client-config-dir ccd

  # Rede que os clientes irão "pegar"
  server 10.8.0.0 255.255.255.0
  push "route 192.168.0.0 255.255.252.0"
  push "dhcp-option DNS 192.168.0.1"

  # Neste arquivo serão guardados os IPs dos clientes
  # para conectarem com o mesmo IP da proxima vez
  ifconfig-pool-persist ipp.txt
  client-to-client

  # Ative para permitir dois clientes com o mesmo
  # certificado - não recomendável
  ;duplicate-cn
  keepalive 10 120

  # Compressão, privilégios do cliente
  comp-lzo
  max-clients 15
  user nobody
  group nobody

  # Logs e etc
  persist-key
  persist-tun
  status      /var/log/openvpn-status.log
  log         /var/log/openvpn.log
  log-append  /var/log/openvpn.log
  verb 6
Este arquivo deve ser salvo como /etc/openvpn/openvpn.conf
Para finalizarmos devemos copiar os arquivos ca.crt, dh1024.pem, server.crt e server.key de /etc/openvpn/keys para /etc/openvpn.
Pronto, o servidor está pronto e pode ser iniciado com
# /etc/init.d/openvpn/start
Agora vamos ao cliente Windows. Primeiramente baixe o pacote contido no link.
http://www.megaupload.com/?d=8669PV98
Faça a instalação completa.
Na pasta c:\arquivos de programas\openvpn\config copie os seguintes arquivos:

  • ca.crt
  • usuario.key
  • usuario.crt
  • server.ovpn
O arquivo server.ovpn deve estar configurado desta forma para o cenário proposto.
client
dev tun
proto udp

remote 208.67.222.222 1194
resolv-retry infinite
nobind

persist-key
persist-tun

ca ca.crt
cert usuario.crt
key usuario.key

ns-cert-type server
comp-lzo
verb 3

Espero ter ajudado.

Ajustando resolução do console linux

Se você usa Linux, já deve ter visto alguém com dificuldades para ajustar a resolução na interface gráfica (GUI) seja ela qual for KDE, GNOME ou outra qualquer. Já tive que arrumar resolução tantas vezes em interface, que só essa semana me dei conta que não lembrava como ajustar a resolução no console.

Logo que você inicia seu computador que possui Linux, você provavelmente vê um boot loader como o grub ou o lilo. Como prefiro as distribuições derivadas do Debian (ou o próprio Debian) que usam o grub, podemos ajustar a resolução apenas incluindo um parâmetro no boot.

Para alterar os parâmetros de boot digite no console:
# vi /boot/grub/menu.lst

Podemos encontrar no final do arquivo algo assim:
title  Debian GNU/Linux, kernel 2.6.26-2-686
root  (hd0,0)
kernel  /boot/vmlinuz-2.6.26-2-686 root=/dev/hda1 ro
initrd  /boot/initrd.img-2.6.26-2-686

Basta incluir a opção desejada de vga no final da linha Kernel como

title  Debian GNU/Linux, kernel 2.6.26-2-686
root  (hd0,0)
kernel  /boot/vmlinuz-2.6.26-2-686 root=/dev/hda1 ro vga=791
initrd  /boot/initrd.img-2.6.26-2-686

Onde 791 representa uma resolução de 1024x768

Para encontrar a resolução correta, você deve ter o hwinfo instalado e digitar
# hwinfo --framebuffer

A resposta deve ser algo como

  Mode 0x0300: 640x400 (+640), 8 bits
  Mode 0x0301: 640x480 (+640), 8 bits
  Mode 0x0303: 800x600 (+800), 8 bits
  Mode 0x0305: 1024x768 (+1024), 8 bits
  Mode 0x0307: 1280x1024 (+1280), 8 bits
  Mode 0x030d: 320x200 (+640), 15 bits
  Mode 0x030e: 320x200 (+640), 16 bits
  Mode 0x030f: 320x200 (+960), 24 bits
  Mode 0x0310: 640x480 (+1280), 15 bits
  Mode 0x0311: 640x480 (+1280), 16 bits
  Mode 0x0312: 640x480 (+1920), 24 bits
  Mode 0x0313: 800x600 (+1600), 15 bits
  Mode 0x0314: 800x600 (+1600), 16 bits
  Mode 0x0315: 800x600 (+2400), 24 bits
  Mode 0x0316: 1024x768 (+2048), 15 bits
  Mode 0x0317: 1024x768 (+2048), 16 bits
  Mode 0x0318: 1024x768 (+3072), 24 bits
  Mode 0x0319: 1280x1024 (+2560), 15 bits
  Mode 0x031a: 1280x1024 (+2560), 16 bits
  Mode 0x031b: 1280x1024 (+3840), 24 bits
  Mode 0x0340: 320x200 (+1280), 24 bits
  Mode 0x0341: 640x400 (+2560), 24 bits
  Mode 0x0342: 640x480 (+2560), 24 bits
  Mode 0x0343: 800x600 (+3200), 24 bits
  Mode 0x0344: 1024x768 (+4096), 24 bits
  Mode 0x0345: 1280x1024 (+5120), 24 bits
  Mode 0x0346: 320x200 (+320), 8 bits
  Mode 0x0347: 1600x1200 (+6400), 24 bits
  Mode 0x0348: 1152x864 (+1152), 8 bits
  Mode 0x0349: 1152x864 (+2304), 15 bits
  Mode 0x034a: 1152x864 (+2304), 16 bits
  Mode 0x034b: 1152x864 (+3456), 24 bits
  Mode 0x034c: 1152x864 (+4608), 24 bits

Onde Mode 0x0317 é a opção vga=791, porém 0x0317 é a representação hexadecimal de 791.

Dessa forma é simples encontrar as resoluções possíveis para o seu adaptador de vídeo e configurar a resolução desejada. 

segunda-feira, 25 de outubro de 2010

Alterar o IP no Windows XP

Como eu havia prometido, esta aí o vídeo ensinando a mudar o IP no Windows XP. Uma correção, na hora que eu digo que o IP não existe, eu pretendia dizer que o IP não está disponível.





Espero que o vídeo seja bem ilustrativo, se for mais fácil vou fazer o máximo de posts em vídeo mesmo!!

domingo, 17 de outubro de 2010

Alterar o IP no Windows 7

Muita gente tem dificuldade para trocar o IP no Windows. Apesar de ser uma alteração bastante simples, não é algo comum para quem não trabalha com computação. Vou explicar passo-a-passo como alterar o IP no Windows 7. Para o post não ficar muito longo eu não vou explicar sobre os demais Windows, mas ainda farei outros dois posts explicando o procedimento no Windows XP e Windows Vista.

Windows 7

Menu Iniciar >> Painel de Controle



No Painel de Controle Selecione a categoria Rede e Internet (Se o seu Painel de Controle não estiver exibindo por categoria você pode ir diretamente para Central de Redes e Compartilhamento).




Se o seu Painel de Controle estava no modo de categorias, entre em Central de Redes de Compartilhamento.


A esquerda selecione a opção a opção Alterar as configurações do adaptador



Para alterar o IP em uma rede Wireless selecione a Conexão de Rede sem Fio conectada, para alterar o IP na conexão através do cabo selecione a Conexão Local conectada.

Clique com o botão direito sobre a conexão escolhida e clique em Propriedades.


Selecione a opção "Protocolo TCP/IP versão 4 (TCP/IPV4)" e clique em propriedades.



Preencha os campos com os dados desejados o selecione a opções automáticas caso seja possível em sua rede.



Observação: Caso você fique curioso sobre esse endereço DNS, pertencem a uma opção de DNS eficiente e aberta, não importando que é o seu provedor de internet.

quarta-feira, 13 de outubro de 2010

Clonar HD no VirtualBox

O VirtualBox é um software de virtualização da Oracle. Para quem não sabe virtualização é a criação de um ambiente virtual muito parecido com um computador real, através do qual podemos executar sistemas operacionais e aplicativos sem interferência na estrutura do sistema hospedeiro. Se você tem interesse em saber o que é virtualização, o google é seu amigo e você pode fazer download do VirtualBox, instalar e ver a coisa acontecer. Acredito que seja bastante esclarecedor ver o VirtualBox funcionando para entender, mas agora vamos ao assunto principal.

Estava fazendo uns testes com o VirtualBox onde preparei três máquinas virtuais (sem HD) adicionei uma HD a uma das máquinas, formatei e queria usar uma cópia dessa HD para cada máquina virtual em meus testes.

O intuito disso é simples, não ter que fazer uma nova formatação para o mesmo Sistema Operacional em cada máquina virtual (com Hardware igual ou muito semelhante).

Em um computador com Windows, as máquinas virtuais do VirtualBox ficam no diretório do usuário no Windows XP em c:\documents and settings\usuario e no Vista/7 fica em c:\users\usuario em um diretório chamado .VirtualBox

Não testei no linux, mas acredito que o diretório .VirtualBox fique em /home/usuario/

Nada a ver com o assunto, mas para quem não sabe por que alguns softwares criam esses diretório com . (ponto) no começo como .VirtualBox eis a razão, no linux o ponto antes do nome do diretório determina que esse diretório possui a propriedade oculto, diferente do Windows onde oculto é uma propriedade do sistema de arquivos (Fat/NTFS).

Continuando, se você tentar copiar um arquivo de HD como "hd antigo.vdi" para "hd novo.vdi" você não irá conseguir adicionar o arquivo novo no VirtualBox porque o ID do HD já está em uso. Para clonar corretamente um HD e gerar um ID correto você deve entrar pelo prompt de comando (cmd) no diretório de instalação do VirtualBox, que pode variar mas deve ser algo como "c:\arquivos de programas\oracle\VirtualBox", e digitar:

VBoxManage clonehd "hd antigo.vdi" "hd novo.vdi"

As aspas (") só são necessárias se o arquivo possuir o caracter espaço ( ), para que o programa entenda que "hd antigo.vdi" é um nome único e não dois parâmetros separados "hd" "antigo.vdi". Uma observação importante é que esse comando pode variar de versão para versão, em algumas versões ao invés de "clonehd" se usa "clonevdi".

quinta-feira, 7 de outubro de 2010

Criar Imagens ISO de CD/DVD

Existem muitas vantagens em criar imagens ISO de CDs e DVDs como usá-lo novamente, não ter que se preocupar com a mídia (até porque nunca encontramos os CDs quando precisamos deles), é mais rápido fazer a leitura direto do seu HD do que do CD entre outras vantagens e a maior desvantagem é o espaço que eles ocupam em nossos computadores.

Precisei criar imagens dos CDs de instalação do Windows para fazer testes com o Virtual Box e percebi que não tinha mais softwares de gravação de ISO no meu computador. Encontrei um programa legal na internet e gratuito. Chama-se IsoRecorder, você instala em seu computador e depois pode criar uma imagem do CD/DVD apenas clicando com o botão direito do mouse sobre ele.



O programa é simples pequeno e intuitivo.
O download pode ser feito diretamente da página do desenvolvedor.


Observação: Para utilizar uma imagem ISO, pode-se utilizar o WinRAR, DaemonTools ou outro software, dependendo da sua aplicação.
Para gravar a imagem ISO em outro CD/DVD no Windows 7 você não precisa de nenhum software específico, o próprio Windows vem com este recurso.

terça-feira, 5 de outubro de 2010

Desligar o computador automaticamente

Várias vezes eu preciso desligar meu computador automaticamente para deixá-lo instalando um programa ou fazendo um download e desligar quando terminar. Normalmente uma hora ou um pouco mais seria suficiente, mas as vezes temos que deixar o computador ligado por causa dessa horinha que precisamos.

Existem softwares gráficos que podem ser encontrados no Google para desligar o computador, mas como eu prefiro não instalar nada para obter o benefício vou ensinar como fazer sem instalar nada.

Na versões mais atuais do Windows (XP/Vista/Seven/2003 Server/2008 Server) você pode abrir o prompt de comando pelo seguinte caminho:

Menu iniciar >> Executar >> cmd

Dentro do prompt de comando você pode usar o comando shutdown para desligar da seguinte forma:

shutdown -s -t xxx

Onde o -s é a opção para desligar, o -t é o tempo em segundos ou seja para desligar o computador depois de uma hora basta digitar shutdown -s -t 3600.




Para cancelar o desligamento basta digitar shutdown -a.

O linux possui um comando semelhante, para programar o desligamento no linux basta digitar shutdown -h 3600 para programar um desligamento após uma hora, ou shutdown -h now para desligar no momento que o comando é passado. Mais informações sobre o uso do comando shutdown podem ser obtidas com shutdown /help (Windows) ou man shutdown (linux).

Microsoft Security Essentials

Quem me conhece sabe que eu não sou muito fã dos softwares AntiVírus. As principais razões para isso são:
  • O impacto dos softwares AntiVírus sobre o desempenho
  • A ineficiência sobre os vírus mais comuns
Eu não ganho nada para fazer propaganda (antes que me perguntem), mas pela primeira vez estou satisfeito com um AntiVírus.
O Microsoft Security Essentials foi eficiente na remoção de vírus como o mencionado nesse post, em todos os casos que eu precisei recentemente, além de ter um impacto mínimo sobre os computadores que eu testei.
A boa notícia é que esse AntiVírus é gratuito, sem propagandas e não depende de pagamento para que o usuário tenha direito a algum recurso. A má notícia (para alguns) é que o Microsoft Security Essentials só funciona em Windows original.


Para quem não via benefícios em usar software original vou apresentar alguns começando por esse.
  • Microsoft Security Essentials
  • Suporte
  • Legalidade
Fora o fato de que um software pirata possui procedência questionável e dessa forma pode trazer vírus já que foi alterado.

Para quem quer saber mais sobre software legalizado vale a pena ler a seção de benefícios da Microsoft e quem tem Windows original e quer fazer download do Microsoft Security Essentials pode acessar o link:


Versões para Windows XP 32Bits e Windows Vista/Seven 32 ou 64 Bits

segunda-feira, 16 de agosto de 2010

VPN - Razões para se usar

Muitas vezes encontro empresas que utilizam serviços como, VNC, Remote Desktop, SSH ou mesmo o compartilhamento padrão do Windows através da internet.
Quando sou consultado sobre se isto está correto explico que existe uma forma segura de executar tais serviços e introduzo o conceito de VPN.

Nesta postagem quero apenas introduzir de forma bem simplificada conceito de VPN (Virtual Private Network) e não ensinarei ainda a implementá-lo.

Uma VPN é, como diz o nome, uma Rede Virtual Privada, uma rede privada que funciona sobre uma rede pública como a internet. De forma simplificada quando um computador se conecta a uma rede através da VPN é como se ele estivesse fisicamente no mesmo local da rede destino. Exemplo:

Você têm um notebook e em sua casa outros três computadores em rede. Quando você chega na sua casa e conecta seu notebook a rede de sua casa, você tem algum acesso a esses computadores, seja apenas o compartilhamento do Windows, ou qualquer serviço de rede como VNC, SSH ou remote desktop.

Pois bem, como fazer para acessar esses mesmos serviços quando você não está em casa? Em alguns casos apenas uma configuração no gateway de sua rede, permite que você acesse os serviços pela internet, mas é seguro confiar apenas em uma senha como a do VNC?

Muitas vezes vejo empresas com vários serviços, confiando apenas na senha do serviço como segurança. Uma senha como a do VNC, normalmente (nem sempre) é muito fácil de ser alterada ou descoberta. A razão é a falta de criptografia em alguns softwares, ou o nível muito baixo de criptografia na maioria deles (fora o fato de que no Windows ela fica armazenada em uma chave do registro que é praticamente conhecimento público).

Outro ponto importante a se considerar é que a informação que trafega por alguns serviços não é criptografada, então se estamos usando o notebook em um local público (rodoviária, shopping, hotel...) corremos o risco de ter a informação que trafega dos nossos computadores até o serviço correspondente "interceptada", ou seja, os arquivos que estamos enviando, recebendo, ou mesmo a senha que fornecemos para utilizar o serviço pode ser roubada por um usuário mais experiente que esteja na mesma rede, ou mesmo por um administrador de índole questionável do local que fornece seu acesso a internet.

Em nosso exemplo uma forma de aumentar a segurança é implantar uma VPN em nossa rede doméstica. de forma que os serviços só possam ser usados por quem está conectado fisicamente a rede, ou pela VPN.

Conectar à VPN tem um resultado semelhante ao que obtemos quando chegamos em casa e conectamos nosso notebook na rede. É claro que a rede interna (provavelmente 10/100) é muito mais rápida do que a conexão que teremos ao cruzar todas a internet com um link de 2 Mb ou mesmo 8 Mb, comuns em residências e locais públicos.

Um ganho simples disso é que para se conectar à VPN, um usuário mal intencionado teria que:
- Descobrir que há uma VPN em sua rede
- Descobrir a porta de acesso
- Conseguir os certificados de acesso
- Descobrir a senha

Depois de tudo isso ele terá o mesmo trabalho que teria antes para conseguir invadir o seu serviço de rede, que antigamente era utilizado diretamente na internet.

Fica fácil perceber que, na pior das hipóteses aumentaremos consideravelmente o trabalho de um possível invasor, fora outros ganhos que podem ser mencionados como a criptografia que te permite trafegar com os dados, mesmo que se esteja em um local público, com um nível de segurança muito maior já que a informação é criptografada.

Para sermos justos vou mencionar as duas desvantagens que percebo em VPNs.
- Diminui um pouco a praticidade
- Torna o serviço um pouco mais lento

Diminui a praticidade, pois antes o acesso ao serviço era feito diretamente, apenas digitando a senha do serviço e agora é necessário conectar a VPN antes de acessar qualquer serviço.
Torna um pouco mais lento, pois o processo de criptografia dos dados demora um pouco, realmente pouco, mais dependendo do serviço pode ser sensível a diferença.

Já que eu citei desvantagens vale lembrar que quanto mais seguro o sistema, menos prático e mais lento ele tende a ser (de novo, eu não disse sempre).

sexta-feira, 13 de agosto de 2010

Remoção de Vírus W32.sality.AE

Recentemente um cliente me chamou por estar aparecendo uma "mensagem de vírus" em alguns computadores da empresa. Em uma postagem recente sobre vírus eu escrevi que um vírus dificilmente chega a um computador sem ajuda do usuário. Essa situação é interessante porque ela ilustra um pouco do que eu disse na postagem anterior sobre vírus.

A situação é a seguinte:

- Um usuário abre um arquivo infectado pelo vírus que chegou por e-mail
- O vírus infecta o sistema deste computador e começa a procurar por compartilhamentos na rede para se propagar

Vejam, o vírus de fato chegou ao segundo computador sem ajuda do usuário, mas este computador não foi infectado, ele passou a carregar o vírus, mas o sistema não estava comprometido até que um usuário lá executou o vírus.

O vírus se propagou para vários computadores que não foram infectados, pois os usuários não executaram um aplicativo desconhecido (medida simples e eficaz que evita MUITA dor de cabeça), até que chegou a um computador com anti-vírus que começou a avisar todos que havia um computador infectado na rede e criou aquele clima de desespero em que todo mundo começa a falar pela empresa "Tá com vírus na rede!!" uma afirmação curiosa, já que um vírus não pode infectar "a rede", apenas computadores.

Como remover o Vírus W32.sality.AE

Em outro computador, que não esteja infectado, faça download das ferramentas
Consiga ainda um anti-vírus de sua preferência, eu usei o Symantec Client 10.2

Vocês podem ler sobre a atuação do vírus no site da Symantec.

Primeiro coloque todos os downloads acima em um CD ou pendrive para levar até o computador infectado. Se você optar por pendrive, saiba que nessa etapa o vírus irá infectar sua pendrive quando você colocá-la no PC infectado, então se você não sabe como limpar sua pendrive eu sugiro que você use CD.

Não execute os downloads no PC infectado ainda!!

Você deve ter notado que o vírus bloqueou seu acesso ao gerenciador de tarefas e ao editor de registro (regedit) do Windows.

Primeiro Passo
- Abra o Stinger e não feche ele em hipótese alguma, pois se você fechar e o vírus puder de qualquer forma ele irá infectar o arquivo do Stinger.
- Selecione primeiramente o drive onde está o sistema operacional, provavelmente o C:\
- Selecione depois os demais drives do seu HD se houver.
Nota: Espero não precisar dizer, mas não há muita razão para você selecionar drives removíveis como CD, DVD ou pendrive.

Segundo Passo
- Terminada a execução do Stinger ele deve ter limpado seu Explorer.exe que estava na memória infectado. Por isso você deve ter recuperado acesso ao Regedit e ao Gerenciador de Tarefas.
- Menu Iniciar -> executar -> regedit
- Navegue e delete as entradas sugeridas no site da Symantec na seção de remoção deste vírus.

Terceiro Passo
- Instale o MalwareBytes
- Atualize
- Execute uma Verificação Completa

Quarto Passo
- Instale seu anti-vírus de preferência
- Atualize
- Execute uma Verificação Completa

Quinto Passo
- Abra o arquivo SafeBoot.zip
- Procure o especificado para o seu Sistema Operacional. O arquivo possui entradas de registro à serem restauradas.
- Execute o arquivo correto, ele deve pedir uma confirmação, clique em SIM

Sexto Passo
- Reinicie o computador
- Repita as verificações do Stinger, MalwareBytes e do Anti-vírus

Notas
É importante que seu anti-vírus tenha um sistema de proteção residente, chamado também de auto-protect, pois o vírus tentará infectar de novo se houver alguma chave infectada ainda no registro.
As vezes o Stinger "trava" em alguns arquivos e não progride na limpeza. Se ele já estiver lendo os arquivos e não mais os processos na memória, não há problema em pará-lo, o mais importante dele é limpar o sistema para que o MalwareBytes e o Anti-vírus não sejam infectados na instalação.

Se tiver dificuldades me manda um e-mail ok?!

Sources.list

Recentemente fui atender um cliente que usa o Debian Etch (que hoje é oldStable) e o Stable atual é o Lenny. Para quem não sabe do que eu estou falando sugiro uma leitura rápida à respeito na Wikipedia.

Fui instalar um programa pelo Aptitude, aqueles que preferem o apt-get também usam o mesmo arquivo de Sources e encontrei uma dificuldade. Quando o Etch era a versão Stable meu Sources.list estava assim:

deb http://security.debian.org/ etch/updates main contrib
deb-src http://security.debian.org/ etch/updates main contrib

deb http://ftp.us.debian.org/debian/ etch main contrib non-free
deb-src http://ftp.us.debian.org/debian/ etch main contrib non-free

Agora que o Etch é oldStable esse Sources.list não funciona mais.
Para resolver a questão basta mudar o link de ftp.us para archive pois agora os sources referentes ao Etch foram para o arquivo. No meu caso pude tirar a linha de deb-src então o meu arquivo ficou assim:
deb http://security.debian.org/ etch/updates main contrib
deb-src http://security.debian.org/ etch/updates main contrib

deb http://archive.debian.org/debian etch main contrib non-free
Pronto! Meu aptitude voltou a funcionar no Debian Etch.

Dica: Se o seu computador não é um servidor corporativo, considere a opção de migrar para uma versão mais nova, porque o Lenny deve virar OldStable ainda em 2010, então o Etch deve ficar bem para trás.

terça-feira, 20 de julho de 2010

Autenticação ADSL no Linux

Recentemente um cliente que usa o Speedy (ADSL da telefônica) mudou o seu Speedy de forma que precisa de autenticação (Usuário/Senha) mesmo sendo o produto Speedy Business que antes não precisava de autenticação.

No caso do meu cliente a internet é compartilhada por toda aquela unidade através de um gateway com Linux e possui alguns serviços que necessitam do IP fixo e acesso externo, eliminando a possibilidade de eu configurar o modem para fazer a autenticação (pois dessa forma as tentativas de acesso destinadas ao IP externo são gerenciadas pelo modem e não pelo firewall do linux).

Então voltando ao foco vou mostrar uma solução simples para os usuários de Linux. Vamos usar os pacotes:

- pppoe
- pppoeconf


Para isso faça login como root (ou qualquer superusuário) e vamos lá.
Primeiro atualize a lista de pacotes do seu apt

#aptitude update

Eu gosto mais do aptitude do que do apt-get se alguém quiser fazer pelo apt-get deve saber se virar.

Agora vamos instalar os pacotes

#aptitude install pppoe pppoeconf

Então começamos a configuração

#pppoeconf

Uma janela irá abrir com todas as interfaces de rede encontradas em seu computador.
Se a interface que está conectada ao seu modem ADSL (no meu caso o modem do speedy) estiver listada selecione a opção "Yes".

O software irá procurar pelo modem. Se o modem estiver configurado para autenticar automaticamente ele não irá reconhecer o modem como um concentrador PPPoE.

A segunda tela questiona se você quer que algumas opções como "noauth" e "defaultroute" sejam incluídas e outras como "nodetach" sejam removidas. Em resumo a questão é se você que que ele auto-configure sua conexão com as opções mais comuns.

No caso do speedy podemos selecionar "Yes".

Pode apenas selecionar "Yes" na próxima tela e irá aparecer a tela de usuário e senha. Coloque o seu usuário de acesso a internet, algo como "seunome@seuprovedor.com.br" e então a sua senha.

As próximas telas questionam se o DNS deve ser selecionado automaticamente e se a conexão deve ser iniciada automaticamente ao reiniciar o computador. Se você tem dúvidas selecione "Yes" nas próximas opções, devem funcionar para o seu Speedy.

Quando terminar você pode iniciar a conexão com

#pon call dsl-provider

E parar com

#poff

Uma alternativa é reiniciar o computador e tudo estará configurado e funcionando.

quinta-feira, 28 de janeiro de 2010

Mitos sobre os vírus

Existem muitos mitos sobre os vírus de computador e por isso eu vou falar um pouco sobre o assunto. Se alguém tiver mais dúvidas me manda um e-mail que eu respondo aqui.

Como um vírus chega no meu computador?
Primeiro é bom saber que menos de 1% dos vírus são capazes de infectar um computador por "propagação instantânea" ou seja sem que alguem vá lá e execute o vírus.

Vamos entender, um vírus só infecta um computador a partir do momento que ele está em execução.
Ele é um programa em execução assim como o Word, o Excel e outros.
Da mesma forma o Word só é executado quando você o executa, ou alguma vez você ligou o seu computador e o Word abriu sózinho? Vc colocou uma pen drive e o Word abriu sózinho?
Assim como o Word o vírus só começa a execução depois que você o executa, mas ele faz de tudo para que você o execute sem perceber, se disfarçando de programas legítimos, se disfarçando de programas do Windows, de escondendo em links da internet, infectando arquivos legítimos e assim vai.

Aí vem uma coisa engraçada, às vezes a empresa me procura porque um computador está infectado com um vírus. Só um computador e eu pergunto "quem tanto usa esse computador e o cara me responde só eu, como será que o vírus entrou aí?", é difícil saber que a resposta é "Você colocou ele aí!" eu poderia afirmar isso com 99% de certeza, mas essa resposta geralmente incomoda as pessoas, por isso nunca diga isso responda que vai procurar a origem (e procure é importante achar o ponto da infecção para evitar que o vírus volte).

O vírus de pen drive infecta meu computador assim que eu coloco a pen drive?

Não. Assim como os demais vírus, o vírus de pen drive só infecta o computador quando você o executa.



Os mais atentos podem concluir que eu estou usando Windows Vista e em inglês, mas voltando ao que interessa podemos observar que a primeira opção é um vírus, disfarçado sob o nome de explorer.exe, mas dentro do conjunto de opções destinado a programas e não possui uma assinatura.

Sempre use a opção "abrir com windows explorer" ou qualquer coisa do gênero mas que esteja dentro da guia de opções gerais, ou seja nunca utilizando a opção de executar um programa.

Essa é a forma mais segura e prática de abrir um pen drive, outros caminhos como abrir o "Meu Computador" e dar dois cliques no ícone do pen drive pode acionar o vírus dependendo do vírus e da versão do windows, clicar com o botão direito no ícone e tentar escolher uma opção também pode dar errado, portanto a minha sugestão caso você descubra que seu pen drive está infectado é chamar alguém que saiba limpá-lo.

Ao abrir um e-mail infectado o vírus já infecta meu computador?

Novamente, não.
Para ser infectado você deve ter clicado sobre um link para um vírus, ou abriu um anexo com vírus.
Na maior parte dos casos hoje temos um link com vírus, vou ensinar a verificar se um link é legítimo.
Veja esse e-mail.



Clicando com o botão direito do mouse sobre o link e clicando em propriedades vemos o seguinte.



Vamos observar.
No e-mail o link deveria apontar para http://tipratica.blogspot.com/ mas a URL que aparece nas propriedades é http://tipratica.blogspot.com/2010/01/mitos-sobre-os-virus.html

Nesse caso se alguem clicar no link ele não vai executar um vírus, vai abrir este post ao invés de entrar simplesmente no blog.
Mas porque não colocar o link inteiro.
Sempre que recebo um e-mail antes de abrir um link eu verifico o destino para onde ele aponta. Caso o link escrito seja um e a URL nas propriedades seja outro eu nem abro, pois assumo que se o link aponta para outro lugar, não deve ser legítimo. Claro que existem exceções mas na dúvida entre em contato com a pessoa que te enviou o e-mail.

A regra principal disso tudo é bom senso. Se antes de simplesmente clicarmos na primeira coisa que aparece na nossa frente pensarmos um pouco vamos ver que os vírus podem mesmo ser evitados. Meu pai não é da área da computação e comete muitos erros no uso do computador dele, mas faz 1 ano que ele está sem antivírus no computador dele e o computador não está infectado. Eu não uso antivírus a mais de cinco anos e nesses cinco anos só peguei 1 vírus e por pura desatenção.

quarta-feira, 27 de janeiro de 2010

VBScript - Retornar nome do usuário

O VBScript é uma ferramenta muito interessante pois pode automatizar uma série de processos que costumamos fazer manualmente no suporte à usuários Windows.

Muitas vezes queremos fazer algo e precisamos do nome do usuário logado no windows.

Segue abaixo um script que pode ser usado para a obtenção do nome do computador e do usuário logado.

Dim WshNetwork
Set WshNetwork = WScript.CreateObject("WScript.Network")
WScript.Echo "Nome do computador = " & WshNetwork.ComputerName & VBCrLf
WScript.Echo "Usuário = " & WshNetwork.UserName & VBCrLf


Só para não jogar a informação sem explicações, vamos analisar rapidamente esse script.

Na primeira linha declaramos o objeto genérico WshNetwork.
Na segunda linha instânciamos o objeto para o tipo WScript.Network.
Nas duas linhas a seguir apenas jogamos na tela uma mensagem para ilustrar que os métodos ComputerName e UserName retornam o nome do computador e do usuário respectivamente.


Qualquer dúvida me manda um e-mail, ok?!

terça-feira, 12 de janeiro de 2010

Editando o Registro do Windows com VBScript

Existem várias formas de usar VBScript para editar o Registro do Windows.
Vou abordar nesse post apenas como editar um registro, sem criar ou excluir chaves e valores.
Como acho esse exemplo interessante vou mostrar como bloquear pen drive via VBScript.

Para entender um pouco melhor essa parte do registro você pode ler o post sobre bloqueio de pen drive.

Sabendo qual chave mudar simplesmente usamos o código abaixo que muda para 4 o valor da chave em questão.

Dim WSHShell
Set WSHShell = WScript.CreateObject("WScript.Shell")
WSHShell.RegWrite "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\USBSTOR\Start",4 ,"REG_DWORD"
Set WSHShell = nothing



Isso funciona bem no Windows XP quando estamos logados com um usuário com privilégios de Administrador.

Para funcionar no Windows Vista é necessário algo mais.
O código abaixo faz o script executar ele mesmo em modo de administrador enquanto ele não for acionado com o uso de um parâmetro. Dessa forma devemos colocar o nosso código dentro do trecho destinado ao ELSE onde há um comentário.


If WScript.Arguments.length =0 Then
   Dim objShell
   Set objShell = CreateObject("Shell.Application")
   objShell.ShellExecute "wscript.exe", Chr(34) & WScript.ScriptFullName & Chr(34) & " uac", "", "runas", 1
Else
   'Digite aqui o código
End If


Assim teríamos o seguinte código final para desativar o uso de Pen Drives.


'
' DESABILITA CHAVE DE ARMAZENAMENTO USB
'
'

Option Explicit

On Error Resume Next

If WScript.Arguments.length =0 Then

   Dim objShell
   Set objShell = CreateObject("Shell.Application")
   objShell.ShellExecute "wscript.exe", Chr(34) & WScript.ScriptFullName & Chr(34) & " uac", "", "runas", 1

Else

   Dim WSHShell
   Set WSHShell = WScript.CreateObject("WScript.Shell")
   WSHShell.RegWrite "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\USBSTOR\Start",4 ,"REG_DWORD"
   Set WSHShell = nothing


End If
E para fazer um código que ative basta ler e pensar um pouco =)

O código que eu uso em empresas é um pouco mais completo porque ele também apaga o link gerado para ele mesmo na aba de documentos recentes do menu iniciar. Mas basta pesquisar um pouco e pensar hehehe...

Se alguém tiver dúvidas me manda um e-mail.

Bloquear Pen Drive no Windows

É muito comum empresas que querem evitar que os funcionários usem pen drives nos computadores da empresa.

O primeiro passo para efetuar esse bloqueio é a empresa estabelecer uma política de segurança digital, deixando os funcionários cientes que não devem usar pen drives nem tentar "contornar" as restrições digitais impostas pela empresa, tais como Proxy e outras restrições e prevendo como o funcionário que desrespeitar as regras deverá ser alertado e, se necessário, punido.

O segundo passo é dificultar o trabalho dos infratores bloqueando as pen drives.

As pen drives quando conectadas ao computador são identificadas como USB Mass Storage Device (Dispositivo USB de armazenamento).

Para quem quer uma solução rápida atenção:
Abra o editor de registro do windows (regedit) e edite a chave KEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\USBSTOR\Start alterando o valor para 3 para ativar e 4 para desativar.



Existe uma forma prática de desativar utilizado VBScrpit.

Dica: Para criar um VBScript basta criar um arquivo e salvar com a extensão .vbs

Segue o link do post onde eu explico com calma essa parte do VBScript: