quarta-feira, 20 de outubro de 2010

Chat em Java Eeboo

Chat em Java Eeboo

Projeto de final de semestre executado em parceria dos colegas Henrique Martins, André Cândido e Valdenir , desenvolvimento de um chat utilizando apenas a linguagem Java. Na versão atual já é possível a criação de chats privados e envio de textos coloridos.

O código tem muito a ser aperfeiçoado afinal era apenas para ser um trabalho para mostrar a utilização de sockets em Java. Projeto iniciado por um grupo de alunos do 4º semestre de Sistemas de Informação sem qualquer experiência em programação. No entanto novas idéias surgiram e gostaríamos de convidar a todos que tenham interesse em criar novos recursos, contribuir com idéias, alteração, aperfeiçoamento do código, ou simplesmente testar, a participarem.


Pontos fracos do chat:

* A comunicação é baseada toda em String, é preciso adaptá-lo para utilizar pedidos e respostas em bytes, além de criptografia de dados.

* Lentidão de respostas, devido à forma como são enviadas as mensagens. As mensagens são enviadas em filas um usuário por vez, e não é enviada ao outro usuário enquanto o anterior não receber.

Algumas idéias de recursos a serem adicionados:

* Envio de arquivo.
* DCC Chat (Chat privado direto entre usuários).
* Envio de emotions.
* Conversa com áudio e webcams.
* Adição de imagens personalizadas dos usuários conectados.

Você pode baixar o cliente e o servidor compilado em:
Cliente
http://www.4shared.com/file/LcFY2UgN/Chat_22-10.html

Obs: Salve o audio1.mp3 no c:\ (para sistemas Windows) da sua máquina.

Servidor

http://www.4shared.com/file/eRXfmNRS/Servidor_22-10.html


Você pode baixar o código fonte pronto para ser alterado pelo Eclipse em:

*Você irá precisar ter o Visual Editor configurado dentro do Eclipse;
*Descompacte os arquivos e direcione o Eclipse para pasta onde os arquivos foram descompactados.

Postem aqui links com novas versões, códigos, idéias, detecção de bugs, etc.

Abraços!

Irineu Teza Nunes.

domingo, 12 de setembro de 2010

BLOQUEANDO O ULTRASURF E O WEBMESSENGER DO HOTMAIL COM PROXY TRANSPARENTE (ATUALIZADO PARA O ULTRA SURF 10.05)

O UltraSurf é um pequeno utilitário capaz de burlar um proxy e permitir acesso a sites bloqueados, e que tem sido cada vez mais utilizado em bibliotecas, faculdades e escolas.
O UltraSurf utiliza-se de diversos servidores para conexão feitas pela porta SSL 443. Como é de se supor bastaria bloquear a porta 443 que o UltraSurf não mais se conectaria. Ai é que está o problema e a grande façanha do UltraSurf, essa porta 443 é utilizada para as conexões seguras como a de bancos, do Messenger e do próprio Orkut. Bloqueando essa porta você irá bloquear todo o acesso a esses sites.

PARA INICIO:

O tutorial abaixo foi aplicado a seguinte situação:

*Usuários podem ter acesso ao Messenger e sites de bancos e seguradoras todo o resto do tráfico pela porta 443 deve ser bloqueada incluindo nessa situação o UltraSurf. Alguns usuários tem acesso sem restrições a tudo.

A forma mais eficiente para bloquear o UltraSurf é o bloqueio de todo tráfico da porta 443 e liberação dessa porta apenas para URLs pré-determinadas. Isto porque o UltraSurf está constantemente atualizando sua lista de Ips para conexão e bloquear todos eles torna-se mais dispendioso do que bloquear tudo e liberar apenas o necessário.

Passo 1:

Adicione a seguinte regra ao seu firewall (Obs: Adicione essa regra antes de qualquer outra).


##############################
# BLOQUEIO DE PORTAS SSL 443
##############################

#Libera acesso aos bloqueados a urls especificas
#Bloqueia toda a requisição a porta 443
iptables -I FORWARD -p tcp --dport 443 -j DROP
#Bloqueia a nova porta utilizada pelo UltraSurf 10.05
iptables -I FORWARD -p tcp --dport 25101 -j DROP

