Apagando emails da fila de envio do Postfix

As vezes nos deparamos com algum malware na rede enviando email loucamente ou algum envio errado de mala direta, etc, e não queremos que nosso server acabe em listas negras.

Segue abaixo um script bem simples para apagar da fila de envio do postfix os emails de um determinado remetente.

#!/bin/sh
#Script para apagar emails da fila do postfix de um determinado remetente
#Genilto Dallo <geniltodallo at gmail.com>
#————————————————————————

echo “————————————”
echo “- Excluir email da fila do postfix -”
echo “————————————”
echo “Digite o email:”
read email

LISTA=`postqueue -p|grep $email |awk -F” ” {‘print $1’}|sed -e s’/\*//g’`

for IDEMAIL in $LISTA; do
echo “Apagando $IDEMAIL”
postsuper -d $IDEMAIL
done

Postfix + Spamassassin on Debian

Installing and configuring Spamassassin + Postfix on Debian.

apt-get install spamassassin

Modify the line of smtp on /etc/postfix/master.cf

smtp inet n - n - - smtpd -o content_filter=spamassassin

Add at the end of the file /etc/postfix/master.cf

spamassassin unix  -       n       n       -       -       pipe
flags=R user=spamuser argv=/usr/bin/spamc -e /usr/sbin/sendmail -oi -f ${sender} ${recipient}

Set ENABLED=1 in /etc/default/spamassassin

ENABLED=1

Add spamuser:

adduser spamuser

Start Spamassassin:

service spamassassin start

Restart Postfix

service postfix restart

and watch the logs…

Jan 25 14:58:56 web01 spamd[6747]: spamd: connection from localhost [127.0.0.1] at port 54825
Jan 25 14:58:56 web01 spamd[6747]: spamd: setuid to spamuser succeeded
Jan 25 14:58:56 web01 spamd[6735]: prefork: child states: IB
Jan 25 14:58:56 web01 spamd[6747]: spamd: processing message <1238538872.3099.1359132632799.JavaMail.root@java.srv> for spamuser:1000
Jan 25 14:58:56 web01 spamd[6747]: spamd: clean message (2.4/5.0) for spamuser:1000 in 0.0 seconds, 1415 bytes.
Jan 25 14:58:56 web01 spamd[6747]: spamd: result: . 2 - ALL_TRUSTED,HTML_IMAGE_ONLY_12,HTML_MESSAGE,HTML_MIME_NO_HTML_TAG,MIME_HTML_ONLY scantime=0.0,size=1415,user=spamuser,uid=1000,required_score=5.0,rhost=localhost,raddr=127.0.0.1,rport=54825,mid=<1238538872.3099.1359132632799.JavaMail.root@java.srv>,autolearn=no

After run Spamassassin, we have to tune the config... Coming soon...

Você pode personalizar a mensagem de spam editando o arquivo:
/usr/share/spamassassin/30_text_pt_br.cf

É possível ajustar a pontuação.
A pontuação é um escore que o spamassassin atribui as mensagens, quanto mais padrões de spam ele encontra, maior é a pontuação.
Como padrão o escore é 5.0, acima disso as mensagens são classificadas como SPAM.
Servidores com poucos domínios eu utilizo 4.0. Mas é bom você ajustar conforme os tipos de mensagens que o seu servidor recebe.
Para ajustar edite o arquivo /etc/spamassassin/local.cf
descomente e modifique a linha

# required_score 5.0

Configurando dois links de Internet

Segue abaixo o script para utilização de dois links de internet.
Trocar os IPs etc conforme o comentário…

Adicionar o mesmo nome dos links que voce utilizar no script no arquivo /etc/iproute2/rt_tables

echo "1 gvt" >> /etc/iproute2/rt_tables
echo "2 copel" >> /etc/iproute2/rt_tables

Script:

#!/bin/sh
# Dois links de internet
# Balaceamento de Link
# Genilto Dallo geniltodallo@gmail.com
#---------------------

IP1=10.1.11.20 #IP Link 1
IP2=200.195.176.28 #IP Link 2
IFACE1=eth1 #Interface do Link 1
IFACE2=eth2 #Interface do Link 2
GW1=10.1.11.1 #Gateway Link 1
GW2=200.195.176.25 #Gateway Link 2

W1=1 #Peso do balaceamento link 1
W2=1 #Peso do balanceamento link 2

NAME1=gvt #Nome do link 1
NAME2=copel #Nome do link 2

ip route add $IP2/24 dev $IFACE2 src $IP2 table $NAME2
ip route add default via $GW2 table $NAME2
ip route add $IP1/24 dev $IFACE1 src $IP1 table $NAME1
ip route add default via $GW1  table $NAME1
ip rule add from $IP2 table $NAME2
ip rule add from $IP1 table $NAME1
ip route add default scope global nexthop via $GW2 dev $IFACE2 weight 1 nexthop via $GW1 dev $IFACE1 weight 1

Configurando o módulo Vacation – Resposta Automática no RoundCube

Site do Plugin: https://github.com/bhuisgen/rc-vacation/

Baixar em zip: https://github.com/bhuisgen/rc-vacation/zipball/master

1. Descompacte o bhuisgen-rc-vacation-0.5-12-gdadb328.zip para roudcube/plugin/

