Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: HowTo. Почтовый сервер Postfix, Courier, MySQL и SquirrelMail (Ubuntu 8,04)  (Прочитано 462227 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Zergius

  • Любитель
  • *
  • Сообщений: 61
  • О_о
    • Просмотр профиля
Т.е., в этом случае очередь начнет разбухать без всякого предела (если "убить" возможность отлупа по прошествии некоторого времени, проведенного в очереди).
Вот это и было моим заданием, чтоб письма в очереди висели какое-то время (3-5 часов), а потом, если квота до сих пор превышена - убивались... Если такой возможности без использования двух серверов нет, можно ли вообще сделать проверку квоты при каждом приходящем, и если она превышена, то вместе с ответом отправителю шло письмо и получателю, отправителю, что ящик переполнен, получателю - "Чисти почту"...
Если тебе надо получать все письма, лучше убрать квоты.
А так... я видел подобные сообщения на нашем локальном форуме (при заполнении ящика становится невозможно забрать из него почту), IMHO это баг...
Квоты убирать не надо, иначе там будет полный бардак... Не знаю, какие у вас настройки, но у меня даже при превышенной квоте почта забирается и могно всё смотреть, скорее всего, что связано это с использованием IMAP протокола =))

Оффлайн tagilchanin

  • Активист
  • *
  • Сообщений: 658
    • Просмотр профиля
Добрый день!
Возник вопрос по поводу работы amasid-new и spamassassin. Все настроено по этому HOW-TO. Все работает. Но мне так кажется что spamassassin не учатсвует в фильтрации почты, никаих логов его не видно, строк в письме типа: X-SPAM:***** или что подобное нет. Есть только строки о том что письмо было проверено антивирусом:
From - Thu Jan 28 20:50:38 2010
X-Account-Key: account2
X-UIDL: UID962-1258817837
X-Mozilla-Status: 0001
X-Mozilla-Status2: 00000000
X-Mozilla-Keys:                                                                                 
Return-Path: <user@yandex.ru>
X-Original-To: user@mydomain.ru
Delivered-To: user@mydomain.ru
Received: from localhost (server.mydomain.ru [127.0.0.1])
   by mail.mydomain.ru (Postfix) with ESMTP id 9A729BC09F
   for <user@mydomain.ru>; Thu, 28 Jan 2010 20:52:27 +0300 (MSK)
X-Virus-Scanned: Debian amavisd-new at muser@mydomain.ru

Пожалуйста подскажите, кто сталкивался.
Выбери профессию, которую ты любишь, - и тебе не придется работать ни дня в твоей жизни. (Конфуций)

Оффлайн Karl500

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 2267
    • Просмотр профиля
Конфиг amavis (/etc/amavis.conf.d/20-debian_defaults)

Поставьте
$sa_tag_level_deflt  = undef;  # add spam info headers if at, or above that level

Туда можно вставить строки
$sa_spam_subject_tag = '***SPAM*** ';
$sa_spam_report_header = 1;
Тогда будет еще и подробный репорт по правилам spamassassin'a вставляться в спамовые сообщения.

Сейчас напишу пост подробнее про добавления для защиты от спама...

« Последнее редактирование: 29 Января 2010, 14:07:19 от Karl500 »

Оффлайн tagilchanin

  • Активист
  • *
  • Сообщений: 658
    • Просмотр профиля
Конфиг amavis (/etc/amavis.conf.d/20-debian_defaults)

Поставьте
$sa_tag_level_deflt  = undef;  # add spam info headers if at, or above that level

Туда можно вставить строки
$sa_spam_subject_tag = '***SPAM*** ';
$sa_spam_report_header = 1;
Тогда будет еще и подробный репорт по правилам spamassassin'a вставляться в спамовые сообщения.

Сейчас напишу пост подробнее про добавления для защиты от спама...




