Score:0

ปัญหาการตรวจสอบสิทธิ์ SMTP กับ Postfix Dovecot

ธง in
Sam

ฉันได้ซื้อโดเมน ตัวอย่าง.คอม และ VPS และฉันใช้ iRedMail เพื่อตั้งค่าเซิร์ฟเวอร์อีเมล

ไม่ต้องการให้ iRedMail ยุ่งกับ Nginx ของฉัน ฉันตัดสินใจติดตั้ง Nginx และ Roundcube ด้วยตัวเอง อย่างไรก็ตาม มันบอกว่าเซิร์ฟเวอร์ SMTP ไม่รองรับการตรวจสอบสิทธิ์ SMTP ไม่เป็นไร

[02-ต.ค.-2021 23:40:16 +0000]: <5gl20r7b> ข้อผิดพลาด PHP: เซิร์ฟเวอร์ SMTP ไม่รองรับการตรวจสอบสิทธิ์ (POST /?_task=mail&_unlock=loading1633218016462&_framed=1&_action=send)
[02-ต.ค.-2021 23:40:16 +0000]: <5gl20r7b> ข้อผิดพลาด SMTP: การตรวจสอบสิทธิ์ล้มเหลว: ใน /var/www/mail/program/lib/Roundcube/rcube.php ออนไลน์ 1702 (POST /?_task= จดหมาย&_unlock=กำลังโหลด1633218016462&_framed=1&_action=ส่ง)

และเอาต์พุต postconf -n

