Настройка почтового шлюза с использованием PostFix – а. Печать
Автор: Administrator   
22.10.09 14:56

Настройка почтового шлюза с использованием 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}

Последнее обновление 21.04.11 11:34