Я пытаюсь настроить postfix для обработки нескольких доменов как псевдонимов, при этом SMTP-сервер принимает входящую почту из этих доменов с аутентификацией sasldb. Документация выглядит довольно старой, и многие источники информации противоречат друг другу, поэтому я ищу разъяснения по некоторым элементам конфигурации и решение моей неработающей аутентификации sasldb. Моя ОС - Debian 8.
Первый, что это за файл smptd.conf, это содержит:
pwcheck_method: auxprop
auxprop_plugin: sasldb
mech_list: PLAIN LOGIN
и куда он денется? Я мог найти три разных пути в разных руководствах, /usr/lib/sasl2/smtpd.conf, /etc/sasl2/smtpd.conf и /etc/postfix/sasl/smtpd.conf. Как мы можем узнать, какой из них используется? Существует конфигурационная переменная smtpd_sasl_path, но ее документация практически отсутствует, как она связана с реальной конфигурацией? Был предыдущий вопрос об этой переменной, которая действительно не помогла понять.
Я разместил этот файл в трех местах, и в списке методов аутентификации, предоставленном smtpd, я все еще получаю $250-AUTH DIGEST-MD5 NTLM CRAM-MD5 PLAIN LOGIN
.
Что такое saslpasswd2? Отличается ли использование имени пользователя john@doe.com от имени john с -u doe.com? Можем ли мы просто использовать полный адрес электронной почты для имени пользователя в процессе аутентификации? Видимо да от этот комментарий, но я все еще не понимаю, что это за царство. Наконец, как это связано с smtpd_sasl_local_domain, особенно в конфигурации с несколькими псевдонимами виртуальных доменов? Кажется, он принимает пустое значение, что я и сделал.
Требуется ли для аутентификации sasldb использовать salsauthd? я прочел Вот и там этот постфикс может использовать sasldb без установки saslauthd, а Другой люди и в официальной документации указано, что это необходимо. Какой правильный ответ?
Для сервера псевдонима виртуального домена, который управляет несколькими доменами, какое значение следует использовать для myorigin, myhostname и mydestination? Подойдет ли localhost.localdomain, если мы предположим, что почтовые клиенты будут настроены с правильным завершением домена? Как это соотносится с фактическим именем хоста машины?
Ниже представлена моя текущая конфигурация постфикса. Я добавил пользователей с помощью saslpasswd2, и у меня всегда возникают ошибки аутентификации, независимо от того, какую область и имя пользователя с доменом или без него я поставил. Я могу видеть список пользователей с sasldblistusers2, и я переместил файл sasldb2 в chroot postfix (/ var / spool / postfix / etc / sasldb2), как указано Вот.
saslfinger - postfix Cyrus sasl configuration Wed Dec 2 11:59:11 CET 2015
version: 1.0.4
mode: server-side SMTP AUTH
-- basics --
Postfix: 2.11.3
System: Debian GNU/Linux 8 \n \l
-- smtpd is linked to --
libsasl2.so.2 => /usr/lib/x86_64-linux-gnu/libsasl2.so.2 (0x00007fb6d84b9000)
-- active SMTP AUTH and TLS parameters for smtpd --
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain =
smtpd_sasl_path = sasl2/smtpd.conf
smtpd_sasl_security_options = noanonymous
smtpd_tls_cert_file = /etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file = /etc/ssl/private/ssl-cert-snakeoil.key
smtpd_tls_security_level = may
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
-- listing of /usr/lib/sasl2 --
total 20
drwxr-xr-x 2 root root 4096 Nov 30 00:12 .
drwxr-xr-x 44 root root 4096 Nov 14 23:39 ..
-rw-r--r-- 1 root root 4 Nov 28 21:15 berkeley_db.active
-rw-r--r-- 1 root root 4 Sep 25 10:54 berkeley_db.txt
-rw-r--r-- 1 root root 70 Nov 30 00:12 smtpd.conf
-- listing of /etc/sasl2 --
total 12
drwxr-xr-x 2 root root 4096 Nov 30 00:41 .
drwxr-xr-x 77 root root 4096 Nov 30 01:19 ..
-rw-r--r-- 1 root root 70 Nov 29 23:22 smtpd.conf
-- listing of /etc/postfix/sasl --
total 12
drwxr-xr-x 2 root root 4096 Nov 30 00:41 .
drwxr-xr-x 3 root root 4096 Nov 30 01:18 ..
-rw-r--r-- 1 root root 70 Nov 30 00:41 smtpd.conf
-- content of /usr/lib/sasl2/smtpd.conf --
pwcheck_method: auxprop
auxprop_plugin: sasldb
mech_list: PLAIN LOGIN
-- content of /etc/sasl2/smtpd.conf --
pwcheck_method: auxprop
auxprop_plugin: sasldb
mech_list: PLAIN LOGIN
-- content of /etc/postfix/sasl/smtpd.conf --
pwcheck_method: auxprop
auxprop_plugin: sasldb
mech_list: PLAIN LOGIN
-- content of /etc/postfix/sasl/smtpd.conf --
pwcheck_method: auxprop
auxprop_plugin: sasldb
mech_list: PLAIN LOGIN
-- active services in /etc/postfix/master.cf --
# service type private unpriv chroot wakeup maxproc command + args
# (yes) (yes) (yes) (never) (100)
smtp inet n - - - - smtpd
submission inet n - - - - smtpd
-o syslog_name=postfix/submission
-o smtpd_tls_security_level=may
-o smtpd_sasl_auth_enable=yes
-o smtpd_reject_unlisted_recipient=no
-o smtpd_recipient_restrictions=permit_sasl_authenticated,reject
-o milter_macro_daemon_name=ORIGINATING
smtps inet n - - - - smtpd
-o syslog_name=postfix/smtps
-o smtpd_tls_wrappermode=yes
-o smtpd_sasl_auth_enable=yes
-o smtpd_client_restrictions=permit_sasl_authenticated,reject
-o milter_macro_daemon_name=ORIGINATING
pickup unix n - - 60 1 pickup
cleanup unix n - - - 0 cleanup
qmgr unix n - n 300 1 qmgr
tlsmgr unix - - - 1000? 1 tlsmgr
rewrite unix - - - - - trivial-rewrite
bounce unix - - - - 0 bounce
defer unix - - - - 0 bounce
trace unix - - - - 0 bounce
verify unix - - - - 1 verify
flush unix n - - 1000? 0 flush
proxymap unix - - n - - proxymap
proxywrite unix - - n - 1 proxymap
smtp unix - - - - - smtp
relay unix - - - - - smtp
showq unix n - - - - showq
error unix - - - - - error
retry unix - - - - - error
discard unix - - - - - discard
local unix - n n - - local
virtual unix - n n - - virtual
lmtp unix - - - - - lmtp
anvil unix - - - - 1 anvil
scache unix - - - - 1 scache
maildrop unix - n n - - pipe
flags=DRhu user=vmail argv=/usr/bin/maildrop -d ${recipient}
uucp unix - n n - - pipe
flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
ifmail unix - n n - - pipe
flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)
bsmtp unix - n n - - pipe
flags=Fq. user=bsmtp argv=/usr/lib/bsmtp/bsmtp -t$nexthop -f$sender $recipient
scalemail-backend unix - n n - 2 pipe
flags=R user=scalemail argv=/usr/lib/scalemail/bin/scalemail-store ${nexthop} ${user} ${extension}
mailman unix - n n - - pipe
flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py
${nexthop} ${user}
-- mechanisms on localhost --
250-AUTH DIGEST-MD5 NTLM CRAM-MD5 PLAIN LOGIN^M
-- end of saslfinger output --
Учитывая время, которое я потерял, пытаясь получить правильную конфигурацию, я постараюсь сделать современное руководство с правильными объяснениями в нем. => СДЕЛАНО
Спасибо, что прочитали меня, и за ответы.
что это за файл smptd.conf, который содержит ... и куда он девается?
Во-первых, в Postfix есть параметры конфигурации, которые определяют, где должен находиться этот файл (при использовании cyrus sasl) и как он должен называться. Вот варианты:
smtpd_sasl_path = smtpd
cyrus_sasl_config_path = /etc/sasl2/
Postfix объединяет их и отправляет cyrus sasl как /etc/sasl2/smtpd.conf
Наконец, как это связано с smtpd_sasl_local_domain, особенно в конфигурации с несколькими псевдонимами виртуальных доменов?
Насколько мне известно, он используется как домен по умолчанию для пользователей без указанного имени домена.
Для сервера псевдонима виртуального домена, который управляет несколькими доменами, какое значение следует использовать для myorigin, myhostname и mydestination?
Делай как хочешь. Я предпочитаю устанавливать их все (и smtpd_sasl_local_domain) на системное имя хоста, поэтому электронная почта, сгенерированная на этом хосте, всегда отображается как исходящая от этого хоста. Это помогает создать избыточную систему с резервным MX, у которого будет тот же набор виртуальных доменов, но другое имя системы, поэтому я всегда могу различать хосты.
Вы можете попросить больше, я определенно не затронул все аспекты этих вопросов. И, конечно же, Postfix имеет отличную документацию, охватывающую почти все.
http://www.postfix.org/SASL_README.html должны быть вашей первой ссылкой, а не страницами с ошибками сервера. При необходимости перейдите на страницы здесь, чтобы узнать о деталях, но документация на сайте postfix, как правило, довольно хороша. Как говорится на этой странице,
Postfix не реализует сам SASL, а вместо этого использует существующие реализации в качестве строительных блоков. Это означает, что некоторые файлы конфигурации, относящиеся к SASL, будут принадлежать Postfix, в то время как другие файлы конфигурации будут принадлежать конкретной реализации SASL, которую будет использовать Postfix. В этом документе описывается конфигурация как Postfix, так и не-Postfix.
Похоже, вы не настроили smtpd_sasl_application_name
(и это по сути, а не smtpd_sasl_type
из-за вашей более старой версии postfix), поэтому предположительно действует Cyrus SASL по умолчанию. ценность, которую вы имеете в smtpd_sasl_path
передается в библиотеку cyrus sasl и, предположительно, интерпретируется относительно его базового пути. Я полагаю, что вы используете Cyrus SASL 2.x, но уже использовали 1.x в прошлом и оставили файлы конфигурации. Я могу ошибаться, учитывая вашу версию постфикса. Проверь это. Также посмотрите, какие пакеты установлены на самом деле.
smtpd_sasl_path = sasl2/smtpd.conf
почти наверняка неверно.