Я имею, устанавливают почтовый сервер Ubuntu с /etc/aliases
.
В файле псевдонимов существует псевдоним all: group1, group2, group3
, где каждая из групп определяется самостоятельно. Проблема состоит в том что из-за важности и числа людей под влиянием псевдонима all@mydomain.com
любой владеющий этой электронной почтой может послать нежелательное электронное письмо. Сервер уже имеет некоторый спам-фильтр, я не могу вспомнить который.
Мой вопрос, там способ заблокировать всю входящую корреспонденцию к all@mydomain.com
из любой электронной почты не в /etc/aliases
.
Я надеюсь, что это сообщение не является дубликатом. Я посмотрел и нашел подобные темы, но ни один из них, казалось, не предоставлял мне решение моего вопроса.
С уважением,
Мне удалось найти больше информации из других источников таким как здесь, здесь, и здесь.
Наконец то, что я сделал, было:
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
опция, для более сложных настроек.
Note2: После команды reject
ничто иное не будет проверено.
Note3: Если Вы требуете, чтобы можно было использовать crontab -e
и затем добавить @daily /etc/postfix/update_postfix_white_list.bash
чтобы ежедневно иметь Ваше обновление сервера Ваш белый список автоматически.
Сообщите мне, есть ли у Вас какие-либо предложения о том, как улучшить это.