เปิดการรับรองความถูกต้องของ SMTP ได้อย่างไร


1

เปิดการรับรองความถูกต้องของ SMTP ได้อย่างไร

เมื่อฉันพยายามส่งอีเมลจากอีเมลที่ลงทะเบียนในเซิร์ฟเวอร์อีเมลของฉัน (example@mydomain.com) ไปยังอีเมล icloud ของฉัน (@ icloud.com) ฉันได้รับสิ่งนี้กลับมา:

จดหมายจาก IP (my.ip.rigth.here) ถูกปฏิเสธเนื่องจากรายชื่อใน Spamhaus
PBL สำหรับรายละเอียดโปรดดูที่
http://www.spamhaus.org/query/bl?ip=my.ip.rigth.here

และเมื่อฉันเข้าถึงลิงค์นั้นฉันเห็นสิ่งนี้เป็นสีแดง:

จดหมายจาก IP (my.ip.rigth.here) ถูกปฏิเสธเนื่องจากรายการในนโยบายอีเมลขาออกของ Spamhaus ของโครงการ Spamhaus สำหรับช่วง IP นี้:

ช่วงที่อยู่ IP นี้ถูกระบุโดย Spamhaus ว่าไม่เป็นไปตามนโยบายของเราสำหรับที่อยู่ IP ที่ได้รับอนุญาตให้ส่งอีเมล 'direct-to-mx' ที่ไม่ผ่านการตรวจสอบสิทธิ์ไปยังผู้ใช้ PBL สำคัญ: หากคุณใช้ซอฟต์แวร์อีเมลปกติ (เช่น Outlook, Entourage, Thunderbird, Apple Mail ฯลฯ ) และคุณถูกบล็อกโดยรายการ PBL ของ Spamhaus เมื่อคุณพยายามส่งอีเมลเหตุผลก็คือคุณต้อง เปิด "SMTP Authentication" ในการตั้งค่าโปรแกรมอีเมลของคุณ สำหรับความช่วยเหลือเกี่ยวกับการรับรองความถูกต้อง SMTP หรือวิธีแก้ไขปัญหานี้อย่างรวดเร็วคลิกที่นี่

ดูเพิ่มเติม: (ลิงก์ที่นี่เกี่ยวกับ Spamhaus PBL)

ฉันจะเปิดใช้งานการตรวจสอบสิทธิ์ SMTP ได้อย่างไร ฉันติดตามการสอนนี้จนถึงกระดูก: https://www.linode.com/docs/email/postfix/email-with-postfix-dovecot-and-mysql

ฉันพยายามปิดพอร์ต 25 บนเราเตอร์ ISP ของฉัน แต่ฉันไม่สามารถรับอีเมลได้ยกเว้นจากอีเมลเดิมที่ได้รับ (example@example.com)

ในโปรแกรมรับส่งเมล MAC ของฉันฉันเห็นว่าใช้พอร์ต 587 สำหรับ SMTP และ 993 สำหรับ IMAP เท่านั้น

คำถามของฉันคือฉันจะเปิดใช้งานการตรวจสอบสิทธิ์ SMTP ได้อย่างไร หรืออาจจะข้าม Spamhaus?

คำตอบ:


2

ฉันเขียนบทช่วยสอนเมื่อไม่นานมานี้ใน SMTP auth บน Postfix แหล่งที่สามารถพบได้ในhttp://blog.mtak.nl/2013/04/simple-smtp-auth-on-postfix/

TLS

เมื่อใดก็ตามที่คุณส่งรหัสผ่านเครือข่ายก็ควรจะเข้ารหัส เพิ่มพารามิเตอร์ต่อไปนี้ของคุณmain.cfเพื่อเปิดใช้งาน TLS:

# TLS parameters
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache

แน่นอนคุณต้องแน่ใจว่าตัวเลือก cert_file ชี้ไปที่ใบรับรองที่ถูกต้อง ใบรับรอง snakeoil เริ่มต้นควรมีความปลอดภัยเพียงพอสำหรับผู้ใช้ส่วนใหญ่ แต่คุณสามารถซื้อใบรับรองที่ลงนามโดย CA ได้เสมอ

คุณสามารถทดสอบ TLS โดยใช้ยูทิลิตี้ OpenSSL

