Postfix и SMTP-аутентификация

Ситуация такая: есть сервер с CLD 10.0, на нем postfix. Требуется отправлять почту не только из внутренней сети, но и от любого клиента, прошедшего аутентификацию.
В стандартной настройке CLD postfix не понимает команды AUTH. Как это можно исправить?

проще всего использовать аутентификацию dovecot, дешево и сердито

Аутентификация по smtp в утилитах calculate2 пока не поддерживается. Поставьте задачу в баг-трекере на сайте.

проще всего использовать аутентификацию dovecot, дешево и сердито

А можно чуть подробнее?

Поставьте задачу в баг-трекере на сайте.

Поставил: http://www.calculate-linux.ru/issues/143

1. USE=“dovecot-sasl” emerge postfix
2. /etc/postfix/main.cf добавить строки
smtpd_sasl_auth_enable = yes
smtpd_sasl_type = dovecot
3. /etc/dovecot/dovecot.conf добавить строки
в секцию socket listen {
client {
path = /var/spool/postfix/private/auth
mode = 0660
user = postfix
group = postfix
}
4. перезапутить postfix и dovecot

чуть не забыл в /etc/postfix/main.cf еще одну строчку
smtpd_sasl_path = private/auth

Спасибо, получилось. Единственно что ещё в dovecot.conf добавил LOGIN-аутентификацию, а то некоторые тупый почтовики (Foxmail наример) не могли авторизоваться по PLAIN

пожалуйста :slight_smile:

Заработало после того как в /etc/postfix/main.cf поставил “mynetworks = 0.0.0.0/0” и добавил строчку “smtpd_recipient_restrictions = permit_sasl_authenticated, reject_unauth_destination”

P.S. Очень полезным оказалась проверка на открытый релей: http://www.test-smtp.com/

А это по-моему зря.
Вот кусок моего конфига:

mynetworks = 192.168.120.0/21, 192.168.21.0/24, 127.0.0.0/8
 # Отклонять команду ETRN
smtpd_etrn_restrictions = reject
 # Запретить исходящую почту с наших доменов, но с несуществующих у нас адресов
smtpd_reject_unlisted_sender = yes
 # Запретить письма для неизвестных адресов получателей
smtpd_reject_unlisted_recipient = yes
 # Отключает SMTP команду VRFY. В результате чего, невозможно определить существование определенного ящика.
#Данная техника (применение команды VRFY) используется спамерами для сбора имен почтовых ящиков.
disable_vrfy_command = yes
 # Включаем поддержку sasl аутентификации
smtpd_sasl_auth_enable = yes
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
broken_sasl_auth_clients = yes
 # логи
smtpd_sasl_authenticated_header = yes
 # Запрещаем анонимную авторизацию
smtpd_sasl_security_options = noanonymous

smtpd_recipient_restrictions =
     # разрешаем "своим" все
    permit_mynetworks,
     # разрешаем все для тех, кто пройдет SASL-авторизацию по SMTP
    permit_sasl_authenticated,
     # отклоняем письма с хостов, которые не имеют обратной записи и обратная запись которых не совпадает с прямой
    reject_unknown_client_hostname,
     # если все вышеперечисленное подошло, идем дальше
  permit

smtpd_helo_restrictions =
 # разрешаем все для внутренних клиентов
   permit_mynetworks,
 # разрешаем все для тех, кто пройдет SASL-авторизацию по SMTP
   permit_sasl_authenticated,
 # Отклоняем запрос, когда синтаксис HELO или EHLO невернен
   reject_invalid_helo_hostname,
 # Отклоняем запрос, когда доменное имя хоста в HELO или EHLO не является полностью удовлетворяющим требованиям RFC.
   reject_non_fqdn_helo_hostname,
 # Отклоняем запрос, когда имя хоста в HELO или EHLO не имеет A или MX днс-записи
   reject_unknown_helo_hostname,
 # если все вышеперечисленное подошло, идем дальше
   permit

smtpd_sender_restrictions =
   reject_non_fqdn_sender,
 # Отклоняется запрос, если Постфикс не обнаруживает окончательного места назначения для адреса отправителя и адрес в MAIL FROM не содержит A/MX днс-записиили когда имеется MX запись в виде хоста нулевой длин
ы
   reject_unknown_sender_domain,
   permit

smtpd_recipient_restrictions =
   permit_sasl_authenticated,
 # см комментарий к разделу smtpd_sender_restrictions
   reject_non_fqdn_recipient,
   reject_unknown_recipient_domain,
 # запрещаем принимать письма для несуществующих в системе адресов
   reject_unlisted_recipient,
   #reject_plaintext_session,
 # Отклоняет запросы, кроме тех, что относятся к релею на наш домен, указанный в $relay_domains или для локальной доставки на домены, указанные в $mydestination, $inet_interfaces, $proxy_interfaces, $virtual_
alias_domains, or $virtual_mailbox_domains,
 # без этой строки сервер становится открытым релеем.
   reject_unauth_destination,
 # если все вышеперечисленное подошло, идем дальше
   permit

Михаил Падалка wrote:

А это по-моему зря.
Вот кусок моего конфига:
[…]

Это, я так понимаю, дополнительная настройка? А почему всего этого нет в стандартной конфигурации calculate?

Я не разработчик, поэтому не знаю :slight_smile:
А вообще в стандартной конфигурации и SMTP-аутентификации ведь нет. Всё что я тут написал накопано по форумам.

Но я вообще-то писал про mynetworks = 0.0.0.0/0 - по сути мы этой строчкой устанавливаем что весь мир для нас “своя сеть”, что идеологически неправильно. Пусть другими директивами вы и закроете релей, но я бы так делать не стал.

С какими флагами нужно постификс и довекот собрать чтоб авторизация на смтп была? :frowning:

И какой командой алиасы делать, к примеру,
admin@domain.ru

к нему сделать алиасы
ad@domain.ru

И как делать перенаправления, когда кто-то заболет к примеру
все что приходит на admin@domain.ru слать на secretar@domain.ru???

Михаил Падалка wrote:

А это по-моему зря.
Вот кусок моего конфига:
[…]

Почему у Вас в конфиге два раза повторяется группа smtpd_recipient_restrictions = ? Эт какой-то хитрый замысел? :slight_smile:

Народ хелп в логах при попытке приконектиться со своей же локалки выдает такое:

dovecot: imap-login: Aborted login (no auth attempts): rip=192.168.0.198, lip=192.168.0.166
dovecot: imap-login: Disconnected (no auth attempts): rip=192.168.0.198, lip=192.168.0.166, TLS handshaking: Disconnected

Что самое интересное из вне к почте без проблем цепляется. :frowning:

P.S. авторизация по cvng так и не включилась, ни пароля ни логина не требует. :frowning: