você está aqui: Home  → Arquivo de Mensagens

Combatendo SPAM no Sendmail do Debian utilizando Greylisting

Colaboração: José Messias Alves da Silva

Data de Publicação: 25 de Junho de 2006

Embora com um certo histórico de falhas de segurança e invasões, o Sendmail ainda constitui um dos servidores de e-mail mais utilizados, representando cerca de 80% do servidores de e-mail do mundo. Sendo assim, esse servidor é frequentemente inundado por mensagens provenientes de spammers.

Normalmente tem-se usado muito o Spamassassin para realizar o filtro das mensagens que chega ao Servidor. Entretanto, embora este seja um dos melhores filtros do mundo, é muito criticado por consumir muitos recursos da máquina, sobretudo memória RAM.

Como alternativa a esse filtro, tem-se o processo de Greylisting. O conceito de greylisting é uma idéia desenvolvida por Evan Harris e consiste em recusar temporariamente uma mensagem e esperar por sua retransmissão e parte da premissas de que e-mails válidos são enviados a partir de MTAs (Mail Transfer Agents) legítimos, que mantém filas e possuem políticas de retransmissão em caso de erros temporários e geralmente spammers e códigos maliciosos raramente usam MTAs legítimos.

Contudo, existem spammers que utilizam MTAs legítimos ou mesmo reenviam as mensagens a fim de contornar esta técnica. Ainda assim, o greylisting tem se mostrado eficiente para barrar mensagens enviadas por vírus, worms e spam zombies. Diferentemente do Spamassassin, Greyslisting não exige muitos recursos da máquina, deixando o sistema, de certo modo, mais leve. Para realizar o processo de Greylisting utilizaremos nessa dica o Milter-Greylist, que pode ser instalado em diversos sistemas operacionais (BSDs, Solaris, Red Hat, Gentoo, SusE, Debian, etc.). Nos ateremos ao Debian GNU/Linux para construir um perfeito sistema de bloqueio a SPAM com Greylisting.

Mais informações sobre Greylisting: http://www.greylisting.org/

Mais informações sobre Milter-greylist, Greylisting para Sendmail : http://hcpnet.free.fr/milter-greylist/

Instalação

Para a instalação é necessário verificar certas dependências, se os pacotes seguintes já estão instalados, principalmente a biblioteca libmilter (que geralmente já é instalado junto ao Sendmail):

  # apt-get install flex bison libmilter0

Os passos a seguir devem ser realizados para efetivar a instalação:

  # cd /usr/local/src/
  # wget ftp://ftp.espci.fr/pub/milter-greylist/milter-greylist-2.0.2.tgz
  # tar -zxvf milter-greylist-2.0.2.tgz
  # cd milter-greylist-2.0.2
  # ./configure --with-user=smmsp
  # make
  # make install

Configuração

Há inúmeras opções a configurar no arquivo /etc/mail/greylist.conf com o intuito de melhor ajustar o processo de Greylisting.

A opção acl whitelist determina quais IPs e domínios que não deverão ser verificados pelo milter-greylist:

  acl whitelist addr 10.0.0.0/8  # altere e/ou acrescente conforme sua conveniência
  acl whitelist domain seudominio.com.br

Há também a opção timeout que determina por quanto tempo um domínio permanecerá nos registros do milter-greylist e que não será necessário passar novamente pelo processo:

  timeout 35d

Para determinar o tempo que se ficará aguardando a retransmissão da mensagem, deve-se alterar a opção greylist para a quantidade desejada, que pode ser dada em minutos, horas e dias (m, h, d). Considera-se 5 minutos um tempo razoável:

  greylist 5m

No final do arquivo /etc/mail/greylist.conf já existem um conjunto de linhas que constituem listas brancas (whitelists), confiáveis e que não precisam passar pelo processo de Greylisting.

Em seguida, crie um arquivo texto que servirá de banco de dados para o milter-greylist e configure as permissões como segue:

  # vi /var/milter-greylist/greylist.db
  # chown smmsp:smmsp /var/milter-greylist/greylist.db
  # chmod +w /var/milter-greylist/greylist.db

Acrescente as seguintes opções o arquivo /etc/mail/sendmail.cf em uma seção de opções do Sendmail:

  < A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>##
  # Opcoes Milter-Greylist #
  < A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>##
  O InputMailFilters=greylist
  Xgreylist, S=local:/var/milter-greylist/milter-greylist.sock
  O Milter.macros.connect=j,{if_addr}
  O Milter.macros.envfrom=i
  O Milter.macros.envfrom=i, {auth_authen}

Rodando

Para iniciar o Milter-Greylist execute a seguinte linha de comando:

  # milter-greylist -u smmsp -p /var/milter-greylist/milter-greylist.sock

Reinicie o Sendmail :

  # /etc/init.d/sendmail restart

Após reiniciar, recomenda-se dar uma olhada no log do sendmail para verificar a atuação do milter-greylist.

  # tail -f /var/log/maillog

A fim de facilitar a inicialização do milter-greylist, sugere-se criar um script para tanto:

  # vi /etc/init.d/milter-greylist

Agora, copie e cole o seguinte script e, em seguida, salve e saia:

  #!/bin/sh
  # Greylisting
  case "$1" in
  'start')
  milter-greylist -u smmsp -p /var/milter-greylist/milter-greylist.sock
  ;;
  'stop')
  killall milter-greylist
  ;;
  'restart')
  stop
  sleep 2
  start
  ;;
  *)
  echo "Usage: $0 { start | stop | restart }"
  ;;
  esac
  exit 0

Altere a permissão do arquivo para execução:

  # chmod +x /etc/init.d/milter-greylist

Por fim, configure o milter-greylist para executar na inicalização do sistema:

  # update-rc.d milter-greylist defaults

Considerações Finais

O Processo de Greylisting constitui um grande avanço no combate ao SPAM, mas ainda não é tudo. A idéia parece muito simples, mas de acordo com testes realizados, Greylisting pode rejeitar em torno de 95% dos SPAMs. É preciso que se realize ainda uma filtragem nos clientes de e-mail para se dispensar os 5% de SPAMs restantes e estar 100% livre dos Spammers.


Converter um executável Windows para um binário de MacOS X ou Linux?

Fonte: Notícias Linux

"Alky é uma ferramenta que permite a você converter um executável Windows para um binário de Mac OS X ou Linux. Estamos focados em jogos 'high-end' no momento, mas iremos oferecer suporte a outras aplicações no futuro. Nossa camada de tradução binária já está funcionando totalmente para OS X e em andamento para Linux. Claro, aplicações Windows utilizam um conjunto de bibliotecas muito diferentes de aplicações do Linux ou OS X então nós estamos também trabalhando em uma biblioteca chamada LibAlky que irá prover estas bibliotecas Windows à aplicação." Um dos membros do projeto é Cody Brocious, um dos desenvolvedores por trás do PyMusique.

Página do projeto: http://www.alkyproject.com/ Fonte: http://www.osnews.com/story.php?news_id=14923



Veja a relação completa dos artigos de José Messias Alves da Silva

 

 

Opinião dos Leitores

Seja o primeiro a comentar este artigo
*Nome:
Email:
Me notifique sobre novos comentários nessa página
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script