$ openssl s_client -starttls smtp -crlf -connect 127.0.0.1:25
CONNECTED(00000003)
[output truncated]
SSL handshake has read 1646 bytes and written 354 bytes
---
New, TLSv1/SSLv3, Cipher is DHE-RSA-AES256-SHA
Server public key is 2048 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
SSL-Session:
    Protocol  : TLSv1
    Cipher    : DHE-RSA-AES256-SHA
    Session-ID: 17C511889EDC11109C9F71C16F7F70AB9B8868129C4B796F96B2F0A68E581A8E
    Session-ID-ctx:
    Master-Key: E391BF9B8940CD36D5E98BC5FAF05860E86AAE4667D5E8E87081AD4A98A7EA91F770790C053A2ECCA42AD2937AD83F90
    Key-Arg   : None
    Start Time: 1365632805
    Timeout   : 300 (sec)
    Verify return code: 18 (self signed certificate)
---
250 DSN
quit
221 2.0.0 Bye
closed
$

SASL

SMTP ไม่มีความสามารถในการพิสูจน์ตัวตน แต่สามารถขยายได้โดยใช้เฟรมเวิร์ก SASL SASL อธิบายไว้ใน RFC4422 เพื่อให้ง่ายเราจะใช้ PAM เป็นแบ็กเอนด์การตรวจสอบสิทธิ์ อ้างถึง saslauthd (8) สำหรับข้อมูลเพิ่มเติมเกี่ยวกับแบ็กเอนด์การตรวจสอบสิทธิ์

ในการตั้งค่า SASL: ติดตั้งแพ็คเกจทั้งหมดที่จำเป็นสำหรับ SASL:

 $ sudo apt-get install libsasl2-2 sasl2-bin libsasl2-modules

/etc/default/saslauthdแก้ไข คุณสามารถออกจากการตั้งค่าเริ่มต้น แต่ตรวจสอบให้แน่ใจว่าการจับคู่เหล่านี้:

[...]
START=yes
MECHANISMS="pam"
THREADS=1
[...]
OPTIONS="-c -m /var/spool/postfix/var/run/saslauthd"

สร้าง/etc/postfix/sasl/smtpd.conf:

saslauthd_version: 2
pwcheck_method: saslauthd
mech_list: plain login

แก้ไข/etc/postfix/main.cf:

smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain =
broken_sasl_auth_clients = yes
smtpd_recipient_restrictions =
   permit_sasl_authenticated,
   permit_mynetworks,
   check_relay_domains

เพิ่มผู้ใช้ postfix ให้กับกลุ่ม sasl Unix:

$ adduser postfix sasl
Start the SASL daemon and restart Postfix:
$ /etc/init.d/saslauthd start
$ /etc/init.d/postfix restart

คุณสามารถทดสอบการทำงานของ SMTP AUTH ได้โดยสร้างแฮชของรหัสผ่านของคุณ 64 และใช้สิ่งนั้นเพื่อเข้าสู่ระบบ:

$ printf '\0%s\0%s' 'username' 'password' | openssl base64
AHVzZXJuYW1lAHBhc3N3b3Jk
$ telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 mail.gallische-dorp.net ESMTP Postfix
EHLO localhost
250-mail.gallische-dorp.net
250-PIPELINING
250-SIZE 20480000
250-VRFY
250-ETRN
250-STARTTLS
250-AUTH PLAIN LOGIN
250-AUTH=PLAIN LOGIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
AUTH PLAIN AHVzZXJuYW1lAHBhc3N3b3Jk
235 2.7.0 Authentication successful
quit
221 2.0.0 Bye
Connection closed by foreign host.

ตอนนี้ฉันไม่สามารถเข้าสู่ระบบในไคลเอนต์อีเมลและส่วน telnet: 535 5.7.8 ข้อผิดพลาด: การตรวจสอบล้มเหลว: ล้มเหลวในการตรวจสอบ
DiogoSaraiva

nvm ตอนนี้ฉันสามารถ ... ขอบคุณมาก ... ตอนนี้ฉันจะลองลบไอพีของฉันออกจากรายการบล็อกและส่งอีเมลเพื่อดูว่ามันทำงานได้หรือไม่ .. ก่อนที่ฉันจะแก้ไขสิ่งที่ผิด ... ใน Modify / etc / postfix / main.cf คุณสามารถเพิ่ม: smtpd_sasl_type = dovecot; ปฏิเสธ _unauth_destination และ ..... smtpd_sasl_path = private / auth;
DiogoSaraiva
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.