você está aqui: Home  → Arquivo de Mensagens Programação Shell Linux: Inscrições Abertas

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:

##########################
# Opcoes Milter-Greylist #
##########################
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