Arquivo da Categoria ‘marcelo’

XMPP e Openfire no FISL 11

segunda-feira, 14 de junho de 2010
Se você está interessado em ter seu próprio servidor de mensagens instantâneas - e andou pesquisando sobre o assunto - já deve ter ouvido falar em XMPP e em Openfire. O Openfire é um excelente servidor XMPP que possui uma interface de administração web extremamente simples e completa. Além disso, conta também com uma estrutura de plugins que permite a qualquer desenvolvedor estender as funcionalidades do mesmo.

Pois bem, se você está querendo saber mais sobre o assunto (ou se quiser ampliar seus conhecimentos sobre o mesmo), aconselho você a participar do fisl 11, pois além de poder trocar experiências com outros usuários e administradores, poderá assistir a palestras muito interessantes sobre o tema. Aliás, essas palestras são o motivo principal desse post.

Bom, mas para começar a falar de tais palestras é preciso divulgar uma notícia que possivelmente interessará a todos administradores e entusiastas do Openfire: na última sexta-feira foi confirmada a participação de Guus der Kinderen, um dos desenvolvedores do projeto.

Guus terá duas sessões no fisl: uma palestra sobre Openfire, onde falará do servidor e seus recursos. Além disso, ele deverá também discorrer sobre os planos para o futuro do projeto. Para quem não conhece o Openfire ou gostaria de saber mais sobre o mesmo essa é uma oportunidade imperdível.

Guus também apresentará uma palestra sobre o desenvolvimento de plugins para o servidor. Me parece uma ótima oportunidade de agregar novos desenvolvedores e colaboradores ao projeto. Além disso, creio que existam muitos administradores interessados em implementar outras funcionalidade ao servidor, afinal o Openfire está com uma certa carência de novos recursos. Um exemplo bem atual: seria muito interessante se existisse um plugin que implementasse o suporte a Jingle Nodes no Openfire (assim como existe para o ejabberd), não acham ?


Além da presença do Guus, teremos novamente nessa edição do fisl a presença de Thiago Rocha Camargo (criador do Jingle Nodes) que apresentará também duas palestras:
  • P2P VoIP - An Open alternative to Skype: It is the simplest Open Standard solution to communicate freely with your friends without being attached to a closed service providers like Skype or Telecom Carriers! Realtime Communication P2P Sharing. Technically, Jingle Nodes intend to provide easy to use Jingle Relay Type Candidates that can be used in ICE-UDP Jingle Sessions. Relay Candidates can provide NAT Traversal for users that don't have STUN/TURN Support, but also for users with STUN/TURN support that the negotiation failed.
  • A Web em Tempo Real - XMPP: Como e por quê as redes de mensagem instantânea XMPP são as que mais crescem no mundo e já é responsável pelas rede de mensagem e serviços do Google, LiveJournal, Nimbuzz e mais recentemente Facebook. Além dos serviços de MicroBlog Identi.ca e collecta.com. Como implantar um servidor XMPP com suporte a mensagem, microblog, Voz e até Vídeo utilizando um único sistema.
Alguns outros projetos que utilizam XMPP também foram contatados e é possível que novos nomes venham a ser anunciados em breve. Fiquem de olho aqui no blog e no site do fisl.

E você ? Já fez sua inscrição para o fisl 11 ?

Não perca tempo e inscreva-se já pois o valor das inscrições aumenta com a proximidade do evento.

Spam no Brasil – uma realidade preocupante

terça-feira, 18 de maio de 2010
O CERT.br lançou na última semana um relatório sobre o problema do Spam no país. O relatório traz dados surpreendentes e ao mesmo tempo preocupantes, visto que o Brasil é (para quem ainda não sabia) um dos maiores geradores de spams da atualidade.

Dados da Composite Blocking List (CBL), mostram o país em segundo lugar, atrás apenas da Índia. Além disso, as grandes operadoras do país figuram na lista dos 50 maiores domínios (reversos) usados pelos spammers no mundo. E mais: a Cisco também indicou o Brasil como grande disseminador de spams (a quantidade de spams triplicou de 2008 para 2009), enquanto o país ficou em primeiro na lista da Panda Security e em terceiro na lista da Sophos.

