Это старая версия документа!
Файл: /etc/postfix/main.cf # Отклонять команду ETRN smtpd_etrn_restrictions = reject
# Запретить исходящую почту с наших доменов, но с несуществующих у нас адресов smtpd_reject_unlisted_sender = yes
# Запретить письма для неизвестных адресов получателей smtpd_reject_unlisted_recipient = yes
# Отключает SMTP команду VRFY. В результате чего, невозможно определить существование определенного ящика. #Данная техника (применение команды VRFY) используется спамерами для сбора имен почтовых ящиков. disable_vrfy_command = yes
# Требует команды helo от подсоединившихся клиентов smtpd_helo_required = yes
# требует окружать полученные в MAIL FROM и RCPT TO адреса угловыми скобками <>, а также, чтобы они не содержали лишних фраз strict_rfc821_envelopes = yes
# Всегда отправлять EHLO вначале SMTP сессии smtp_always_send_ehlo = yes
# Ожидание до RCPT TO перед выяснением smtpd_client_restrictions, smtpd_helo_restrictions и smtpd_sender_restrictions # или до ETRN перед выяснением smtpd_client_restrictions, smtpd_helo_restrictions. # Такое поведение еще обеспечивает лучшую читаемость логов. smtpd_delay_reject = yes
# Максимальное количество ошибок, которое может сделать удаленный SMTP клиент. При превышение данного числа Postfix отсоединится. smtpd_hard_error_limit = 1
# Интервал времени в течение которого SMTP сервер Postfix должен послать ответ, а удаленный SMTP клиент получить запрос smtpd_timeout = 30s
# Интервал времени, в течение которого SMTP клиент должен послать SMTP команду HELO или EHLO и получить ответ сервера.
smtp_helo_timeout = 15s
# Интервал времени, в течение которого SMTP клиент должен послать SMTP команду RCPT TO и получить ответ сервера. smtp_rcpt_timeout = 15s
# ограничение на количество одновременных получателей письма, по умолчанию 1000 :)
smtpd_recipient_limit = 40
# Время хранения в очереди боунсов bounce_queue_lifetime = 1d
# Время хранения в очереди обычных писем, может принимать значения: s (seconds), m (minutes), h (hours), d (days), w (weeks).
maximal_queue_lifetime = 3d
# Минимальный интервал повторной отправки писем (если получатели использую грейлистинг небольшое значение этого интервала # позволяет немного уменьшить очередь, по умолчанию здесь слишком большое значение в 4000s) minimal_backoff_time = 180s
# Максимальный интервал повторной отправки писем. Письма которые уже давно лежат в очереди будут повторно # отправляться раз в 6 часов. По умолчанию здесь наоборот маленькое значение. maximal_backoff_time = 6h
# Включаем поддержку sasl аутентификации smtpd_sasl_auth_enable = yes
# логи smtpd_sasl_authenticated_header = yes
# Необходимо для корректной работы клиентов, использующих устаревший метод AUTH, например outlook express broken_sasl_auth_clients = yes
# Запрещаем анонимную авторизацию smtpd_sasl_security_options = noanonymous
#Определяем свои собственные классы запрета. smtpd_restriction_classes = greylist, bolt
#Класс для применения грейлистинга. Подразумевается, что на порту 2501 интерфейса 127.0.0.1 уже запущен демон грейлистинга. greylist = check_policy_service inet:127.0.0.1:2501, permit
#Класс для запрета отправки писем из нашего домена без авторизации. bolt = reject_plaintext_session, permit
smtpd_client_restrictions = # разрешаем "своим" все # permit_mynetworks, # проверяем валидность хостов
check_client_access regexp:/etc/postfix/client_check.pcre,
# разрешаем все для тех, кто пройдет SASL-авторизацию по SMTP
permit_sasl_authenticated,
# отклоняем письма с хостов, которые не имеют обратной записи и обратная запись которых не совпадает с прямой
reject_unknown_client_hostname,
# Проверяем IP клиента на наличие его в базе rbl #reject_rbl_client http.dnsbl.sorbs.net, #reject_rbl_client soks.dnsbl.sorbs.net, #reject_rbl_client smtp.dnsbl.sorbs.net, #reject_rbl_client dul.dnsbl.sorbs.net, #reject_rbl_client, #xbl.spamhaus.org, # если все вышеперечисленное подошло, идем дальше
permit
smtpd_helo_restrictions = # разрешаем все для внутренних клиентов
#permit_mynetworks,
# разрешаем все для тех, кто пройдет SASL-авторизацию по SMTP # permit_sasl_authenticated, # проверяем отправителей # check_sender_access pcre:/etc/postfix/stupid_programs.regex, # Отклоняем запрос, когда синтаксис HELO или EHLO невернен
reject_invalid_helo_hostname,
# Отклоняем запрос, когда доменное имя хоста в HELO или EHLO не является полностью удовлетворяющим требованиям RFC.
reject_non_fqdn_helo_hostname,
# Отклоняем запрос, когда имя хоста в HELO или EHLO не имеет A или MX днс-записи
reject_unknown_helo_hostname,
# Если надо, проверяем по спискам rbl, есть ли домен из HELO/EHLO в них # reject_rhsbl_helo dnsbl.sorbs.net # если все вышеперечисленное подошло, идем дальше
permit
smtpd_sender_restrictions = # "своим" можно и "просто" # permit_mynetworks, # см комментарий к разделу smtpd_helo_restrictions # permit_sasl_authenticated,
reject_non_fqdn_sender,
# Отклоняется запрос, если Постфикс не обнаруживает окончательного места назначения для адреса отправителя и адрес в MAIL FROM не содержит A/MX днс-записиили когда имеется MX запись в виде хоста нулевой длины
reject_unknown_sender_domain,
# если надо заблокировать # check_sender_access pcre:/etc/postfix/block_bad.regex, # Отклоняем запрос, когда письмо на адрес из MAIL FROM отбивается или когда адрес отправителя недоступен. Проверка адресов управляется сервером проверки verify (см. verify(8), также http://www.postfix.org/ADDRESS_VERIFICATION_README.html) #reject_unverified_sender, # Если адрес из MAIL FROM есть в rbl, то отклоняем # reject_rhsbl_sender dnsbl.sorbs.net, # если все вышеперечисленное подошло, идем дальше
permit
smtpd_recipient_restrictions = # разрешаем "своим" все
#permit_mynetworks, permit_sasl_authenticated,
# см комментарий к разделу smtpd_sender_restrictions
reject_non_fqdn_recipient, reject_unknown_recipient_domain,
# запрещаем принимать письма для несуществующих в системе адресов
reject_unlisted_recipient, #reject_plaintext_session,
# Отклоняем письмо, если домены из RCPT TO содержатся в rbl #reject_rhsbl_recipient dnsbl.sorbs.net, # Отклоняет запросы, кроме тех, что относятся к релею на наш домен, указанный в $relay_domains или для локальной доставки на домены, указанные в $mydestination, $inet_interfaces, $proxy_interfaces, $virtual_alias_domains, or $virtual_mailbox_domains, # без этой строки сервер становится открытым релеем.
reject_unauth_destination,
# отдельные правила для получателей:
check_recipient_access pcre:/etc/postfix/recipient_checks.pcre,
# проверяем отправителей
check_sender_access pcre:/etc/postfix/sender_access.regex, #reject_plaintext_session,
# если все вышеперечисленное подошло, идем дальше
permit
smtpd_data_restrictions = # запрещаем выдачу писем и команд в поток, как это делают нетерпеливые спамеры
reject_unauth_pipelining