segunda-feira, 16 de julho de 2012

Analise o hardware com Lshw

Uma forma simples de verificar o hardware do computador no Linux é usando o lspci, principalente com a opção -v. Mas essa listagem é apenas texto.

Se você quiser algo mais fácil para analisar o teu hardware, use o lshw. Chamando-o com a opção -html, rodando como root, ele gera um arquivo html contendo a configuração do hardware analisado.

# lshw -html > hw.html

ele irá gerar algo como o print abaixo.


Se você prefere algo gráfico, experimente o lshw-gtk.


Os dois programa podem ser instalado via apt-get.

sexta-feira, 13 de julho de 2012

Monitore seus processos com Htop

Em todas as distribuições Linux há um utilitário muito conhecido e bastante usado chamado Top que permite monitorar, mudar a prioridade, congelar, continuar e matar processos. Mas o Htop possui mais recursos.


Apertando a tecla F2 você pode personalizar a tela para mostrar os dados de várias maneiras, como gráficos de barra (como na imagem acima), valores ou leds, bem como configurar quais informações serão mostradas. 

É possível pesquisar por um processo específico, bem como mostrar os processo em cascata, onde fica evidente os processos pai e filhos. Para alterar a prioridade de um processo basta ir até ele com as setas do teclado e clicar em "+" para aumentar o nice (mais lento) e "-" para diminuir o nice (menos lento). Lembre-se  que para diminuir o valor de nice é necessário ter permissões de root.

Vejam como ficou a minha tela personalizada.


Para instalar o Htop, basta usar o apt-get

# apt-get install htop

Para executá-lo, digite

# htop

quinta-feira, 5 de julho de 2012

Incremente seus scripts bash com Dialog

Se você costuma criar scripts bash, experimente usar o Dialog para exibir mensagens na tela. Ele permite a criação de telas do tipo ncurses, facilitando o entendimento e tornando o script mais amigável.


O site http://aurelio.net/shell/dialog/ tem uma documentação completa do sistema.

Abaixo, disponibilizo o trecho da tela acima.

versao=`VBoxManage -v`
while true
do
  menu_principal=$( dialog --stdout \
    --title "Administração do VirtualBox versão $versao" \
    --menu "Opções: " \
    0 0 0 \
    VMs 'Administrar as máquinas virtuais' \
    Discos 'Administraçãos dos discos e imagens de cd e dvd' \
    Servidor 'Administração do servidor' \
    Ajuda 'Breve explicação sobre os menus acima')
  case $menu_principal in
    "VMs")
        listar
      ;;
    "Discos")
discos
;;
    "Servidor")
servidor
;;
    "Ajuda")
        ajuda
      ;;
    *)
rm $$.*.tmp > /dev/null 2>/dev/null 
break
;;
  esac
done

terça-feira, 3 de julho de 2012

Google Earth. Melhor que o Google Maps

O Google Maps, junto com o Google Street, foi uma revolução. Se você precisa ir a um lugar novo, um cliente por exemplo, em outra cidade, você consegue saber exatamente como é o local, os pontos de referência, etc. Traçar rotas, calcular a distância, ver pontos de referência. Eu não saio de casa sem antes consultar o Google Maps.

Bem, não saia... Agora uso o Google Earth. Ele é uma aplicação para desktop e contém tudo o que o Google Maps possui, e muito mais. Veja o vídeo abaixo.




Para instalá-lo, acesse https://www.google.com/intl/pt-BR/earth/index.html.

quarta-feira, 27 de junho de 2012

Acesse o Mainframe através do PW3270

Uma opção para quem usa mainframe é o PW3270. É o melhor emulador 3270 para Linux que já mexi.



Está disponível no site do software público no endereço http://www.softwarepublico.gov.br/ver-comunidade?community_id=12815452. É importante ter instalado a lib3270. Para issso, use o apt-get.

# apt-get install lib3270

terça-feira, 26 de junho de 2012

Ajustando a frequência do processador com Cpufrequtils

O pacote Cpufrequtils tem dois utilitários interssantes para ajustar a frequência do processador: cpufreq-info e cpufreq-set.