Aqui eu renomeei para roundcube/plugin/vacation

2. Adicione o plugin nas configurações do Roundcube ( roundcube/config/main.inc.php)

$rcmail_config[‘plugins’] = array(“vacation”);

Como eu tenho mais de um plugin, ficou assim:

$rcmail_config[‘plugins’] = array(“password”,”http_authentication”,”vacation”);

3. Configurações do plugin:

copie o config.inc.php.dist para config.inc.php

edite o config.inc.php

// default vacation subject
$rcmail_config[‘vacation_subject_default’] = ‘Resposta Automatica’;

// default vacation message
$rcmail_config[‘vacation_message_default’] = ‘Estou Ausente no momento. Mais tarde eu entrarei em contato’;

// vacation start/end date format
$rcmail_config[‘vacation_dateformat’] = ‘d/m/Y’;

// driver used for backend storage
$rcmail_config[‘vacation_driver’] = ‘sql’;

// database DSN
$rcmail_config[‘vacation_sql_dsn’] =
‘mysql://userdobanco:senhadobanco@localhost/postfix’;

Configurando Vacation no PostfixAdmin

Fonte: VIRTUAL_VACATION/INSTALL.TXT
(incluso no código fonte do PostfixAdmin, inclusive o script vacation.pl)

Receita de bolo bem prática para habilitar o modo férias no PostfixAdmin

Instale os Módulos perl necessários:

apt-get install libmail-sender-perl libdbd-mysql-perl libemail-valid-perl libmime-perl liblog-log4perl-perl liblog-dispatch-perl libgetopt-argvfile-perl libmime-charset-perl libmime-encwords-perl

Caso não encontre o libmail-sender-perl instale via CPAN:

perl -e shell -MCPAN

cpan[x]: install Mail::Sender

 

1. Criar contas locais:

groupadd -r -g 65501 vacation
useradd
-r -u 65501 -g vacation -d /var/spool/vacation -s /sbin/nologin vacation

2. Criar diretório:

mkdir /var/spool/vacation

3. Copiar o script para o diretório:

cp vacation.pl  /var/spool/vacation/

4. Permissão para usuário vacation no diretório:

chown -R vacation:vacation /var/spool/vacation/

5. Adicionar o tipo de transporte abaixo no /etc/postfix/master.cf:

vacation    unix  –       n       n       –       –       pipe
flags=Rq user=vacation argv=/var/spool/vacation/vacation.pl -f ${sender} — ${recipient}

6. Adicionar em /etc/postfix/main.cf:

transport_maps = hash:/etc/postfix/transport

7. Criar o arquivo /etc/postfix/transport com o conteúdo (mudar para seu domínio):

autoreply.yourdomain.com        vacation:

8. Execute postmap /etc/postfix/transport

9. Reinicie o postfix

10. Edite o script /var/spool/vacation/vacation.pl para configurar o banco de dados:

#our $db_type = ‘Pg’; # Descomente este para POSTGRE
our $db_type = ‘mysql’;  # Descomente este para MYSQL

# connection details
our $db_username = ‘user’;  #USUARIO DO BANCO DE DADOS
our $db_password = ‘password’; # SENHA DO BANCO DE DADOS
our $db_name     = ‘postfix’; #NOME DO BANCO DE DADOS

our $vacation_domain = ‘autoreply.example.org’; #MUDE AQUI PARA SEU DOMINIO

tem outras configurações tambem, as básicas para MTA no próprio servidor são essas…

11. Habilite o modo Vacation no config.inc.php do PostfixAdmin

12. Teste a configuração. Ative o modo férias para algum email no PostfixAdmin e envie email para ele. Caso algum erro aconteça, fique atento aos logs e confira se todos os itens da configuração estão corretos.

Postfix – Configuração correta para rejeitar envio de emails com remetente de endereço diferente do autenticado.

Esta configuração faz o postfix verificar se quem esta enviando (endereço do remetente MAIL FROM) é o mesmo endereço do autenticado (SASL USERNAME).

Muito útil contra spammers e usuários maliciosos para não enviarem emails com o endereço diferente do qual foi autenticado.

Adicione no arquivo /etc/postfix/sender_map :

/^(.*)$/        $1

Adicione as seguintes configurações no /etc/postfix/main.cf :

smtpd_sender_restrictions = reject_authenticated_sender_login_mismatch

smtpd_sender_login_maps = regexp:/etc/postfix/sender_map

 

SPF – Sender Policy Framework – Configuração correta

Configuração no arquivo da zona do dns:

dominio.com. IN TXT “v=spf1 mx ip4:x.x.x.x  ip4:x.x.x.x -all”

 

com -all bloqueou alguns sistemas que enviam email incorretamente
por exemplo alguns sistemas de NFE de algumas prefeituras, enviam email com o seu domínio, o que está incorreto.
Aí voce precisa liberar o IP deles no SPF ou deixar ~all.

 

Todas as opções de prefixos são:

  • +Pass
  • -Fail
  • ~SoftFail
  • ?Neutral

 

Enviar email para teste:

mailtest@unlocktheinbox.com

check-auth@verifier.port25.com

 

 

http://antispam.br/admin/spf/

mailtest@unlocktheinbox.com