#Define o local onde está o arquivo com a lista de URLs liberados para a porta 443
for URL in `grep -v "^#" /etc/squid/liberados_443`; do
#Libera o acesso a toda a rede para a lista de URLs definidas
iptables -I FORWARD -p tcp --dport 443 -d $URL -j ACCEPT
done

#Libera acesso total ao ssl 443
#PC-01
#Permite o acesso a porta 443 pelo ip em questão sem qualquer restrição
#adicione os endereços ips que você não pretende restringir o acesso ao UltraSurf.
iptables -I FORWARD -s 192.168.0.2 -p tcp --dport 443 -j ACCEPT



Obs: Regra adaptada do post de Jorge Informática disponível em:
http://www.brazilfw.com.br/forum/viewtopic.php?f=2&t=68610&start=0


Passo 2:

Crie um arquivo liberados_443 e adicione todos os ips das URLs em que o acesso à porta 443 será permitido. No meu caso o arquivo encontra-se dentro de “/etc/squid”, no entanto ele pode ser colocado em qualquer lugar para isso basta modificar a linha:


for URL in `grep -v "^#" /etc/squid/liberados_443`; do

com a nova localização do arquivo.

Exemplo abaixo de um arquivo liberados_443


#################################################
#ORKUT
64.233.160.0/19
64.233.163.0/24
209.85.128.0/17
74.125.0.0/16
72.14.192.0/18

#MSN
69.192.24.0/24

#Novo Hotmail 11-09-2011
65.54.186.0/24
65.54.204.0/24
65.54.165.0/24
216.246.75.0/24

#MSN Embutido no Hotmail 11-09-2011
173.222.141.0/24


#CENTRAL DE UPDATE WINDOWS
65.55.13.0/24

#########BANCOS################
#BANCO DO BRASIL
170.66.2.0/24
170.66.1.0/24

#CAIXA ECONOMICA
200.201.169.0/24
200.201.173.0/24

#ITAU
200.196.152.0/24

#BRADESCO
200.155.86.0/24

#BRADESCO FINANCIAMENTOS
200.155.80.0/24
####################################################


Como descobrir o ip a ser liberado para adicionar a lista?


Baixe um programa monitor de rede, no exemplo utilizei o networx.


Link do networx:
http://www.softperfect.com/download/

Utilize o recurso Netstat para monitorar o tráfico:


Acesse o site que você pretende liberar, e verifique o ip que está sendo acessado pela porta 443.
No exemplo temos o ip 170.66.1.60 que corresponde ao ip do Banco do Brasil. Ao adicionar no arquivo adicione da seguinte maneira 170.66.1.0/24 isso irá liberar toda a faixa de ip de 170.66.1.1 a 170.66.1.254 o que se torna interessante uma vez que geralmente os domínios utilizam mais de um ip de terminada faixa para acessos a serviços.
Observe que esses ips podem mudar com o tempo precisando ser atualizada a lista.


BLOQUEIO DO WEBMESSENGER DO HOTMAIL.


Veja que no arquivo de exemplo liberados_443 temos a seguinte faixa de ip:

#MSN Embutido no Hotmail 11-09-2011
173.222.141.0/24


Esse é justamente a faixa de ip utilizada pelo WebMessenger do Hotmail para acesso. No meu exemplo estou liberando o acesso a esse serviço, caso queria bloqueá-lo basta comentar essa linha.

CONCLUSÃO

Seguindo o exemplo desse tutorial não iremos nos preocupar mais com o UltraSurf ou qualquer outro software semelhante (pelo menos enquanto utilizarem a porta 443). O grande dificuldade realmente está no fato de ter que adicionar os ips de todas as URLs a serem liberadas que dependendo da quantidade de sites exigirá um trabalho bastante dispendioso. Por outro lado depois disso você só irá precisar fazer pequenas atualizações de ips que venham a mudar ou adicionar novos ips a serem liberados no arquivo liberados_443.
Como nem tudo é maravilha dependendo a quantidade de ips adicionados a lista o firewall irá demorar um pouco mais para aplicar todas as regras e a acesso a os sites liberados irá ficar ligeiramente mais lento. “É uma questão de preço benefício” :D.

Espero que tenham gostado desse meu primeiro post. Comentem:

Abraços.

Irineu Teza Nunes.