Filering полученной почты почтовым сервером постфикса ubuntu postfix

Я настроил почтовый сервер Ubuntu с /etc/aliases,

В файле aliases есть псевдоним all: group1, group2, group3 где каждая из групп определяется самостоятельно. Проблема в том, что из-за важности и количества людей, на которых влияет псевдоним all@mydomain.com любой, кто владеет этим письмом, может отправить нежелательное письмо. На сервере уже есть какой-то спам-фильтр, я не могу вспомнить, какой именно.

У меня вопрос, есть ли способ заблокировать все входящие письма на all@mydomain.com с любого электронного письма не в /etc/aliases ,

Я надеюсь, что этот пост не является дубликатом. Я посмотрел и нашел похожие темы, но ни одна из них не дала мне решения моего вопроса.

С уважением,

1 ответ

Решение

Мне удалось найти больше информации из других источников, таких как здесь, здесь и здесь.

Наконец то, что я сделал, было:

1) я написал скрипт с именем update_postfix_white_list.bash

vi /etc/postfix/update_postfix_white_list.bash

2) Внутри я добавил:

#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) Затем я изменил main.cf настройки, учитывающие файл "white_list".

vi /etc/postfix/main.cf

4) Там я добавил:

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

5) В качестве последнего шага я изменил исполняемый скрипт и запустил его.

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

Что означает проверить с помощью check_sender_access если человек, который отправляет файл, находится в белом / черном списке. Не путай это с check_recipient_access, Команда reject будет отклонять все письма, которые не были приняты check_sender_access,

Note1: check_client_access hash:/etc/postfix/rbl_whitelist должно быть после reject_unauth_destination, но перед первым blacklist если они у вас есть smtpd_recipient_restrictions вариант, для более сложных настроек.

Примечание 2: после команды reject больше ничего не будет проверено.

Примечание 3: если вы хотите, вы можете использовать crontab -e а затем добавить @daily /etc/postfix/update_postfix_white_list.bash чтобы ваш сервер ежедневно обновлял ваш белый список автоматически.

Пожалуйста, дайте мне знать, если у вас есть предложения о том, как улучшить это.

Другие вопросы по тегам