Virus: Redirecionando o YouTube para um virus

Recebi uma mensagem no Orkut de um amigo. A mensagem continha um link que apontava para o YouTube. Ao acessar o link, a surpresa: eu fui redirecionado para outro servidor, que oferecia para download um vírus com o sugestivo nome de video.scr ... Fui conferir a URL e realmente era do YouTube (cheguei a apagar e digitar manualmente http://www.youtube.com e o resultado foi o mesmo. A URL é gigantesca e creio que no meio de seus caracteres (que parecem aleatórios ou criptografados) consta algum código de redirecionamento mais um endereço externo ao YouTube. A análise do VirusTotal mostra que o vírus já é razoavelmente bem detectado entre os antivirus (69% dos antivirus do teste detectaram a ameaça), porém se fosse um vírus novo o estrago provavelmente seria grande. Fica o aviso: enquanto o YouTube não resolver essa questão de redirecionamento todo cuidado é pouco.

Análise do VirusTotal.com

PageDefrag - SysInternals

Fragmentação de Arquivos:
Por diversas razões, os arquivos não são gravados de forma continua no HD. Normalmente, é gravado um trecho do arquivo, seguido por trechos outros arquivos. A figura abaixo dá uma idéia do processo:


  1. Imagine um sistema de arquivos com 5 arquivos gravados (de nomes A, B, C, D, E), e um espaço livre no final.
  2. O arquivo B é apagado, e seu espaço fica disponível.
  3. É criado um arquivo F, que ocupa parte do espaço que era ocupado por B.
  4. É criado um arquivo um arquivo G, que ocupa o restante do espaço que era ocupado por B.
  5. O arquivo F é editado e aumenta de tamanho. Como não há espaço contínuo para essa adição, ela é feita depois do arquivo E. Dizemos então que o arquivo F está fragmentado (com dois fragmentos, nesse caso). Na prática, a fragmentação costuma ser mais complexa, alguns arquivos contendo até dezenas de fragmentos.
Quando o sistema precisa ler um arquivo fragmentado, ele precisa ficar procurando e juntando todos os pedacinhos do arquivo. Portanto, se um arquivo estiver fragmentado a performance do sistema fica comprometida. Para resolver essa questão, basta de tempos em tempos promover uma desfragmentação do sistema de arquivos. A desfragmentação reorganiza os arquivos de modo a eliminar ao máximo a fragmentação, aumentando a performance. É recomendável desfragmentar seu HD pelo menos uma vez ao mês. Porém, existem alguns arquivos do sistema que não podem ser desfragmentados, pois estão em uso pelo próprio Windows. Esses arquivos incluem o pagefile.sys (arquivo de memória virtual), (arquivo utilizado para hibernação), SAM (arquivo de senhas), arquivos com extensão .EVT (registros de eventos do Windows), e outros arquivos de sistema que ficam no diretório C:\windows\system32\config. Os arquivos que não podem ser desfragmentados são exibidos na cor verde no mapa de arquivos do desfragmentador do Windows. A imagem abaixo mostra um HD altamente fragmentado, onde se observa perfeitamente os arquivos em verde, que não serão desfragmentados.


Caso esses arquivos estejam fragmentados, a performance do sistema é comprometida (e eles ainda podem causar a fragmentação de outros arquivos). Para casos como esses, utilizamos o PageDefrag, que é um desfragmentador específico para arquivos de sistema.

Baixando e instalando:
O PageDefrag pode ser baixado gratuitamente do site da Microsoft, aqui. O download é rápido: o arquivo possui apenas 70Kb. Não é necessária instalação, basta descomprimir o arquivo e executá-lo.

Executando:
Quando o programa é executado pela primeira vez, é necessário concordar com a licença que é exibida. Após isso, é exibida a tela abaixo: 


O programa exibe os arquivos que serão desfragmentados, o tamanho que ocupam em Clusters e o número de fragmentos. O programa possui 3 opções de uso:
  • Defragment at next boot: O programa é agendado para execução apenas no próximo boot.
  • Defragment at every boot: O programa é agendado para execução a cada boot, sempre que o computador for ligado/reiniciado. Nesse caso é possível configurar um tempo em segundos em que, caso alguma tecla seja pressionada a desfragmentação é cancelada e a inicialização continua normalmente. Particularmente, não vejo vantagens em desfragmentar a cada boot. A única vantagem seria que você não tem como esquecer.
  • Don't defragment: Cancela todos os agendamentos de execução.
Após selecionar a opção desejada, reinicie o computador. Durante a inicialização o programa vai esperar os 3 segundos e começará a desfragmentação. Essa etapa pode ser demorada, dependendo do nível de bagunça do sistema. A tela de funcionamento do programa é bem similar à do CheckDisk (chkdsk - utilitário de verificação de erros em discos), conforme vemos abaixo:


Após a desfragmentação, vale a pena executar o programa novamente e verificar como ficou a fragmentação dos arquivos de sistema.

CPU Throttling/Dynamic frequency scaling: Configurando Cool'n'Quiet/SpeedStep no Linux (parte 1)

Esse artigo é sobre a instalação do Cool'n'Quiet no Linux. Para ver a versão Windows desse tutorial, clique aqui.


O que é CPU Throttling, e quais suas vantagens?
Os processadores AMD mais modernos possuem uma tecnologia chamada Cool'n'Quiet (Frio e Silencioso, em tradução tosca livre), que monitora o quanto o usuário está exigindo do processador. Assim, quando o processador não está sendo muito utilizado, o sistema diminui o clock (velocidade) do processador e a voltagem, diminuindo o consumo de energia elétrica (ou de bateria, em notebooks) e ajudando a resfriar o processador. As placas mães mais modernas permitem o uso de coolers (ventiladores) inteligentes, que diminuem a rotação quando o processador está frio, gerando assim menos ruído. Quando o processador é exigido novamente, o clock e a voltagem são aumentados novamente. Segundo a AMD a medição é feita 30 vezes por segundo, o que na prática faz com que você não sinta diminuição na performance (mas seu sistema vai sentir os benefícios de funcionar mais frio). Recentemente habilitei o Cool'n'Quiet em um Semprom 3200. Antes da instalação a temperatura média do processador era de 65º C. Agora, a temperatura média fica na casa dos 45º C!!! Uma queda de 20º C ou aproximadamente 30%!!! E sem perda de performance. Definitivamente vale a pena.

Obs: Para que o Cool'n'Quiet possa ser habilitado, tanto o processador quanto a placa mãe necessitam suportar a tecnologia. Atualmente, a maioria dos processadores e placas já suportam. Também é necessário que seu sistema tenha suporte ao SysFS, que exibe um sistema de arquivos virtual em /sys, semelhante ao /proc. Atualmente a maioria das distribuições Linux (ou todas?) fazem uso desse sistema de arquivos. Você pode confirmar se a sua instalação suporta o sysfs com o seguinte comando:
debian:~# mount | grep -i sysfs
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
Se você obter um resultado semelhante a esse, significa que seu sistema utiliza o SysFS

Obs2: A Intel possui uma tecnologia semelhante, chamada SpeedStep. Os procedimentos para utilização dessa tecnologia são basicamente os mesmos. No entanto, como eu tenho acesso apenas a processadores AMD irei me ater a esse fabricante.

Obs3: O procedimento descrito aqui foi testado no Debian Linux. Outras distribuições Linux também suportam a tecnologia, porém o procedimento de instalação dos softwares pode ser um pouco diferente.

Verificando se o seu processador tem suporte ao Cool'n'Quiet:
Segundo esta página da Wikipedia , esta é a lista de processadores que suportam Cool'n'quiet

  • Athlon 64 and X2 - Todos os modelos
  • Athlon 64 FX - FX-53 (apenas Socket 939) e superiores
  • Sempron - Socket 754: 3000+ e superiores; Socket AM2: 3200+ e superiores
  • Opteron - E-stepping e superiores, marcados como Optimized Power Management
  • Phenom - Todas as versões suportam Cool'n'Quiet 2.0
  • Phenom II - Suporta Cool'n'Quiet 3.0

Verificando se a sua placa mãe tem suporte ao Cool'n'Quiet:
A maneira mais simples de verificar se sua placa mãe tem suporte ao Cool'n'Quiet é procurando no manual (normalmente na parte de Features, que costuma ficar no início do manual), no site do fabricante, ou diretamente na BIOS (normalmente na parte de configurações do processador ou configurações de energia). Coloquei abaixo as fotos de duas BIOS que mostram a opção ativada.


Métodos de controle da frequência:
No Linux, o driver dos processadores AMD já faz parte do kernel padrão à partir da versão 2.6.19 (diferentemente do Windows, onde é necessário instalar o driver do processador). Assim, basta apenas instalar o pacote desejado. Existem basicamente 3 pacotes para essa tarefa:

  • powernowd: Inicialmente a tecnologia Cool'n'Quiet era conhecida como PowerNow!. O powernow é um daemon, que gerencia o clock do processador automaticamente conforme a demanda.
  • cpufreqd: outro daemon que visa gerenciar o clock dependendo da demanda de uso do processador.
  • cpufrequtils: é uma interface que configura qual a o comportamento do processador

É possível ainda configurar diretamente o kernel (em tempo real), sem a necessidade de instalar nenhum dos pacotes acima. Vamos ver as duas maneiras: utilizando o pacote cpufrequtils e também diretamente.

Instalando o cpufrequtils:
Nada mais simples: No Debian (e derivados) basta digitar
aptitude install cpufrequtils
e o pacote será instalado, bem como todas as suas dependências.

Módulos necessários:
Carregue os seguintes módulos com o comando modprobe <nome_do_modulo>
powernow-k7 / powernow-k8 (dependendo da arquitetura do seu processador. Processadores 64 bits utilizam o módulo powernow-k8, mesmo rodando em modo 32 bits. Processadores anteriores utilizam o módulo powernow-k7)
cpufreq_userspace
cpufreq_conservative
cpufreq_ondemand
cpufreq_stats
cpufreq_powersave

Cada módulo carrega um governor. Um governor é um algoritmo de gerência de clock. Cada governor gerencia o clock de maneiras diferentes:
  • userspace: permite que você selecione o valor de clock desejado. O valor deve estar dentro da lista de valores suportados por seu processador. Veremos mais a frente como ver a lista de frequências suportadas
  • conservative: configura o clock no menor valor possível e aumenta o valor gradativamente (em degraus), conforme a demanda.
  • ondemand: configura o clock no menor valor possível e aumenta o valor diretamente para o máximo conforme a demanda. Ou seja, varia apenas entre o valor mínimo e o máximo.
  • powersave: mantém o clock sempre no valor mínimo. Util para poupar bateria em notebooks.
  • stats: gera estatísticas de funcionamento: quantas vezes o sistema alternou o clock do processador e quanto tempo o processador ficou em cada velocidade.
  • performance: não possui um módulo, mas mantém o clock sempre no valor máximo. É o comportamento padrão do sistema (processador sempre no máximo, sem gerência de clock/energia)
Se você pretende utilizar apenas um governor, não é necessário carregar todos. Basta carregar o módulo correspondente ao governor desejado.

Vou parar por aqui para que o artigo não fique muito grande. Na próxima parte, veremos efetivamente como alterar o clock do processador. Até lá!!! Dúvidas, erros críticas e sugestões: basta comentar.

Virus: Comprovante de depósito Votorantim

Mais um vírus perdido na minha caixa de Spams: dessa vez a praga tenta se passar por uma mensagem do Depto. Jurídico do Grupo Votorantim, que estaria enviando um comprovante de depósito bancário em anexo. Novamente o GMail avisa que a mensagem parece ser fraude. Essa é até bem fácil de perceber: o email vem de um Webmail (um email do Grupo Votorantim deveria vir do próprio, ou de uma das empresas do Grupo.) O teste do VirusTotal.com revelou que poucos Antivirus detectam a ameaça, então cuidado redobrado

Análise do VirusTotal.com
Imagem do falso email:

Virus: Receita Federal 2008

Mais um viruszinho perdido aqui (dia de faxina na caixa postal é ótimo). Dessa vez o scam (bem feitinho, por sinal) finge ser um comunicado da Receita Federal sobre uma falha nos computadores deles, que teria corrompido algumas Declarações de Imposto de Renda do ano de 2008, obrigando os contribuintes a reenviar suas declarações. Infelizmente para minha vergonha dessa vez não tem análise do VirusTotal.com, mas se bem me lembro o vírus era detectado pela maioria dos programas antivirus do mercado.
Imagem do email abaixo:

Vírus: Atualização de Segurança do Bradesco

Recebi um suposto email do Bradesco, afirmando que por medida de segurança seria necessário instalar um tal "Módulo de Segurança Bradesco". Interessante notar que o próprio GMail já avisa que o email pode ser falso. Imagem com o conteúdo do email abaixo. Também está disponível o resultado da checagem de vírus no site VirusTotal.com (veja o artigo sobre o VirusTotal.com aqui ). No dia da checagem apenas 8 dos 40 antivirus  utilizados pelo site detectaram a ameaça, então atenção redobrada

Resultado da checagem do VirusTotal

VirusTotal.com: Verificador On-Line de Arquivos

Você acaba de receber um arquivo por email. Seu antivírus não acusou nada, mas você está com a pulga atrás da orelha e gostaria de conferir com outros antivírus? Ou está pensando em adquirir um antivírus e gostaria de testar alguns vírs com eles (até um tempo atras eu mantinha uma pequena coleção de vírus, justamente para testes de antivírus)? Para situações como essas, vale a pena experimentar o site VirusTotal.com. É prático, fácil de utilizar e 100% gratuito.
Atenção: O uso desse site não descarta a necessidade de utilização de um antí-virus instalado localmente na sua máquina. Apesar de o site utilizar 40 antí-virus diferentes não existe nenhuma garantia de que um arquivo não detectado por nenhum antivírus seja inofensivo.

O site:
O site pode ser acessado pelo endereço http://www.virustotal.com/pt. A interface (aparência) do site é bem limpa e direta. No alto do site existe o menu com as 24 línguas suportadas, entre elas o Português. No centro, existe o botão "Arquivo ...", que permite selecionar o arquivo suspeito a ser verificado. Caso haja um proxy que detecte o arquivo e não permita o envio para o site, você pode marcar a opção "Enviar utilizando SSL", que vai criptografar a conexão, ocultando o arquivo do proxy. Vale também observar a "Carga do serviço", que informa quantas pessoas estão utilizando o site no momento. Caso a carga esteja alta, seu arquivo entrará em uma fila antes de ser verificado.


Caso o aqruivo enviado já tenha sido analisado anteriormente, o site oferece a opção de ver o resultado da última análise ou efetuar uma nova análise. Caso a análise anterior seja muito antiga, vale a pena refazê-la, pois os resultados podem ser diferentes.

A página de resultados também é bem simples. O topo da página exibe data, hora e o andamento da verificação. Abaixo, são mostrados quantos antivírus (do total de 40 com que o site trabalha) reconhecem o arquivo como sendo uma ameaça. Mais abaixo, são exibidos em detalhes informações de cada Antí-virus: Nome, versão do aplicativo, data da última atualização e resultado da varredura. Por fim, no final da página são exibidos vários detalhes técnicos.


Por fim, vale citar que o site permite outros métodos de envio além da página: Existe a possibilidade de enviar os arquivos através de um aplicativo e também por email. Mais detalhes sobre esses métodos em http://www.virustotal.com/pt/metodos.html .

[22/04/2009]
Update: veja no site do Linha Defensiva uma entrevista com os criadores do VirusTotal.
Link: http://www.linhadefensiva.org/2009/04/entrevista-com-julio-canto-do-virustotalcom/

AMD Cool'n'Quiet: Gerenciamento de Energia para processadores AMD


Os processadores AMD mais modernos possuem uma tecnologia chamada Cool'n'Quiet (Frio e Silencioso, em tradução livre) que monitora o quanto o usuário está exigindo do processador. Assim, quando o processador não está sendo muito utilizado, o sistema diminui o clock (velocidade) do processador e a voltagem, diminuindo o consumo de energia elétrica e ajudando a resfriar o processador. As placas mães mais modernas permitem o uso de coolers (ventiladores) inteligentes, que diminuem a rotação quando o processador está frio, gerando assim menos ruído. Quando o processador é exigido novamente, o clock e a voltagem são aumentados novamente. Segundo a AMD a medição é feita 30 vezes por segundo, o que na prática faz com que você não sinta diminuição na performance, mas provavelmente vai sentir a diferença de temperatura do processador.

Obs: Para que o Cool'n'Quiet possa ser habilitado, tanto o processador quanto a placa mãe necessitam suportar a tecnologia. Atualmente, a maioria dos processadores e placas já suportam.

Atenção: O procedimento descrito aqui foi testado no Windows XP. Outras versões do Windows também suportam a tecnologia, porém o procedimento de instalação dos softwares será um pouco diferente.

Verificando se o seu processador tem suporte ao Cool'n'Quiet:
Segundo esta página da Wikipedia, esta é a lista de processadores que suportam a tecnologia Cool'n'quiet:

  • Athlon 64 e X2: Todos os modelos
  • Athlon 64 FX: FX-53 (apenas Socket 939) e superiores
  • Sempron: Socket 754: 3000+ and superiores; Socket AM2: 3200+ and superiores
  • Opteron: E-stepping and superiores, marcados como "Optimized Power Management"
  • Phenom: Todas as versões suportam Cool'n'Quiet 2.0
  • Phenom II: Suporta Cool'n'Quiet 3.0

Verificando se a sua placa mãe tem suporte ao Cool'n'Quiet:
A maneira mais simples de verificar se sua placa mãe tem suporte ao Cool'n'Quiet é procurando no manual (normalmente na parte de Features), no site do fabricante, ou diretamente na BIOS (normalmente na parte de configurações do processador ou configurações de energia). Coloquei abaixo as fotos de duas BIOS que mostram a opção ativada (clique nas imagens para aumentar):


Baixando os aplicativos necessários:
Com o suporte habilitado na placa mãe, é hora de alguns downloads. Acesse a página de downloads da AMD e baixe os arquivos abaixo:

  • AMD Processor Driver: Esse é o driver do processador, específico para Windows XP/2003.
  • AMD Power Monitor: não é necessário, mas ajuda no controle e na visualização do o estado atual do processador.
  • Também é interessante baixar o programa HWMonitor, disponível em http://cpuid.com/hwmonitor.php. Este programa exibe as temperaturas dos componentes do sistema (sensores da placa mãe, processador, HDs e até de algumas placas de vídeo)

Instalando e configurando:
Instale o AMD Processor Driver e reinicie o computador, caso seja necessário. Depois, instale o AMD Power Monitor. Ambas as instalações são simples (apenas clicar em Next até concluir a instalação). O HWMonitor não precisa ser instalado: O mesmo vem comprimido, bastando apenas descomprimí-lo em alguma pasta e executá-lo.


A configuração também é muito simples: basta ir até o Painel de Controle do Windows, abrir as Opções de Energia, selecionar o esquema Portátil/Laptop e clicar em OK. Após isso, o Cool'n'Quiet já está ativado. Para verificar, abra o AMD Power Monitor. Você vai ver uma tela semelhante a imagem abaixo:


As informações exibidas significam o seguinte:
CPU 0: número da CPU (vai ser sempre 0 para 99% das pessoas).
Core 0: Número do núcleo. Se o seu processador tiver mais de um núcleo (ou core), você vair ver core 0, core 1, etc.
Frequency 1000 MHz: valor do clock atual do processador. O valor que vai aparecer vai depender do nível atual de utilização do processador. Normalmente varia entre 1000 e um valor máximo (que é abaixo do valor nominal do processador). Por exemplo, meu processador é um Athlon 3200+, que roda a 2000MHz (ou 2 GHz). O valor de Frequency varia entre 1000 Mhz e 2000 Mhz.
Voltage: valor da tensão (ou voltagem) do processador no momento. Aumenta e diminui junto com Frequency, de acordo com a demanda.
0%: Uso atual do processador. Conforme esse valor aumenta, os valores de Frequency e Voltage aumentam simultaneamente.
A barra colorida indica o nível de economia de energia gerada. Como o processador está "parado" (praticamente sem uso), a barra está cheia. Ela vai esvaziando conforme a demanda aumenta.

Obs: Essa dica faria mais sentido no verão, mas acabou não ficando pronta a tempo. Porém, vivemos em um país tropical, com sol no ano inteiro na maior parte do território e como já dizia um professor meu: O Rio de Janeiro tem 4 Estações do Ano bem definidas: Verão, verão, verão e verão, então a dica é valida. Além disso, economia de energia (e de dinheiro ...) é sempre bem vinda em qualquer parte do ano, faça frio ou faça sol.

Debian - Repositórios Volatile e Sloppy

O tempo entre os releases de duas versões do Debian costuma ser relativamente alto. Entre a liberação das verões Sarge (3.0) e Etch (4.0) passaram-se aproximadamente 21 meses. Da versão Etch para a atual Lenny (5.0) foram mais 22 meses. Alguns projetos mudam pouco nesse intervalo (como o postfix e o squid), porém outros, mais dinâmicos por natureza (como antivírus e filtros de spam) costumam lançar melhorias consideráveis nesse intervalo de tempo. O clamav por exemplo mudou completamente (a versão do clamav no Debian Etch simplesmente fica carregando o banco de dados de vírus indefinidamente ...). Para solucionar problemas desse tipo, o Debian criou o Projeto Volatile, que em suas próprias palavras "contém apenas as alterações necessárias em programas estáveis para deixá-los funcionais". Os pacotes presentes nos repositórios Volatile não demandam alterações em arquivos de configuração, basta instalar e continuar utilizando o arquivo de configuração anterior. Pacotes em que isso não é possível, e que podem gerar alguma dor-de-cabeça na instalação ficam na seção volatile-sloppy dos repositórios.

Instalação:
Nada mais simples: basta acrescentar as entradas correspondentes no seu arquivo /etc/apt/sources.list


Os servidores principais são estes (prontos para serem colados no sources.list):

#Etch
deb http://volatile.debian.org/debian-volatile etch/volatile main contrib non-free
deb http://volatile.debian.org/debian-volatile etch/volatile-sloppy main contrib non-free

#Lenny
deb http://volatile.debian.org/debian-volatile lenny/volatile main contrib non-free
deb http://volatile.debian.org/debian-volatile lenny/volatile-sloppy main contrib non-free

E também existem os mirrors brasileiros:

#Etch
deb http://sft.if.usp.br/debian-volatile etch/volatile main contrib non-free
deb http://sft.if.usp.br/debian-volatile etch/volatile-sloppy main contrib non-free

#Lenny
deb http://sft.if.usp.br/debian-volatile lenny/volatile main contrib non-free
deb http://sft.if.usp.br/debian-volatile lenny/volatile-sloppy main contrib non-free

Após instalar os repositórios, atualize o pacote debian-archive-keyring, que possui a chave utilizada pelos repositórios
aptitude install debian-archive-keyring
A chave para o Etch não está contida neste arquivo, e deve ser instalada da seguinte maneira:
wget http://www.debian.org/volatile/etch-volatile.asc
apt-key add etch-volatile.asc
Após isso, basta rodar o aptitude update (ou apt-get update) e começar a atualizar os programas. Apesar de confiar na equipe do Debian, eu recomendo que você atualize um programa de cada vez, prestando bastante atenção no processo, para evitar surpresas desagradáveis.

Dica de segurança: Desabilitando o IPv6

O protocolo IPv6 possui diversas vantagens sobre o seu irmão mais novo velho IPv4, atualmente em uso. No entanto, atualmente a sua presença pode tornar-se um incômodo: algumas pessoas reportam problemas na resolução de nomes (DNS) quando o protocolo está ativo. Além disso, ele ainda pode tornar-se uma falha de segurança:

Imagine que você configurou o seu firewall, utilizando o iptables. Suponha que você bloqueou o acesso a pings na sua máquina, com o comando
iptables -A INPUT -p icmp -j DROP 
Até aqui tudo certo. Agora, verifique o endereço IPv6 da sua placa de rede.
debian:~# ifconfig eth0
eth0   Encapsulamento do Link: Ethernet  Endereço de HW 00:0C:29:58:2A:F7
          inet end.: 192.168.0.1  Bcast:192.168.0.255  Masc:255.255.255.0
          endereço inet6: fe80::20d:88ff:fefc:da1b/64 Escopo:Link
          UP BROADCASTRUNNING MULTICAST  MTU:1500  Métrica:1
          RX packets:231001053 errors:0 dropped:0 overruns:0 frame:0
          TX packets:213003406 errors:0 dropped:0 overruns:0 carrier:0
          colisões:0 txqueuelen:1000
          RX bytes:2227548162 (2.0 GiB)  TX bytes:3267118860 (3.0 GiB)
          IRQ:217 Endereço de E/S:0x2480
No nosso exemplo, o endereço IPv6 da placa é fe80::20d:88ff:fefc:da1b. Agora, experimente "pingar" seu endereço IPv6, com o utilitário ping6:
debian:~# ping6 -I eth0 fe80::20d:88ff:fefc:da1b
PING fe80::20d:88ff:fefc:da1b(fe80::20d:88ff:fefc:da1b) from fe80::20d:88ff:fefc:da1b eth0: 56 data bytes
64 bytes from fe80::20d:88ff:fefc:da1b: icmp_seq=1 ttl=64 time=0.169 ms
64 bytes from fe80::20d:88ff:fefc:da1b: icmp_seq=2 ttl=64 time=0.036 ms
64 bytes from fe80::20d:88ff:fefc:da1b: icmp_seq=3 ttl=64 time=0.036 ms
64 bytes from fe80::20d:88ff:fefc:da1b: icmp_seq=4 ttl=64 time=0.035 ms

--- fe80::20d:88ff:fefc:da1b ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 2999ms
rtt min/avg/max/mdev = 0.035/0.069/0.169/0.057 ms
Surpresa!!! Olha o ping funcionando ... Ué, bug do iptables? Nada disso. O iptables cuida apenas de endereços IPv4. Para proteger os endereços IPv6 de seu equipamento, você tem duas opções:
  • Utilizar o ip6tables (utilitário semelhante ao iptables, mas para endereços IPv6) ou
  • desabilitar completamente o IPv6 da máquina.
Para desabilitar o IPv6 no Debian Linux é muito simples: basta criar um arquivo com o nome /etc/modprobe.d/00local (os dois zeros no começo do nome são importantes, para garantir que o arquivo será lido antes dos outros presentes no diretório, quando da inicialização do sistema) com o seguinte conteúdo:
alias net-pf-10 off
alias ipv6 off
Após salvar o arquivo, é necessária a reinicialização do sistema (o módulo não vai sair da memória com um rmmod ipv6). 

Screen - O Gerenciador de Sessões em modo texto

Introdução
Imagine as seguintes situações:
  1. Você está digitando um texto no vi (ou outro editor de texto) conectado através de uma sessão SSH e por alguma razão a conexão cai. Quando você reconecta, vê que o vi ainda está rodando, mas não tem como recuperar a sessão onde ele se encontra. Assim, você mata o processo e começa novamente.
  2. Você coloca um arquivo para fazer download através do wget; mas o download acaba durando mais tempo do que o desejado. Suas opções são: cancelar o download e continuar depois (o que desperdiçaria tudo o que já foi baixado) ou deixar a sessão aberta sem você por perto para que o download acabe (o que é um rombo na segurança).
Com o uso do screen (que age como um shell), ambos os problemas teriam uma solução simples. Quando se está conectado e utiliza-se o screen e ocorre uma perda de conexão, ao reconectar voltamos a utilizar a mesma sessão de antes, permitindo assim continuar o trabalho de onde paramos. Da mesma forma, podemos desconectar do screen sem fechá-lo (mantendo a sessão ativa), e posteriormente ao reconectar todos os programas ainda estarão em execução. O screen permite ainda que duas pessoas de máquinas diferentes compartilhem a mesma sessão! Perfeito para mostrar a execução de uma tarefa a um amigo que não está no mesmo local que você.

Screen é apresentado no seu site como um gerenciador de janelas que multiplexa (divide) um único terminal virtual em vários. Na prática, ele permite que com apenas uma conexão SSH você abra vários terminais simultâneamente (similar à função das teclas F1, F2, F3 ... do console), além de outras funções muito úteis. Esse artigo visa ser uma pequena introdução às facilidades dessa incrível ferramenta.

Instalação
O screen faz parte da maioria das distribuições atuais. Em sistemas Debian (ou derivados, como Ubuntu e Kurumin) a instalação é bem simples: basta um
debian:~# apt-get install screen
e o programa será instalado, com todas as suas dependências.
Também é possível a instalação através do código fonte, mas isso foge do escopo desse artigo.
Após a instalação, crie (com o vi ou outro editor de texto de sua preferência) um arquivo chamado .screenrc no diretório $HOME do seu usuário (/home/usuario OU /root para o root) com o conteúdo abaixo:
msgwait 3 sorendition 00 43 hardstatus alwayslastline " %c | %d/%m/%Y | %w" bind h hardstatus ignore bind g hardstatus alwayslastline
Esse arquivo de configuração facilita o uso do screen, acrescetando uma barra azul na parte inferior da tela, com informações de data, hora e a lista de janelas, e destaca a janela atual com um asterisco. Caso hajam vários usuários que irão utilizar o screen, você pode definir estas opções diretamente no arquivo de configuração do screen (/etc/screenrc)

Utilizando


Para chamar o screen, basta digitar
debian:~# screen
e o mesmo já estará em execução. Se você criou o arquivo de configuração citado acima, verá uma tela semelhante a esta (clique nas imagens para ampliar):


Esta mensagem aparece sempre que o screen é iniciado, mas é possível desativar sua exibição setando a opção "startup_message off" no arquivo de configuração do sistema ou individualmente por  usuário (/etc/screenrc ou ~/.screenrc respectivamente). Conforme diz a mensagem, pressione ENTER para continuar.

A utilização do screen é vinculada à combinação de teclas CTRL+a, seguida da tecla que representa a função desejada. Para facilitar, vamos adotar a mesma notação utilizada pelo programa: ao invés de escrever CTRL+a, escreverei ^a. Algumas funções podem ser chamadas de mais de uma maneira. Para exibir as combinações de teclas e suas funções, digite ^a ? (^a e em seguida ?). Se possuir espaço suficiente na janela, todas as teclas serão exibidas, e bastar pressionar ENTER para sair da ajuda. Caso não haja espaço, as informações serão paginadas. Nesse caso, a barra de espaço avança para a próxima tela e  ENTER sai.

Vou listar abaixo algumas das combinações mais utilizadas.
Obs1: algumas combinações utilizam letras maiúsculas.
Obs2: caso você acidentalmente pressione ^a s, a tela deixará de ser atualizada, embora tudo o que você digite continue funcionando. Para normalizar isto, pressione ^a q.

^a a: envia um CTRL+a (use isso se você utilizar um programa que necessite da sequência de teclas CTRL+a e o screen estiver atrapalhando.
^a c: cria uma nova aba.
^a ^a: alterna entre as duas últimas abas acessadas.
^a número: vai direto para a aba de numero X, onde X é um número entre 0 e 9.
^a " (aspas duplas): mostra a lista de abas abertas e permite selecionar uma. Útil para casos em que há mais de 10 abas (sim, as vezes acontece comigo ...)
^a A: renomeia a aba atual.
^a S: divide a tela, empilhando as abas. Pressione ^a TAB para alternar entre as abas. É necessário criar uma aba no espaço recém criado (^a c) ou "puxar" uma aba já criada para esse espaço (^a ^a ou ^a número). É possível executar ^a S várias vezes de modo a obter várias divisões, cada uma com sua própria aba. Para voltar ao modo normal, pressione ^a Q
^a d: sai do screen, porém deixa todas as abas abertas e seus respectivos processos rodando normalmente.

Para listar as sessões abertas, digite:
debian:~# screen -ls
There are screens on:
        3193.pts-0.debian       (Detached)
        3216.pts-0.debian       (Attached)
2 Sockets in /var/run/screen/S-root.
A resposta acima mostra que existem duas sessões do screen ativas, sendo que uma está conectada (Attached), ou seja, está em uso, e a outra desconectada (Detached), seja porque a sessão foi perdida (devido a uma queda de conexão remota) ou simplesmente foi desconectada com "^a d".
Para reconectar uma sessão, digite
debian:~# screen -r XXXX
 Onde XXXX é o PID (process ID) da sessão, obtido com screen -ls como mostrado acima. Caso haja apenas uma sessão em uso, não é necessário informar o PID.

Algumas vezes, a sua conexão é encerrada mas o sistema não percebe isso, e continua exibindo sua conexão como Attached quando você executa o screen -ls, não permitindo que você reconecte. Para forçar o sistema a desconectar uma sessão neste estado, digite
debian:~# screen -D
[3193.pts-0.debian power detached.]
Isso vai forçar a desconexão, permitindo que você reconecte. Da mesma forma que a opção screen -r, você terá de informar um número PID caso haja mais de uma conexão. Obs: algumas vezes a desconexão forçada falha, sendo necessário "matar" (com o kill) o processo do screen.

Basicamente é isso. Na verdade, daria para ficar escrevendo muito mais sobre essa ferramenta, mas esse é o básico do seu funcionamento (que já deve atender as necessidades da maioria das pessoas). Uma ótima fonte de informações sobre o screen (e vários outros utilitários em modo texto) é o site do Aurélio Marinho Jargas http://aurelio.net/ - com destaque para a Coluna do Auréliohttp://aurelio.net/doc/coluna/ - onde o Guru esmiuça vários softwares em modo texto. Leitura obrigatória!!

Gerador de Usernames à partir de lista de nomes

Esses dias vi um pedido na Lista Debian Users Portuguese (DUP) solicitando ajuda com um script que recebesse um arquivo com uma lista de nomes e gerasse uma lista de usernames. O email era esse:


Olá pessoal da lista, tudo bem?

Precisava de um auxilio de vocês ma geração (ou otimização) de um script.

Tenho uma rede com samba como PDC em uma escola e agora na volta as aulas preciso gerar usuários e senhas para todos. Eu tenho um script que utilizo a tempos que pega uma lista com nome, username e senha e gera tudo pra mim. Mas eu preciso gerar esta lista.

O que eu queria era conseguir com a lista de nomes, gerar os usernames de forma que o username seja o primeiro e o ultimo nomes juntos (sem espaço) com letras minusculas e a senha seria de 6 digitos, todos numéricos. Caso o username fosse repetido, o sistema me avisaria (Andre Silva e Andre pereira rodrigues silva por exemplo seria repetido). Eu (ainda) não tenho experiencia com programação, apenas um pouco de bash.

Fico grato por qualquer ajuda

Abraço a todos

Daniel
 Após meditar um pouco no problema do Daniel, criei este programa em PHP.

Preparação:
O programa utiliza a versão de linha de comando do PHP, então é necessária a instalação do mesmo. Testei o programa apenas com o PHP5, mas teoricamente deve funcionar com o PHP4 sem problemas. No Debian, instale o pacote php5-cli (ou php4-cli).
aptitude install php5-cli
Baixe o programa (disponível aqui , via GoogleDocs. Copie e cole em um arquivo de texto, com o nome de geraUsername.php), dê permissão de execução (chmod +x geraUsername.php) e execute o programa da seguinte maneira:
./geraUsername.php lista.txt > lista2.txt
Exemplo de uso:
Suponha uma lista de nomes como essa abaixo (os nomes são fictícios, quaisquer semelhanças com nomes reais são meras coincidências):

José da Silva
José Saramago da Silva
Juca Pirama
Daniel de Andrade
Daniel Souza
Odorico Paraguaçú
Alcebíades Nogueira
A saída do programa (o arquivo gerado em lista2.txt) seria essa:

alcebiadesnogueira,Alcebíades Nogueira
danielandrade,Daniel de Andrade
danielsouza,Daniel Souza
josesilva,José Saramago da Silva
josesilva,José da Silva
jucapirama,Juca Pirama
odoricoparaguacu,Odorico Paraguaçú

Lista de Usernames duplicados

josesilva => 2
O que o programa faz:

  • Faz a conversão de letras: Ç vira C, vogais acentuadas (com til, trema, crase, acentos agudos e/ou circunflexos) viram as mesmas vogais porém sem nenhum acento (ã vira a, ï vira i, ù vira u, etc)
  • Converte todo o texto para minusculas;
  • Insere o separador, caso haja algum configurado (veja mais abaixo)

Perceba que existem duas ocorrências do username josesilva. O programa alerta para isso na lista de usernames duplicados, no final da listagem. Cabe a você corrigir isso manualmente, o que é facilitado por causa da listagem ser ordenada pelos usernames, fazendo com que usernames iguais fiquem juntos.

O programa permite ainda uma personalização do modo como os usernames são criados: você pode definir um separador a ser inserido entre o nome e o sobrenome. Normalmente utiliza-se ponto (.), hífen (-) ou underscore (_) como elemento separador. Assim, o username josesilva ficaria jose.silva, jose-silva ou jose_silva, dependendo do separador utilizado. Não utilize vírgula como separador, pois vai "quebrar" a formatação do arquivo de saída, já que o mesmo utiliza vírgulas para separar o username do nome do usuário. Para realizar essa configuração, procure pelo texto $separadorUsername = ""; e substitua pelo valor desejado (por exemplo $separadorUsername = ".";).


Bom, é isso. Espero que seja útil para mais alguém. Caso você precise de uma ajudinha com um script, faça um comentário ou mande-me um email que terei prazer em ajudar na medida do possível.