O primeiro mostra as configurações da cpu.


$ cpufreq-info 
cpufrequtils 007: cpufreq-info (C) Dominik Brodowski 2004-2009
Reporte erros e bugs para cpufreq@vger.kernel.org, por favor.
analisando o CPU 0:
  driver: acpi-cpufreq
  CPUs que rodam na mesma frequência de hardware: 0
  CPUs que precisam ter suas frequências coordenadas por software: 0
  maior latência de transição: 160 us.
  limites do hardware: 2.00 GHz - 2.67 GHz
  níveis de frequência disponíveis: 2.67 GHz, 2.00 GHz
  reguladores do cpufreq disponíveis: powersave, conservative, userspace, ondemand, performance
  política de frequência atual deve estar entre 2.60 GHz e 2.67 GHz.
                  O regulador "ondemand" deve decidir qual velocidade usar
                  dentro desse limite.
  frequência atual do CPU é 2.67 GHz.
  status do cpufreq: 2.67 GHz:99,79%, 2.00 GHz:0,21%  (2)
analisando o CPU 1:
  driver: acpi-cpufreq
  CPUs que rodam na mesma frequência de hardware: 1
  CPUs que precisam ter suas frequências coordenadas por software: 1
  maior latência de transição: 160 us.
  limites do hardware: 2.00 GHz - 2.67 GHz
  níveis de frequência disponíveis: 2.67 GHz, 2.00 GHz
  reguladores do cpufreq disponíveis: powersave, conservative, userspace, ondemand, performance
  política de frequência atual deve estar entre 2.60 GHz e 2.67 GHz.
                  O regulador "ondemand" deve decidir qual velocidade usar
                  dentro desse limite.
  frequência atual do CPU é 2.67 GHz.
  status do cpufreq: 2.67 GHz:99,79%, 2.00 GHz:0,21%  (2)

Aqui podemos ver que possuo uma máquina com 2 núcleos, que trabalha entre 2.00 Ghz e 2.67 Ghz e estão trabalhando em 2,67Ghz. Se o desempnho for prioridade, podemos fazer a cpu trabalhar no pico, enquanto que se a economia de energia é a prioridade, então podemos configurar os processadores para trabalharem na menor frequência possível. Para isso, usamos cpufreq-set. 

# cpufreq-set -c 1 -d 2Ghz
# cpufreq-set -c 0 -d 2Ghz
# cpufreq-info 
cpufrequtils 007: cpufreq-info (C) Dominik Brodowski 2004-2009
Reporte erros e bugs para cpufreq@vger.kernel.org, por favor.
analisando o CPU 0:
  driver: acpi-cpufreq
  CPUs que rodam na mesma frequência de hardware: 0
  CPUs que precisam ter suas frequências coordenadas por software: 0
  maior latência de transição: 160 us.
  limites do hardware: 2.00 GHz - 2.67 GHz
  níveis de frequência disponíveis: 2.67 GHz, 2.00 GHz
  reguladores do cpufreq disponíveis: powersave, conservative, userspace, ondemand, performance
  política de frequência atual deve estar entre 2.00 GHz e 2.67 GHz.
                  O regulador "ondemand" deve decidir qual velocidade usar
                  dentro desse limite.
  frequência atual do CPU é 2.00 GHz.
  status do cpufreq: 2.67 GHz:99,79%, 2.00 GHz:0,21%  (3)
analisando o CPU 1:
  driver: acpi-cpufreq
  CPUs que rodam na mesma frequência de hardware: 1
  CPUs que precisam ter suas frequências coordenadas por software: 1
  maior latência de transição: 160 us.
  limites do hardware: 2.00 GHz - 2.67 GHz
  níveis de frequência disponíveis: 2.67 GHz, 2.00 GHz
  reguladores do cpufreq disponíveis: powersave, conservative, userspace, ondemand, performance
  política de frequência atual deve estar entre 2.00 GHz e 2.67 GHz.
                  O regulador "ondemand" deve decidir qual velocidade usar
                  dentro desse limite.
  frequência atual do CPU é 2.00 GHz.
  status do cpufreq: 2.67 GHz:99,77%, 2.00 GHz:0,23%  (5)