Изменил как вы написали, ничего не поменялось  :(
Выбери профессию, которую ты любишь, - и тебе не придется работать ни дня в твоей жизни. (Конфуций)

Оффлайн Karl500

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 2267
    • Просмотр профиля
Стесняюсь спросить - а amavis перезапустили?

/etc/init.d/amavis restart

UPD: Что у Вас в файле /etc/amavis/conf.d/05-domain_id ? Дело в том, что amavis будет вообще менять что-то только в письмах, которые направлены в домены, указанные как локальные.
« Последнее редактирование: 29 Января 2010, 15:24:28 от Karl500 »

Оффлайн tagilchanin

  • Активист
  • *
  • Сообщений: 658
    • Просмотр профиля
Стесняюсь спросить - а amavis перезапустили?

/etc/init.d/amavis restart

UPD: Что у Вас в файле /etc/amavis/conf.d/05-domain_id ? Дело в том, что amavis будет вообще менять что-то только в письмах, которые направлены в домены, указанные как локальные.


Конечно перезапускал :). в /etc/amavis/conf.d/05-domain_id следующее:

use strict;

#
# Place your configuration directives here.  They will override those in
# earlier files.
#
# See /usr/share/doc/amavisd-new/ for documentation and examples of
# the directives you can use in this file
#

$pax='pax';
#------------ Do not modify anything below this line -------------
1;  # ensure a defined return

Виноват не то показал это 50-user.




А в 05-domain_id:


use strict;

# $mydomain is used just for convenience in the config files and it is not
# used internally by amavisd-new except in the default X_HEADER_LINE (which
# Debian overrides by default anyway).

chomp($mydomain = `head -n 1 /etc/mailname`);

# amavisd-new needs to know which email domains are to be considered local
# to the administrative domain.  Only emails to "local" domains are subject
# to certain functionality, such as the addition of spam tags.
#
# Default local domains to $mydomain and all subdomains.  Remember to
# override or redefine this if $mydomain is changed later in the config
# sequence.

@local_domains_acl = ( ".$mydomain" );

1;  # ensure a defined return

« Последнее редактирование: 29 Января 2010, 16:22:33 от tagilchanin »
Выбери профессию, которую ты любишь, - и тебе не придется работать ни дня в твоей жизни. (Конфуций)

Оффлайн Karl500

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 2267
    • Просмотр профиля
Несколько замечаний/дополнений. Естественно, применительно  к обсуждаемому варианту установки почтового сервера.

Небольшие изменения конфигурации amavis

Работа amavis с виртуальными доменами.

Если Вы используете виртуальные домены, то Вам нужно указать amavis, что они являются локальными. Иначе он не будет вставлять заголовки и проверять на спам, т.к. будет считать, что письма, посланные на виртуальные домены - исходящие.

Если у Вас настроено по настоящему руководству, то Вам нужно вставить в файл /etc/amavis/conf.d/50-user примерно следующие строки:
@lookup_sql_dsn = (['DBI:mysql:mail; host=127.0.0.1; port=3306', 'USERNAME' ,'PASSWORD']);
$sql_select_policy = 'SELECT "Y" as local FROM domains WHERE CONCAT("@",domain) IN (%k)';
где USERNAME и PASSWORD - имя пользователя и пароль для доступа к БД с именем mail (домены, напоминаю, перечислены в таблице domains)

Т.к. используется amavis-new, то параметры для spamassassin нужно задавать именно в конфигурации amavis (т.е. в файле /etc/amavis.conf.d/50-user). Учтите при этом, что параметры, заданные непосредственно в файле конфигурации spamassassin (файл /etc/mail/spamassassin/local.cf) в большинстве будут просто проигнорированы (например, amavis-new никогда не модифицирует тело письма, даже если это прямо указано в конфигурации spamassassin).

