Filering recebido mail por aliases arquivo ubuntu postfix mail server

2

Eu configurei um servidor de e-mail do Ubuntu com /etc/aliases .

No arquivo de aliases, há um alias all: group1, group2, group3 , em que cada um dos grupos é definido por conta própria. O problema é que, devido à importância e ao número de pessoas influenciadas pelo apelido [email protected] , qualquer pessoa que tenha esse e-mail pode enviar e-mails indesejados. O servidor já tem algum tipo de filtro de spam, não consigo me lembrar qual.

Minha pergunta é que existe uma maneira de bloquear todos os e-mails recebidos para [email protected] de qualquer e-mail que não esteja em /etc/aliases .

Espero que este post não seja duplicado. Eu olhei e encontrei tópicos semelhantes, mas nenhum deles parecia me fornecer uma solução para a minha pergunta.

Atenciosamente,

    
por Stanislav 25.04.2015 / 03:12

1 resposta

1

Consegui encontrar mais informações de outras fontes, como aqui , aqui e aqui .

Finalmente o que fiz foi:

1) Eu escrevi um script chamado update_postfix_white_list.bash

vi /etc/postfix/update_postfix_white_list.bash

2) Dentro eu adicionei:

#Parameters {aliases, white_list} file location.
aliasesfile="/etc/aliases"
postfixwhitelistfile="/etc/postfix/rbl_whitelist"
# from aliases removed all the comments| removed all the names| found all the emails| sorted them and removed duplicates | added " OK" to each email > stored it to the "white_list" file
cut -d# ${aliasesfile} -f1 |  cut -d\: -f2| grep -EiEio '\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b'| sort -u | sed -e 's/$/ OK/' > ${postfixwhitelistfile}
# Generated the hash file for the white list
postmap ${postfixwhitelistfile}
# Restarted the postfix server
service postfix restart

3) Então modifiquei as configurações de main.cf para levar em consideração o arquivo "white_list".

vi /etc/postfix/main.cf

4) Lá eu adicionei:

smtpd_recipient_restrictions =
    check_sender_access hash:/etc/postfix/rbl_whitelist
    reject

5) Como passo final, mudei para executável o script e o corri.

chmod u+x "/etc/postfix/update_postfix_white_list.bash"
/etc/postfix/update_postfix_white_list.bash

O que significa verificar usando check_sender_access se a pessoa que enviar o arquivo estiver na lista branca / negra. Não confunda com check_recipient_access . O comando reject rejeitará todas as mensagens que não foram aceitas pelo check_sender_access .

Nota 1: check_client_access hash:/etc/postfix/rbl_whitelist tem de ser depois de reject_unauth_destination , mas antes do primeiro blacklist , se você os tiver na sua opção smtpd_recipient_restrictions , para configurações mais complexas.

Nota 2: Após o comando reject , nada mais será verificado.

Nota3: Se desejar, você pode usar crontab -e e, em seguida, adicionar @daily /etc/postfix/update_postfix_white_list.bash para que seu servidor atualize diariamente sua lista branca automaticamente.

Por favor, deixe-me saber se você tem alguma sugestão sobre como melhorar isso.

    
por Stanislav 29.04.2015 / 01:13