The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Сервер-relay на основе Postfix"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на сервере (Почта)
Изначальное сообщение [ Отслеживать ]

"Сервер-relay на основе Postfix"  +/
Сообщение от sasha.aesc (ok) on 06-Янв-11, 15:42 
Здравствуйте!

Имеется несколько почтовых серверов, которые обслуживают домены (предположим office1.ru, office2.ru, ...). При отправке почты регулярно появляются такие ошибки:

<********@gmail.com>: host gmail-smtp-in.l.google.com[74.125.77.27] said:
    550-5.7.1 [94.*.*.*] The IP you're using to send mail is not
    authorized to 550-5.7.1 send email directly to our servers. Please use the
    SMTP relay at your 550-5.7.1 service provider instead. Learn more at
    550 5.7.1 http://mail.google.com/support/bin/answer.py?answer=10336
    q1si10796085eeh.59 (in reply to end of DATA command)

Причем, ошибки возникают не у всех внешних почтовых серверов (yandex.ru и mail.ru работают, с rambler договорились, а gmail.com и freebsd.org не прнимают).

Чтобы не разбираться с каждым провайдером и/или почтовиком отдельно, мы заказали cloud-сервер в дата-центре, настроили на нем postfix и убедились, что там таких проблем нет.

Задача: создать на этом cloud-сервере relay-сервер для доменов office1.ru, office2.ru, ....
Почта при отправке должна проходить так:
1. Письмо приходит на офисный сервер officeN.ru.
2. Если получатель из того же домена, то оно доставляется локально (через Dovecot LDA). Этот пункт уже сделан и работает.
3. Если получатель из другого домена, то письмо перенаправляется на cloud-сервер (как релей). Этот пункт тоже сделан и работает.
4. На cloud-сервере: письма, приходящие как релеи от доменов office1.ru, ... должны пересылаться наружу (для определения "своих" доменов можно привязываться к IP, использовать сертификаты, sasl и пр.). Письма, приходящие как релеи от других доменов должны отбрасываться (во избежание open-relay конфигурации)

Везде используется Postfix и Dovecot.

Поиски в гугле приводили в основном к решению пунктов 2 и 3.

Буду признателен за любую помощь!

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Сервер-relay на основе Postfix"  +/
Сообщение от sasha.aesc (ok) on 06-Янв-11, 16:50 
В общем, решилось добавлением check_ccert_access:

smtpd_client_restrictions = permit_sasl_authenticated,
        check_client_access hash:/etc/postfix/maps/client_access,
        reject_unknown_client_hostname

smtpd_helo_restrictions = check_helo_access hash:/etc/postfix/maps/hello_access,
        permit_sasl_authenticated,
        reject_invalid_helo_hostname,
        reject_non_fqdn_helo_hostname,
        reject_unknown_helo_hostname

smtpd_sender_restrictions = check_sender_access hash:/etc/postfix/maps/sender_access,
        check_ccert_access hash:/etc/postfix/maps/client_ccert_relay,
        reject_authenticated_sender_login_mismatch,
        reject_unknown_sender_domain,
        reject_unlisted_sender

smtpd_recipient_restrictions = permit_sasl_authenticated,
        check_ccert_access hash:/etc/postfix/maps/client_ccert_relay,
        reject_unauth_destination,
        check_recipient_access hash:/etc/postfix/maps/recipient_access,
        reject_unlisted_recipient,
        reject_unknown_recipient_domain,
        reject_non_fqdn_recipient

smtpd_etrn_restrictions = reject


В файле /etc/postfix/maps/client_ccert_relay:

00:11:22:...:99      OK   # md5 fingerprint для каждого клиентского сертификата серверов
00:11:22:...:ff      OK   # sha1 fingerprint для каждого клиентского сертификата серверов

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру