Postfix 2.5.1 çalıştıran bir Ubuntu 8.04LTS sistemim var. O sistemde SMTP Kimlik çalışır cezası . İçeriği
/etc/postfix/sasl/smtpd.conf
:
pwcheck_method: auxprop
auxprop_plugin: sasldb
mech_list: PLAIN
SASL ile ilgili özellikler:
smtpd_sasl_type = cyrus
smtpd_sasl_auth_enable = yes
smtpd_sasl_path = smtpd
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
smtpd_sasl_local_domain = $myhostname
Ne zaman sudo sasldblistusers2
alırım:
authusername@mail.mydomain.com: userPassword
Dediğim gibi, tüm 8.04LTS sisteminde iyi çalışıyor.
Ancak, bunu Postfix 2.9.3 çalıştıran bir Ubuntu 12.04LTS sistemine geçirmeye çalışıyorum ve sadece işe yarayamıyorum. Her şeyi aynı yapıyorum, ancak postfix her seferinde kimlik doğrulama hataları veriyor.
/etc/sasldb2
Dosya değil . Eski sistemden dosyayı getirmeyi denedim ve bu işe yaramıyor. Ve şunu kullanarak yeni bir dosya oluşturdum:
saslpasswd2 -c -u mail.mydomain.com authusername
olsa ve bu, değil çalışır OLACAK Ben dosya ile yanlış bir şey olduğunu biliyorum nasıl eski sisteme kopyalamak eğer eski sistem üzerinde çalışıyoruz.
Benzer şekilde postfix'in smtpd.conf
dosyayı gördüğünü biliyorum . mech_list
Dosya satırına daha fazla mekanizma eklersem, smtpd arka plan programına bağlandığımda bu ek mekanizmaların tanıtıldığını görüyorum. Ve onları çıkardığımda tekrar uzaklaşıyorlar. Yani /etc/postfix/sasl/smtpd.conf
açıkça kullanımı yaygınlaşıyor.
Hem gerçek bir posta istemcisi kullanarak hem de bununla bir belirteç oluşturduktan sonra sunucuyla el ile konuşarak test ediyorum:
perl -MMIME::Base64 -e 'print encode_base64("\000authusername\000thePassword");'
sonra:
openssl s_client -quiet -starttls smtp -connect the.newsystem.com:587
Ortaya çıkan konuşma:
250 DSN
EHLO example.com
250-the.newsystem.com
250-PIPELINING
250-SIZE 20971520
250-ETRN
250-AUTH PLAIN
250-AUTH=PLAIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
AUTH PLAIN theBase64EncodedToken
535 5.7.8 Error: authentication failed: authentication failure
Ama bunun yerine the.oldsystem.com:587
aynı şeyi bağlarsam ve yaparsam, şunu elde ederim:
235 2.7.0 Authentication successful
Yeni makinedeki saslfinger çıkışı:
# sudoh saslfinger -s
saslfinger - postfix Cyrus sasl configuration Sat Jul 21 00:24:24 EDT 2012
version: 1.0.4
mode: server-side SMTP AUTH
-- basics --
Postfix: 2.9.3
System: Ubuntu 12.04 LTS \n \l
-- smtpd is linked to --
libsasl2.so.2 => /usr/lib/i386-linux-gnu/libsasl2.so.2 (0xb76c5000)
-- active SMTP AUTH and TLS parameters for smtpd --
broken_sasl_auth_clients = yes
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = $myhostname
smtpd_sasl_path = smtpd
smtpd_sasl_security_options = noanonymous
smtpd_sasl_type = cyrus
smtpd_tls_CAfile = /etc/ssl/certs/MyCA.pem
smtpd_tls_auth_only = yes
smtpd_tls_cert_file = /etc/postfix/ssl/server.crt
smtpd_tls_key_file = /etc/postfix/ssl/server.key
smtpd_tls_loglevel = 1
smtpd_tls_security_level = may
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtpd_tls_session_cache_timeout = 3600s
-- listing of /usr/lib/sasl2 --
total 16
drwxr-xr-x 2 root root 4096 Jul 20 23:00 .
drwxr-xr-x 67 root root 8192 Jul 20 21:25 ..
-rw-r--r-- 1 root root 1 May 4 00:17 berkeley_db.txt
-- listing of /etc/postfix/sasl --
total 20
drwxr-xr-x 2 root root 4096 Jul 20 21:29 .
drwxr-xr-x 5 root root 4096 Jul 20 23:58 ..
-rw-r--r-- 1 root root 64 Jul 20 21:29 smtpd.conf
-- content of /etc/postfix/sasl/smtpd.conf --
pwcheck_method: auxprop
auxprop_plugin: sasldb
mech_list: PLAIN
-- content of /etc/postfix/sasl/smtpd.conf --
pwcheck_method: auxprop
auxprop_plugin: sasldb
mech_list: PLAIN
-- 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=encrypt
-o smtpd_sasl_auth_enable=yes
-o smtpd_client_restrictions=permit_sasl_authenticated,reject
-o milter_macro_daemon_name=ORIGINATING
[snipping the rest of the services]
-- mechanisms on localhost --
-- end of saslfinger output --
Neyi eksik / yanlış yapabilirim? Söyleyebildiğim kadarıyla, tüm yapılandırma aynı, ancak yeni sistemde çalışmayacak.