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
чтобы ваш сервер ежедневно обновлял ваш белый список автоматически.
Пожалуйста, дайте мне знать, если у вас есть предложения о том, как улучшить это.