Posts com a Tag ‘propus’

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.

Ensol 2010, João Pessoa, Paraíba

domingo, 23 de maio de 2010

Neste mês de maio tive o prazer de participar pela primeira vez do Ensol, Encontro de Software Livre da Paraíba, realizado em sua capital, a belíssima cidade de João Pessoa, dos dias 5 a 9 de maio. Essa foi a quarta edição do evento.

O Ensol é organizado pelo G/LUG-PB, Grupo de Usuários GNU/Linux da Paraíba, do qual faz parte meu grande amigo Anahuac de Paula Gil.

O local onde o evento foi realizado, a Estação Cabo Branco, é um espetáculo à parte. Fruto da mente de ninguém menos que Oscar Niemeyer, a Estação Cabo Branco é um complexo arquitetônico com 8.571 m² construídos na orla onde fica a Ponta do Seixas, ponto mais oriental das Américas (continente), na longitude 34,8° oeste.

O evento contou com a participação de palestrantes de peso, tais como Rasmus Lerdorf, criado do projeto PHP, meus grandes amigos Jim McQuillan, criador do projeto LTSP, e Jon “maddog” Hall, presidente da The Linux International, e outros grandes nomes, formando um temário bastante diversificado e de qualidade.

Minha palestra foi sobre QoS (quality of service – qualidade de serviço) para tráfego de voz em redes de dados. Publiquei os slides no post anterior.

Infelizmente, existe um grande problema de erros de conceitos teóricos entre vários administradores e operadores de rede mundo afora, especialmente no que tange certos tipos de tráfegos mais delicados, como voz sobre IP. A palestra está mais focada é esclarecer vários conceitos que parecem causar muita confusão, pois sem esses conceitos bem claros, é impossível se obter uma qualidade de serviço nas redes congestionadas de hoje em dia.

Numa próxima oportunidade, vou escrever com mais detalhes sobre o assunto.


Fiquei muito surpreso, de forma positiva, com João Pessoa. As únicas cidades que eu conhecia do nordeste eram Salvador e o Recife, ambas muito chocantes em termos de contraste social e miséria humana. João Pessoa, sendo uma cidade bem menor, com apenas 700 mil habitantes, desfruta de uma qualidade de vida muito melhor. A cidade parece ter uma boa infra-estrutura urbana, com boas avenidas, bastante limpeza. Outro aspecto que chama a atenção é a tranquilidade (pode ser apenas uma sensação). Caminhei alguns dias à noite pela orla e tudo me pareceu muito tranquilo, com bastante policiamento em alguns locais. Não se vê miséria pelas ruas como eu vi na Bahia e em Pernambuco.

João Pessoa é banhada não apenas pelo Oceano Atlântico, mas também pelo Rio Paraíba, que foi onde a cidade foi fundada e ali se desenvolveu. A costa do Atlântico era mais vista no passado como local para férias. Nos últimos anos, porém, com o avanço do turismo, a cidade cresceu bastante em direção ao oceano. Hoje conta com uma bela infra-estrutura na orla, com calçamento de ponta a ponta e uma simpática avenida. O plano diretor da cidade não permite a construção de prédios altos à beira-mar, o que é muito importante para se ter uma praia decente, diferente de muitos outros locais do Brasil, onde a máfia imobiliária tomou conta de tudo, construindo arranha-céus quase dentro do mar.

O acesso à cidade por via aérea é tranquilo, com voos direto de Guarulhos, Rio de Janeiro (Galeão) e Brasília, além das capitais mais próximas no nordeste mesmo. O aeroporto internacional Presidente Castro Pinto (SBJP/JPA) fica na cidade vizinha de Bayeux, a uns 10km do centro de João Pessoa. Como a maioria esmagadora dos aeroportos no Brasil, SBJP conta apenas com uma pista (16/34), com 2515×45 metros, asfaltada. Um bom porte para aeronaves a jato de médio porte, pois o aeroporto está praticamente ao nível do mar (217 pés – 66 metros). O terminal de passageiros parece ser novo e é bem modesto. Poderia ter mais de uma esteira de bagagens, pois as pessoas se atropelam no desembarque. O embarque foi muito tranquilo e confortável.