Para os sysadmins fica o recado: é hora de agir. Medidas simples como fechamento de relays aberto, filtros, blacklists de IPs e gerência da porta 25 (tão indicada pelo CGI.br) fazem muita diferença e ajudam a combater a praga do spam.

Além disso, é fundamental instruir o usuário final para que use senhas de qualidade. Digo isso por experiência própria, visto que só nos últimos 12 meses tivemos de conter mais de uma dezena de ataques de spammers que após obterem acesso a webmails usando força bruta, passaram a utilizar a estrutura invadida para o envio de milhares de mensagens. E esse tipo problema foi identificado em várias redes distintas, o que só reforça a necessidade de educar os usuários nesse sentido.

Mãos à obra. Está na hora de fazermos nossa parte.

Baixe o relatório do CERT.br aqui.

Jingle Nodes – o substituto Open Source do Skype ?

terça-feira, 23 de fevereiro de 2010
Há muito tempo espera-se que o protocolo Jingle seja a solução para comunicação internet P2P (mais especificamente, leia-se VoIP). Infelizmente, nada muito concreto e inovador foi implementado ao longo dos anos que fizesse com que o Jingle decolasse. Alguns clientes e softwares bastante utilizados até suportam o protocolo (como o Pidgin, Asterisk e inclusive o Google Talk), mas o uso em massa (como no caso do Skype) nunca foi alcançado.

Depois de anos sem evolução, eis que surge uma nova idéia, idealizada por Thiago Camargo, que parece ser a solução para disseminação do Jingle: trata-se do Jingle Nodes. O Jingle Nodes, que ainda é uma XEP proposta (leia a mesma aqui), promete ser a nova sensação da comunicação via internet, pois permite transformar qualquer cliente XMPP em um nó público, estendendo assim a rede P2P a qualquer usuário (no melhor estilo P2P dos compartilhadores de arquivos) que pode determinar como e com quem irá compartilhar o recurso, o que não acontece por exemplo com a rede Skype. Além disso, por ser um protocolo aberto, ele pode ser estendido e melhorado pela própria comunidade, o que permite uma maior velocidade na evolução do mesmo.

E a boa notícia é que após meses de desenvolvimento, os primeiros servidores com suporte ao Jingle Nodes começam a aparecer. Como o ejabberd já suporta Jingle Nodes, a ProcessOne disponibilizou o primeiro servidor com suporte a nova feature: o talkr.IM. E tem mais: ainda em fase de desenvolvimento, um cliente para uso do Jingle Nodes (que nada mais é do que um addon para o Firefox) já está em sua versão beta e deve ser lançado no futuro próximo.

Além disso, para os administradores do Openfire, um boa notícia também está no ar: um plugin para esse servidor também está em desenvolvimento e deve ser disponibilizado em alguns meses.

Ou seja, nem bem começou o ano (afinal o Carnaval recém acabou) e já temos grandes promessas e expectativas para 2010, que pode vir a ser o ano do VoIP P2P Open Source.

É esperar pra ver...

Samba 3.5.0 com suporte experimental a SMB2

quinta-feira, 26 de novembro de 2009

O time de desenvolvimento do Samba anunciou hoje o lançamento da versão 3.5.0pre1 do software e o grande destaque dessa nova release com certeza é o suporte (ainda que experimental) ao protocolo SMB2.

O SMB2, desenvolvido pela Microsoft, possui várias modificações em comparação a seu antecessor, entre as quais cabe citar:
  • Melhorias na perfomance da comunicação entre cliente e servidor;
  • Melhorias na performance da transferência de arquivos grandes;
  • Menor overhead do protocolo (número de comandos e subcomandos reduzido de mais de 100 para apenas 19);
  • Melhor escalabilidade;
O SMB2 foi implementado inicialmente no Windows Vista mas já está disponível em todas as versões mais recentes dos sistemas operacionais da Microsoft. Windows 7 e Windows 2008 R2 já utilizam o SMB2.1, que segundo informações é ainda mais performático. Apesar de ser proprietário, a especificação do protocolo foi publicada para permitir que outros sistemas possam interagir com os SOs da Microsoft que usam essa nova versão.