root@mail:~# postconf -n
alias_database = แฮช:/etc/postfix/aliases
alias_maps = แฮช:/etc/postfix/aliases
allow_min_user = ไม่
allow_percent_hack = ไม่
บิฟ = ไม่
body_checks = pcre:/etc/postfix/body_checks.pcre
command_directory = /usr/sbin
ความเข้ากันได้_ระดับ = 2
content_filter = smtp-amavis:[127.0.0.1]:10024
daemon_directory = /usr/lib/postfix/sbin
data_directory = /var/lib/postfix
debug_peer_level = 2
debugger_command = PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin ddd $daemon_directory/$process_name $process_id & sleep 5
ปิดการใช้งาน_vrfy_command = ใช่
dovecot_destination_recipient_limit = 1
enable_long_queue_ids = ใช่
enable_original_recipient = ไม่
header_checks = pcre:/etc/postfix/header_checks
inet_interfaces = ทั้งหมด
inet_protocols = ทั้งหมด
lmtp_tls_mandatory_protocols = !SSLv2 !SSLv3
lmtp_tls_protocols = !SSLv2 !SSLv3
mail_owner = โปรแกรมแก้ไขภายหลัง
mailq_path = /usr/bin/mailq
message_size_limit = 15728640
mlmmj_destination_recipient_limit = 1
mydestination = $myhostname, localhost, localhost.localdomain
โดเมนของฉัน = example.com
ชื่อโฮสต์ของฉัน = example.com
เครือข่ายของฉัน = 127.0.0.1 [::1]
myorigin = example.com
newaliases_path = /usr/bin/newaliases
postscreen_access_list = permit_mynetworks cidr:/etc/postfix/postscreen_access.cidr
postscreen_blacklist_action = ลดลง
postscreen_dnsbl_action = วาง
postscreen_dnsbl_reply_map = texthash:/etc/postfix/postscreen_dnsbl_reply
postscreen_dnsbl_sites = zen.spamhaus.org=127.0.0.[2..11]*3 b.barracudacentral.org=127.0.0.2*2
postscreen_dnsbl_threshold = 2
postscreen_dnsbl_whitelist_threshold = -2
postscreen_greet_action = วาง
proxy_read_maps = $canonical_maps $lmtp_generic_maps $local_recipient_maps $mydestination $mynetworks $recipient_bcc_maps $recipient_canonical_maps $relay_domains $relay_recipient_maps $relocated_maps $sender_bcc_maps $sender_canonical_maps $smtp_generic_maps $smtpd_sender_login_maps $transport_maps $virtual_alias_domains $virtual_alias_maps $virtual_mailbox_domains $virtual_mailbox_maps $smtpd_sender_restrictions $sender_dependent_relayhost_maps
queue_directory = /var/spool/postfix
ผู้รับ_bcc_maps = พร็อกซี:mysql:/etc/postfix/mysql/recipient_bcc_maps_user.cf พร็อกซี:mysql:/etc/postfix/mysql/recipient_bcc_maps_domain.cf
ผู้รับ_ตัวคั่น = +
relay_domains = $mydestination พร็อกซี:mysql:/etc/postfix/mysql/relay_domains.cf
sender_bcc_maps = พร็อกซี:mysql:/etc/postfix/mysql/sender_bcc_maps_user.cf พร็อกซี:mysql:/etc/postfix/mysql/sender_bcc_maps_domain.cf
sender_dependent_relayhost_maps = พร็อกซี:mysql:/etc/postfix/mysql/sender_dependent_relayhost_maps.cf
sendmail_path = /usr/sbin/sendmail
setgid_group = เลื่อนลง
show_user_unknown_table_name = ไม่
smtp-amavis_destination_recipient_limit = 1
smtp_tls_CAfile = $smtpd_tls_CAfile
smtp_tls_CApath = /etc/ssl/certs
smtp_tls_loglevel = 1
smtp_tls_mandatory_protocols = !SSLv2 !SSLv3
smtp_tls_note_starttls_offer = ใช่
smtp_tls_protocols = !SSLv2 !SSLv3
smtp_tls_security_level = พฤษภาคม
smtpd_command_filter = pcre:/etc/postfix/command_filter.pcre
smtpd_data_restrictions = ปฏิเสธ_unauth_pipelining
smtpd_end_of_data_restrictions = check_policy_service inet:127.0.0.1:7777
smtpd_helo_required = ใช่
smtpd_helo_restrictions = permit_mynetworks permit_sasl_authenticated check_helo_access pcre:/etc/postfix/helo_access.pcre ปฏิเสธ_non_fqdn_helo_hostname ปฏิเสธ_unknown_helo_hostname
smtpd_recipient_restrictions = ปฏิเสธ_non_fqdn_recipient ปฏิเสธ_unlisted_recipient check_policy_service inet:127.0.0.1:7777 permit_mynetworks permit_sasl_authenticatedject_unauth_destination check_policy_service inet:127.0.0.1:12340
smtpd_reject_unlisted_recipient = ใช่
smtpd_reject_unlisted_sender = ใช่
smtpd_sasl_path = ส่วนตัว/dovecot-auth
smtpd_sasl_type = นกพิราบ
smtpd_sender_login_maps = พร็อกซี:mysql:/etc/postfix/mysql/sender_login_maps.cf
smtpd_sender_restrictions = ปฏิเสธ_non_fqdn_sender ปฏิเสธ_unlisted_sender อนุญาต_mynetworks อนุญาต_sasl_authenticated check_sender_access pcre:/etc/postfix/sender_access.pcre ปฏิเสธ_unknown_sender_domain
smtpd_tls_CAfile = /etc/ssl/certs/iRedMail.crt
smtpd_tls_CApath = /etc/ssl/certs
smtpd_tls_cert_file = /etc/ssl/certs/iRedMail.crt
smtpd_tls_dh1024_param_file = /etc/ssl/dh2048_param.pem
smtpd_tls_dh512_param_file = /etc/ssl/dh512_param.pem
smtpd_tls_exclude_ciphers = aNULL, eNULL, ส่งออก, DES, RC4, MD5, PSK, aECDH, EDH-DSS-DES-CBC3-SHA, EDH-RSA-DES-CDC3-SHA, KRB5-DE5, CBC3-SHA
smtpd_tls_key_file = /etc/ssl/private/iRedMail.key
smtpd_tls_loglevel = 1
smtpd_tls_mandatory_protocols = !SSLv2 !SSLv3
smtpd_tls_protocols = !SSLv2 !SSLv3
smtpd_tls_security_level = พฤษภาคม
swap_bangpath = ไม่
tls_random_source = dev:/dev/urandom
transport_maps = พร็อกซี:mysql:/etc/postfix/mysql/transport_maps_user.cf พร็อกซี:mysql:/etc/postfix/mysql/transport_maps_maillist.cf พร็อกซี:mysql:/etc/postfix/mysql/transport_maps_domain.cf
known_local_recipient_reject_code = 550
virtual_alias_domains =
virtual_alias_maps = พร็อกซี:mysql:/etc/postfix/mysql/virtual_alias_maps.cf พร็อกซี:mysql:/etc/postfix/mysql/domain_alias_maps.cf พร็อกซี:mysql:/etc/postfix/mysql/catchall_maps.cf พร็อกซี:mysql:/etc /postfix/mysql/domain_alias_catchall_maps.cf
virtual_gid_maps = คงที่:2000
virtual_mailbox_base = /var/vmail
virtual_mailbox_domains = พร็อกซี:mysql:/etc/postfix/mysql/virtual_mailbox_domains.cf
virtual_mailbox_maps = พร็อกซี:mysql:/etc/postfix/mysql/virtual_mailbox_maps.cf
virtual_minimum_uid = 2000
virtual_transport = นกพิราบ
virtual_uid_maps = คงที่:2000

