Настройка почтового шлюза с использованием PostFix – а.
Содержание
1. Введение 2. Закройте ниже следующее 3. Работа с непрошенной почтой (UCE) (unsolicited commercial email). 4. Клиентские ограничения. 5. Ограничения EHLO/HELO 6. Ограничения ETRN 7. Ограничения Отправителя 8. Ограничения Получателя 9. Ограничения по заголовку письма 10. Ограничения по телу письма 11. Контролируйте почтовую регистрацию 12. Знакомьте с Постфиксом Ссылки
Когда мне попалась эта статья то понравилась тем, что в ней была видна структура подачи материала. Все в нем показалось доходчивым и ясным. Остальные источники казались просто отрывками бесед – типа “… ой а как ”, и “… да что ты, это же так!”. Во всяком случае, я надеюсь, она будет Вам полезной. Материал я постарался применить к циклу статей о бравом почтальоне Печкине. В качестве примеров я привожу выдержки из log – ов, полученных с помощью программки из пятой статьи о Печкине. Все это для пущей наглядности возможных проблем Вашего сервера, и устранения их появления. Да, и учтите что я всего лишь интересующийся клерк, так что взываю к снисхождению в случае грубых ошибок. :))
Конфигурация PostFix – а
Основные задачи почтового шлюза: • Обмен почтовыми сообщениями в сети. • Использование строгой политики пресечения спама (UCE). Некоторые данные для того чтобы иллюстрировать примеры в нашем руководстве: • Имя хоста почтового шлюза: mailgateway • Доменное имя: example.com • Локальная сеть: 192.168.1.0/24 Так как Постфикс уже запущен, остановить это и начнем. # postfix stop Пропишем пункты политики обмена на нашем почтовом шлюзе: • Доверять клиентам, чей адрес IP входит в перечень $mynetworks. • Доверять клиентам, чье имя хоста соответствует $relay_domains или подобласти доменных имен прописанных в нем. Главный файл конфигурации postfix – a – это /etc/postfix/main.cf. Для контроля процессов postfix–а, файл настроек – /etc/postfix/master.cf. Не забывайте сделать перегрузку postfix–а каждый раз, когда изменен любой из этих файлов.
1. Введение
Итак, откроем файл /etc/postfix/main.cf и начнем вносить свои настройки. Если в файле изначально не было какого-то параметра, то просто внесите этот параметр. Идентифицируйте имя хоста почтового шлюза. Это имя будет использоваться в течении сессии ehlo/helo smtp: myhostname = mailgateway.example.com Идентифицируйте доменное имя почтового шлюза. Это значение влияет на многие другие параметры: mydomain = example.com Исходящие письма будут иметь вид - @example.com: myorigin = $mydomain Для принятия входящей почты от местных почтовых ящиков и для писем доменной области example.com (т.е. те домены, для которых вы получаете почту ): mydestination = $myhostname, localhost.$mydomain, $mydomain unknown_local_recipient_reject_code = 450 PostFix по умолчанию допускает обмен письмами между пользователями одной локальной сети. Это возможно так как пользователь имеет IP из списка $mynetworks. mynetworks = 192.168.1.0/24, 127.0.0.0/8 Если электронная почта предназначают неизвестному получателю, PostFix, по умолчанию, поставит такое письмо в очередь до выяснения присутствия получателя. Укажем PostFix – у где искать локальных пользователей: local_recipient_maps = $alias_maps, unix:passwd.byname строка local_recipient_maps = ... необходима для того, чтобы почту могли получать и локальные пользователи (не нужно было бы их прописывать в базе), которым направляются результаты работы сервисов системы (запускаемые по cron, ошибки и т.п.), а эту почту локального пользователя (например, root) можно потом перенаправить на виртуального в файле /etc/postfix/aliases. Все подобные ситуации регистрируем и отправляем сообщения почтмастеру: notify_classes = bounce, delay, policy, protocol, resource, software Далее, дополнительно, маскируем адреса отправителей в конверте и адреса в заголовке сообщения (т.е. удаляет информацию о машине или домене ниже всех доменов, перечисленных в параметре masquerade_domains, исключая имена пользователей, перечисленных в masquerade_exceptions). Маскарад адреса не распространяется на получателей, указанных в конверте. masquerade_domains = $mydomain Или, например, домены, которые будут подставляться в письма при отправке по интернету: masquerade_domains = example.com, exmpl.com
2. Закройте ниже следующее
Вспомните вторую статью о бравом Печкине. Там мы говорили о том как важно не доверять настройкам PostFix – а по умолчанию. Это Вам не OpenBSD со своим девизом – “Защищенность по умолчанию”! Мы все тут должны проверять. Заблокируем команду VRFY. Это удержит некоторых спамеров от желания извлечь действительные адреса Эл. почты: disable_vrfy_command = yes (даже в том случае если этот параметр не описан в вашем файле main.cf все равно создайте эту строку) Людям совсем не обязательно знать каким софтом и софтом, какой версии вы пользуетесь на своем SMTP – сервере. В США принят федеральный закон, в котором говорится, что коммерческая электронная почта не должна пересылаться через сервер, у которого в качестве приветственной 220 – надписи содержится строка: “NO UCE” smtpd_banner = $myhostname NO UCE ESMTP Ниже приведен пример того как администратор, поработав над параметром smtpd_banner лишает нас возможности узреть в ответе его SMTP – сервера свое доменное имя. И это правильно :). [2005.7.16-2:47:58] 132.38.21.18 -> ... 220 GDF-SF-02 ESMTP Fri, 15 Jul 2005 18:55:17 -0500 (CDT) 250 GDF-SF-02 Hello [198.172.157.13], pleased to meet you GDF-SF-02 250 2.1.0 <
Данный адрес e-mail защищен от спам-ботов, Вам необходимо включить Javascript для его просмотра.
>... Sender ok 550 5.7.1 <
Данный адрес e-mail защищен от спам-ботов, Вам необходимо включить Javascript для его просмотра.
>... Relaying denied. IP name lookup failed [198.172.157.13] 221 2.0.0 GDF-SF-02 closing connection Блокируйте сообщения, которые извещают местных потребителей о прибытия новой почты. Эта особенность использует сервис сети comsat, который закрыт на многих системах UNIX для работы и/или причин безопасности и чтобы не засорять логи, можно добавить в main.cf. Эта директива указывает postfix не использовать biff программу которая позволяет пользователям узнать, что им пришла почта. biff = no Значение размера сообщения по умолчанию - 10M. Сократите его к 2M для предотвращение возможного злоупотребления размером сообщения: message_size_limit = 2048000
3. Работа с непрошенной почтой (UCE) (unsolicited commercial email).
Понимание PostFix – ных механизмов UCE крайне важно для дальнейшего контроля качества обмена электронной почтой. Перед началом работ по ограничению возможностей smtp посмотрим как выглядит сам обмен почтовыми сообщениями в течении сеанса. Далее следует пример почтовой smtp-сесии: 1 Out: 220 mailgateway.example.com ESMTP 2 In: EHLO imbad.spammer.com 3 Out: 250-mailgateway.example.com 4 Out: 250-PIPELINING 5 Out: 250-SIZE 2048000 6 Out: 250-ETRN 7 Out: 250-XVERP 8 Out: 250 8BITMIME 9 In: MAIL FROM:<
Данный адрес e-mail защищен от спам-ботов, Вам необходимо включить Javascript для его просмотра.
> SIZE=1897 10 Out: 250 Ok 11 In: RCPT TO:<
Данный адрес e-mail защищен от спам-ботов, Вам необходимо включить Javascript для его просмотра.
> 12 Out: 450 <imbad.spammer.com>: Helo command rejected: Host not found 13 In: QUIT 14 Out: 221 Bye В ниже следующем перечне указано, какой параметр отвечает за тот или иной ответ сервера. Очень, на мой взгляд, важный для понимания момент. Детализируем описание каждого пункта: 0. $smtpd_client_restrictions 1. $smtpd_banner 2. $smtpd_helo_required = yes; $smtpd_helo_restrictions 3. Наш почтовый сервер представляется в строках 4 – по 8 и показывает свои установки ... ... ... 9. $smtpd_sender_restrictions 10. Наши ответы начинающиеся с OK 11. $smtpd_recipient_restrictions 12. Клиент по пересылке стартует по пересылке данных (команда DATA). Далее будут применены ограничения в параметрах main.cf - $header_checks и $body_checks для блокировки спамерских сообщений. Если обе стадии пройдены почта будет принята на пользователя
Данный адрес e-mail защищен от спам-ботов, Вам необходимо включить Javascript для его просмотра.
. 13. Удаленный сервер отключается. 14. Наш сервер отключается. А вот вопрос. Почему отброс EHLO-сообщения удаленного сервера, с ответом - ``Host not е found'', произошло так далеко, уже на $smtpd_recipient_restrictions стадии (в которой описаны ограничения на допустимые адреса получателей в командах RCPT TO)? Почему этот отброс не произошел еще на $smtpd_helo_restrictions стадии (в которой описаны ограничения на допустимые адреса клиентов с командами HELO/EHLO), эта стадия ведь по очередности раньше и к тому же тогда еще спамер не получит данных с нашего сервера. Смысл в установке этого параметра ( значение, устанавливается по умолчанию - $smtpd_delay_reject = yes.) в том, что иначе некоторые Win32 smtp – клиенты просто не смогут получить доступ на обслуживание нашего сервера на RCPT этапе. Если вы установите smtpd_delay_reject = no , почтовый шлюз отвергнет спамерское - письмо на этапе $smtp_helo_restrictions как показано ниже: Out: 220 redsand.muine.org ESMTP In: EHLO imbad.spammer.com Out: 450 <imbad.spammer.com>: Helo command rejected: Host not found In: HELO imbad.spammer.com Out: 450 <imbad.spammer.com>: Helo command rejected: Host not found Вот краткий перечень того как в PostFix – е применить ограничения UCE. В файле main.cf пропишите следующие позиции : <smtpd_client_restrictions> <smtpd_banner> <smtpd_helo_required = yes> <smtpd_helo_restrictions> <smtpd_etrn_restrictions> [smtp serverрекламирует свои установки] MAIL FROM: <smtpd_sender_restrictions> RCPT TO: <smtpd_recipient_restrictions> [Отвергаем полученное письмо? Если – да, пропускаем проверку заголовка письма и тела письма. Иначе, принимаем письмо.] DATA <header_checks> <body_checks> Теперь вооружившись знаниями UCE, приступим к разбору различных ограничений. Не будем дожидаться этапа RCPT: чтобы отвергнуть спамерскую электронную почту, и не берем в учет программы Win32 :) smtpd_delay_reject = no Требуем наличие команды HELO в начале smtp - сессии: smtpd_helo_required = yes Требуйте строгого указания адресов на конвертах RFC 821. Это остановит неграмотно адресованную электронную почту: strict_rfc821_envelopes = yes Определите дружественные вам DNS имена хостов, для того чтобы подвергать сомнению остальные: maps_rbl_domains = relays.ordb.org, inputs.orbz.org
4. Клиентские ограничения.
Примеры клиентских ограничений: • Укажите в таблице /etc/postfix/client_access : REJECT - или "[45]XX текст" – блокировка клиентского запроса; OK – разрешение; PELAY – пересылка письма. Этот файл конкретизирует список исключений и определенные запрещенныя. Например, ваш друг, бог его благословляют, имеет почтовый сервер но довольно грубо настроенный, он не разместил его ip – адрес на dns – сервере чтобы упростить поиск должным образом. Или вы имеете злостного спамера, который желает сделать пересылку через ваш сервер почты и список rbl не блокирует его, вы могли бы добавить определенный блок в этом файле. Итак - client_access должен содержать клиентское имя хоста, области родителя, адрес клиентский IP, или сети. Иногда, необходимо разрешить почтовый сервер друга с ругательством - ``unknown client'' для этого - поместите его IP- адрес в файл client_access с действием OK. После создания этого файла вы должны сделать крошечную базу данных вне файла client_access! # postmap client_access # postfix reload Итак … main.cf smtpd_recipient_restrictions = permit_mynetworks, reject_unauth_destination check_client_access hash:/etc/postfix/client_access ... Приведем пример файла: /etc/postfix/ee client_access: ip.publik.yg.mo.di.blok 554 Sorri, client bervirus dilarang lewat lah 192.168.67.89 REJECT 192.168.11.22 550 You are a spammer, go away! 4.3.2.1 OK 5.4.3.2 987654321 * 10.0.0.1 OK • Разрешаем дополнительные проверки пока отправитель передает RCPT TO: и MAIL FROM: заголовки. Для уточнений смотрите mail.log smtpd_delay_reject = yes • Отвергните запрос, когда адрес клиентский IP не имеет DNS – соответствия. • Отвергать запросы всех клиентов сетевой адрес которых отражен в списке $maps_rbl_domains smtpd_client_restrictions = check_client_access hash:/etc/postfix/client_access, reject_unauth_pipelining, reject_unknown_client, reject_maps_rbl Как отфильтровать спам по базе открытых релеев в Postfix ? Просто добавьте в директиву maps_rbl_domains вашего конфигурационного файла домен dul.ru … . maps_rbl_domains = work.drbl.caravan.ru, dul.ru, relays.ordb.org maps_rbl_reject_code = 550 smtpd_client_restrictions = reject_maps_rbl Ссылки: http://www.drbl.ofisp.org/zones.html , http://www.dul.ru/ , http://ordb.org/faq/ Затем активируйте проверку rbl, добавив reject_maps_rbl в smtpd_recipient_restrictions или в другую секцию настроек ограничений. Посмотрим как выглядят установки maps_rbl_domains в нашем конфигурационном файле. # postconf -n | grep rbl Затем генерируют таблицу поиска клиентского доступа: # postmap client_access
5. Ограничения EHLO/HELO
Приведем перечень ограничений EHLO/HELO: • Разрешим своей сети все. • Сформируем таблицу ограничений доступа helo_access, в ней REJECT - или "[45]XX текст" – блокировка клиентского запроса; OK – разрешение; PELAY – пересылка письма. • Отсекаем неправильно сформированные адреса. • Отсекаем почту с хостов ( вида например info.inet. ) не имеющих полноценного доменного имени. • Отсекаем хосты которые не могут представиться доменным именем имеющим полноценный IP – адрес. permit_mynetworks smtpd_helo_restrictions = check_helo_access regexp:/etc/postfix/helo_access, reject_invalid_hostname, reject_non_fqdn_hostname, reject_unknown_hostname Иногда, необходимо разрешить почтовый сервер друга. Решение - поместить его имя хоста в helo_access с действием OK. helo_access: /^smtp\.goodfriend\.com$/ OK Приведем еще примеры этого файла: /etc/postfix/helo_access: dontr.ru REJECT you are not in my local networks 80.80.106.198 REJECT you are not in my local networks dc.DOM OK CTC-channel Затем генерируют таблицу доступа HELO: # postmap helo_access Вероятно, в данном случае администратор прописал диапазон допустимых IP – адресов для команды HELO. [2005.7.21-18:53:27] 155.178.240.224 -> ... [2005.7.21-18:53:53] 58.235.115.73 -> ...
6. Ограничения ETRN
Пример использования ограничений на применение команды ETRN: • Укажите свои ограничения в таблице etrn_access: REJECT - или "[45]XX текст" – блокировка клиентского запроса; OK – разрешение; PELAY – пересылка письма. smtpd_etrn_restrictions = check_etrn_access hash:/etc/postfix/etrn_access Позвольте нашему другу из other.com выпустить ETRN у вас на сервере: etrn_access: other.com OK Затем генерируют таблицу доступа ETRN: # postmap etrn_access
7. Ограничения Отправителя
Пример использования ограничений отправителя: • Укажите в таблице sender_access свои ограничения: REJECT - или "[45]XX текст" – блокировка клиентского запроса; OK – разрешение; PELAY – пересылка письма. • Отвергните запрос, когда почтовый адрес отправителя не имеет полноценного DNS – имени. • Отвергните запрос, если в MAIL FROM - команде клиента находится адрес не соответствующий никакой DNS – зоне. smtpd_sender_restrictions = check_sender_access hash:/etc/postfix/sender_access, reject_unknown_sender_domain, reject_non_fqdn_sender sender_access - должен содержать почтовый адрес отправителя, область родителя, или localpart@. Еще один важный момент, на котором нужно остановиться - это возможность отправки почты пользователями, находящимися ВНЕ вашей локальной сети, так как по умолчанию postfix позволит отправлять почту только пользователям вашей сети. Итак, раскомментируем соответствующую строку в main.cf и создадим файл: # ee /etc/postfix/sender_access user1@your_domain.ru OK Часто приходилось видеть, как вирусописатели любят использовать e-mail admin@ для своих гнусных целей, поэтому неплохо было бы запретить хождение с этого адреса: # ee /etc/postfix/sender_access admin@your_domain.ru REJECT Здесь есть возможность задать маски адресов, от кого мы хотим получать корреспонденцию несмотря на то, что домены этих адресов могут быть неопределены. Нижняя строчка также иллюстрирует блокировку распространненного спама, якобы от пользователей Tele2. # ee /etc/postfix/sender_access: /.*@aaanet\.ru/i OK /.*rfn\.ru/I OK /.*@macosx\.ru/i OK /.*@isis\.srv\.rfn\.ru/i OK /.*@.*tele2\.../i REJECT Не забываем создать хэш: # makemap hash sender_access.db < sender_access Не забудем подправить /etc/postfix/aliases и создать хэш, чтобы была возможномть получать, почту на root, postmaster, etc. Проверяем, что все изменения корректны: # postfix check Затем генерируют таблицу поиска доступа отправителя: # postmap sender_access
8. Ограничения Получателя
Приведем перечень мероприятий по ограничению получателя почты: • Укажите в таблице recipient_access разрешения и запреты REJECT - или "[45]XX текст" – блокировка клиентского запроса; OK – разрешение; PELAY – пересылка письма. • Отвергните запрос, когда почтовый адрес получателя не имеет полноценного DNS – имени. Видимо здесь ниже мы встретились с включенной такой проверкой. [2005.7.22-17:57:22] 133.87.83.122 -> ... 220 iscan1.sys.hokudai.ac.jp ESMTP Wellcome to HINES mailgateway 250 iscan1.sys.hokudai.ac.jp iscan1.sys.hokudai.ac.jp 250 Ok 504 <EHLO>: Helo command rejected: need fully-qualified hostname 221 Bye • Отвергните запрос, если в RCPT TO - команде клиента находится адрес не соответствующий никакой DNS – зоне. Опять приведем пример: [2005.7.17-16:29:53] 196.25.64.141 -> ... 220 zulu.tnt.co.za ESMTP service 250 zulu.tnt.co.za talking to [198.172.157.13] zulu.tnt.co.za 250 OK - mail from <
Данный адрес e-mail защищен от спам-ботов, Вам необходимо включить Javascript для его просмотра.
> 500 5.5.2 Syntax error in RCPT command 221 zulu.tnt.co.za connection • Принять запрос, когда верно одно из ниже следующего: o DNS - имя хоста клиента входит в множество $relay_domains или является его доменом нижнего уровня o Адрес назначения входит в множество $relay_domains По умолчанию postfix - open relay. Следующие две строки очень важны! Если вы их не укажете, то очень скоро вас пропишут на spamcop.net в blacklist и вы не сможете отправлять почту! relay_domains = $mydestination relay_domains_reject_code = 550 Обратите внимание на этот участок log – файла. Так удаленно отобразится этот номер ошибки при “несанкционированном доступе”. :) 2005.7.22-0:49:27] 216.75.194.74 -> gci007.navisite.com 220 gciweb004 Microsoft ESMTP MAIL Service, … 250 gciweb004 Hello [198.172.157.13] gciweb004 250 2.1.0
Данный адрес e-mail защищен от спам-ботов, Вам необходимо включить Javascript для его просмотра.
....Sender OK 550 5.7.1 Unable to relay for
Данный адрес e-mail защищен от спам-ботов, Вам необходимо включить Javascript для его просмотра.
221 2.0.0 gciweb004 Service closing transmission channel o Наш PostFix - это окончательное место назначения, то есть место назначения, которое соответствует $mydestination, $inet_interfaces или $virtual_maps. Запрещаем выдачу писем в поток, как это делают спаммеры reject_unauth_pipelining o Запрещаем прием и передачу писем, не относящихся к нам без этой строчки сервер становится open-relay reject_unauth_destination smtpd_recipient_restrictions = check_recipient_access hash:/etc/postfix/recipient_access, reject_unknown_recipient_domain, reject_non_fqdn_recipient, check_relay_domains, reject_unauth_destination reject_unauth_pipelining Приведем пример файла recipient_access:
/etc/postfix/recipient_access: /.*@aaanet\.ru/i OK /.*rfn\.ru/i OK Затем генерируют восприимчивую таблицу поиска доступа: # postmap recipient_access А вот что скажет Ваш сервер вопрошающему в том случае если отслеживается список получателей. [2005.7.23-0:45:21] 131.48.46.72 -> ... 220 wolverine.aviano.af.mil ESMTP Fri, 22 Jul 2005 23:48:17 +0200 (CEST) 250 wolverine.aviano.af.mil Hello [198.172.157.13], pleased to meet you wolverine.aviano.af.mil 250 2.1.0 <
Данный адрес e-mail защищен от спам-ботов, Вам необходимо включить Javascript для его просмотра.
>... Sender ok 550 5.7.1 <
Данный адрес e-mail защищен от спам-ботов, Вам необходимо включить Javascript для его просмотра.
>... Relaying denied. IP name lookup failed [198.172.157.13]
Данный адрес e-mail защищен от спам-ботов, Вам необходимо включить Javascript для его просмотра.
550 5.2.1 <
Данный адрес e-mail защищен от спам-ботов, Вам необходимо включить Javascript для его просмотра.
>... Mailbox disabled for this recipient
9. Ограничения по заголовку письма
Пример использования ограничений по заголовку письма : • Отброс письма с заголовком типа: От: *@spammer.com. • Отброс письма со строкой в заголовке : *@babbabbad.com • Отброс письма с заданным сообщением типа 552 ``Geeks have no time for this '' • Конкретный образец заголовка с разрешением - OK. Правило, заканчивающееся на OK, воздействует только на соответствующий заголовок • Выведите предупреждение но не отвергайте некоторые письма с заданным заголовком: ``Subject: hot hot hot'' Посмотрим пример файла header_checks: header_checks = regexp:/etc/postfix/header_checks: /^From:(.*)БРАК @spammer\.com$/ REJECT /^From:(.*)@babbabbad\.com$/ IGNORE /^From:(.*)@sex\.com$/ REJECT Geeks have no time for this /^From:(.*)@goodfriend\.com$/ OK /^Subject: hot hot hot$/ WARN Можно попытаться защититься от вирусных вложений: etc/postfix/header_checks: /^content-(type|disposition):.*name[[:space:]]*=.*\.(dll|vbs|pif|com|bat|scr|lnk)/ REJECT Prohibited attachement file name extension: $2 Конечно, вирь может прийти в виде файла с расширением EXE или ZIP, но это могут быть и нормальные файлы. Пример продвинутого файла header_checks. Перегрузим для того чтобы установки вступили в силу: # postfix reload 10. Ограничения по телу письма Распишем правила ограничений по телу письма: • Отбросить письмо к которому прикреплены архивы. • Отбросить письма в которых в качестве вложений есть исполняемые скрипты-сценарии. • Принять те письма к которым прикреплены файлы заданного расширения. • Предупредть, но не отвергайте электронную почту со строкой в теле ``hot deal'' Приведем пример файла body_checks: body_checks = pcre:/etc/postfix/body_checks: /^(.*)name\=\"(.*)\.(zip|gz|Z|bz)\"$/ REJECT /^(.*)name\=\"(.*)\.(hta|vb[esx]|ws[fh]|js[e]|bat|cmd)\"$/ IGNORE /^(.*)name\=\"(.*)\.(com|exe)\"$/ REJECT Please no executable /^(.*)name\=\"(.*)\.(doc)\"$/ OK /^hot deal$/ WARN Пример продвинутого файла body_checks. Перезагрузим PostFix для того чтобы изменения вступили в силу. # postfix reload
11. Контролируйте почтовую регистрацию
Очень важно приэксплуатации PostFix – а контролировать log – файлы. В файле /var/log/maillog обращаем внимание на отбросы почты предупреждения ошибки. # egrep '(reject|warning|error|fatal|panic):' /var/log/maillog
12. Знакомьте с Постфиксом
Выясните, какая версия программы postfix установлена: # postconf mail_version Просмотр значений, установленных по умолчанию: # postconf -d Просмотр значений установленных пользователем: # postconf -n Удалить одно почтовое сообщение с заданным идентификатором из очереди: # postsuper -d queue-id Удалите все почтовые сообщения из очередей: # postsuper -d ALL Очистить почтовую очередь: # postfix flush
Ссылки
Протокол SMTP http://www.muine.org/rfc/rfc821.txt Новый протокол SMTP http://www.muine.org/rfc/rfc2821.txt Домашняя Страница программы postfix http://www.postfix.org/ SMTP: Простой Протокол Передачи Почты http://cr.yp.to/smtp.html Конфигурация postfix - Средства UCE контроля http://www.muine.org/postfix/uce.html postfix-uce-руководство http://www.mengwong.com/misc/postfix-uce-guide.txt
P.S.
В конце приведу выдержку из отчета одного “положительно настроенного” думаю выдержка придаст уверенности в нелегкой борьбе со спамом. А я Вами прощаюсь. До свиданья! “В течение двух недель также выявились “продвинутые” респонденты, которые отсылали письма с адресов, не имеющих ДНС-имен или с некорректным HELO. Для них всех были добавлены записи в “белые списки”, что также решило проблему. Как показал опыт, DNSBL-проверки отсекают примерно 70% спама в процессе приема заголовков, и на этом экономится трафик не принятых тел писем спамов (примерно 20-50 kb на каждой попытке, а их может быть примерно 30-50 тыс в неделю). Удивительное рядом, но на проверках HELO/EHLO отсекается большинство хитрых спаммеров, которые пытаются замаскироваться под приличный сервер(10% от общего числа писем). А на проверках по выражениям dul_checks вместе с требованием существования и корректности обратного ДНС-имени хоста-отправителя эффективно отсекаются хосты-зомби с динамическими адресами.”
Используемая литература:
[ 1 ] - http://www.mactime.ru/Environ/WebObjects/mactime.woa/wa/Main?textid=5409&level1=mactimes [ 2 ] - http://www.fecity.ru/~vax/docs/Configuring%20Mail%20Gateway%20Using%20Postfix.htm
оригинал: http://vx.org.ua/tpoc//Articles/PostFix.htm
Записки администратора: Postfix
Посмотреть сколько сообщений в очереди: mailq | grep Requests
Посмотреть конкретно что в очереди: mailq
Пнуть очередь на немедленную доставку: postsuper -r ALL postfix flush
Пнуть конкретное письмо по ID: postsuper -r ID
Удалить письмо по ID: postsuper -d ID
Удаление группы писем от определенного FROM (на примере MAILER-DAEMON): mailq|grep 'MAILER-DAEMON'|awk '{print $1}'|xargs -J{} -n1 postsuper -d {}
Удаление группы писем от определенного FROM в статусе REQUIRE: mailq|grep 'bad@
Данный адрес e-mail защищен от спам-ботов, Вам необходимо включить Javascript для его просмотра.
'|awk '{print $1}'|tr -d '*'|xargs -J{} -n1 postsuper -d {}
Удаление всех писем из почтовой очереди. postsuper -d ALL
|
{jcomments on} |