Ainda em caráter experimental no Samba, o uso do SMB2 além de aumentar a performance de maneira geral promete diminuir a quantidade de "lixo" que circula na LAN e que é gerada pelo protocolo SMB versão 1.

Outras fontes de informação sobre o SMB2:

UPDATE 30/12/2009: a equipe de desenvolvimento do Samba anunciou que a versão 3.6.0 deverá ter suporte total ao protocolo SMB2.

Leia o Changelog completo da nova versão do samba aqui.


Post-LA-ng – o início de um novo projeto

sexta-feira, 18 de setembro de 2009
Algo que sempre sinto falta quando faço uma nova instalação de um servidor de correio eletrônico é a possibilidade de permitir que o administrador do mesmo possa pesquisar nos logs de e-mails de forma simples e eficaz. Já procurei várias ferramentas, mas não encontrei nada que atendesse minhas expectativas.

Pois parece que essa insatisfação é compartilhada com muitas outras pessoas, pois essa semana fui procurado pelo Fábio Luiz, que me apresentou ao software Post-LA (software para geração de relatórios e análise de logs do Postfix) e me convidou para dar sequência ao projeto.

Analisando o mesmo percebi que ele é bastante interessante, mas que ainda existe muito para ser melhorado e explorado. Então, percebemos que o interessante mesmo seria pegar a idéia inicial do Post-LA e fazer um fork avançado do mesmo, que acabei batizando de Post-LA-ng (nomes criativos para projetos nunca foram o meu forte).

E parece que iniciamos já com o pé direito, pois o Post-LA-ng já nasce com uma equipe de peso. Contamos com o Fábio Luiz, com o Leandro Mendes, com o Reinaldo de Carvalho (que irá desenvolver o parser em Python), com o Henrique Bueno (desenvolvedor do Post-LA original) e também com a ajuda da equipe de desenvolvimento da Propus, que deverá cuidar da interface web da aplicação (talvez usando Django).

Algumas features planejadas para as primeiras versões:
  • Parser dos logs em "tempo real" com armazenamento em banco de dados (MySQL ou Postgres - a definir);
  • Interface web para geração de relatórios com filtros e ordenamento pelos campos (remetente, destinatário, data, etc..);
  • Geração de gráficos e estatísticas (maiores remetentes, maiores destinatários, maiores mensagens, entre outros);
A expectativa é já ter em algumas semanas uma primeira versão funcional, com recursos básicos de pesquisa.

Aguardem mais notícias e sigam acompanhando o projeto na página do SourceForge. E fiquem de olho porque o projeto promete !

Utilizando o Postfix Quota Reject 2.0

sábado, 12 de setembro de 2009
Implementar o Postfix Quota Reject em um servidor com Postfix + Cyrus/Courier é uma tarefa bastante simples e que agrega muito ao serviço de correio.

O PQR é composto de 2 scripts Perl que rodam como policy daemons no Postfix. Existe uma versão para Cyrus e outra para Courier, mas ambas funcionam de forma análoga. O projeto é bem documentado, e o tarball vem com um pdf que explica mais sobre o software.

Instalando o PQR

Para começar baixe o .tar.gz do PQR e abra-o em um diretório ( por exemplo /usr/local/pqr ). É preciso dar permissão de leitura e de execução nesse diretório e nos scripts para o usuário que for rodar os daemons ( nesse caso, vou usar o usuário vmail ).

Configurando o Postfix

Arquivo /etc/postfix/master.cf:

Adicione as seguintes linhas no arquivo master.cf:
127.0.0.1:2222 inet n n n - 0 spawn user=vmail argv=/usr/local/pqr/postfix-qreject-frontales.pl
127.0.0.1:3333 inet n n n - 0 spawn user=vmail argv=/usr/local/pqr/postfix-qreject-buzones-courier.pl

Se você for usar cyrus, troque o script postfix-qreject-buzones-courier.pl pelo script postfix-qreject-buzones-cyrus.pl.

E não esqueça: é preciso que o usuário que rodará os scripts (configurado no master.cf) tenha permissão de leitura e execução dos mesmos, caso contrário os daemons não serão carregados.