Дальше - некоторые параметры, которые используются у меня с кратким пояснением, зачем и почему.
$enable_db = 1;              # enable use of BerkeleyDB/libdb (SNMP and nanny)
$enable_global_cache = 1;    # enable use of libdb-based cache if $enable_db=1
$spam_check_negative_ttl = 30*60;
$spam_check_positive_ttl = 30*60;
Это позволяет держать небольшой кеш уже проверенных писем и не проверять точно такие же письма заново, если они уже есть в кеше. Проверка идет по сигнатуре, которую amavis генерирует сам. Полезно, когда, в частности, один и тот же спам валится на несколько адресов. ttl-параметры - это срок жизни сигнатуры в кеше (с положительным и отрицательным результатом проверки на спам). В моем случае, процент попадания в кеш порядка 8.
$sa_spam_subject_tag = '***SPAM*** ';
$sa_spam_report_header = 1;
$sa_tag_level_deflt  = undef;  # add spam info headers if at, or above that level
$sa_tag2_level_deflt = 4.5;  # add 'spam detected' headers at that level
$sa_kill_level_deflt = 6.9;  # triggers spam evasive actions
$sa_dsn_cutoff_level = 6.9;    # spam level beyond which a DSN is not sent
$sa_quarantine_cutoff_level = 6.9;
$sa_spam_subject_tag - добавление указанной строки в начало темы письма. Удобно для получателей.
$sa_spam_report_header - добавление заголовков с подробным отчетом о результатах проверки. Учтите только, что эти заголовки будут вставлены только в письма, признанные спамом. Подробный отчет - это объяснения каждого сработавшего правила spamassassin, типа вот такого:
X-Spam-Report:
 *  1.4 MSGID_MULTIPLE_AT Message-ID contains multiple '@' characters
 *  0.0 HTML_MESSAGE BODY: HTML included in message
 *  0.0 BAYES_50 BODY: Bayesian spam probability is 40 to 60%
 *      [score: 0.5000]
 *  1.8 MIME_BASE64_TEXT RAW: Message text disguised using base64 encoding
 *  1.3 AWL AWL: From: address is in the auto white-list
$sa_tag_level_deflt - добавлять заголовки с результатом проверки на спам в сообщения с указанной оценкой и выше. Здесь - всегда добавлять эти заголовки. Заголовки вот такие:
-Spam-Flag: YES
X-Spam-Score: 4.54
X-Spam-Level: ****
X-Spam-Status: Yes, score=4.54 required=4.5 tests=[AWL=1.336, BAYES_50=0.001,
HTML_MESSAGE=0.001, MIME_BASE64_TEXT=1.753, MSGID_MULTIPLE_AT=1.449]
если опознан спам и
X-Spam-Flag: NO
X-Spam-Score: -0.708
X-Spam-Level:
X-Spam-Status: No, score=-0.708 required=4.5 tests=[AWL=0.403, BAYES_05=-1.11,
SPF_PASS=-0.001]
если сообщение "чистое". Еще раз подчеркну, что в этом случае заголовка "X-Spam-Report:" не будет. Если нужен - нужно править сам amavis.
$sa_tag2_level_deflt - уровень, начиная с которого сообщение признается спамом.
$sa_kill_level_deflt - уровень, начиная с которого выполняется правило по обработке спама (описание ниже)
$sa_dsn_cutoff_level - уровень, начиная с которого не отсылается сообщение о невозможности доставки. Очень советую его иметь равным $sa_kill_level_deflt, иначе Вас, скорее всего, внесут в какой-нибудь черный список. Особенно это любит делать, например, att.com
$sa_dsn_cutoff_level - уровень начиная с которого письмо не сохраняется в карантине (/var/lib/amavis/virusmails/...)
$final_virus_destiny      = D_DISCARD;  # (data not lost, see virus quarantine)
$final_banned_destiny     = D_BOUNCE;   # D_REJECT when front-end MTA
$final_spam_destiny       = D_DISCARD;
$final_bad_header_destiny = D_PASS;     # False-positive prone (for spam)
$virus_admin = "postmaster@$mydomain"; # due to D_DISCARD default
Параметры задают правила обработки "нехороших" сообщений:
$final_virus_destiny - просто игнорировать (сами письма сохраняются в карантине)
$final_banned_destiny - письма с запрещенными вложениями по типу файлов: сообщить отправителю о невозможности доставки
$final_spam_destiny - игнорировать (это и есть то самое правило обработки спама, о котором шла речи выше)
$final_bad_header_destiny - некорректные заголовки писем пропускать.
$virus_admin = адрес, куда доставлять сообщения о вирусах и отраженных письмах с запрещенными вложениями (postmaster), чтобы можно было проверить содержимое писем в карантине. О письмах со спамом, попавшим в карантин, сообщений не будет.

Настройки, связанные с вирусами и запрещенными вложениями лучше оставить "по умолчанию".

