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.

quinta-feira, 3 de maio de 2012

Pesquisa de conteúdo com Recoll

Recoll é uma ferramenta que indexa todo o conteúdo do teu computador. Isso facilita, e muito, a procura de arquivos, e-mail, mensagens instantâneas, sites acessados, enfim, qualquer coisa que você precise pesquisar.


Para instalá-lo, use:

apt-get install recoll

Na primeira vêz que executá-lo, vá ao menu "File / Update Index" para atualizar os índexes para a pesquisa.

sexta-feira, 27 de abril de 2012

Monitorando o tráfego na rede com Iptraf

O Iptraf é uma ferramenta simples, mas que pode fazer uma análise em tempo real do que está trafegando na rede. Ele pode monitorar cada interface separadamente, ou fazer uma análise considerando todas as placas de rede.

Ele pode monitorar as conexões...


...comparar o tráfego entre as interfaces de rede...


...mostrar em detalhes o desempenho de uma interface específica...


..comparar o tráfego por portas tcp/udp...


Nestes prints de tela eu usei um servidor que faz a função de gateway da rede, e um link de Internet de 100mbps. Pode-se notar o volume de 38mbps entrando pelo link. Ou seja, ainda tenho espaço para crescer. 

O Iptraf funciona através de menus. Por isso, não é necessário fornecer qualquer parâmetro de linha de comando. Para instalar o Iptraf, basta digitar:

apt-get install iptraf

quarta-feira, 25 de abril de 2012

BoxeeBox - Outro Media Center

Há alguns dias eu escrevi sobre um midia center chamado Xbmc. Agora apresento o Boxee Box, que é baseado no Xbmc, mas possui mais recursos.


Para utilizá-lo, primeiramente crie uma conta no site http://www.boxee.tv/. Após, baixe o código fonte. Se você utiliza uma distribuição baseada em Debian, pode incluir o repositório abaixo em seu arquivo /etc/apt//sources.list


deb http://apt.boxee.tv/ maverick main non-free contrib

e utilizar os comandos abaixo para instalá-lo

apt-get update
apt-get install boxee



Ele tem as seguintes características:


  • Integração com o Facebook. Veja o que seus amigos estão vendo;
  • Videos do Youtube, de sites próprios e locais;
  • Seriados de várias produtoras;
  • Músicas locais e de sites, como Groovershark
  • Álbum de fotos
  • Suporte a redes Microsoft
  • Interface em português do Brasil


Abaixo há um video mostrando o software





Se você quiser, disponibilizei uma vm somente com o BoxeeBox no link abaixo:


Para baixar o código fonte do produto acesse:


sexta-feira, 20 de abril de 2012

Procurando rootkit

O Chkrootkit é uma ferramenta para procurar rootkit no Linux.

Segundo a descrição do Synaptic

'O "scanner" de segurança chkrootkit pesquisa o sistema local por sinais de que ele esteja infectado com um 'rootkit'. Rootkits são conjuntos de programas e "hacks" projetados para tomar o controle da máquina alvo usando falhas de segurança conhecidas.
Os tipos que o chkrootkit pode identificar estão listados na página web do projeto.
Por favor, note que o chkrootkit não detecta intrusões, ele não garante que seu sistema não está comprometido. Além da execução do chkrootkit, testes mais específicos devem sempre ser executados.'

Sua utilização é simples. Como root, digite:

chkrootkit

Abaixo, trechos da saída do comando:


ROOTDIR is `/'
Checking `amd'...                                           not found
Checking `basename'...                                      not infected
Checking `biff'...                                          not found
Checking `chfn'...                                          not infected
Checking `chsh'...                                          not infected
Searching for suspicious files and dirs, it may take a while... The following suspicious files and directories were found:
/usr/lib/pymodules/python2.6/.path /usr/lib/pymodules/python2.5/.path /usr/lib/iceweasel/.autoreg /usr/lib/jvm/java-6-sun-1.6.0.26/.systemPrefs /usr/lib/jvm/.java-6-sun.jinfo /usr/lib/xulrunner-1.9.1/.autoreg /lib/init/rw/.ramfs
Checking `lkm'...                                           chkproc: nothing detected
chkdirs: nothing detected
Checking `rexedcs'...                                       not found
Checking `sniffer'...                                       lo: not promisc and no packet sniffer sockets
br0: PACKET SNIFFER(/sbin/dhclient[1184])
Checking `w55808'...                                        not infected
Checking `wted'...                                          chkwtmp: nothing deleted
Checking `scalper'...                                       not infected
Checking `slapper'...                                       not infected
Checking `z2'...                                            chklastlog: nothing deleted
Checking `chkutmp'...                                        The tty of the following user process(es) were not found
 in /var/run/utmp !
! RUID          PID TTY    CMD
! root         7611 pts/2  /usr/lib/libgksu/gksu-run-helper /usr/sbin/synaptic
! root         7615 pts/2  sh -c /usr/sbin/synaptic
! root         7601 pts/2  /bin/su root -c /usr/lib/libgksu/gksu-run-helper "/usr/sbin/synaptic"
! root         7616 pts/2  /usr/sbin/synaptic
chkutmp: nothing deleted
Checking `OSX_RSPLUG'...                                    not infected