Arquivo de classe de restrição (/etc/postfix/qreject):

É necessário criar um arquivo com os domínios que serão consultados pelo PQR. O conteúdo do arquivo deve ser algo como:
[root@mailserver /etc/postfix]# cat qreject
seudominio.com.br pqr

Após a criação ou modificação desse arquivo, gere a tabela hash com o comando postmap /etc/postfix/qreject.

Explicando de forma bem simples, esse arquivo (juntamente com as demais configurações) garante que qualquer e-mail enviado para o domínio seudominio.com.br deverá consultar a classe de restrição pqr, que será criada no arquivo /etc/postfix/main.cf e que evocará os scripts do Postfix Quota Reject.

Arquivo /etc/postfix/main.cf:
# Classe do pqr
pqr = check_policy_service inet:127.0.0.1:2222

smtpd_restriction_classes = pqr # caso já existam outras classes, basta adicionar a classe pqr a lista

smtpd_recipient_restrictions =
permit_mynetworks,
permit_sasl_authenticated,
check_recipient_access hash:/etc/postfix/qreject,
...

smtpd_end_of_data_restrictions = check_policy_service inet:127.0.0.1:2222

Criando o banco de dados do PQR


Antes de continuar, é preciso criar o banco de dados do PQR no servidor MySQL.

Para isso crie um database (com nome de qreject, por exemplo) e um usuário (novamente qreject) que tenha permissão total nesse banco. Como não é o objetivo desse post, não irei entrar nos detalhes dessas operações, supondo que o leitor saiba como efetuar tais tarefas.

Depois de criados adicione os dados do script qreject.sql que vem com o tarball do PQR nesse novo DB. Isso pode ser feito com o seguinte comando (logado como root) :
mysql -p -D qreject < /usr/local/pqr/qreject.sql

Arquivo /usr/local/pqr/postfix-qreject-frontales.pl
(obs. do Allan Carvalho)

Abra o arquivo /usr/local/pqr/postfix-qreject-frontales.pl e altere as variáveis do banco de dados, com os dados do seu servidor.

No meu exemplo, tenho o seguinte:
our $mysql_server = "127.0.0.1";
our $mysql_port = 3306;
our $database = "qreject";
our $usu_mysql = "qreject";
our $clave_mysql = "password";

Inserção de usuários no DB


Como já explanado em meu post anterior, o mais trabalhoso na configuração do PQR é a necessidade de cadastrar no banco de dados cada conta que deverá ser verificada (o que por outro lado também torna a ferramenta mais flexível, pois permite que você verifique somente as contas desejadas).

Para facilitar essa tarefa (pelo menos nos casos onde todas as contas do servidor devem ser consultadas), adaptei alguns scripts (baseados nos originais sugeridos por Egoitz Aurrekoetxea Aurre, desenvolvedor do Postfix Quota Reject) e os mesmos podem ser baixados aqui. É bem provável que sejam necessárias pequenas adaptações para fazê-los funcionarem no seu ambiente, mas nada que seja complexo.

DICA: caso existam contas com quota ilimitada (ou sem quota), não adicione estas no DB, pois o sistema irá negar todas as mensagens destinadas as mesmas por overquota (experiência própria).

Concluindo

O PQR é uma ferramenta eficiente que permite o bloqueio de mensagens destinadas a usuários com caixas postais lotadas diretamente no SMTP. Tal abordagem além de não gerar tráfego desnecessário, reduz as filas no seu servidor e garante que o remetente tenha consciência de que a mensagem não foi entregue logo após enviá-la, o que em muitos casos é algo fundamental. Sua instalação é simples e sua performance é muito boa, o que me faz recomendar sua instalação sem receios em qualquer servidor que necessite desse recurso.


Leia também:Link

M-Link no Jabber.org

segunda-feira, 24 de agosto de 2009
A troca do servidor XMPP do domínio Jabber.org de ejabberd (software livre) para M-Link (que é um projeto comercial) me deixou preocupado. Encontrei o stpeter (Peter Saint-Andre, diretor executivo da XMPP Standards Foundation (XSF)) online e conversei com ele para tentar esclarecer minhas dúvidas sobre o ocorrido.