Конкретные уровни оценки выставьте сами (я использую именно такие, и они меня полностью удовлетворяют, по крайней мере, по прошествии довольно большого времени и накопленной bayes-овской базы и с регулярными обновлениями правил spamassassin). Недавно специально проверял - за три дня ложных срабатываний было 0 (менял D_DISCARD на D_PASS у $final_spam_destiny).



Пользователь решил продолжить мысль 29 Января 2010, 21:08:47:
Дополнительные правила для защиты от спама

Множество спам-хостов находится на компьютерах-зомби. К счастью, в большинстве случаев эти компьютеры не настроены должным образом, как мейл-серверы, что дает возможность их с легкостью отсекать еще на начальном этапе получения писем.

Дело в том, что процесс передачи/получения письма начинается с представления серверов друг другу. После соединения по порту 25 (SMTP), компьютер - инициатор выдает команду

HELO hostname.domain.ltd

Принимающий сервер уже на этом этапе может отсечь кучу спама. Как это сделать? Очень просто. Нормально сконфигурированный сервер обязан в сообщении HELO передать свое истинное имя; причем это имя должно соответствовать IP-адресу, с которого осуществляется соединение; а IP-адрес должен резолвится в обратной зоне в это имя. Если это не так - Вы имеете полное право отсечь соединение прямо на этом этапе. Плюсы: не тратится лишний трафик на прием сообщений, которые заведомо являются спамом; экономятся вычислительные затраты на дальнейшие проверки  писем на спам и вирусы. Необходим какой-то трафик для проведения проверок по DNS (но он заведомо меньше трафика на прием писем). Отсечь "нормальное" письмо бояться не стоит: неверная настройка почтового сервера, который Вы отсекли - не Ваша головная боль.

Для того, чтобы такие проверки проводились на этапе приемки писем, в файл /etc/postfix/main.cf нужно вставить следующие строки:

strict_rfc821_envelopes = yes
disable_vrfy_command = yes
smtpd_delay_reject = yes
smtpd_helo_required = yes

smtpd_client_restrictions = sleep 1, reject_unauth_pipelining, permit_sasl_authenticated, permit_mynetworks,  reject_unknown_client_hostname, permit
smtpd_helo_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_invalid_helo_hostname, reject_non_fqdn_helo_hostname, reject_unknown_helo_hostname, permit
smtpd_sender_restrictions =  permit_mynetworks, permit_sasl_authenticated, reject_non_fqdn_sender, reject_unknown_sender_domain, permit
smtpd_recipient_restrictions = reject_unauth_pipelining, permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination, reject_non_fqdn_recipient, reject_unknown_recipient_domain, reject_unlisted_recipient, check_policy_service inet:127.0.0.1:60000, permit

Подробнее об этих параметрах:

strict_rfc821_envelopes - запрет на использование заголовков в стиле RFC822. Если кратко - этот стандарт не имеет отношения к SMTP, а к формату самих писем, и не должен использоваться на этапе общения между серверами. Даже их названия об этом говорят: 821: SIMPLE MAIL TRANSFER PROTOCOL, 822: STANDARD FOR THE FORMAT OF ARPA INTERNET TEXT MESSAGES.
disable_vrfy_command - запрет на использование команды VRFY. Эта команда зачастую используется для сбора с сервера существующих адресов почты для дальнейшей рассылки на них спама.
smtpd_delay_reject - подождать команды RCPT TO перед (возможным) отказом от приема письма. Нужно из-за того, что некоторые сервера неверно реагируют на отказ от приема писем до посылки ими команды RCPT TO
smtpd_helo_required - требовать от сервера обязательно представиться командой HELO. Это дает возможность проведения нужных нам проверок.

Проверки на каждом этапе происходят последовательно, в указанном в каждой команде порядке. Если условие выполнено, дальнейшие проверки не производятся.

