quarta-feira, 30 de março de 2011

MONITORANDO O TRÁFEGO DO MSN NA REDE COM MSN-PROXY

Apresento aqui a instalação e configuração do msn-proxy um software desenvolvido por uma equipe brasileira que possibilita o controle de todo o tráfego do MSN em uma rede. Possui opções como bloqueio por contato, monitoramento de mensagens, bloqueio de usuários entre outras funcionalidades.

Para esse tutorial foi utilizado o Ubuntu 10.10 e o Msn-proxy 0.7, no entanto com algumas pequenas modificações ele pode ser aplicado em qualquer distribuição derivada do Debian. Uma observação a fazer é que nos testes é que com o Mns-proxy 0.7 (ultima versão até a data desse tutorial) o Windows Live Messenger 2011 não conseguiu conectar-se na rede. No entanto funcionou perfeitamente com os clientes Windows Live Messenger 2009, Emesene e Amsn 0.98.

Preparando o ambiente

Alguns servidores e bibliotecas são pré requisitos para a configuração do msn-proxy. Partindo da idéia que servidores como o Apache e o Mysql ainda não estão instalados, precisaremos fazer a instalação dos pacotes necessários executando os comandos abaixo:

$ sudo su

# apt-get install php5 libapache2-mod-php5 php5-gd php5-imagick php5-mysql

# apt-get install apache2

# apt-get install mysql-server phpmyadmin

Obs: Nesse tutorial utilizaremos a senha do servidor Mysql como sendo “root”, mas nada impede que você utilize uma outra senha.

Dica: Quando questionado sobre qual servidor Web utilizar para o Phpmyadmin selecione o apache2.

Quando questionado sobre a criação da base da dados para o phpmyadmin responda “Sim” e na caixa de configuração do phpmyadmin insira a mesma senha configurada no mysql (que em nosso exemplo é “root”), utilizar a mesma senha ajudar a evitar esquecimentos posteriores.


# apt-get install make gcc g++ libevent-dev
# apt
-get install -f libmysqlclient15-dev


Edite o arquivo /etc/php5/apache2/php.ini e altere seu conteúdo para:

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

Baixando e instalando o msn-proxy:

Faça o download do msn-proxy em:

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

Descompacte o arquivo baixado:

$ tar zxvf msn-proxy-0.7
$ cd msn-proxy

Comente as linhas do FreeBSD e altere as do Linux no arquivo Makefile do msn-proxy para:

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


Execute a instalação:

$ make
$ sudo su
# make install


Configurando o ambiente do mysql para o msn-proxy:


Com o msn-proxy já instalado algumas alterações de arquivos, assim como a criação da base do msn-proxy no mysql será necessária.

Prepare a acesso ao msn-proxy:

# mkdir /var/www/msn-proxy
# cp -R php /var/www/msn-proxy/


Altere as linhas do arquivo
/var/www/msn-proxy/php/mysql.inc.php para:

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

Altere o arquivo /usr/local/etc/msn-proxy/mysql/conf para:

# "host or socket|port (zero for socket)|user|pass|database name"
#/tmp/mysql.sock|0|msn-proxy|secret|msn-proxy
localhost|3306|root|root|msn-proxy


Crie um banco com o nome de msn-proxy no mysql:

# mysql -p

(e digite a senha do administrador do banco de dados: "root");

mysql> CREATE DATABASE `msn-proxy`;
mysql> quit


Execute o seguinte comando afim de fazer um pequeno teste:

/usr/local/bin/msn-proxy

Se tudo estiver certo o comando anterior irá reportar a seguinte mensagem:
fail to read mysql config (check defaults table)


Mude as permissões do arquivo /usr/local/etc/msn-proxy/mysql/conf

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


Dica: Você pode editar o arquivo /usr/local/etc/msn-proxy/msn-proxy.conf que além de outras opções permite especificar o máximo de usuários que serão controlados na rede:

-> max_clients=10 #Essa linha indica a quantidade de usuários monitorados.


Precisamos agora cadastrar no banco o ip da placa que está distribuindo a internet com para rede local. Considerando que no exemplo esse ip seja 192.168.1.1, executamos seguintes comandos:

# mysql -p

(e digite a senha do administrador do banco de dados: "root");

mysql> use msn-proxy;
mysql> INSERT INTO `defaults` ( `internal_host` , `connect` , `save_msg` , `save_contacts` , `commands` , `warnemail` , `warndn` , `warnmsg` , `msgfont` , `msgcolor` ) VALUES ('192.168.0.1', 'YES', 'YES', 'YES', '0', 'itnp@msn.com', 'Irineu Teza Nunes', 'Para sua segurança esta mensagem esta sendo monitorada.', 'Arial', 'black');


Você pode verificar se os dados foram gravados com o seguinte comando:

mysql> SELECT * FROM `defaults`;


Se a resposta do comando for como está (tudo ok):

+---------------+---------+----------+---------------+----------+--------------+--------------------------+----------------------------------------------------------+---------+----------+

| internal_host | connect | save_msg | save_contacts | commands | warnemail | warndn | warnmsg | msgfont | msgcolor |

+---------------+---------+----------+---------------+----------+--------------+--------------------------+----------------------------------------------------------+---------+----------+

| 192.168.1.1 | YES | YES | YES | 0 | itnp@msn.com | Irineu Teza Nunes | Para sua segurança esta mensagem esta sendo monitorada. | Arial | black |

+---------------+---------+----------+---------------+----------+--------------+--------------------------+----------------------------------------------------------+---------+----------+