Reparem agora que as duas cpu's estão trabalhando a 2.0 Ghz.

segunda-feira, 25 de junho de 2012

Monitore e bloqueie ataques de força-bruta com Fail2Ban

Quem administra um servidor na Internet, como um wervidor web ou de e-mail, já deve ter reparado que constantemente esse servidor é vítima de uma tentativa de invasão através de um ataque de força bruta.

Se você, que administra esse tipo de servidor, nunca prestou atenção a isso, ou não sabe o que é um ataque de força-bruta, você está mal.

Um ataque de força bruta é a tentativa de descobrir a senha de um serviço através de tentativa e erro. Em um minuto, é possível testar milhares de combinações de usuário e senha. Se o teu servidor possui senhas fáceis, como palavras de um dicionário, em apenas uma noite é possível descobrir a senha. E sem muito esforço! Basta o atacante rodar um programa antes de ir dormir, e pela manhã a senha já terá sido descoberta.

Uma breve olhada no arquivo /var/log/auth.log mostra essa tentativa de invasão.

Jun 24 07:11:43 fpasrv053 sshd[13322]: Failed password for root from 193.104.68.200 port 47832 ssh2
Jun 24 07:11:52 fpasrv053 sshd[13331]: Failed password for root from 193.104.68.200 port 50149 ssh2
Jun 24 07:11:56 fpasrv053 sshd[13334]: Failed password for root from 193.104.68.200 port 52343 ssh2
Jun 24 07:12:01 fpasrv053 sshd[13336]: Failed password for root from 193.104.68.200 port 53371 ssh2
Jun 24 07:12:05 fpasrv053 sshd[13374]: Failed password for root from 193.104.68.200 port 54521 ssh2
Jun 24 07:12:09 fpasrv053 sshd[13376]: Failed password for root from 193.104.68.200 port 55599 ssh2
Jun 24 07:12:14 fpasrv053 sshd[13379]: Failed password for root from 193.104.68.200 port 56627 ssh2
Jun 24 07:12:18 fpasrv053 sshd[13382]: Failed password for root from 193.104.68.200 port 57748 ssh2
Jun 24 07:12:22 fpasrv053 sshd[13384]: Failed password for root from 193.104.68.200 port 58770 ssh2
Jun 24 07:12:26 fpasrv053 sshd[13387]: Failed password for root from 193.104.68.200 port 59630 ssh2
Jun 24 07:12:30 fpasrv053 sshd[13390]: Failed password for root from 193.104.68.200 port 60586 ssh2
Jun 24 07:12:34 fpasrv053 sshd[13392]: Failed password for root from 193.104.68.200 port 1633 ssh2
Jun 24 07:12:38 fpasrv053 sshd[13394]: Failed password for root from 193.104.68.200 port 2598 ssh2
Jun 24 07:12:43 fpasrv053 sshd[13396]: Failed password for root from 193.104.68.200 port 3601 ssh2
Jun 24 07:12:47 fpasrv053 sshd[13399]: Failed password for root from 193.104.68.200 port 4635 ssh2
Jun 24 07:12:52 fpasrv053 sshd[13404]: Failed password for root from 193.104.68.200 port 5725 ssh2
Jun 24 07:12:55 fpasrv053 sshd[13406]: Failed password for root from 193.104.68.200 port 6758 ssh2
Jun 24 07:13:00 fpasrv053 sshd[13409]: Failed password for root from 193.104.68.200 port 7586 ssh2
Jun 24 07:13:04 fpasrv053 sshd[13414]: Failed password for root from 193.104.68.200 port 8666 ssh2
Jun 24 07:13:07 fpasrv053 sshd[13452]: Failed password for root from 193.104.68.200 port 9680 ssh2
Jun 24 07:13:12 fpasrv053 sshd[13454]: Failed password for root from 193.104.68.200 port 10524 ssh2