smtpd_client_restrictions - ограничения на этапе установления связи по протоколу SMTP
 sleep 1 - пауза на 1 секунду для отсекания совсем нетерпеливых спам-хостов (обычно они просто сразу же рвут соединение - им нужно разослать как можно больше спама, поэтому ждать им - как серпом...)
 reject_unauth_pipelining - отсечь хосты, которые пытаются слать команды в конвейере, даже не проверив, поддерживает ли это наш сервер. Это часто делают именно спам-хосты для увеличения скорости передачи
 permit_sasl_authenticated - разрешить для авторизованных клиентов (пользователи)
 permit_mynetworks - разрешить при соединении из моей подсети
 reject_unknown_client_hostname -отказать в случае, если 1) не удалось сопоставить IP адрес имени хоста (по PTR-записи в DNS), 2) не удалось сопоставить имя IP-адресу хоста (прямой запрос DNS), 3) адрес, полученный из DNS по имени не совпадает с IP-адресом , с которого идет соединение. Отсекается ОЧЕНЬ много спам-хостов (в моем случае - процентов 80)
 permit - в другом случае продолжать прием

smtpd_helo_restrictions - ограничения на этапе команды HELO:
 permit_mynetworks - разрешить при соединении из моей подсети
 permit_sasl_authenticated - разрешить при аутентификации (пользователи)
 reject_invalid_helo_hostname - отказать при нарушении синтаксиса имени хоста в HELO (случается очень редко, тем не менее...)
 reject_non_fqdn_helo_hostname - отказать, если имя хоста в HELO не в полной форме (не должно быть просто server, а должно быть типа server.domain.ltd)
  reject_unknown_helo_hostname - отказать, если у хоста, указанного в команде HELO, в DNS нет записи типа MX или A (множество зобми-хостов)
 permit - в другом случае продолжать прием

smtpd_sender_restrictions - проверки по команде MAIL FROM (имя отправителя)
 permit_mynetworks - разрешить при соединении из моей подсети
 permit_sasl_authenticated - разрешить при аутентификации (пользователи)
 reject_non_fqdn_sender - отказать, если имя отправителя не в полной форме (должно быть не name или name@domain а name@domain.ltd)
reject_unknown_sender_domain - отказать, если наш сервер не является "родным" для отправителя и домен отправителя не имеет в DNS записи MX или A, или если он имеет неверную запись MX (например, пустую)
 permit - в другом случае продолжать прием

smtpd_recipient_restrictions - проверки по команде RCPT TO (имя получателя)
 reject_unauth_pipelining - отсечь хосты, которые пытаются слать команды в конвейере
 permit_sasl_authenticated - разрешить для авторизованных клиентов (пользователи)
 permit_mynetworks - разрешить при соединении из моей подсети
 reject_unauth_destination - отказать, если домен-адресат: 1) не перечислен в списке доменов, для которых мы форвардим почту ($relay_domains) и не содержит команд переадресации (типа user@another@domain); 2) не является "нашим" (т.е. не перечислен в списках  $mydestination, $inet_interfaces, $proxy_interfaces, $virtual_alias_domains, или $virtual_mailbox_domains ) и не содержит команд переадресации (типа user@another@domain). Это - традиционные правила, чтобы наш сервер не служил т.н. Open Relay, через который спамеры рассылают почту третьим лицам.
 reject_non_fqdn_recipient - отказать, если имя получателя не в полной форме (должно быть не name или name@domain а name@domain.ltd)
 reject_unknown_recipient_domain - отказать, если мы не являемся "родным" сервером для получателя и домен получателя не имеет в DNS записи MX или A, или если он имеет неверную запись MX (например, пустую)
 reject_unlisted_recipient - отказать, если адрес получателя не указан в списках получателей домена (не перечислен в  $local_recipient_maps или $virtual_alias_maps или $virtual_mailbox_maps или $relay_recipient_maps, в зависимости от того, в какой именно таблице найден домен получателя)
 check_policy_service inet:127.0.0.1:60000 - проверка у стороннего сервиса (в данном случае - postgrey, о нем чуть позже)

Такая конфигурация позволяет отсечь просто КУЧУ спама.

