Você está na página 1de 6

Tenho visto muita gente com duvida sobre a instalação e utilização do MSN-Proxy.

O tutorial que segue foi


produzido com base no Debian Lenny, mas serve como base para outras distribuições também. Foi
exaustivamente testado, e funciona 100%.

Introdução
O programa
Instalação
Configuração
Iniciando o MSN-Proxy
Acessando os Logs
Atualizando
Referencias

Introdução

Este é meu primeiro artigo para o VOL. Resolvi escrevê-lo porque iniciei o uso do MSN-Proxy há pouco mais
de um ano. Penei muito para fazê-lo funcionar redondinho. Na internet ainda não há tantas informações quanto
eu esperava. Espero que gostem e que seja útil, pois o artigo é o resultado de meses de pesquisa e testes.

Com a crescente demanda de comunicação online, um dos programas mais usados é o MSN (atual WLM ou
Windows Live Messenger). Muitas empresas, principalmente as chamadas EPP (Empresa de Pequeno Porte),
têm aumentado gradualmente a porcentagem de suas transações comerciais feitas via chat, utilizando programas
como o WLM. Isso reduz consideravelmente o custo com ligações interurbanas ou internacionais, agiliza as
negociações, além de dar certa segurança para ambas as partes, pois os programas atuais são capazes de gravar
LOGs das conversas, e em caso de problemas, basta consultar um destes registros para resolver a questão. Entra
em cena, o chamado “espertinho”, aquele funcionário que conhece o funcionamento do programa e o configura
para não gravar os logs, enquanto ele tem uma conversa comprometedora, ou até mesmo troca informações
confidenciais com outra pessoa. Depois, o “espertinho” ativa novamente os logs, e é como se nada tivesse
acontecido. Além desse caso especifico, tem aqueles que não produzem o que podem porque ficam
conversando ao invés de trabalhar.
Por essas e outras, empresas estão implantando sistemas para gravação dessas conversas, sem a interferência de
qualquer funcionário. Mas para os que irão implantar o sistema, cuidado com a “invasão de privacidade”.
Qualquer funcionário que não foi informado que suas conversas estão sendo monitoradas, descobrir o
monitoramento e alegar invasão de privacidade, pode processar a empresa. Por isso, para se proteger, faça um
documento para que cada funcionário assine, declarando que está ciente que suas conversas estão sendo
monitoradas.

O PROGRAMA

O MSN-Proxy é um aplicativo que roda em background e “loga” todas as conversas que saem pela porta 1863.
Atualmente está na versão 0.7, e ainda está em pleno desenvolvimento. Um ponto positivo é a possibilidade do
administrador bloquear contatos, e outro é avisar o funcionário que a conversa está sendo monitorada. Um
ponto negativo é que a interface web para ler os logs não é protegida (como o webmin por exemplo que pede
senha), e outro é que a mensagem que o usuário recebe fica somente na rede local, ou seja, a pessoa com quem
o “monitorado” vai conversar, não fica sabendo que a conversa será monitorada.
Fique sempre atento a novas atualizações, pois sempre virão novas funcionalidades.

INSTALAÇÃO

Utilizei para a instalação o aptitude do debian e como editor de textos, usei o mcedit.
Primeiro precisamos instalar alguns pacotes que o msn-proxy utiliza. Ao instalar o mysql-server, você notará
que o instalador pedirá uma senha. Essa é a senha de administrador do MySql, que será usada mais à frente no
tutorial.

# aptitude install binutils


# aptitude install mysql-server mysql-client
# aptitude install apache2 php5 php5-mysql libapache2-mod-php5 php5-gd php5-imagick phpmyadmin
# aptitude install make gcc g++
# aptitude install -f libmysqlclient15-dev

Agora altere o arquivo /etc/php5/apache2/php.ini, conforme abaixo:

# mcedit /etc/php5/apache2/php.ini

Procure as linhas safe_mode, safe_mode_gid, register_blobals e display_error e altere seus parâmetros


conforme abaixo:

safe_mode = On
safe_mode_gid = On
register_globals = On
display_errors = On

Vamos agora instalar a libevent:

Sempre procure atualizações em http://www.monkey.org/~provos/libevent/


Apesar de já estar na versão 1.4.13, iremos utilizar a versão 1.4.12. Nos testes que realizei a versão .13 não
funcionou com o msn-proxy 0.7, já a .12 funcionou perfeitamente. Crie uma pasta temporária e execute os
comandos abaixo:

