ไม่สามารถรับ SASL auxprop / sasldb ทำงานกับ postfix / Ubuntu 12.04


9

ฉันมีระบบ Ubuntu 8.04LTS ที่เรียกใช้ Postfix 2.5.1 ในระบบที่ SMTP AUTH ทำงานดี เนื้อหาของ /etc/postfix/sasl/smtpd.confคือ:

pwcheck_method: auxprop
auxprop_plugin: sasldb
mech_list: PLAIN

คุณสมบัติที่เกี่ยวข้องกับ SASL คือ:

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

เมื่อไหร่ฉันจะsudo sasldblistusers2ได้รับ:

authusername@mail.mydomain.com: userPassword

อย่างที่ฉันบอกไปว่ามันทำงานได้ดีบนระบบ 8.04LTS

อย่างไรก็ตามฉันพยายามที่จะโยกย้ายสิ่งนี้ไปยังระบบ Ubuntu 12.04LTS ที่ใช้ Postfix 2.9.3 และฉันไม่สามารถใช้งานได้ ฉันทำทุกอย่างเหมือนกัน แต่ postfix ให้การรับรองความถูกต้องล้มเหลวทุกครั้ง

มันไม่ใช่/etc/sasldb2ไฟล์ ฉันพยายามนำไฟล์จากระบบเก่าและไม่สามารถใช้งานได้ และฉันได้สร้างไฟล์ใหม่โดยใช้:

saslpasswd2 -c -u mail.mydomain.com authusername

และมันใช้งานไม่ได้แม้ว่ามันจะทำงานบนระบบเก่าถ้าฉันคัดลอกไปยังระบบเก่าซึ่งเป็นวิธีที่ฉันรู้ว่าไม่มีอะไรผิดปกติกับไฟล์

ในทำนองเดียวกันฉันรู้ว่า postfix กำลังเห็นsmtpd.confไฟล์ หากฉันเพิ่มกลไกเพิ่มเติมลงในmech_listบรรทัดของไฟล์ฉันจะเห็นกลไกพิเศษเหล่านั้นที่โฆษณาเมื่อฉันเชื่อมต่อกับ smtpd daemon และเมื่อฉันลบพวกเขาพวกเขาหายไปอีกครั้ง ดังนั้น/etc/postfix/sasl/smtpd.confการใช้อย่างชัดเจน

ฉันกำลังทดสอบทั้งสองโดยใช้โปรแกรมรับส่งเมลจริงและโดยการพูดคุยกับเซิร์ฟเวอร์ด้วยตนเองหลังจากสร้างโทเค็นด้วยสิ่งนี้:

perl -MMIME::Base64 -e 'print encode_base64("\000authusername\000thePassword");'

แล้ว:

openssl s_client -quiet -starttls smtp -connect the.newsystem.com:587

การสนทนาที่เกิดขึ้นคือ:

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

แต่ถ้าฉันเชื่อมต่อthe.oldsystem.com:587และทำสิ่งเดียวกันฉันจะได้รับ:

235 2.7.0 Authentication successful

ผลลัพธ์ของ saslfinger บนเครื่องใหม่คือ:

# 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 --

ฉันจะพลาดหรือทำผิดได้อย่างไร? เท่าที่ฉันสามารถบอกได้การกำหนดค่าทั้งหมดเหมือนกัน แต่มันจะไม่ทำงานในระบบใหม่

คำตอบ:


15

ของรางวัลอยู่ที่นี่:

-- 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

smtpdกระบวนการในsubmissionพอร์ตทำงานในโหมด chroot (ตั้งแต่มี-ในคอลัมน์นั้นซึ่งหมายถึงการเริ่มต้น (ซึ่งเป็นyes) นำไปใช้และอื่น ๆ /etc/sasldb2ไม่สามารถมองเห็น

เมื่อฉันคัดลอก/etc/sasldb2ไปยังการ/var/spool/postfix/etcตรวจสอบเริ่มทำงานได้ดี


3
ความคิดเห็นนี้ยุติความบ้าคลั่งของ postfix ในคืนนี้ โปรดทราบว่าการใช้การกำหนดค่านี้จะต้องให้ผู้ใช้การตรวจสอบความถูกต้องเป็นผู้ใช้ @ $ myhostname และไม่ใช่เพียงแค่ "ผู้ใช้" นั่นคือความแตกต่างระหว่างสิ่งนี้กับการกำหนดค่า exim ที่คล้ายกันของฉันสำหรับรีเลย์ที่ผ่านการตรวจสอบสิทธิ์
David Dombrowsky

5

chroot เป็นสาเหตุของการ defnitely อย่างไรก็ตามสำหรับกรณีของฉันการคัดลอกไปใช้/var/spool/postfix/etcงานไม่ได้

ดังนั้นฉันจึงกำจัด chroot และใช้งานได้สำหรับฉัน

เพื่อที่จะทำเช่นนั้นคุณจะต้องแก้ไข /etc/postfix/master.cf ค้นหาบรรทัดต่อไปนี้:

smtp      inet  n       -       -       -       -       smtpd

และแก้ไขดังต่อไปนี้:

smtp      inet  n       -       n       -       -       smtpd

4

อีกวิธีในการซิงโครไนซ์ไฟล์ sasldb2 กับคุก chroot เริ่มต้นของ postfix คือการเพิ่มฮาร์ดลิงก์ไปที่มัน:

ln /etc/sasldb2 /var/spool/postfix/etc/

โปรดทราบว่า symlink จะใช้งานไม่ได้เนื่องจาก symlink ไม่สามารถเข้าถึงได้จากภายในคุก แต่การเชื่อมโยงอย่างหนักสามารถทำได้ สิ่งนี้มีความได้เปรียบมากกว่าเพียงแค่คัดลอกไฟล์เพราะผู้ใช้ใหม่และการเปลี่ยนแปลงรหัสผ่านในอนาคตจะถูกซิงค์โดยอัตโนมัติโดยไม่ต้องมีแม้แต่การโหลดซ้ำ postfix


คุณสวยฉันมีการจัดการเพื่อรับเซิร์ฟเวอร์ทดสอบ Ubuntu 16 ถ่ายทอดดังนั้นคิดว่าฉันเพิ่งจะดำเนินการเปลี่ยนแปลงของฉันบนเซิร์ฟเวอร์ผลิต Ubuntu 14 ... ทุกวันพยายามสิ่ง Chroot เป็นเหตุผล แต่การเปลี่ยนเป็น chroot ไม่ให้ผลลัพธ์ที่แย่ลงดังนั้นการรักษา chroot และการนำไปใช้ข้างต้นแก้ไขปัญหาของฉันได้
mrjamesmyers
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.