Теперь о postgrey. Это еще один способ борьбы со спамом. Многим он не нравится, мне - так очень. Работает он так. При приходе письма (конечно, если оно "прорвалось" через все проверки, указанные выше) сервер запоминает три параметра (так называемыймтриплет): от кого оно послано, кому послано, и кем (т.е. адрес сервера, который его посылает), и сообщает передающему серверу "Я сейчас занят, повторите чуть позже", после чего начинает отсчет времени для конкретного триплета. Большинство спамеров, как мы знаем, ждать не любят, и либо пытаются повторить посылку сразу же (на что получают тот же ответ), либо просто прекращают свои попытки. Наш же сервер, если обнаружит повторное письмо с тем же триплетом по прошествии некоторого времени (по умолчанию - 5 минут), спокойно его примет. При этом этот триплет будет запомнен на какое-то время (35 дней), так что следующие письма с тем же триплетом пройдут без задержки. Если это Ваш постоянный корреспондент, то задержек больше не будет вообще.

Установить postgrey очень просто -

sudo apt-get install postgrey

после чего просто добавьте в main.cf обращение к postgrey, как указано выше.

Если Вы хотите изменить параметры postgrey, то это делается в файле /etc/default/postgrey. Отредактируйте строку

POSTGREY_OPTS="--inet=127.0.0.1:60000"

добавив параметры --delay=N (в секундах; по умолчанию 300) и --max-age=N (в сутках; по умолчанию 35):

POSTGREY_OPTS="--inet=127.0.0.1:60000 --delay=300 --max-age=35"

Стоит заглянуть еще в два файла: это /etc/postgrey/whitelist_clients и /etc/postgrey/whitelist_clients. В первом перечислены домены-отправители, письма от которых принимаются автоматом (по разным причинам), во втором - адреса-получатели, письма на которые также принимаются сразу всегда (например, abuse@). Можете при необходимости дописать в эти файлы свои строки.

В следующем посте напишу еще об интересных способах борьбы со спамом, которые я использую у себя. Удачи!

Пользователь решил продолжить мысль 30 Января 2010, 01:29:27:
Да, совсем забыл. У меня еще на всякий случай ежедневно отсылается отчет о "проделанной работе" по борьбе со спамом.
Возьмите скрипт http://www.postconf.com/docs/spamrep/spamrep_today и сохраните его под именем

/etc/postfix/spamrep_today

сделайте его исполняемым

chmod 755 /etc/postfix/spamrep_today

и добавьте вызов его в cron

59 23 * * * /etc/postfix/spamrep_today mail &> /dev/null

Можете изменить в нем адрес для доставки отчета

MAILTO=postmaster

После этого ежедневно Вы будете получать для анализа информацию обо всех отраженных письмах.
« Последнее редактирование: 30 Января 2010, 01:29:29 от Karl500 »

Оффлайн Karl500

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 2267
    • Просмотр профиля
И еще немного о борьбе со спамом.

Зачастую спамеры пытаются "замаскироваться" под обычных отправителей, т.е. подделывают обратный адрес (mail from:).
Есть способ а) обезопасить себя от таких "подделок" и б) проверять на этапе приема, не подделан ли обратный адрес.
Для этого в настоящее время существует четыре варианта. Советую использовать все.

Основная идея у всех вариантов похожа: в запись DNS Вашего домена вставляется некая информация, проверив которую принимающий сервер может определить, есть ли у отправителя разрешение на отсылку писем от имени указанного домена.

1. Использование SPF.
В DNS-запись своего домена нужно вставить следующую строку:
domain.com. IN TXT "v=spf1 a mx -all"
(здесь domain.com - это Ваш домен).
Эта запись означает, что домен domain.com использует версию SPF1 и разрешает от своего имени посылать почту серверу, указанному в записи MX и A домена, и запрещает всем остальным.
На этапе приема сервер запросит в DNS запись MX и A Вашего домена, и, если полученный IP-адрес не совпадает с IP-адресом отправителя, то письмо будет отклонено.
Вместо -all на этапе тестирования можно вставить ~all (в этом случае письмо будет не отклонено, а сервер-получатель получит "предупреждение" о возможной подделке адреса отправителя - т.н. softfail).
Вообще говоря, запись для SPF в домене можно сгенерировать автоматически, ответив на несколько вопросов вот тут: http://www.openspf.org/

Для того, чтобы Ваш почтовый сервер производил проверку по SPF, нужно установить пакеты