# wget http://monkey.org/~provos/libevent-1.4.12-stable.tar.gz
# tar -vxzf libevent-1.4.12-stable.tar.gz
# cd libevent-1.4.12-stable
# ./configure
# make
# make install
# cd /usr/lib/
# ln -s /usr/local/lib/libevent-1.4.so.2

Instalando o MSN-Proxy:

Procure por atualizações em http://sourceforge.net/projects/msn-proxy/

# wget http://ufpr.dl.sourceforge.net/project/msn-proxy/msn-proxy/msn-proxy-0.7/msn-proxy-0.7.tar.gz
# tar -vxzf msn-proxy-0.6.1-mysql-tar-gz
# cd msn-proxy
# mcedit Makefile

Comente as duas linhas referentes ao FreeBSD e $descomente as do Linux, como abaixo:

MYSQLINC=/usr/lib/mysql
MYSQLLIB=/var/lib/mysql/mysql

# make
# make install

CONFIGURAÇÃO

Inicialmente vamos criar a pasta que conterá a interface, e copiar o conteúdo para ela:
# mkdir /var/www/msn-proxy
# cp -R php/* /var/www/msn-proxy

Configurando as conexões ao banco de dados que será criado:


# mcedit /var/www/msn-proxy/mysql.inc.php

Altere como abaixo:

$host = "localhost";
$user = "root";
$pass = "SENHA-DO-MYSQL";
$db = "msn-proxy";
$port = 3306;

# mcedit /usr/local/etc/msn-proxy/mysql/conf

Altere como abaixo:

localhost|3306|root|SENHA-DO-MYSQL|msn-proxy

Vamos agora criar o banco de dados:

# mysql -p
(digite SENHA_DO_MYSQL)

Dentro do MySql, execute os seguintes comandos (não se esqueça do ponto-e-vírgula no final de cada linha)

mysql> CREATE DATABASE `msn-proxy`;


mysql> grant all privileges on `msn-proxy`.* to `msn-proxy`@localhost identified by "SENHA_MYSQL";
mysql> flush privileges;
mysql> exit;

Obs.: Nos comandos acima deve-se usar o acento crase, não aspa simples ou apóstrofo. Onde você vê
"SENHA_MYSQL", não esqueça de incluir as aspas.

Continuando...

# chmod 600 /usr/local/etc/msn-proxy/mysql/conf


# mcedit /usr/local/etc/msn-proxy/msn-proxy.conf

Altere como abaixo:

max_clients=200

Obs.: Note que max_clients não é exatamente a quantidade de pessoas online, mas sim a quantidade de usuários
que serão monitorados. Ajuste de acordo com sua necessidade. Leve em conta que em uma empresa com 50
funcionarios, teoricamente seu max_clients seria = 50. Mas digamos que 40% desses funcionários (20
funcionarios) acesse seu msn pessoal na empresa, seu max_clients subiria para 70. E que 4% (2 funcionarios)
além de acessar o msn de trabalho e pessoal, ainda usa o da namorada que ele descobriu a senha, e o do irmão
pra ficar zuando, fora um msn fantasma que ele criou só pra adicionar a “biscataiada” do orkut. Com tudo isso
seu max_clients subiria para 78. Então jogue um número superior ao que você julga necessário.

Vamos iniciar o msn-proxy para que o programa crie as tabelas no banco vazio que criamos:
# /usr/local/bin/msn-proxy

Será apresentado um erro. Vamos inserir um conteúdo na tabela:

# mysql –p
(digite SENHA_DO_MYSQL)

Dentro do MySql, execute os seguintes comandos (não se esqueça do ponto-e-vírgula no final de cada linha)

mysql> use msn-proxy;


mysql> show tables;

Com esse comando voce confere se realmente abriu o banco de dados msn-proxy. O resultado na tela será o
seguinte:

+---------------------+
| Tables_in_msn-proxy |
+---------------------+
| contact_groups |
| contacts |
| defaults |
| log |
| sb |
| users |
+---------------------+