Neste exemplo vemos o ip 193.104.68.200 tentando descobrir a senha do root através de uma conexão ssh. Repare também que ele tenta uma senha a cada 4 segundos, algo até lento para esse tipo de ataque.

O Fail2Ban trabalha lendo vários arquivos de log, como o auth.log, o daemon.log, o proftpd.log, e muitos outros, procurando por evidências de um ataque, e bloqueia o endereço de origem do ataque através do Iptables.

Para instalá-lo, use o apt-get install fail2ban. Seus arquivos de configuração estão localizados em /etc/fail2ban, embora sua configuração padrão funcione muito bem.

quinta-feira, 21 de junho de 2012

EdiTom - Software para edição de partituras

Uma ótima opção de software livre para edição de partituras é o EdiTom.



Com ele é possível compor partituras, ouvi-las, fazer arranjos, e muito mais. Aqueles que escrevem músicas vão amar esse software.

O EdiTom foi feito em Java e está disponível para download no portal do software público brasileiro.

quarta-feira, 20 de junho de 2012

Extreme Tux Racer - Um jogo para Linux

Um jogo que eu e meu filho gostamos muito é o Extreme Tux Racer.

Simples de jogar, com gráficos bem feitos, consiste em um Pinguim que desce a montanha desviando de obstáculos, como árvores e pedras, e precisa pegar o maior número de peixes no menor tempo possível. Com várias telas, esse jogo é viciente.


terça-feira, 29 de maio de 2012

Monitorando as requisições dns com Dnstop

Uma forma de saber o que está passando no teu dns é usando o Dnstop.

Seu uso é simples. Basta chamar o programa, como root, dizendo a interface de rede que será monitorada.

dnstop eth0


Na listagem acima, o ip 200.136.27.146 é o próprio servidor. O host 108.170.17.94 é o que mais está fazendo requisições ao meu servidor dns. Se algum servidor estiver fazendo muitas requisições, isso poderá caracterizar um ataque ao serviço de resolução de nomes.

O Dnstop pode ser instalado via apt-get, ou por outro meio disponibilizado pela distribuição que você usa.

quinta-feira, 24 de maio de 2012

Antivírus no Linux? Que tal o Klamav?

Embora seja pouco provável que você encontre vírus para Linux, seu computador pode, sim, ter arquivos infectados com malware, principalmente se ele compartilha arquivos com equipamentos Windows.

O Klamav é um frontend para o Clam Antivírus (Clamav). 


Abaixo um print de tela mostrando o Klamav escaneando meu micro.


O resultado do scanner. Neste caso, ele pegou vários arquivos do meu Metasploit, que é uma ferramenta para testar vulnerabilidades em aplicações.


Junto com o Klamav vem uma aplicação que cuida das atualizações. É o Freshclam. Para ver se o antivírus está atualizado digite:

freshclam --version

ClamAV 0.97.3/14959/Thu May 24 10:30:02 2012




quarta-feira, 23 de maio de 2012

Deskbar, um atalho para arquivo e aplicativos

O Deskbar funciona como um atalho para encontrar arquivos, programas, mensagens, etc. Ele pode ser adicionado na bara de tarefas.


Clicando-se nele com o botão direito do mouse, escolha preferências. Nesta tela você pode escolher o que ele vai pesquisar, e em que ordem.


Na aba Geral também é possível configurar uma tecla de atalho.

Abaixo o resultado de uma pesquisa.


Para instalar o aplicativo, use apt-get install deskbar e adicione o aplicativo ao painel.

terça-feira, 22 de maio de 2012

Precisa reiniciar o servidor? Avise o pessoal com Wall e Write

Há ocasiões (raras) em que você precisa reiniciar o servidor Linux e há várias pessoas conectadas nele no momento. É no mínimo constrangedor derrubar todo mundo sem nem ao menos dar uma satisfação. Também pode ser improdutivo avisar a todos por telefone.

Então, use o Wall. Com o comando abaixo você pode avisar o pessoal conectado ao servidor sobre os procedimentos que você vai executar.

