Меню

Postfix transport mapping настройка



Linux и Windows: помощь админам и пользователям

Администрируем и настраиваем Windows, Linux.

Настройка почтового шлюза на базе Postfix

Обзор

В данной статье рассматривается настройка почтового сервера Postfix в качестве почтового шлюза организации. Самой распространенной причиной для данных действий является повышение безопасности, даже в случае, если вы не используете Exchange. Улучшение безопасности достигается за счет того, что на шлюзе не открыты никакие порты, за исключением SMTP и на нем не хранятся почтовые сообщения пользователей. Худшее что может произойти — атакующий получит список адресов электронной почты вашего домена. Также шлюз используется для фильтрации спама, грейлистинга, сканирования на вирусы и некоторые другие полезные действия.

В интернете существует большое количество «статей», которые очень упрощают процесс использованием директивы «relayhost = internalsmtp.example.com». В данном случае возникает проблема с тем, что шлюз незнает ничего о внутренний адресах (даже в случае если он настроен на прием почты только для домена @example.com). Может возникнуть, и обязательно возникнет ситуация во время спам атаки, когда будет идти поток писем на неверные адреса, которые внешний шлюз перешлет на внутренний почтовый сервер, тот потратит время на обработку, отклонит письмо и отправит обратно на шлюз и т.д. Большое количество таких сообщений существенно снизят производительность почтового сервера.

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

Настройка

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

/etc/postfix/main.cf

Как должно быть понятно из названия, это основной конфигурационный файл Postfix.

Совет: Команда ниже покажет вам все конфигурационные директивы, значения которых отличаются от дефолтных:

Так как на шлюзе требуется только пересылка почты, отключаем локальную доставку сообщений (Замечание: пустое значение конфигурациооной директивы означает её отключение):

Установите директиву myorigin в значение домена, на который пересылается почта:

Директива mynetworks = определите сети, которым разрешено выполнять пересылку через данный сервер. Обычно сюда включают только внутреннюю локальную сеть, или вообще только IP внутреннего почтового сервера:

Данная секция предотвращает прием сообщений для адресов вида username@subdomain.example.com to match. Мы явно определим домены, для которых необходимо принимать почту в директиве relay_domains ниже.

relay_domains = в данной директиве определяем домены, для которых необходимо принимать почту.

smtpd_recipient_restrictions = контролируем действия сервера после команды RCPT TO.

transport_maps = указываем связь между доменами и SMTP серверами, на которые будет пересылаться почта.

relay_recipient_maps = указатель на файл, который будет содержать спискок адресов электронной почты, для которых Postfix будет принимать сообщения.

show_user_unknown_table_name = в установленном значении no возвращает сообщение «User unknown» если адрес электронной почты не найден. Используется в связке с relay_recipient_maps.

Хотя локальная доставка почты отлючена, почтовый шлюз должен принимать почты для адресов postmaster и abuse. Для этого определите виртуальные алиасы.

/etc/postfix/master.cf

Данный файл определяет определяет обслуживаемые Postfix службы. Для полного отключения локальной доставки, отредактируйте данный файл и вставьте символ # в начале следующей строки:

Читайте также:  Extend access list cisco настройка

/etc/postfix/virtual

В случае типичной настройки Postfix файл /etc/aliases используется для пересылки почты на другие аккаунты или внешние адреса. Однако, так как локальная доставка отключена, модификация файла etc/aliases не принесет результатат. Поэтому нам нужно использовать файл /etc/postfix/virtual.

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

/etc/postfix/transport

Данный файл определяет отношения между доменами и серверами, куда должна пересылаться почта для данных доменов.

/etc/postfix/relay_recipients

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

Заполняем файл relay_recipients адресами из Active Directory

Данный скрипт требует установленного perl и модуля Net::LDAP.

    Скачайте скрипт с http://www-personal.umich.edu/