apt-get install python-policyd-spf python-spf
Вставьте в /etc/postfix/main.cf строку
spf-policyd_time_limit = 3600s
Вставьте в файл /etc/postfix/master.cf строки
policy-spf  unix  -       n       n       -       -       spawn
     user=nobody argv=/usr/bin/policyd-spf

Вставьте в строку smtpd_recipient_restrictions в файле /etc/postfix/main.cf
check_policy_service unix:private/policy-spf(эту проверку следует вставить после reject_unauth_destination чтобы не было риска использовать Вас, как open relay)
Проверка на SPF нужна только для входящих писем, исходящие письма с Вашего сервера проверять не надо.

Перезагрузите postfix
/etc/init.d/postfix reload
2. Использование Sender ID

Технология Sender ID - это вариант от Microsoft. И, хотя мы не собираемся проверять входящую почту на Sender ID, мы уже сконфигурировали все, что необходимо для отправки писем с использованием Sender ID: эта технология использует ту же запись в DNS, которую мы внесли. Единственно что можно еще сделать - это зарегистрировать нашу запись в Microsoft вот здесь: https://support.msn.com/eform.aspx?productKey=senderid&page=support_senderid_options_form_byemail&ct=eformts

3,4. Использование Domainkey и DKIM

Эта технология несколько отличается от SPF. DKIM - это несколько улучшенный вариант Domainkey, однако лучше использовать оба сервиса, тем более, что установка очень похожа. Для использования Domankey и DKIM установим пакеты
aptitude install dk-filter dkim-filterВыбирайте все опции "по умолчанию" при установке - сейчас мы сконфигурируем их вручную.

Вначале сгенерим ключи (вместо domain.com используйте свой домен):
dkim-genkey -d domain.com -s mail
У Вас в текущей директории появится два файла: mail.private и mail.txt
Создадим директорию для хранения ключа и перепишем ключ в нее под именем mail (опять же, используйте свое имя домена), и изменим разрешения для него:
mkdir /etc/mail/domain.com
mv mail.private /etc/mail/domain.com/mail
chown 644 /etc/mail/domain.com/mail
Теперь отредактируем файл конфигурации /etc/dkim-filter.conf (опять же, не забудьте сменить domain.com на Ваш домен)
(Нажмите, чтобы показать/скрыть)
и создадим директорию для хранения протокола работы dkim
mkdir /etc/log/dkim-filter
Отредактируем файл /etc/default/dkim-filter
(Нажмите, чтобы показать/скрыть)

и файл /etc/default/dk-filter (вместо domain.com - Ваш домен)
(Нажмите, чтобы показать/скрыть)

Теперь добавим в файл /etc/postfix/main.cf строки
milter_default_action = accept
milter_protocol = 2
#smtpd_milters = inet:localhost:8891,inet:localhost:8892 ; for internal delivery only
non_smtpd_milters = inet:localhost:8891,inet:localhost:8892
Мы хотим, чтобы подписывались только исходящие письма, поэтому строка smtpd_milters закомментарена.

Последнее, что нам осталось сделать - это внести изменения в DNS-записи нашего домена:
mail._domainkey.domain.com. IN TXT "g=*; k=rsa; p=XXXXXXXXXX" ; ----- DKIM mail for domain.com
_domainkey.domain.com.      IN TXT "o=-"
Здесь вместо domain.com - Ваш домен, а вместо XXXXXXXXXX - значение, записанное в  "p=" в файле mail.txt, который появился при генерации ключей.

Важное замечание: в записи _domainkey.domain.com. вместо "o=-" на этапе тестирования можно вставить "o=~". Первое означает, что ВСЕ письма от вашего домена подписываются, а второе - что подписываются только некоторые письма.
Кроме этого, на этапе тестирования в запись mail._domainkey.domain.com. (внутри кавычек) можно добавить ключ t=y; :
mail._domainkey.domain.com. IN TXT "g=*; k=rsa; t=y; p=XXXXXXXXXX" ; ----- DKIM mail for domain.com
_domainkey.domain.com.      IN TXT "o=~"

Перезапускаем сервисы dk-filter и dkim-filter
/etc/init.d/dk-filter restart
/etc/init.d/dkim-filter restart
Если они запустились нормально, перезапускаем postfix
/etc/init.d/postfix restartВАЖНО: При внесении изменений в зону DNS не забудьте увеличить номер зоны в записи SOA!