echo "Vou desligar o servidor em 1 minuto" | wall

Isso gera uma mensagem em todos os consoles do servidor.

Se você precisar conversar com alguém você pode usar também o Write. Primeiramente digite:

mesg y

Isso habilita o pessoal a te enviar mensagens

Após, mande uma mensagem para um usuário específico.

ricardo@desktop:~$ write root
Ola.

Message from root@desktop on tty1 at 15:17 ...
Opa, o que manda?
Voce pode esperar uns 5 minutos? Estou acabando de atualizar um sistema.
Ok, me avise quando acaba. Mas nao posso esperar muito.
Ok
Pode desligar
Obrigado.
ok
EOF


segunda-feira, 21 de maio de 2012

Ajuste a interface de rede com Ethtool


Ethtool é uma ferramente de linha de comando usada para fazer ajustes finos nas interfaces de rede. Em sua forma mais simples ele mostra como está a interface de rede especificada.

ethtool eth0
Settings for eth0:
Supported ports: [ TP ]
Supported link modes:   10baseT/Half 10baseT/Full 
                       100baseT/Half 100baseT/Full 
                       1000baseT/Full 
Supports auto-negotiation: Yes
Advertised link modes:  10baseT/Half 10baseT/Full 
                       100baseT/Half 100baseT/Full 
                       1000baseT/Full 
Advertised pause frame use: No
Advertised auto-negotiation: Yes
Speed: 100Mb/s
Duplex: Full
Port: Twisted Pair
PHYAD: 2
Transceiver: internal
Auto-negotiation: on
MDI-X: off
Supports Wake-on: pumbag
Wake-on: g
Current message level: 0x00000001 (1)
Link detected: yes

Eu destaquei a velocidade (100Mb/s) e o Duplex (Full). Minha rede é gigabits e, por algum motivo, a placa está setada em 100Mb/s. Isso degrada a performance. Para corrigir isso usando o ethtool, eu usei o comando abaixo.

ethtool -s eth0 speed 1000 duplex full 

Para mais opções, digite ethtool -h.

quinta-feira, 17 de maio de 2012

Monitore as conexões com SS

A forma mais conhecida de monitorar as conexões em uma máquina Linux é usando o Netstat. Mas também existe o ss.


Por padrão, ele mostra as conexões tcp, mas há várias opções de linha de comando conforme podemos ver no print de tela acima.

segunda-feira, 14 de maio de 2012

SpiceWorks - Inventário e controle de chamados

Estava no site da BugTrack e vi uma propaganda do SpiceWorks. Como a empresa em que trabalho estava procurando uma solução de Controle de Chamados e uma de Inventário, decidi testá-lo. E não é que ele me surpreendeu?


Apesar de não ser livre, o programa é grátis. Mas achei interessante escrever sobre ele porquê realmente ele é muito bom, e amigável, apesar de não ter suporte completo à linguagem português do Brasil. Entre suas características cito:


  • Roda em Windows, inclusive XP;
  • Agendamento de scan de rede;
  • Assistência passo-a-passo que ensina a usar todos os recursos do software;
  • Identificação dos diferentes tipos de equipamentos da rede;
  • Alertas pré-programados;
  • Controle de licenças de software;
  • Controle de chamados;
  • Amarração usuário x chamado x equipamentos;
  • Integração do Active Directory;
  • Suporte para abrir chamado por e-mail;
  • Portal do usuário persolizável onde ele pode abrir e acompanhar seus chamados;


Entre outros.

Abaixo, algumas telas dos sistema.

Grupos de dispositivos encontrados na rede


Detalhes de um desktop com alerta de pouco espaço em disco

Mais detalhes do desktop

Controle de softwares e licenças

Portal do usuário, onde ele pode abrir e acompanhar suas solicitações.

Vale a pena gastar um tempo instalando e testando essa ferramenta. Ela realmente é muito boa.

Para baixá-la, acesse: http://www.spiceworks.com


quinta-feira, 10 de maio de 2012

Convertendo pdf em jpeg com Convert