Para quem quer chegar voando por contra própria, é bom ter em mente que o aeroporto não possui ILS (pouso por instrumentos de precisão). Os únicos procedimentos de aproximação por instrumentos são os arcaicos NDBs e os RNAVs, para aeronaves com essa capacidade.

A gastronomia também é bem interessante. É muito tradicional comer carne de sol e carne de bode, ambas muito gostosas. Se vê bastante peixe e camarão também nos restaurantes regionais. Comemos em vários restaurantes diferentes e tudo me pareceu bastante razoável em termos de preços. O custo de vida na cidade parece ser bem baixo.

Uma coisa muito estranha na cidade é o fuso horário. Geograficamente, João Pessoa, estando em uma longitude de quase 35° a oeste do meridiano de Greenwich, deveria ter o fuso horário GMT-2. Mas como o fuso horário de todo o nordeste equivale ao fuso horário de Brasília, a cidade está no GMT-3. Pode ser uma conveniência política, mas é um grave erro geográfico. Durante a semana que estive lá, o sol nascia às 5h21 e se punha às 17h10. Seria muito mais inteligente usar o fuso horário de Fernando de Noronha, que está a 32,4° oeste e logicamente com fuso GMT-2. Desse fato com um slogan da cidade: “onde o sol nasce primeiro”.

No seguinte ao término do evento, Anahuac, Maddog, James e eu alugamos dois buggies para fazer um passeio pela orla ao redor de João Pessoa.

No período manhã, saímos ao norte da cidade em direção à cidade de Cabedelo, onde o Rio Paraíba se encontra com o oceano. Coordenadas: 6°58′15.26″S 34°50′3.28″W. No horário do almoço, nos despedimos de James, pois ele viajou de volta aos EUA naquela tarde.

À tarde, nós três (agora com apenas um buggy) seguimos ao sul de João Pessoa, até a praia de Tabatinga, por sugestão do Anahuac, que já havia estado aí antes com Maddog. Coordenadas: 7°18′51.09″S 34°48′8.79″W. A praia é uma pequena baía, com águas extremamente calmas. Deu para nadar um pouco até. Houve a grande coincidência que o motorista do nosso buggy era irmão do dono do único bar que tem na beira dessa praia. Eita mundo pequeno.

Na terça-feira (11), Maddog e eu ficamos trabalhando no hotel até umas 16h, quando Anahuac foi nos apanhar para ver o famoso pôr do sol na praia do Jacaré (Coord: 7° 2′21.83″S 34°51′19.79″W), ao norte da cidade. Assistir o pôr do sol aí é algo extremamente tradicional em João Pessoa, pois há dez anos esse fato geográfico, já belíssimo por si só, é acompanhado ao som do Bolero de Ravel, tocado por Jurandy do Sax, um conhecido saxofonista local a bordo de seu barco, às margens do rio, na frente de vários bares, que lotam diariamente para assisti-lo. Muito bonito.

No dia seguinte, almocei com Anahuac e sua família. Logo em seguida, embarquei de volta ao Rio Grande do Sul, fazendo conexões no Recife e em Guarulhos. Três voos tranquilos, no horário. Cheguei em Porto Alegre na hora prevista.

Pretendo voltar à Paraíba em outra oportunidade, de preferência de férias com Luana, para desfrutar melhor do turismo na região. Com um pouquinho de tempo extra, vale a pena esticar até o Rio Grande do Norte e conhecer Natal. Não faltam recomendações.

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.

Palestra no ENSOL 2010

domingo, 9 de maio de 2010

Tive o prazer hoje de apresentar a palestra “VoIP e mitos: por que a voz picota, atrasa… QoS e seus desafios” na quarta edição do ENSOL (Encontro de Software Livre da Paraíba), em João Pessoa, linda capital do estado.

A palestra foi revisada e está um pouco diferente das versões apresentadas em outros eventos. Me parece mais clara agora sobre os conceitos.

Arquivo PDF para download.

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 !

Palestra no Encontro VoIPCenter 2009

quarta-feira, 16 de setembro de 2009

A seguir os slides da palestra que eu apresento hoje na 4a edição do Encontro VoIPCenter, em São Paulo.