Протестировать только что установленные сервисы можно послав тестовое письмо на адрес check-auth@verifier.port25.com
В ответ Вы получите письмо с результатами проверки всех четырех сервисов. Если в ответе будет примерно следующее
Цитировать
==========================================================
Summary of Results
==========================================================
SPF check:          pass
DomainKeys check:   pass
DKIM check:         pass
Sender-ID check:    pass
то все работает нормально.

Оффлайн kolyan_k

  • Участник
  • *
  • Сообщений: 147
    • Просмотр профиля
Добрый день всем!!!
не могу найти как переделать SquirrelMail если это конечно возможно???
по умолчания мы заходим на  http://server/squirrelmail  можно ли как нибуть убрать squirrelmail или переименовать...? связано это с тем  что многие сотрудники не могут запомнить...

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
Создать для белки отдельный поддомен.
http://mail.домен/ например. Или сделать ссылку с главной страницы. Или сделать форму логина на почту с главной страницы.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн kolyan_k

  • Участник
  • *
  • Сообщений: 147
    • Просмотр профиля
Создать для белки отдельный поддомен.
http://mail.домен/ например. Или сделать ссылку с главной страницы. Или сделать форму логина на почту с главной страницы.


Спасибо уважаемый! извнияюсь за повторный вопрос так как не совсем понял суть  "Или сделать ссылку с главной страницы" где это можно реализовать
и хотелось бы узнать как можно поменять стандртный порт 80 на другой??
« Последнее редактирование: 16 Февраля 2010, 10:49:05 от kolyan_k »

Оффлайн koklushkin

  • Новичок
  • *
  • Сообщений: 11
    • Просмотр профиля
Спасибо за отличную статью! Оседлаю, отпишусь :)

Оффлайн Veter9

  • Новичок
  • *
  • Сообщений: 22
    • Просмотр профиля
Пожалуй спрошу тут.

На работе использую связку MS_Server2003 + Exchange2003+ ORF. Да, каюсь, неправославен.
Клиентские машинки на легализованной виндеХП +офис легализованный.
Так, как руководство решило не платить и за сервер, решил, что буду устанавливать либо Dovecot либо Courier.
К тому же веб сервер и прокся у меня на убунте и дебиане.

Но у меня пара вопросов ( не по установке или настройке).

В моей связке почтового сервера с чудо антиспам фильтром идет примерно такая схема:
1.Сперва проверка на DNSBL
2.Потом на наличине адресата в AD
3.Проверка ИП,домена,емейла на наличине в блеклистах моего же сервра(периодически ручками вношу особо ряных негодяев)
4.Проверка на регион ( зная, что никогда никому не будут приходить письма из японии, у меня заблокированы домена верхних уровней типа .jp .ch и так далее.
5.Грейлистинг
6.Кейворд филтеринг. Это шняга типа анализирует письма по наличию тех или иных слов в теме/теле письма. Синтаксис как у perl примерно.

Не, это конечно не все функции я перечислил, основные только.

Вопросы:
1. Все ли пункты,какие я перечислил есть в выбранных мною почтовиках?
2. В последнее время активизировался новый тип спама: шлют письма перебором юзернеймов, если есть такой, то видимо вносят в БД, потом отправляют письмо с зарелееных серверов -если попадает сразу в блеклист мой или DNSBL, то ТУТ ЖЕ отправляют письмо с другого ИП и/или домена на найденный адрес, при этом даже проходя проверку грейлиста. 
Можно ли это как то побороть в указанном мною почтовых серверах Курьер или Довекот? В моей связке уже нереально =(

Спасибо заранее за ответ.
В гугл не посылать, я там был.

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
1. Вопрос непонят. Вы указали два POP3-сервера, а вопросы задаёте по SMTP-серверу.
2. См. п.1.
Это уже даже не в гугл, у вас явный недостаток фундаментальных знаний :(
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн darzanebor

  • Активист
  • *
  • Сообщений: 350
    • Просмотр профиля
spamoborona1024 пользуется кто?

 

Страница сгенерирована за 0.024 секунд. Запросов: 21.