O pacote ImageMagick possui muitos recursos para tratar imagens pela linha de comandos, como em scripts. Para quem não conhece, cito alguns exemplos simples de uso abaixo.

Para transformar uma imagem em preto e branco:

convert -monochrome origme.JPG destino.jpg



Fazer um mosaico com várias fotos:

montage /home/ricardo/Imagens/* montagem.jpg



E uma que converte em jpeg um arquivo pdf. Neste caso, cada página vira um arquivo jpeg.

convert arquivo.pdf arquivo.jpeg

E para ver as imagens, digite:

display arquivo.jpeg.

terça-feira, 8 de maio de 2012

Dia, uma ferramenta para fazer diagramas

Embora ainda não gere diagramas tão bonitos e elaborados quando o Visio, o Dia quebra o galho na hora de criar topologias de rede, fluxogramas, diagramas e afins.


Ele tem várias opções para diferentes tipos de documentos.

O Dia deve estar disponível na maioria das distribuições Linux.

segunda-feira, 7 de maio de 2012

Crie uma distribuição LInux do zero com Debootstrap

Com o Debootstrap você pode criar do zero uma distribuição baseada em Debian. Como a própria descrição do pacote diz:


debootstrap é usado para criar um sistema básico Debian a partir do zero, sem a necessidade da disponibilidade do dpkg ou apt. Ele faz isto baixando arquivos .deb do site espelho e cuidadosamente expandindo-os em um diretório que pode eventualmente ser "enjaulado" ("chrooted").


Muito útil para criar um sistema "enjaulado", ou seja, rodar uma aplicação, como Openssh, Apache, ou Proftpd dentro de sistema isolado, exclusivo, próprio dele, que pode ter bibliotecas e configurações diferentes. Pode-se usá-lo também para criar uma distro, ou live-cd, totalmente personalizado.

Primeiro, instale o pacote.

apt-get install debootstrap

Agora execute o programa com a linha abaixo.

debootstrap stable tmp/live http://http.us.debian.org/debian/



Isso vai criar uma estrutura básica do Debian Stable no drive tmp/live. Agora monte o drive /proc.

mount -t proc tmp/live/proc tmp/live/proc/

Após isso, basta utilizar o chroot para fazer com que esse diretório se comporte como o drive "/" do micro.

chroot tmp/live

Agora você pode instalar um pacote, como o Openssh, e ele rodará somente dentro desta pasta, ou seja, ele não terá acesso ao drive raiz "/" da máquina, mas terá o drive tmp/live como seu raiz. Isso é ótimo quando se quer proteger uma servidor, evitando que este, através de alguma falha em uma aplicação, dê acesso a todo o drive raiz para um invasor.




sexta-feira, 4 de maio de 2012

Faça um cd bootável do teu pc com Bootcd

Com o Bootcd dá prá fazer uma distribuição Linux a partir do teu pc. Ou seja, é possível criar uma distribuição live-cd contendo exatamente o que o teu desktop tem.

Execute, como root:

bootcdwrite


e siga os passos solicitados. O sistema criará uma imagem iso contendo todos os softwares do teu computador. Bastará queimar essa iso em um CD e pronto. Um live-cd personalizado novinho em folha. Lembrando que haverá o limite de 4Gb para o CD.

Também é possível, após gerar o CD, gravar os dados em uma nova máquina usando:

bootcd2disk

Isso vai gravar os dados do cd novamente no disco. Leia, e altere conforme a necessidade, o arquivo /etc/bootcd/bootcdwrite.conf para maiores detalhes.

Além de ser ótimo para clonar máquina Linux, ele também pode ser útil para fazer uma instalação onde o drive da controladora de disco, por exemplo, não está disponível no cd de intalação original. Em uma situação parecida que passei, instalei o Debian em uma máquina virtual, instalei os módulos da controladora scsi seguindo as instruções do fabricante, gerei o live-cd através do bootcdwrite. Em seguida, dei boot no servidor com este live-cd e executei o bootcd2disk (alterando os arquivos /etc/bootcd/* conforme minha necessidade). A instalação ocorreu sem problemas.