Python Brasil

domingo, 13 de setembro de 2009

Estive esta semana, com meus colegas Felipe Mobus e Marcio Silva, na 5a edição do Python Brasil, na cidade de Caxias do Sul, serra gaúcha. O evento foi organizado pela Associação Python Brasil e é o maior evento sobre a linguagem de programação no Brasil. É um evento itinerante e o Rio Grande do Sul o sediou pela primeira vez.

Foram três dias de palestras bastante técnicas e deu para aprender  coisas bem interessantes, clarear algumas dúvidas e conversar com bastante gente legal.

Um dos temas mais fortes no evento foi Django, como já era de se esperar. Django está em alta na comunidade Python, e certamente com muitos méritos. É um excelente framework e estamos estudando ele para adotar em alguns projetos na Propus. Seu ORM (Object-relational mapping) é sensacional, entre outras funcionalidades muito interessantes. Um dos criadores do Django, o americano Jacob Kaplan-Moss, esteva presente no evento e fez uma palestra muito interessante sobre desenvolvimento web. Para quem não conhece Django, vale a pena perder um pouquinho de tempo a ler a respeito.

Quem não pôde ficar de fora foi o super polêmico GIL (Global Interpreter Lock) do interpretador CPython. Parece que esse é o ponto mais negativo do Python (na verdade do CPython), uma vez que ele não permite que duas threads acessem a memória ao mesmo tempo, jogando assim no lixo todo o ganho de performance que um programa multi-thread poderia ter com máquinas multi processadas, o que é muito comum hoje em dia e já se mostrou ser o futuro mesmo. Enfim, isso é uma discussão tremenda e existe vários argumentos positivos e negativos em relação ao tão odiado GIL. Basta procurar por “Python GIL” no google e se divertir com o assunto. Tem muito pano pra manga.

Outro americano, Collin Winter, funcionário do Google, palestrou no evento também. Collin falou sobre o Unladen Swallow, um projeto do Google focado em otimizar o interpretador CPython. Eles criaram um fork do projeto CPython, mas a ideia é retornar todas as melhorias que eles puderem fazer ao projeto principal. Ele apresentou vários exemplos onde o interpretador é muito ineficiente e poderia ser melhorado. O Google possui muita coisa escrita em Python, uma vez que Python é uma de suas linguagens oficiais. Devido à grande escala do Google, eles têm todo o interesse em tornar o interpretador mais eficiente.

O keynote speaker do último dia foi o Gustavo Niemeyer, da Canonical. Ele fez uma palestra bastante interessante comparando friamente Python e Java. Existe uma certa rivalidade entre as duas linguagens, então é difícil encontrar boas comparações imparciais. Gostei do tom da palestra do Gustavo, que procurou ser muito imparcial. Ele fez várias provocações ao Python e defendeu que, para um projeto grande, com muitos desenvolvedores, Java parece ser a melhor opção, por ser mais organizado. A permissividade e alta flexibilidade do Python são indiscutivelmente fantásticas, porém isso pode atrapalhar quando a coisa cresce.

Enfim, foi um bom evento e certamente agregou muito. Sendo Python uma das linguagens oficiais na Propus, é de fundamental importância estarmos o mais sintonizados possível no que está acontecendo na comunidade em volta da linguagem. Mesmo ouvindo alguns pontos fortes de Java, vamos continuar programando muito em Python, porque colocando as duas linguagens na balança, Java fica pra trás, considerando as demandas que temos. Python é extremamente produtivo e sua flexibilidade é algo chave para a Propus, pois trabalhamos com projetos bastante específicos, e muitas vezes precisamos de uma interação muito íntima com outros sistemas e com o sistema operacional.

Uma das coisas que prezamos na Propus é que temos que ser profundos conhecedores das tecnologias envolvidas no nosso trabalho. Infelizmente vemos muita gente prestando serviço em áreas onde os técnicos têm um conhecimento muito superficial das coisas, e muitas vezes nenhum conhecimento teórico. Não é esse serviço que queremos vender. Somos incansáveis estudantes, primeiro porque gostamos muito do que fazemos, segundo porque queremos que nossos clientes se sintam à vontade de nos confiar alguma missão importante.

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