Apesar dos arquivos suspeitos, este equipamento está ok.

quarta-feira, 18 de abril de 2012

Perdeu arquivos? Disco danificado? Tente o Testdisk

O Testdisk é uma pacote de software que vem com várias ferramentas, entre elas o Photorec que já mostrei aqui no blog. Agora vou mostrar o comando testdisk.


Ele pode recuperar partições perdidas, arquivos deletados, e até tentar ler repetidas vezes um arquivo danificado, ou armazenado em badblock, com o propósito de recuperar o máximo possível do arquivo.

Essa ferramenta é indispensável em qualquer live cd usado em caso de desastres. Para instalá-lo, basta digitar:

apt-get install testdisk

terça-feira, 17 de abril de 2012

Um pouco mais de Nmap

O Nmap é o mais conhecido scanner de portas tcp/udp. O que pouca gente sabe é que ele também pode fazer análise através de scripts pré-determinados.

São vários scripts que podem até descobrir vulnerabilidades em software. Seu uso mais simples é:

# nmap -sC wks1057

Neste caso eu estou escaneando a máquina wks1057 e executando o conjunto de script padrão. O resultado é o seguinte:


Starting Nmap 5.00 ( http://nmap.org ) at 2012-04-17 14:00 BRT
Interesting ports on wks1057.net.inet (172.20.14.111):
Not shown: 65527 closed ports
PORT     STATE SERVICE
135/tcp  open  msrpc
139/tcp  open  netbios-ssn
445/tcp  open  microsoft-ds
1110/tcp open  nfsd-status
1769/tcp open  unknown
3389/tcp open  ms-term-serv
5800/tcp open  vnc-http
5900/tcp open  vnc
MAC Address: 00:1F:D0:E2:1D:D3 (Giga-byte Technology Co.)


Host script results:
|_ nbstat: NetBIOS name: WKS1057, NetBIOS user: GIULIANAAUN, NetBIOS MAC: 00:1f:d0:e2:1d:d3
|  smb-os-discovery: Windows XP
|  LAN Manager: Windows 2000 LAN Manager
|  Name: NET\WKS1057
|_ System time: 2012-04-17 15:33:04 UTC-3


Nmap done: 1 IP address (1 host up) scanned in 5537.41 seconds
#

segunda-feira, 16 de abril de 2012

Agendamento de comandos com at


Se você precisar executar um comando em uma máquina Linux em um horário específico apenas uma vêz e não vai poder se conectar ao equipamento no momento, há duas opçõies:

1- Criar um job na cron, deixá-lo executar, e depois retirá-lo. (nada elegante)
2- Usar o at

Para usar o at, crie um script contendo os comandos que você quer executar. Por exemplo, "a.sh". Vamos executá-lo as 11:00. Para isso, digite:

$ at 11:00 -f a.sh 
warning: commands will be executed using /bin/sh
job 2 at Mon Apr 16 11:00:00 2012

Para listar os jobs agendados, execute:

$ at -l
2 Mon Apr 16 11:00:00 2012 a ricardo

O job é retirado da lista imediatamente após a execução.

$ date
Seg Abr 16 10:57:40 BRT 2012

$ at -l
2 Mon Apr 16 11:00:00 2012 a ricardo


$ date
Seg Abr 16 11:00:19 BRT 2012


$ at -l

Para remover um job você vai precisar do número dele (primeira coluna do comando at -l)

$ at -d 2




quinta-feira, 12 de abril de 2012

Como saber qual pacote contém um determinado arquivo?

Algumas vezes precisamos saber qual pacote de programa contém um arquivo específico. E nem sempre o nome do executável é igual ao nome do pacote. 

Dois exemplos são os comandos netstat e dig. Não existe nos repositórios da Debian um pacote chamado netstat, e nem dig. Então, como saber qual o pacote que contém os executáveis em questão? O apt-file pode ajudar nessa tarefa.

Para instalá-lo, digite:

apt-get install apt-file

Antes de usá-lo é necessário atualizar seu banco de dados.

apt-file update

Com a base atualizada, vamos fazer a pesquisa. Antes, porém, é aconselhável descobrir o caminho exato do arquivo que queremos. No caso do dig, digire:

which dig

A reposta é:

/usr/bin/dig

Agora basta digitar

apt-file search /usr/bin/dig

e será mostrado o pacote que contém o arquivo.

dnsutils: /usr/bin/dig

Agora basta instalar o pacote dnsutils para que o comando dig estará funcionando.

quarta-feira, 11 de abril de 2012

Problemas para configurar a impressora no Linux? Tente o Apsfilter.

Se você já tentou configurar sua impressora no Linux usando o Cups mas não teve sucesso, tente o Apsfilter.


Sua interface de linha de comando assusta os novatos, mas seu uso é bem simples. Ele possue uma infinidade de drivers e pode configurar impressoras de rede Windows. Há alguns anos atrás eu tive que usá-lo para configurar minha Lexmark pois o Cups não tinha suporte.

Para instalá-lo, basta usar o gerenciador de pacotes da tua distribuição. No Debian, use apt-get install apsfilter e execute, como root, o comando apsfilterconfig.