Execute o comando abaixo: (troque o ip 192.168.0.1 pelo IP do seu servidor que ira rodar o Msn-Proxy

mysql> insert into `defaults`(`internal_host`) values ("192.168.0.1");

Verificando se gravou:

mysql> select * from defaults;

Com esse comando voce ira listar o conteudo do registro da tabela defaults;
|192.168.0.1|YES|YES|YES|0|adm@server.com|Administrador do Sistema|Para sua segurança
esta mensagem esta sendo monitorada!|Arial|black|
1 row in set (0.00 sec)

Se essa foi a resposta do comando, está tudo pronto!

mysql> quit;

Setando o firewall para fazer a captura das mensagens: (inclua este comando no seu script de firewall para não
precisar executar manualmente toda vez. Troque REDE_INTERNA por sua interface de rede interna, ex. eth1)

# iptables -t nat -I PREROUTING -i REDE_INTERNA -p tcp --dport 1863 -j REDIRECT --to-port 1863
# iptables -A INPUT -p ALL -s 192.168.1.0/24 -i REDE_INTERNA -j ACCEPT

INICIANDO O MSN-PROXY

Para iniciar manualmente o msn-proxy, execute um dos comandos abaixo:

# /usr/local/bin/msn-proxy & (roda em background)


# /usr/local/bin/msn-proxy -d & (-d para ver os logs e & para rodar em background)
Para automatizar o procedimento, vamos criar um daemon para ser iniciado junto com o sistema. Crie um
arquivo:

# touch /etc/init.d/msn-proxy

Edite o novo arquivo:

# mcedit /etc/init.d/msn-proxy

Agora insira o seguinte conteúdo no arquivo:

#!/bin/bash
start() {
echo "Iniciando o MSN Proxy..."
/usr/local/bin/msn-proxy -b &

stop() {
echo "Finalizando o MSN Proxy..."
pkill -9 msn-proxy >> /dev/null
iptables -t nat -D PREROUTING -i $interno -p tcp --dport 1863 -j REDIRECT --to-port 1863 >> /dev/null
}

case "$1" in
start) start
;;
stop) stop
;;
*) echo "Uso correto: msn-proxy (start|stop)"
;;
esac

Agora execute os seguintes comandos para dar permissão de execução e inicia-lo automaticamente:

# chmod +x /etc/init.d/msn-proxy
# update-rc.d msn-proxy defaults

ACESSANDO OS LOGS

No seu browser preferido digite o seguinte endereço: (troque 192.168.0.1 pelo IP do seu servidor que roda o
msn-proxy ou pelo nome do mesmo)

http://192.168.1.10/msn-proxy/

ou

http://linux/msn-proxy/

ATUALIZANDO O MSN-PROXY

Quando fizer uma atualização, com certeza você repetirá o download, compilação e instalação da libevent ou
msn-proxy. No caso da libevent, é apropriado recriar o link simbólico. Teoricamente não há a real necessidade,
desse passo, porém, como disse no inicio, esse tutorial foi exaustivamente testado, e encontrei este problema.
Ao atualizar uma versão da libevent, simplesmente não recriei o link, e o msn-proxy simplesmente não
funcionou.
# cd /usr/lib/
# rm libevent-1.4.so.2
# ln -s /usr/local/lib/libevent-1.4.so.2
No caso de atualização do MSN-Proxy, altere o arquivo conf, como abaixo:

# mcedit /usr/local/etc/msn-proxy/mysql/conf

Deixe-o assim:

localhost|3306|root|SENHA-DO-MYSQL|msn-proxy

Execute o seguinte comando:

# chmod 600 /usr/local/etc/msn-proxy/mysql/conf

Por fim, edite o arquivo msn-proxy.conf

# mcedit /usr/local/etc/msn-proxy/msn-proxy.conf

Deixe-o assim:

max_clients=200

E caso, queira recopiar a pasta que contem os arquivos para a interface web, faça assim:

# cp -R php/* /var/www/msn-proxy
# mcedit /var/www/msn-proxy/mysql.inc.php

Altere como abaixo:

$host = "localhost";
$user = "root";
$pass = "SENHA-DO-MYSQL";
$db = "msn-proxy";
$port = 3306;

REFERENCIAS

Vou citar algumas referencias que encontrei, mas não todas, porque não me lembro mais.

http://www.vivaolinux.com.br/artigo/MSNProxy-no-Debian-Etch/
http://www.vivaolinux.com.br/artigo/MSNProxy-no-Debian-Etch-1/
http://powerguide.wordpress.com/2007/12/04/msn-proxy-no-freebsd-e-linux/
http://www.vivaolinux.com.br/dica/Monitorar-o-Messenger-com-o-MSNProxy/
http://curiboca.spaces.live.com/blog/cns!8ED10C26D22D2336!2663.entry

Você também pode gostar