Questionado sobre a troca realizada, stpeter esclareceu que o Jabber.org ainda está rodando sobre ejabberd e que eles ainda estão planejando o processo de migração, que deve ocorrer no final de setembro.

Com relação a escolha do M-Link, ele explicou que a última troca de servidor realizada (jabberd 1.x para ejabberd em 2006) foi feita de uma maneira não muito aberta. Então, para tornar o processo público, foi criado o Server RFP, que foi atendido somente por dois projetos: M-Link e Tigase. O projeto ejabberd não enviou proposta (talvez os desenvolvedores estivessem envolvidos demais no lançamento da versão 2.1). E, como todos já sabem, o escolhido entre os dois projetos foi o M-Link, que de um ponto de vista FLOSS é um retrocesso pois trata-se de um projeto comercial.

Apesar desse "retrocesso" (na minha opinião), é preciso seguir em frente, pois como o próprio stpeter disse, quem sabe daqui há dois anos o escolhido não seja o Tigade ou o Prosody (ou até mesmo o ejabberd novamente).

Depois de esclarecida a questão confesso que fiquei menos incomodado e aproveito para desejar boa sorte ao Jabber.org nesse nova etapa. E já que estamos falando de um novo servidor, solicitei a stpeter que quando o serviço for migrado e estiver funcional ele escreva um post com suas impressões sobre o mesmo.

PS: aproveitei a oportunidade e pedi para que a URL de status do serviço fosse reativada, e ele me garantiu que eles já estão trabalhando nisso também.


Leia também:

Postfix Quota Reject

domingo, 23 de agosto de 2009
Quem acompanha meu blog deve ter lido em um dos meus últimos posts sobre a necessidade que tinha de enviar e-mails "em tempo real" informando ao remetente sobre problemas de over quota na caixa postal do destinatário de seu e-mail.

Depois de tentar usar o Postfix com patch VDA para tal realizar tarefa (sem obter sucesso), pesquisei mais e parece que encontrei a ferramenta que vai resolver a situação. A mesma chama-se Postfix quota reject (UPDATE 10/09/2009: a pedido do desenvolvedor já atualizei o link desse post, mas a versão 1.0 está disponível aqui).

O Postfix quota reject é um policy daemon que funciona de forma muito mais eficiente e segura do que o sistema de bounce do patch VDA. Ele barra o e-mail diretamente na porta SMTP, evitando que a mensagem seja recebida, fazendo assim com que o servidor que originou o e-mail gere o bounce para o remetente. Tal abordagem além de economizar banda e processamento ainda reduz a chance de problemas de DoS.

No site do projeto encontrei a versão 1.0 que ainda não atende a minha necessidade, mas ao pesquisar mais encontrei posts falando de uma versão 2.0 que trabalha com maildir usando Cyrus ou Courier.

Entrei então em contato com o desenvolvedor (Egoitz Aurrekoetxea) que foi muito simpático e atencioso, e me prometeu que assim que voltar das férias em setembro irá me enviar o software (que será oficialmente lançado em outubro) para que eu já vá utilizando e possa dar meu feedback .

Então por enquanto só resta aguardar até setembro para colocar o software em produção. Assim que o mesmo estiver instalado postarei minha impressões sobre a ferramenta.


Leia também:

Propus

terça-feira, 12 de agosto de 2008
Gostei muito do anúncio da Propus (empresa onde trabalho) na Linux Magazine desse mês (n. 45, Agosto 2008).

Por isso, para os que ainda não leram a revista (e até para os que já leram também, porque não ?), segue o mesmo abaixo, já que um pouco de propaganda não faz mal a ninguém. ;-)



Quer mais informações sobre a Propus ?
Visite nosso site para saber mais sobre nossos cases e soluções ou entre em contato.

Slides da palestra da Propus no VoIPCenter 2007

sexta-feira, 23 de novembro de 2007
Alguns dias atrás postei sobre uma palestra de um case da Propus que seria apresentada no VoIPCenter 2007.

Pois bem, complementando aquele post, hoje o nosso diretor, Marlon Dutra, liberou os slides da mesma.

Se você tiver interesse e quiser saber mais, baixe os mesmos aqui.