1 row in set (0.00 sec)


Saia do banco de dados:

mysql> quit


Direcionando tráfeco do msn

Utilizando o iptables direcione todo o tráfico da porta 1863 para o proxy-msn inserido a seguinte linha em seu firewall:

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 1863 -j REDIRECT --to-port 1863 #Onde eth0 é sua interface de rede local.

Para iniciar o proxy execute o seguinte comando:

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

Ou:

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

Dica: Com a opção -d irá ser possível visualizar os logs de saída.

Você também pode criar um pequeno script e configurá-lo para iniciar automaticamente o MSN-proxy criando o seguinte arquivo /etc/init.d/msn-proxy.sh e adicionando o seguinte conteúdo:


#!/bin/bash

/usr/local/bin/msn-proxy &

echo "MSN-Proxy Inicializado"

De as permissões e configure-o para iniciar automaticamente:

# cd /etc/init.d/
# chmod 755 msn-proxy.sh
# update-rc.d msn-proxy.sh defaults


Após iniciar o msn-proxy caso você pode acessar sua interface digitando o seguinte endereço em seu navegador:

http://localhost/msn-proxy/php/index.php

A interface é bastante intuitiva e organizada, apresentando diversas opções e todas as configurações necessárias para o monitoramento.


Finalizando esse tutorial deixo aqui meus parabéns a todos os desenvolvedores do MSN-proxy. Realmente foi feito um trabalho primoroso e bem executado. Além disso o desenvolvimento continua, onde novos recursos são adicionados e outros melhorados.


Irineu Teza Nunes.

REFERÊNCIA:

Rudimar. MSN-Proxy no Debian Etch. E-mail: rudimar@remontti.com.br. Disponível em: http://www.vivaolinux.com.br/artigo/MSNProxy-no-Debian-Etch-1

segunda-feira, 28 de março de 2011

COMPARTILHANDO SCANNERS NO UBUNTU 10.10

Da mesma forma que conseguimos compartilhar uma impressora na rede, com o linux abre-se ainda mais as possibilidades e é possível também o compartilhamento de scanners com alguns passos simples.Aqui estarei descrevendo como compartilhar uma impressora em um servidor linux e acessar via clientes Windows. Foi utilizando em neste exemplo o Ubuntu 10.10 Server, no entanto esse tutorial deve funcionar sem problemas em qualquer distribuição debian.

Configurando o Servidor


No caso do Ubuntu é necessário que os pacotes xinetd e sane-utils estejam instalados. Podemos fazer isto executando o apt-get como root.


# apt-get install xinetd sane-utils

Após a instalação dos pacotes execute o comando:

scanimage -L


Esse comando irá listar todos os scanner instalados no sistema.


Para ativar o compartilhamento é efetuado a configuração de alguns arquivos.

Edite o arquivo /etc/services e adicione a seguinte linha:


sane-port 6566/tcp

Edite o arquivo /etc/xinetd.conf coloque a seguinte linha:


sane-port stream tcp nowait saned.saned /usr/sbin/saned saned


Em seguida, precisamos configurar o xinetd para usar o saned. Isto é feito criando o arquivo /etc/xinetd.d/sane-port com o seguinte conteúdo:


service sane-port {
socket_type = stream
server = /usr/sbin/saned
protocol = tcp
user = saned
group = saned
wait = no
disable = no
}


Com o compartilhamento já configurado precisamos definir quem tem a permissão de acessar o scanner na rede. Precisamos para isso descomentar uma das linhas do arquivo /etc/sane.d/saned.conf e adicionarmos duas novas linhas:
Descomente essa linha:
scan-client.somedomain.firm

Adicione duas novas linhas:
192.168.0.0/24

127.0.0.0/8

O endereço de rede 192.168.0.0/24 permite que todos os computadores com IP entre 192.168.0.1 a 192.168.0.254 acessem o scanner. E o 127.0.0.0/8 representa o endereço loopback (endereço para acesso local do scanner). Claro que se sua rede estiver configurada com um endereço diferente o primeira linha deve ser alterada (ex 192.168.1.0/24).



Agora precisamos apenas adicionar o “usuário saned” ao grupo root e lp para tanto altere as linhas do arquivo /etc/group para:


root:x:0:saned
lp:x:7:saned
saned:x:16:root


Obs.: Tenha bastante cuidado em alterar esse arquivo pois ele é vital para o funcionamento do sistema.


Agora basta reiniciar o xinetd e o scanner estará compartilhado:

/etc/init.d/xinetd restart

Agora vamos mostrar como configurar os clientes Linux e Windows

Configurando os Clientes


Aqui é a parte mais fácil do serviço. Baixe o link abaixo o software SanetTwain:

http://sanetwain.ozuzo.net/downloads/sanetwain130.zip


Descompacte o arquivos em um diretório qualquer e execute o arquivo Scanimage.exe.

Inicialmente teremos a seguinte tela de configuração:








Nome do servidor: O ip do servidor onde o scanner foi compartilhado. No meu exemplo 192.168.0.1


Porta: A porta onde o servidor saned foi compartilhado o padrão é 6566


Nome do usuário: O nome do usuário que tem permissões de scannear via rede. No exemplo saned.


Está pronto. Basta executar um scanner para fins de teste.


Espero que tenham gostado.


Irineu Teza Nunes.



REFERÊNCIA:


RIBEIRO, Marcos Roberto. Compartilhamento de scanner no linux. Disponível em: http://ultramarcosribeiro.blogspot.com/2008/10/compartilhamento-de-scanner-no-linux.html