Postfix blacklist

Criando uma lista negra no postfix para rejeitar domínios ou emails.

No arquivo de configurações main.cf adicione a seguinte linha no smtpd_sender_restrictions =

  check_sender_access hash:/etc/postfix/blacklist,

Crie o arquivo /etc/postfix/blacklist com o seguinte conteúdo no
formato DOMINIO/EMAIL REJECT  MENSAGEM DE BLOQUEIO

dominiospam.com.br REJECT Blacklist
entregueimx.info REJECT Blacklist
mktphone.com.br REJECT Blacklist
bounces.paineldeenvio.com REJECT Blacklist
marketingalves.com.br REJECT Blacklist
hffix.com.br REJECT Blacklist
mktlionbrasil113.info REJECT Blacklist
cartaexpressa.info REJECT Blacklist
vendamais.com.br REJECT Blacklist
vistamail.com.br REJECT Blacklist

Execute

      postmap /etc/postfix/blacklist

Recarregar as configurações do postfix:

      /etc/init.d/postfix reload

 

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