Ситуация такая: есть сервер с 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
пожалуйста
Заработало после того как в /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?
Я не разработчик, поэтому не знаю
А вообще в стандартной конфигурации и SMTP-аутентификации ведь нет. Всё что я тут написал накопано по форумам.
Но я вообще-то писал про mynetworks = 0.0.0.0/0 - по сути мы этой строчкой устанавливаем что весь мир для нас “своя сеть”, что идеологически неправильно. Пусть другими директивами вы и закроете релей, но я бы так делать не стал.
С какими флагами нужно постификс и довекот собрать чтоб авторизация на смтп была?
И какой командой алиасы делать, к примеру,
admin@domain.ru
к нему сделать алиасы
ad@domain.ru
И как делать перенаправления, когда кто-то заболет к примеру
все что приходит на admin@domain.ru слать на secretar@domain.ru???
Михаил Падалка wrote:
А это по-моему зря.
Вот кусок моего конфига:
[…]
Почему у Вас в конфиге два раза повторяется группа smtpd_recipient_restrictions = ? Эт какой-то хитрый замысел?
Народ хелп в логах при попытке приконектиться со своей же локалки выдает такое:
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
Что самое интересное из вне к почте без проблем цепляется.
P.S. авторизация по cvng так и не включилась, ни пароля ни логина не требует.