malth/gaptuning/postfix/getadsmtp.pl

  • Отредактируйте скрипт в соответствии с своими значениями:
  • Создаем базы

    Для завершения нам необходимо сделать хэшированные базы данных из наполненных нами файлов:

    Заметка: помните, что необходимо перехэшировать базу после каждого изменения файла..

    Перезапуск Postfix

    Предпочитаемый способ для того, чтобы Postfix перечитал конфигурационные файлы следующий:

    Проверка

    Как вы можете видеть из следующего примера, данная конфигурация работает:

    Полезные ссылки:

    Надоели беспомощные отечественные врачи с устаревшим оборудованием. Я рекомендую обратиться в Medical Travel GmbH и выбрать клинику за границей по своему вкусу и денежным возможностям.

    В качестве примера — мой отец долго мучался с такой неприятной болезнью как геморрой. Если вы не знаете что это, вам повезло. Вот такие они — признаки геморроя. В наших больницах долго не могли решить проблему, в немецкой же клинике с этим справились довольно быстро.

    Источник

    transport в postfix — окончательно запутался (

    Приветствую сообщество !
    В связи с закрытием 25 порта моим провайдером, стал вопрос о пересылке исходящей почты на релей.
    Имею четыре домена:
    alfa.com исходящую почту перенаправить на relay.provider.com
    beta.net исходящую почту перенаправить на relay.provider.com
    gama.org остаёться
    delta.me (внутрений домен ака фирма.локал) остаёться
    main.cf

    Помогите пожалуйста разобраться.
    Спасибо за вашу помощь.

    попробуй закоментировать relay_domains и из transport_maps убрать gamma и delta

    и приведи весь main.cf

    Закомментировал.
    С джимейла шлю на test@alfa.com получаю Relay access denied.
    С test1@alfa.com to test@alfa.com connect to alfa.com[X.X.X.X]:25: Connection refused
    main.cf

    добавь в main.cf

    Провайдера за йайца и об угол за закрытие портов.

    Провайдера за йайца и об угол за закрытие портов.

    пользуйтесь smtp провайдера или договаривайтесь с ним отдельно

    Странный провайдер если честно.

    95% почтового трафика спам, вполне нормальная реакция

    мне бы пров перекрыл так в конторе порты, был бы послан в далекое эротическое путешествие.

    мне бы пров перекрыл так в конторе порты, был бы послан в далекое эротическое путешествие.

    договор внимательно читайте (:

    Ну и разорвали бы в одностороннем порядке договор с переходом на другого прова, который не рубит почтовые порты.

    или у тебя нет выбора провайдеров?

    если контора подключена по договору для хомячков(где собственно часто рубят 25 порт), то в этом явно виноват не провайдер

    Читайте также:  Zyxel keenetic omni настройка жесткого диска

    Ога марсиане виноваты.

    Ну и разорвали бы в одностороннем порядке договор с переходом на другого прова, который не рубит почтовые порты.

    подключение к другому прову это 1-2 дня, с учетом наличия «точки присутствия» этого прова в зоне видимости, контора стока без инета посидит?

    или у тебя нет выбора провайдеров?

    есть, и как бы проблем в общении ни с одним небыло

    по опыту, если договор заключен на юрлицо, то «внезапного вырубания портов» обычно не делают, сначала звонят и предупреждают (от вас вали спам/ддос/етц и давайте решать), а с домашниками сначала рубят потом ждут когда объявятся

    ТС пошел ругаться с провом -)))))

    ну ССЗБ если контору по договору физ. лица к инетам цепляешь. =)

    >для alfa.com, beta.net — Please use your smtp server. (in reply to RCPT TO command)

    То есть relay.provider.com не принимает почту для @alfa.com? При чём тут postfix?

    Что значит «остаёться»? Если её не надо relay’ить, а надо раскладывать по локальным почтовым ящикам, так и прописывай этот домен в my_domains, а не в relay_domains.

    а если все провы перекроют, что будешь делать?

    То есть relay.provider.com не принимает почту для @alfa.com? При чём тут postfix?

    а это походу его мта говорит, а не прова

    ну ССЗБ если контору по договору физ. лица к инетам цепляешь. =)

    вот делать мне больше нечего ((:

    VPN решает. поверх прова можно что угодно положить. пров просто так порты не перекрывает, а если и начинает необоснованно перекрывать, то ну его в болото.

    перекрывают еще как, это у тебя там слоупоки просто.

    что впн решает? как внешние майл-сервера к твоему 25 порту будут подключаться? они ж перекрывают в обе стороны, а не только исходящий трафик.

    Может и так. Если бы ТС выложил строчку из логов postfix, было бы яснее.

    СПАСИБО ВСЕМ ЗА РЕПЛИКИ

    Ну что же, постараюсь объяснить.
    1.От провайдера уходим пять лет, и вряд ли уйдем.
    2.Сейчас в боевом режиме работает Mdaemon(ну или как-то так).
    В нём, прописали строчку relay.provider.com, и всё начало работать.
    3.Я делаю связку postfix+dovecot+kerberos+AD. Эта связка прекрасно работает только с одним email(mail domen) который прописан в атрибуте mail. А если у одного человека в компании может быть десятки почтовых ящиков с разными доменами, которые могут быть прописаны в атрибуте othermailbox or proxyAddresses, что тогда делать ?
    4.Вроде решение нашёл. Скрипт делает выгрузку реципиентов из АД в relay_recipients.
    5.Но тут блин ещё эта проблема с рэлеем.
    В общем сейчас буду побывать. Лога выложу.

    Посылаю письмо с gmail to test@alfa.com & test@beta.com получаю: Recipient unknown
    Посылаю письмо с test@alfa.com to test1@alfa.com получаю: Recipient address rejected: User unknown in local recipient table

    myhostname = alfa.com
    mydestination = $myhostname, beta.com, gama.org, delta.me, localhost

    alfa.com smtp:[relay.provider.com]
    beta.com smtp:[relay.provider.com]

    Спасибо за вашу помощь.

    > что впн решает? как внешние майл-сервера к твоему 25 порту будут подключаться? они ж перекрывают в обе стороны, а не только исходящий трафик.

    Читайте также:  Инженерные методы расчета оптимальных настроек регулятора

    Бегом в школу доучиваться, читать про сети днс и прочее прочее.

    выше уже сказали — если в договоре оговорен отрубленный порт, то надо:

    а) не подписывать такой договор
    б) подписать измененный договор, где такой фичи НЕ БУДЕТ

    Если контора ТС подписала договор, где провайдер об этом упомянул ЯВНО, кидать предъявы поздно.

    >ССЗБ если контору по договору физ. лица к инетам цепляешь

    расположить postfix/exim/whatever на другом серве, не?

    s/на другом серве/на другом серве, к которому коннектиться по VPN/

    мужики, а по существу ?

    Я не могу понять как правильно сказать postfix’у что бы он исходящую почту отсылал на релей, а входящую передавал довкоту или сам доставлял локально в папки юзверей.

    Источник

    Настройка пересылки почты в Postfix

    По домену через другой SMTP

    Открываем на редактирование конфигурационный файл postfix:

    Редактируем или дописываем:

    Теперь нужно открыть на редактирование файл транспорта:

    dmosk.ru smtp:[10.10.10.10]:25
    it@dmosk.ru smtp:[mail.mailsystem.ru]:25

    * где dmosk.ru — домен, для отправки на который используется другой сервер пересылки, а 10.10.10.10 — IP-адрес другого сервера SMTP. it@dmosk.ru и mail.mailsystem.ru — конкретный адрес электронной почты и сервер для его пересылки.

    После создаем карту:

    И перезапускаем postfix:

    systemctl restart postfix

    Все исходящие через другой почтовый сервер

    По умолчанию, postfix пытается отправить все сообщения напрямую. В данном подразделе мы настроим сервер SMTP, через который будут отправляться все сообщения.

    Открываем конфигурационный файл mail.cf:

    Находим и редактируем relayhost:

    * в данном примере мы будем отправлять все сообщения через smtp.mailsystem.com, подключившись к нему по порту 25. Также можно было указать IP-адрес.

    Или если хост пересылки работает по другому порту:

    * в данном примере отправка идет через хост, который слушает запросы smtp на порту 26.

    Перезапускаем postfix, чтобы настройки применились:

    systemctl restart postfix

    Копирование входящей и исходящей почты

    Дублирование всей почты

    Открываем конфигурационный файл mail.cf:

    Добавляем следующую строчку:

    * вся почта будет дублироваться на электронный ящик backup@domain.ru.

    systemctl restart postfix

    Для исходящих сообщений

    Открываем конфигурационный файл:

    * при данной настройке все исходящие сообщения будут копироваться по правилам в файле /etc/postfix/sender_bcc_map;

    Теперь открываем данный файл и вносим, примерно, следующее:

    user1@domain.ru backup1@domain.ru
    @domain2.ru backup2@domain.ru

    * в данном примере все сообщения от пользователя user1@domain.ru будут копироваться на почтовый ящик backup1@domain.ru; все письма от домена @domain2.ru будут копироваться на backup2@domain.ru.

    И перезапускаем почтовый сервер:

    systemctl restart postfix

    Для входящих сообщений

    Открываем конфигурационный файл:

    * при данной настройке все входящие сообщения будут копироваться по правилам в файле /etc/postfix/recipient_bcc_map.

    Теперь открываем данный файл и вносим, примерно, следующее:

    user1@domain.ru backup1@domain.ru
    @domain2.ru backup2@domain.ru

    * в данном примере все сообщения пользователю user1@domain.ru будут копироваться на почтовый ящик backup1@domain.ru; все письма на домен @domain2.ru будут копироваться на backup2@domain.ru.

    И перезапускаем почтовый сервер:

    systemctl restart postfix

    Пересылка на другой почтовый ящик

    Открываем конфигурационный файл:

    * при данной настройке все входящие сообщения будут копироваться по правилам в файле /etc/postfix/virtual.

    Теперь открываем данный файл и вносим, примерно, следующее:

    Источник

    Adblock
    detector