Msn-proxy no Linux e no FreeBSD

Introdução

O msn-proxy é um proxy transparente leve para clientes do msn messenger. Suporta todos os protocolos ativos ( todos clientes ). Controla quem e como o msn messenger é usado em sua rede. Cheio de recursos.

O texto acima é uma tradução da descrição escrita pelo autor no site do projeto.

O msn-proxy possui recursos como: Bloqueio de usuário, controle da lista de amigos dos usuários, log de conversação, aviso em chat sobre o monitoramento, bloqueio de transferência de arquivos, entre outros.

Ambiente Testado

Freebsd 7.0 Beta 3:

  • gcc version 4.2.1 20070719
  • MySQL version 5.0.45
  • libevent version 1.3d
  • Apache version 2.0.61
  • PHP version 4.4.7

Slackware 11:

  • gcc version 3.4.6
  • MySql version 5.0.24a
  • libevent version 1.3d/1.3b
  • Apache version 1.3.37
  • PHP version 5.2.5

Instalação

LibEvent:

FreeBSD:

# cd /usr/ports/devel/libevent/

# make install clean

Linux:

# wget -c ‘http://monkey.org/~provos/libevent-1.3d.tar.gz

# tar -zxvf libevent-1.3d.tar.gz

# cd libevent-1.3d/

# ./configure && make && make install

ou

# wget -c ‘http://lp.slackwaresupport.com/Slackware-11.0/martijn/libevent-1.3b-i486-1McD.tgz

# installpkg libevent-1.3b-i486-1McD.tgz

msn-proxy:

Linux/FreeBSD:

# wget -c ‘http://internap.dl.sourceforge.net/sourceforge/msn-proxy/msn-proxy-0.5.tar.gz

# tar -zxvf msn-proxy-0.5.tar.gz

# cd msn-proxy

# make¹

# make install

¹ O FreeBSD por usar o gcc4 foi necessário editar o arquivo Makefile e mudar a CCFLAGS, o processo é simples, apenas comentar( adicionar o # do inicio da linha) o CCFLAGS do gcc3 na linha 13 e descomentar( retirar o # do inicio da linha) o CCFLAGS do gcc4 na linha 17.

Configurando

Primeiro arquivo a ser configurado é o /usr/local/etc/msn-proxy/mysql/conf, é nesse arquivo que ficam os dados para a conexão entre o msn-proxy e o banco mysql.

Sintaxe:

(Host ou Socket)|(Port)|(usuario)|(senha)|(bando de dados)

Padrão:

/tmp/mysql.sock|0|msn-proxy|secret|msn-proxy

Após isso iremos criar o banco do dados e criar o usuário para o msn-proxy.

MySQL:

> create database `msn-proxy¹`;
> grant all privileges on `msn-proxy¹`.* to `msn-proxy²`@localhost identified by ‘secret³‘;
> flush privileges;

¹ Banco de dados
² Usuário
³ Senha

Após ter feito os passos anteriores, iremos rodar pela primeira vez o msn-proxy que irá criar as tabelas no banco.

# /usr/local/bin/msn-proxy

Se tudo ocorrer bem terá a seguinte mensagem:

PUBLIC ACCESS on /usr/local/etc/msn-proxy/mysql/conf should be removed !!!¹
fail to read mysql config (check defaults table)²

¹Avisa que o arquivo está com acessos demais.
² Não há host default configurado na tabela.

Retirar acesso público do arquivo de configuração:

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

Inserindo ip real do servidor proxy na tabela do mysql:

MySQL:

> insert into defaults (internal_host) values (’192.168.0.1¹‘);

¹192.168.0.1 deve ser o ip real.

Feita as alterações o seu msn-proxy está configurado e pronto para receber conexões.

# /usr/local/bin/msn-proxy &

Interface Web

Junto ao source do msn-proxy acompanha o diretório ‘php’ que é um utilário web para a configuração e gerenciamento do seu msn-proxy.

Edite o arquivo mysql.inc.php e edite as variavéis $host,$user,$pass,$db,$port de acordo com os dados usados no servidor mysql, após a edição, copie o diretório php para sua pasta web e sete as restrições de acesso necessárias, saiba como aqui.

Port Forwarding

É necessário fazer um redirecionamento das conexões vindas de sua rede, para que o proxy funcione de forma transparente.

Linux:

# iptables -t nat -I PREROUTING -i eth0¹ -p tcp –dport 1863 -j REDIRECT –to-port 1863

FreeBSD:

ipfw

ipfw add X¹ fwd 127.0.0.1,1863 ip from any to any dst-port 1863 src-ip 192.168.0.0/24²

¹Número da rega no ipfw

²Faixa de Rede Local

pf.conf

rdr on vr0¹ inet proto tcp from any to any port 1863 -> 127.0.0.1 port 1863

¹Interface de rede local.

Conclusão

Chegamos ao fim do artigo, espero ter conseguido transmitir de forma mais clara possivél os passos usados por mim para a instalação desse exceletente software.

Se mesmo após instalado e configurado seu msn-proxy não inciar, teste rodar com a opção ‘-d’(debug) para maiores informações do seu problema.

Em caso de dúvida não temam em perguntar.

Links

http://sourceforge.net/projects/msn-proxy/

http://www.mysql.com/

http://httpd.apache.org/

http://monkey.org/~provos/libevent/

http://www.linuxpackages.net/

http://focalinux.cipsga.org.br/

http://get.live.com/messenger/overview

Autor

Diego Pitombeira dos Prazeres a.k.a pitombera
Fonte: http://powerguide.wordpress.com

About Jost Dayan

Jost Dayan, Analista de Suporte e consultor autônomo na área de infra-estrutura de servidores, sou fundador, criado e administrador do Fórum GuiaCNC e ShopCNC.(alguns tentam me tirar isso). Alguns dizem que sou louco de jogar pedra e rasgar dinheiro :-) - Nerd, Geek, Anti-Social (segundo minha esposa e alguns amigos) tenho apenas 3 amigos :-). Mais informações sobre a minha pessoa, pode acessar aqui -> http://www.jostdayan.com.br/sobre/