แก้ไข: ต่อจากคำถาม ฉันเปิดใช้งาน:

โพสต์คอนเฟอเรนซ์ | grep smtp_sasl_auth_enable
smtp_sasl_auth_enable = ใช่

แต่เมื่อใช้ openssl s_client ฉันได้รับ:

ข้อผิดพลาด 503 5.5.1: ไม่ได้เปิดใช้งานการรับรองความถูกต้อง

อัปเดต:

หลังจากตั้งค่า smtpd_sasl_auth_enable = ใช่ ฉันมีโอกาสที่จะใส่รหัสผ่านของฉัน แต่มันบอกว่ารหัสผ่านผิด ฉันใช้ตัวจัดการรหัสผ่าน ดังนั้นรหัสผ่านควรถูกต้อง นอกจากนี้ ฉันสามารถใช้ข้อมูลรับรองเพื่อเข้าสู่ระบบผ่าน imap

535 ข้อผิดพลาด 5.7.8: การรับรองความถูกต้องล้มเหลว: UGFzc3dvcmQ6

แก้ไข: บน /var/log/maillog ฉันเห็นสิ่งนี้ ร้ายแรง: ระบุตารางรหัสผ่านผ่านพารามิเตอร์การกำหนดค่า `smtp_sasl_password_maps' ดังนั้นฉันจึงใช้ postconf | grep smtp_sasl_password_maps smtp_sasl_password_maps = บางทีนั่นอาจเป็นสิ่งที่ผิด แต่ไม่ควรว่างเปล่า เนื่องจากฉันใช้ iredmail ดังนั้นควรเป็นอย่างไร

anx avatar
fr flag
anx
คุณอาจเสนอการส่งแบบเข้ารหัสและรับรองความถูกต้องบนพอร์ตอื่นนอกเหนือจากที่ Roundcube กำลังพยายามส่งเมลไป? การกำหนดค่าและบันทึกของ postfix และ/หรือการกำหนดค่า roundcube จะช่วยวินิจฉัยสิ่งนี้ได้
anx avatar
fr flag
anx
โปรดทราบว่าเป็นเรื่องแปลกที่จะเสนอทั้ง IMAP และ POP3 เมื่อคุณกำลังจะเข้าถึงอีเมลของคุณผ่านไคลเอนต์เว็บเมล หากเปิดใช้งานนั่นเป็นข้อผิดพลาด ให้ปิดใช้งาน pop3 ใน Dovecot
anx avatar
fr flag
anx
คุณกำลังตั้งค่าเซิร์ฟเวอร์ *ใหม่* หรือไม่ คุณทราบหรือไม่ว่า Ubuntu มี LTS รุ่นล่าสุด 20.04 ซึ่งตอนนี้ควรเป็นเวอร์ชันที่ต้องการเกือบตลอดเวลา เนื่องจากจะยังคงได้รับการสนับสนุนมาตรฐานเมื่อรุ่นเก่าไม่มีอีกต่อไป
Sam avatar
in flag
Sam
นี่คือ vps และเซิร์ฟเวอร์ 'ล่าสุด' ที่ให้บริการคือ Ubuntu 18.04
jp flag
นี่เป็นปัญหาระหว่าง Roundcube และ Postfix SMTPฉันลบการกำหนดค่า Dovecot ของคุณออกจากคำถามเนื่องจากปัญหาไม่มีส่วนเกี่ยวข้อง: Dovecot ไม่ใช่เซิร์ฟเวอร์ SMTP
Nikita Kipriyanov avatar
za flag
เนื่องจาก `openssl s_client` แสดงว่าไม่ได้เปิดใช้งานการตรวจสอบสิทธิ์ ฉันแน่ใจว่าสิ่งนี้ไม่เกี่ยวข้องกับ Roundcube เช่นกัน ปัญหาอยู่ใน Postfix เปิดใช้งานการดีบักสำหรับ 127.0.0.1 รีสตาร์ท และอ่านบันทึกขนาดใหญ่เพื่อดูคำแนะนำ // ฉัน *ขอแนะนำอย่างยิ่งให้เรียกใช้ `smtpd` สองอินสแตนซ์ที่แตกต่างกัน: หนึ่งบนพอร์ต 25 โดยไม่มีการตรวจสอบสิทธิ์และการส่งต่อ (เพื่อรับจดหมายขาเข้าจากเซิร์ฟเวอร์อื่นเท่านั้น) และอีกรายการบนพอร์ต 587 "submision" พร้อมการตรวจสอบสิทธิ์และการส่งต่อ ( เพื่อรับเมลที่ส่งมาจากเมลไคลเอ็นต์ เช่น roundcube และส่งต่อไปยังเซิร์ฟเวอร์อื่น) ค่าเริ่มต้น `master.cf` มีข้อกำหนดสำหรับสิ่งนั้น
Nikita Kipriyanov avatar
za flag
ฉันคิดว่านี่เป็นปัญหาของไลบรารี SASL หากไม่มีไลบรารีที่สร้างอินสแตนซ์อย่างถูกต้อง Postfix จะไม่เปิดใช้งานการตรวจสอบสิทธิ์ แต่ฉันไม่มีประสบการณ์กับ Dovecot SASL เลย ฉันใช้ Cyrus SASL มาตลอด หากคุณลองเปลี่ยนมาใช้ Cyrus SASL ได้ (คุณยังสามารถใช้ Dovecot IMAP ได้) ฉันคิดว่าฉันสามารถช่วยได้
sebix avatar
ie flag
การกำหนดค่า sasl ของ dovecot คืออะไร postfix บันทึกอะไรเกี่ยวกับ SASL หรือไม่
anx avatar
fr flag
anx
โดยทั่วไป คุณจะตั้งค่า `smtpd_sasl_auth_enable` (สังเกต `d` สำหรับ *daemon* ซึ่งตรงข้ามกับ smtp ในไคลเอนต์ เช่น ขาออก - บทบาท) ภายในไฟล์ master.cf ของคุณ - เฉพาะในบริการเฉพาะ ไม่รวมบริการพอร์ต 25 เพื่อรับจดหมายจากเซิร์ฟเวอร์อื่น เอาต์พุต `postconf -M` ของคุณจะบอกได้ และถ้าคุณอ้างอิงบรรทัดคำสั่งแบบเต็มของการทดสอบ s_client นั่นจะบอกว่าคุณกำลังทดสอบรายการใด
Sam avatar
in flag
Sam
root@mail:~# doveconf | grep sasl imapc_sasl_mechanisms =
Score:0
ธง in
Sam

ในที่สุดฉันก็สามารถตั้งค่าบริการของฉันได้ ต่อไปนี้เป็นจุดที่คุณควรใส่ใจหากคุณต้องการตั้งค่าของคุณ

เปิดใช้งาน smtp_sasl_auth_enable และ smtpd_sasl_auth_enable ฉันไม่รู้ว่าเหตุใดจึงไม่เปิดใช้งานตามค่าเริ่มต้น ตั้งค่า smtp_sasl_password_maps เพื่อให้ทราบว่าจะหารหัสผ่านได้จากที่ใด ใน roundcube ให้ตั้งค่าคำนำหน้า tls:// และหากใช้ใบรับรองที่ลงนามด้วยตนเอง ให้ตั้งค่าในตัวเลือก smtp

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา