1. Baixar o pacote do Hamachi para Linux:
# wget -c http://files.hamachi.cc/linux/hamachi-0.9.9.9-20-lnx.tar.gz
2. Descompactar e instalar:
# tar zxvf hamachi-0.9.9.9-20-lnx.tar.gz
# cd hamachi-0.9.9.9-20-lnx
# make
# make install
3. Gerar par de chaves RSA:
# hamachi-init
Feitos estes procedimentos a instalação está concluida. O próximo passo é a conexão. Para isso criei um script que automatiza esta tarefa.
------início do script-----------
#!/bin/bash
#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
# objetivo: fazer a conexao do hamachi
# versao: 1.0
# autor: Dorival M Machado Junior ( dorivaljunior at gmail dot com )
#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
# Variaveis utilizadas
TUNCFG="/sbin/tuncfg"
HAMACHI="/usr/bin/hamachi"
NICK="NOMEDOHOST"
GRUPO="NOME DO GRUPO QUE DESEJA ENTRAR"
SENHADOGRUPO="senhasupersecreta"
START()
{
echo "Iniciando $TUNCFG"
$TUNCFG
echo "Iniciando servico hamachi"
$HAMACHI start
echo "Definindo nick name para $NICK"
$HAMACHI set-nick $NICK
echo "Logando no HAMACHI"
$HAMACHI login
echo "Entrando no grupo $GRUPO"
$HAMACHI join $GRUPO $SENHADOGRUPO
echo "Ficando online para a rede"
$HAMACHI go-online $GRUPO
echo "Atualizando a lista de nome das maquinas do grupo"
$HAMACHI get-nicks
echo "Listando as maquinas do grupo"
$HAMACHI list
}
STOP()
{
$HAMACHI logout
$HAMACHI stop
}
case $1 in
start)
START
;;
stop)
STOP
;;
*)
echo "Sintaxe: $0 {start|stop}"
;;
esac
-------fim do script-------------
A sintaxe de utilização é simples:
hamachi-control.sh start para iniciar
hamachi-control.sh stop para finalizar
A saída do comando de incialização do script deverá ficar da seguinte forma:
root@djunior-laptop:~# ./hamachi-control.sh start
Iniciando /sbin/tuncfg
tuncfg: already running
Iniciando servico hamachi
Starting Hamachi hamachi-lnx-0.9.9.9-20 .. ok
Definindo nick name para NICKDOHOST
Setting nickname .. ok
Logando no HAMACHI
Already logged in.
Entrando no grupo NOMEDOGRUPO
Joining NOMEDOGRUPO .. ok
Ficando online para a rede
Going online in NOMEDOGRUPO .. ok
Atualizando a lista de nome das maquinas do grupo
Retrieving peers' nicknames ..
Listando as maquinas do grupo
* [NOMEDOGRUPO]
* X.XX.XXX.XXX
X.XX.XXX.XXX
X.XX.XXX.XXX
* X.XX.XXX.XXX
root@djunior-laptop:~#
obs.: todo o procedimento de instalação e login é feito como root, porém os usuários normais do sistema teem acesso por padrão a essa conexão VPN.
sexta-feira, 16 de julho de 2010
quarta-feira, 14 de julho de 2010
Revisão atualizada de instalação do Iptables + Layer7 no Debian
O projeto Layer7 é um patch que permite ao Netfilter tratar a camada de aplicação, logo poderá tratar os protocolos desta camada. No meu caso, instalei justamente para controlar MSN e transferência de arquivos pelo MSN. Porém ele trata muitos outros protocolos. Para conhecê-los, basta acessar o link http://l7-filter.sourceforge.net/protocols.
Kernel 2.6.25.2: ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.25.2.tar.bz2
Protocolos do Layer7 atualizados até 28/05/2009: http://downloads.sourceforge.net/project/l7-filter/Protocol%20definitions/2009-05-28/l7-protocols-2009-05-28.tar.gz?use_mirror=ufpr&ts=1278938145
Existem diversos tutoriais na internet que tratam sobre esta instalação de layer7 com iptables, porém devido a atualização de versões, entre outros fatores, sempre é bom fazer uma revisão atualizando os dados e melhorando em alguns pontos. Este artigo tem por objetivo esta revisão.
Caso queira baixar todos os pacotes necessários antes de iniciar, segue os links diretos para download:
Layer 7 versão 2.21: http://downloads.sourceforge.net/project/l7-filter/l7-filter%20kernel%20version/2.21/netfilter-layer7-v2.21.tar.gz?use_mirror=ufpr&ts=1278937632
Kernel 2.6.25.2: ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.25.2.tar.bz2
Protocolos do Layer7 atualizados até 28/05/2009: http://downloads.sourceforge.net/project/l7-filter/Protocol%20definitions/2009-05-28/l7-protocols-2009-05-28.tar.gz?use_mirror=ufpr&ts=1278938145
1. Instalar pacotes necessários (caso falte alguma dependência, basta instalar ou se preferir faça a instalação dos pacotes abaixo usando o aptitude):
# apt-get install libncurses5-dev kernel-package gcc
2. Criar diretório para armazenar pacotes
# mkdir /opt/layer7
# cd /opt/layer7
3. Baixar e descompactar o pacote do projeto Layer7 (utilizei a versão 2.21)
# tar zxvf netfilter-layer7-v2.21.tar.gz
4. Baixar e descompactar o fonte do Kernel (utilizei a versão 2.6.25.2)
# cd /root/
# cd /usr/src
# tar jxvf /root/linux-2.6.25.2.tar.bz2
5. Aplicar o patch do layer7 no novo kernel:
# cd /usr/src/linux-2.6.25.2
# patch -p1 < /opt/layer7/netfilter-layer7.v2.21/kernel-2.6.25-2.6.28-layer7-2.21.patch
6. Aproveitar configuração do kernel atual:
Caso queira usar as configurações do kernel atual no novo kernel, utilize os comandos abaixo. Provavelmente será necessário responder várias perguntas, referente a novos itens inclusos no novo kernel e que não existiam no atual. Para estas perguntas, Caso não saiba as respostas pressione então de fora a fora, pois depois você poderá rever as opções na próxima etapa).
# cp /boot/config-2.6[pressione o tab] /.config
# make oldconfig
7. Configurar o novo kernel:
# make menuconfig
Acesse os submenus como segue:
- Networking
- Networking options
- Network packet filtering framework (netfilter)
- Core Netfilter Configuration
Marque os módulos referente ao layer 7 (na dúvida marque todos os módulos)
volte 1 nível e entre no submenu:
- IP: Netfilter Configuration
marque o módulo “IPv4 connection tracking support (required for NAT)”
marque o módulo “Full NAT” e demais sub-ítens desse módulo
obs.: Em caso de instalar sem utilizar configuração de kernel anterior, convém dar uma passada em todo o submenu de Networking afim de verificar se opções referente a bridge, nat, e afins estejam selecionados.
Terminado, salve e saia.
8. Compilar o novo kernel e criar um pacote .deb do mesmo:
# make-kpkg –initrd kernel_image
obs.: Caso esteja fazendo a atualização de um servidor remoto, por questões de segurança convém deixar este processamento em segundo plano.
# make-kpkg –initrd kernel_image &
Saia para tomar um merecido café pois esta etapa demora um tempo considerável.
Obs.: A instalação manual também pode ser realizada, mas como se trata de debian, não precisamos ficar “reiventando a roda”, vamos gerar o pacote e deixar o dpkg fazer o resto. Mas caso queira fazer manualmente também funciona.
9. Instalar o novo kernel:
# dpkg -i ../linux-image-2.6.25[pressione TAB].deb
10. Reiniciar a máquina com o novo kernel:
# shutdown -r now
obs.: caso aconteça algum erro, dê boot com o kernel antigo e então remova este novo kernel para fazer melhorias:
# apt-get remove --purge linux-image-2.6.25.2
(para ver o nome correto do pacote faça: dpkg -l | grep linux-image)
11. Baixar o Iptables (utilizei a versão 1.4.0, pois as posteriores não obtive sucesso)
# cd /opt/layer7
12. Descompactar o fonte e aplicar o patch:
# cd /opt/layer7
# tar jxvf iptables-1.4.0.tar.bz2
# cd iptables-1.4.0
# patch -p1 < /opt/layer7/netfilter-layer7-v2.1/iptables-1.4-for-kernel-2.6.20forward-layer7-2.21.patch
# chmod 755 extension/.layer7-test
13. Remover o iptables antigo e instalar a nova versão:
# aptitude purge iptables
# make KERNEL_DIR=/usr/src/linux-2.6.25 BINDIR=/sbin LIBDIR=/lib
# make install KERNEL_DIR=/usr/src/linux-2.6.25 BINDIR=/sbin LIBDIR=/lib
Verificar se tudo correu bem:
# iptables -n -L
# iptables -n -L -t nat
# ls -l /lib/iptables/*layer7*
14. Baixar e instalar os pacotes de protocolos do Layer7:
# cd /opt/layer7
# tar zxvf l7-protocols-2009-05-28.tar.gz
# cd l7-protocols-2009-05-28
# make install
# ls /etc/l7-protocols/protocols
FIM.
DICAS IMPORTANTES A RESPEITO DO LAYER7
Dica 1: Se você já tem o layer7 funcionando, e queira apenas fazer atualizações nos protocolos suportados, basta fazer apenas o ítem 14, observando é claro o nome do novo arquivo de protocolos. O que acontece é apenas copiar os novos pacotes de protocolos em cima dos antigos. Então convém fazer um backup dos arquivos dos protocolos antigos.
Dica 2: nem sempre todos os pacotes mais recentes envolvidos funcionam plenamente em conjunto, então observe as versões de kernel, iptables e layer7 compatíveis antes fazer as compilações.
sexta-feira, 9 de julho de 2010
Monitoramento de conversas do MSN usando IMSNIFF
Antes de tudo, venho salientar que o uso desta ferramenta, só é permitido mediante assinatura do "termo de ciência" por parte dos usuários da rede, devendo este documento integrar a Política de Segurança da empresa. Qualquer monitoramento deste tipo, sem o conhecimento do usuário, é ilegal, podendo caracterizar-se como violação de privacidade. A utilização do termo de ciência resguarda o administrador de rede bem como a empresa de quaisquer problemas judiciais, pois o usuário ao assinar o documento, fica ciente de que TODAS as suas conversas serão registradas e poderão ser lidas quando necessário. A empresa pode reservar-se ao direito de fazer o monitoramento, uma vez que o usuário está utilizando recursos tecnológicos da empresa.
Procedimento de instalação
1. criar um subdiretório dentro de opt:
mkdir /opt/imsniff
2. baixar o pacote tarball em http://sourceforge.net/projects/im-snif/
3. Descompactar o arquivo dentro do novo subdiretório recém-criado:
tar -zxvf /opt/imsniff/imsniff_0.04.tgz
4. Para Debian e similares, instalar o pacote libpcap0.8-dev, o qual provê um framework para monitoramento de rede em baixo-nível.
apt-get install libpcap0.8-dev
5. Compilar o programa:
cd /opt/imsniff/linux
./build
6. Criar o arquivo de configuração:
cat /opt/imsniff/docs/imsniff.conf.sample > /etc/imsniff.conf
7. Editar o arquivo arquivo de configuração (/etc/imssniff.conf) com os valores:
daemonize = 0
promisc = 0
verbose = 2
chatdir = /tmp/chats #armazenamento dos logs das conversas
debugdir = /tmp/debug #armazenamento dos logs de erro
interface eth0 #interface de ligação com a rede interna
8. Criar os arquivos especificados no arquivo de configuração
touch /tmp/chats
touch /tmp/debug
9. Iniciar o monitoramento
/opt/imsniff/linux/imsniff eth0 &
obs.: eth0 é a interface de ligação com a rede interna
segunda-feira, 5 de julho de 2010
Recuperação de Gerenciador de Boot GRUB 2
O problema: eu tinha um sistema operacional já instalado (Ubuntu 10.04) com GRUB 2 por default. Em seguida, instalei um Debian 5, o qual utiliza GRUB 1. A instalação Debian foi bem sucedida, bem como a do Grub 1. O problema é que o Grub 1 sobrepôs o grub 2, e ainda por cima não detectou a instalação do Ubuntu. O resultado desse evento é que ao dar boot, o Grub 1 inicializa, tendo como opção apenas o Debian.
A solução a seguir encontrada, serve para recuperar o gerenciador de Boot 2.
PROCEDIMENTOS:
1) Dar boot na máquina com um LiveCD Linux qualquer.
2) Fazer as seguintes montagens:
# mount /dev/sda2 /mnt/
(sda2 é o meu ponto de montagem do /; verifique o seu)
# mount /dev/sda1 /mnt/boot
(sda1 é o meu ponto de montagem do /boot; verifique o seu)
# mount --bind /dev /mnt/dev
(montando o /dev atual detectado no ambiente de chroot)
3) Fazer chroot para a nova montagem
4) Editar o arquivo do GRUB 2 para que ele passe a mostrar as opções de boot.
5) Execute a atualização e reinstalação do GRUB 2:
6) Se houver algum erro, pode-se utilizar a linha a seguir. (No meu caso não deu erro, então não sei se esta linha realmente funciona)
Ctrl+D
7) Desmontar tudo o que foi montado:
Caso queira recuperar o GRUB 1, basta substituir o ítem 5 pelos comandos de atualização do Grub 1.
A solução a seguir encontrada, serve para recuperar o gerenciador de Boot 2.
PROCEDIMENTOS:
1) Dar boot na máquina com um LiveCD Linux qualquer.
2) Fazer as seguintes montagens:
# mount /dev/sda2 /mnt/
(sda2 é o meu ponto de montagem do /; verifique o seu)
# mount /dev/sda1 /mnt/boot
(sda1 é o meu ponto de montagem do /boot; verifique o seu)
# mount --bind /dev /mnt/dev
(montando o /dev atual detectado no ambiente de chroot)
3) Fazer chroot para a nova montagem
# chroot /mnt
4) Editar o arquivo do GRUB 2 para que ele passe a mostrar as opções de boot.
# vi /etc/default/grub
Comente a linha: GRUB_HIDDEN_TIMEOUT=05) Execute a atualização e reinstalação do GRUB 2:
# update-grub
# grub-install /dev/sda
6) Se houver algum erro, pode-se utilizar a linha a seguir. (No meu caso não deu erro, então não sei se esta linha realmente funciona)
grub-install --recheck /dev/sda
Ctrl+D
7) Desmontar tudo o que foi montado:
# umount /mnt/dev
# umount /mnt/boot
# umount /mnt
Caso queira recuperar o GRUB 1, basta substituir o ítem 5 pelos comandos de atualização do Grub 1.
quinta-feira, 1 de julho de 2010
Corrigindo GPG ERROR
Em aplicações Debian e similares, algumas vezes nos deparamos com o problema de GPG ERROR.
Para solucionar tal problema, montei um script bem simples como segue:
----------inicio do arquivo------------
PROCEDIMENTOS NECESSÁRIOS:
1) Salve o script e dê permissão de execução ao mesmo.
2) Preencha o campo CHAVE informando a chave que deu erro.
3) Execute o script
4) Execute "apt-get update"
OU simplesmente execute: (adicionado a este texto em 20/07/2012)
# apt-get install debian-archive-keyring
Para solucionar tal problema, montei um script bem simples como segue:
----------inicio do arquivo------------
#!/bin/bash
CHAVE="INSIRA AQUI A CHAVE COM ERRO"
#comandos utilizados
GPG="/usr/bin/gpg"
APT_KEY="/usr/bin/apt-key"
echo "Solucionando problema de GPG ERROR com a chave $CHAVE"
$GPG --keyserver pgpkeys.mit.edu --recv-key $CHAVE
$GPG -a --export $CHAVE | $APT_KEY add -
echo "Pronto"
----------final do arquivo------------PROCEDIMENTOS NECESSÁRIOS:
1) Salve o script e dê permissão de execução ao mesmo.
2) Preencha o campo CHAVE informando a chave que deu erro.
3) Execute o script
4) Execute "apt-get update"
OU simplesmente execute: (adicionado a este texto em 20/07/2012)
# apt-get install debian-archive-keyring
Assinar:
Postagens (Atom)